From nobody Tue Apr 7 19:19:18 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fqwx26jzPz6YmWw for ; Tue, 07 Apr 2026 19:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fqwx25kKMz3Y95 for ; Tue, 07 Apr 2026 19:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775589558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mo7qJRPT4ruDT4P7I74OKfxQbeCV6bWvPobErLn7ggc=; b=t/hKYbcxXJvQ7tYZqG0OA4sMuuMmHqOGvPfi7viP7Hbe8iuSByYmbnNixV1dwbv9tMxfRd cRCJrr8oMJ18/lb9NDm2PovkZTwjVjTWL/xDmWYfPLpmkwudwoaJHGHYQ73aJ/1EmRtQ2V nsu2Uk15P3Yw0AbGaAmXdfZvNm1ocF6QQXdYvR82HktrqiTP3KfMzwBf8fa5XK92TecNV6 j4c96nhUqcP29Lq7Cxe3IlszRjFm2Oyrz4LYYMBzpy2JcqU8aXQBrKi4RwjsNLR7ajftFE BjoDtcEy6TadpMamdcLdqreR6brsQdoiCl2fC99dyrzNOXjDlSliQqzXNfACzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1775589558; a=rsa-sha256; cv=none; b=DOxSwrEnvng27ZrC79aXhHRKhT6pi3fQELUblG+axrXBDIE3nqi8LTTbdEMx+0pKQJxyxY +RxV6pnYq1I6a7oqPqef1xhi37wCM4DUPMGF/8fXMpGzgBn/fQVy0jk2bBz92gouvRiMKG yca3gPPOhTrX2kLluK3I6roTgh/DeA24hiDEsKVjvsZGOSQX7rj+2LOVEkTVoAEM2KpFbJ VqLLkVtSo7/VXJIEIuOua6wF7qji838r3lokqxplgmHGi6E1FuxK+2XIyPiTAbZaY6gvrf QtxiqeKeip+xiyvGvDc9AgIT+ODSAnYHMy0sK54AnC9CHtVGSAkjhXYnEv7N7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775589558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mo7qJRPT4ruDT4P7I74OKfxQbeCV6bWvPobErLn7ggc=; b=e/HYixB6YeE9cETkXBLjmoOjuodzjZjLrED46t8jgm4g2KR7XBE0ctjcbmwc74JCIP37f0 h7TJ8gxv256nkB49KQ1rYPvOgW5pN+j6N303E92EQOyYLRiSRFfd6zknKMWdgs+pYEXLyW m4u32nIaAS2lE5Y8RjknKUV+OxWa2n9qsb+HExZpzyUo29HqAeKIyA6khjpkWsElRhUI52 hnQLwti8Zf2oFkUh5uA3VMoMz6CtMbZtwyNTEcaame0zNz1HL6d66hu7pqnZW9UzUAOB4l KjLIKQ0Mip9MQJcfc64os5VRce6c1cDZEywDtfVzuvZGgIWVcQIFhifP58LbOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fqwx25KrNzt9y for ; Tue, 07 Apr 2026 19:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32fdf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 07 Apr 2026 19:19:18 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 3a02618c2a32 - main - graphics/py-opencv-python-headless: New port: Wrapper package for OpenCV python bindings List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a02618c2a32646ed996ad83c53464726dbea66d Auto-Submitted: auto-generated Date: Tue, 07 Apr 2026 19:19:18 +0000 Message-Id: <69d558b6.32fdf.4b426fe8@gitrepo.freebsd.org> The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=3a02618c2a32646ed996ad83c53464726dbea66d commit 3a02618c2a32646ed996ad83c53464726dbea66d Author: Yuri Victorovich AuthorDate: 2026-04-07 16:31:20 +0000 Commit: Yuri Victorovich CommitDate: 2026-04-07 19:19:14 +0000 graphics/py-opencv-python-headless: New port: Wrapper package for OpenCV python bindings --- graphics/Makefile | 1 + graphics/py-opencv-python-headless/Makefile | 51 ++++++++++++++++++++++ graphics/py-opencv-python-headless/distinfo | 7 +++ .../files/patch-pyproject.toml | 19 ++++++++ .../py-opencv-python-headless/files/patch-setup.py | 21 +++++++++ graphics/py-opencv-python-headless/pkg-descr | 5 +++ 6 files changed, 104 insertions(+) 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 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