mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2025-12-22 11:40:18 +00:00
- 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 ```
40 lines
1.7 KiB
Bash
40 lines
1.7 KiB
Bash
TERMUX_PKG_HOMEPAGE=https://github.com/opencv/opencv-python
|
|
TERMUX_PKG_DESCRIPTION="Python wrapper for Python bindings for OpenCV"
|
|
TERMUX_PKG_LICENSE="Apache-2.0"
|
|
TERMUX_PKG_MAINTAINER="@termux"
|
|
TERMUX_PKG_VERSION="88"
|
|
TERMUX_PKG_REPOLOGY_METADATA_VERSION="$(. "$TERMUX_SCRIPTDIR/x11-packages/opencv/build.sh"; echo "$TERMUX_PKG_VERSION").${TERMUX_PKG_VERSION}"
|
|
TERMUX_PKG_SRCURL="https://github.com/opencv/opencv-python/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz"
|
|
TERMUX_PKG_SHA256=c1cfdef91a45468b1c4404af594e2286ce2bcd343fe318aae287997a395a6c90
|
|
TERMUX_PKG_DEPENDS="opencv, opencv-python, python"
|
|
TERMUX_PKG_PYTHON_COMMON_DEPS="scikit-build"
|
|
TERMUX_PKG_BUILD_IN_SRC=true
|
|
TERMUX_PKG_AUTO_UPDATE=true
|
|
|
|
termux_step_pre_configure() {
|
|
termux_setup_cmake
|
|
|
|
# prevent any downloading or compiling of opencv source code,
|
|
# but allow the normal installation of all other files
|
|
echo '' > pyproject.toml
|
|
mkdir -p opencv/empty
|
|
echo 'cmake_minimum_required(VERSION 4.0)' > opencv/CMakeLists.txt
|
|
echo 'install(DIRECTORY empty DESTINATION "${CMAKE_INSTALL_PREFIX}")' >> opencv/CMakeLists.txt
|
|
|
|
# force version.py to generate
|
|
patch="$TERMUX_PKG_BUILDER_DIR/find_version.py.diff"
|
|
echo "Applying patch: $(basename "$patch")"
|
|
test -f "$patch" && sed \
|
|
-e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" \
|
|
-e "s%\@TERMUX_PKG_VERSION\@%${TERMUX_PKG_VERSION}%g" \
|
|
"$patch" | patch --silent -p1
|
|
}
|
|
|
|
termux_step_post_make_install() {
|
|
# also provide the opencv-contrib-python variant because Termux opencv also has the extra modules,
|
|
# but some python projects might attempt to import either 'opencv-python' or 'opencv-contrib-python'.
|
|
# which have different names
|
|
export ENABLE_CONTRIB=1
|
|
pip install --no-deps . --prefix "$TERMUX_PREFIX"
|
|
}
|