Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions recipes/opencv-contrib-python/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package:
name: opencv-contrib-python
version: "5.0.0.93"

build:
number: 1
script_env:
# {% if sdk == 'android' %}
CMAKE_ARGS: >-
-DANDROID=ON
-DWITH_IPP=OFF
-DWITH_ITT=OFF
-DWITH_KLEIDICV=OFF
-DBUILD_ANDROID_PROJECTS=OFF
-DBUILD_ANDROID_EXAMPLES=OFF
-DBUILD_TESTS=OFF
-DBUILD_PERF_TESTS=OFF
-DENABLE_TESTING=OFF
-DBUILD_EXAMPLES=OFF
-DANDROID_ABI={ANDROID_ABI}
-DANDROID_STANDALONE_TOOLCHAIN={NDK_ROOT}
-DANDROID_NATIVE_API_LEVEL={ANDROID_API_LEVEL}
-DANDROID_ALLOW_UNDEFINED_VERSION_SCRIPT_SYMBOLS=1
-DCMAKE_TOOLCHAIN_FILE={NDK_ROOT}/build/cmake/android.toolchain.cmake
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-z,max-page-size=16384"
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,-z,max-page-size=16384"
-DOPENCV_FORCE_PYTHON_LIBS=ON
-DPYTHON3_INCLUDE_PATH={HOST_PYTHON_HOME}/include/python{py_version_short}
-DPYTHON3_LIBRARIES={HOST_PYTHON_HOME}/lib/libpython{py_version_short}.so
-DPYTHON3_NUMPY_INCLUDE_DIRS={platlib}/numpy/_core/include
# {% else %}
# iOS only: BUILD_opencv_rgbd=OFF below gates out the rgbd module, whose
# hand-written pyopencv_linemod.hpp uses a bare Ptr<> that clashes with
# Apple MacTypes.h under `using namespace cv`. Android has no MacTypes.h so
# it keeps rgbd. Full rationale in patches/mobile.patch preamble.
# (This comment MUST stay OUTSIDE the >- scalar below — a `#` inside a YAML
# folded scalar is literal text, and its quotes break shlex-split of CMAKE_ARGS.)
CMAKE_ARGS: >-
-DAPPLE_FRAMEWORK=ON
-DCMAKE_SYSTEM_NAME=iOS
-DCMAKE_SYSTEM_PROCESSOR={{ 'x86_64' if arch == 'x86_64' else 'aarch64' }}
-DCMAKE_OSX_SYSROOT={{ sdk }}
-DCMAKE_OSX_DEPLOYMENT_TARGET={{ sdk_version }}
-DCMAKE_OSX_ARCHITECTURES={{ arch }}
-DWITH_IPP=OFF
-DWITH_ITT=OFF
-DWITH_KLEIDICV=OFF
-DBUILD_TESTS=OFF
-DBUILD_PERF_TESTS=OFF
-DENABLE_TESTING=OFF
-DBUILD_EXAMPLES=OFF
-DWITH_OPENCL=OFF
-DBUILD_opencv_rgbd=OFF
-DOPENCV_FORCE_PYTHON_LIBS=ON
-DPYTHON3_INCLUDE_PATH={HOST_PYTHON_HOME}/include/python{py_version_short}
-DPYTHON3_LIBRARIES={HOST_PYTHON_HOME}/lib/libpython{py_version_short}.dylib
-DPYTHON3_NUMPY_INCLUDE_DIRS={platlib}/numpy/_core/include
# {% endif %}

requirements:
build:
# opencv-python's setup.py invokes its own dependency check (via scikit-build) which
# hard-requires cmake>=3.5 on PATH. macOS runners pre-install cmake but iOS lane's
# cross-venv strips it from the shimmed PATH, so add the pip-installable shim that
# ships a cmake binary into the build venv.
- cmake
host:
- numpy ^2.0.0

patches:
- mobile.patch

# So the loader's extra-submodule scan can os.listdir() the package; see mobile.patch
# note 3 for the Flet 0.86 native-relocation loader fix this pairs with.
extract_packages:
- cv2
Loading
Loading