diff options
| author | Yuri Victorovich <yuri@FreeBSD.org> | 2026-04-07 16:31:20 +0000 |
|---|---|---|
| committer | Yuri Victorovich <yuri@FreeBSD.org> | 2026-04-07 19:19:14 +0000 |
| commit | 3a02618c2a32646ed996ad83c53464726dbea66d (patch) | |
| tree | 5595cf811fdfc0dffe5a102e868fb834bc70049c | |
| parent | fd5e125d4fa7da3e69e4a84568f3336b0adcf99f (diff) | |
graphics/py-opencv-python-headless: New port: Wrapper package for OpenCV python bindings
| -rw-r--r-- | graphics/Makefile | 1 | ||||
| -rw-r--r-- | graphics/py-opencv-python-headless/Makefile | 51 | ||||
| -rw-r--r-- | graphics/py-opencv-python-headless/distinfo | 7 | ||||
| -rw-r--r-- | graphics/py-opencv-python-headless/files/patch-pyproject.toml | 19 | ||||
| -rw-r--r-- | graphics/py-opencv-python-headless/files/patch-setup.py | 21 | ||||
| -rw-r--r-- | graphics/py-opencv-python-headless/pkg-descr | 5 |
6 files changed, 104 insertions, 0 deletions
diff --git a/graphics/Makefile b/graphics/Makefile index 599500c6c344..50a6c9fb5271 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -984,6 +984,7 @@ SUBDIR += py-napari-plugin-engine SUBDIR += py-nwdiag SUBDIR += py-opencolorio + SUBDIR += py-opencv-python-headless SUBDIR += py-openimageio SUBDIR += py-openshadinglanguage SUBDIR += py-openslide-python diff --git a/graphics/py-opencv-python-headless/Makefile b/graphics/py-opencv-python-headless/Makefile new file mode 100644 index 000000000000..22bd9e88e5cd --- /dev/null +++ b/graphics/py-opencv-python-headless/Makefile @@ -0,0 +1,51 @@ +PORTNAME= opencv-python-headless +DISTVERSION= 4.13.0.92 +CATEGORIES= graphics +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Wrapper package for OpenCV python bindings +WWW= https://github.com/opencv/opencv-python + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-build>=0.14.0:devel/py-scikit-build@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy1>0:math/py-numpy1@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ + cmake:devel/cmake +LIB_DEPENDS= libavif.so:graphics/libavif \ + libwebp.so:graphics/webp \ + libpng16.so:graphics/png \ + libtiff.so:graphics/tiff \ + libopenjp2.so:graphics/openjpeg \ + libavcodec.so:multimedia/ffmpeg \ + libopenblas.so:math/openblas + +USES= gnome gstreamer jpeg python +USE_GNOME= glib20 +USE_GSTREAMER1= yes +USE_PYTHON= pep517 autoplist pytest + +USE_GITHUB= yes +GH_ACCOUNT= opencv +GH_PROJECT= opencv-python +GH_TAGNAME= 92 +GH_TUPLE= opencv:opencv:b4c5ec4042f097e2a5b386b9d413ec7333d0a184:opencv/opencv \ + opencv:opencv_contrib:d99ad2a188210cc35067c2e60076eed7c2442bc3:opencv_contrib/opencv_contrib + +MAKE_ENV= ENABLE_HEADLESS=1 \ + OPENCV_PYTHON_PACKAGE_NAME=opencv-python-headless + +TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} +TEST_WRKSRC= ${WRKSRC}/opencv/modules/python + +CONFLICTS_INSTALL= opencv # opencv has the same python bindings bundled in + +post-patch: + @${PRINTF} 'opencv_version = "${DISTVERSION}"\ncontrib = False\nheadless = True\nrolling = False\nci_build = False' \ + > ${WRKSRC}/cv2/version.py + +.include <bsd.port.mk> diff --git a/graphics/py-opencv-python-headless/distinfo b/graphics/py-opencv-python-headless/distinfo new file mode 100644 index 000000000000..cfffb0d80edf --- /dev/null +++ b/graphics/py-opencv-python-headless/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1775576082 +SHA256 (opencv-opencv-python-4.13.0.92-92_GH0.tar.gz) = 049293f56726a3ebb01bb7508b973e14e62752a4a0e067ac6af4e371d6aa30d3 +SIZE (opencv-opencv-python-4.13.0.92-92_GH0.tar.gz) = 1130133 +SHA256 (opencv-opencv-b4c5ec4042f097e2a5b386b9d413ec7333d0a184_GH0.tar.gz) = 4f2a381ce3377e6f22d0718fe7101e97a21968a21c81f0356f2787bb21024dc4 +SIZE (opencv-opencv-b4c5ec4042f097e2a5b386b9d413ec7333d0a184_GH0.tar.gz) = 95448014 +SHA256 (opencv-opencv_contrib-d99ad2a188210cc35067c2e60076eed7c2442bc3_GH0.tar.gz) = 8d2f5665a4f47fd6763eb75f5017676cbcdeb813074b32a9fda72c25d52abdd4 +SIZE (opencv-opencv_contrib-d99ad2a188210cc35067c2e60076eed7c2442bc3_GH0.tar.gz) = 55518735 diff --git a/graphics/py-opencv-python-headless/files/patch-pyproject.toml b/graphics/py-opencv-python-headless/files/patch-pyproject.toml new file mode 100644 index 000000000000..c0e3b2cba1a9 --- /dev/null +++ b/graphics/py-opencv-python-headless/files/patch-pyproject.toml @@ -0,0 +1,19 @@ +--- pyproject.toml.orig 2025-07-04 16:37:46 UTC ++++ pyproject.toml +@@ -1,14 +1,10 @@ + [build-system] + requires = [ +- "numpy<2.0; python_version<'3.9'", +- "numpy==2.0.2; python_version>='3.9' and python_version<'3.13'", +- "numpy==2.1.3; python_version=='3.13'", +- "numpy==2.3.2; python_version=='3.14'", ++ "numpy>=1.13.3", + "packaging", + "pip", + "scikit-build>=0.14.0", +- "setuptools==59.2.0; python_version<'3.12'", +- "setuptools<70.0.0; python_version>='3.12'", ++ "setuptools", + ] + # use a custom backend to manage CMake check / installation + # see https://scikit-build.readthedocs.io/en/latest/usage.html#adding-cmake-as-building-requirement-only-if-not-installed-or-too-low-a-version diff --git a/graphics/py-opencv-python-headless/files/patch-setup.py b/graphics/py-opencv-python-headless/files/patch-setup.py new file mode 100644 index 000000000000..388c6373c4ba --- /dev/null +++ b/graphics/py-opencv-python-headless/files/patch-setup.py @@ -0,0 +1,21 @@ +--- setup.py.orig 2025-07-04 16:37:46 UTC ++++ setup.py +@@ -23,8 +23,7 @@ + build_rolling = get_build_env_var_by_name("rolling") + + install_requires = [ +- 'numpy<2.0; python_version<"3.9"', +- 'numpy>=2; python_version>="3.9"', ++ 'numpy>=1.13.3', + ] + + python_version = cmaker.CMaker.get_python_version() +@@ -186,6 +185,8 @@ + "-DBUILD_PERF_TESTS=OFF", + "-DBUILD_DOCS=OFF", + "-DPYTHON3_LIMITED_API=ON", ++ "-DWITH_PROTOBUF=OFF", ++ "-DWITH_VA=OFF", + "-DBUILD_OPENEXR=ON", + ] + + ( diff --git a/graphics/py-opencv-python-headless/pkg-descr b/graphics/py-opencv-python-headless/pkg-descr new file mode 100644 index 000000000000..02c0feee0316 --- /dev/null +++ b/graphics/py-opencv-python-headless/pkg-descr @@ -0,0 +1,5 @@ +opencv-python-headless is a wrapper package for OpenCV python bindings. + +OpenCV (Open Source Computer Vision Library) is a free, open-source library +featuring over 2,500 algorithms for real-time computer vision, image processing, +and machine learning |
