addpkg(x11/python-opencv-python): 88

- Fixes https://github.com/termux/termux-packages/issues/27407

- Could be said to be somewhat similar in design and utility to https://github.com/termux/termux-packages/pull/25434, but for OpenCV instead of CMake

- Similarly to the software 'CMake', OpenCV's PyPi package https://pypi.org/project/opencv-python/ is built from different source code from the main project, resulting in some difficulty importing it from Python projects in Termux. This package, like the `python-cmake` package, is built from the same actual source code as the software's PyPi package, but with patches to disable the installation of all files that it would normally attempt to install that are already provided by Termux packages.

- This package provides these files:

```
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/INSTALLER
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/METADATA
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/RECORD
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/REQUESTED
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/WHEEL
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/direct_url.json
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/licenses
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/licenses/LICENSE-3RD-PARTY.txt
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/licenses/LICENSE.txt
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_contrib_python-4.12.0.88.dist-info/top_level.txt
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/INSTALLER
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/METADATA
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/RECORD
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/REQUESTED
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/WHEEL
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/direct_url.json
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/licenses
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/licenses/LICENSE-3RD-PARTY.txt
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/licenses/LICENSE.txt
/data/data/com.termux/files/usr/lib/python3.12/site-packages/opencv_python-4.12.0.88.dist-info/top_level.txt
```
This commit is contained in:
termux-pacman-bot
2025-11-26 05:39:16 +00:00
parent 1bb0fd0429
commit ee602b0454
3 changed files with 108 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
--- a/setup.py
+++ b/setup.py
@@ -497,7 +497,7 @@ def get_and_set_info(contrib, headless, rolling, ci_build):
# generate a fresh version.py always when Git repository exists
# (in sdists the version.py file already exists)
- if os.path.exists(".git"):
+ if True:
old_args = sys.argv.copy()
sys.argv = ["", str(contrib), str(headless), str(rolling), str(ci_build)]
runpy.run_path("find_version.py", run_name="__main__")
--- a/find_version.py
+++ b/find_version.py
@@ -10,7 +10,7 @@ if __name__ == "__main__":
opencv_version = ""
# dig out the version from OpenCV sources
- version_file_path = "opencv/modules/core/include/opencv2/core/version.hpp"
+ version_file_path = "@TERMUX_PREFIX@/include/opencv4/opencv2/core/version.hpp"
with open(version_file_path, "r") as f:
for line in f:
@@ -29,21 +29,10 @@ if __name__ == "__main__":
break
# used in local dev releases
- git_hash = (
- subprocess.check_output(["git", "rev-parse", "--short", "HEAD"])
- .splitlines()[0]
- .decode()
- )
+ git_hash = "N/A"
# this outputs the annotated tag if we are exactly on a tag, otherwise <tag>-<n>-g<shortened sha-1>
try:
- tag = (
- subprocess.check_output(
- ["git", "describe", "--tags"], stderr=subprocess.STDOUT
- )
- .splitlines()[0]
- .decode()
- .split("-")
- )
+ tag = ["@TERMUX_PKG_VERSION@"]
except subprocess.CalledProcessError as e:
# no tags reachable (e.g. on a topic branch in a fork), see
# https://stackoverflow.com/questions/4916492/git-describe-fails-with-fatal-no-names-found-cannot-describe-anything