mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-23 03:05:48 +03:00
159 lines
3.4 KiB
Text
159 lines
3.4 KiB
Text
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
|
|
# Maintainer: Bart Ribbers <bribbers@disroot.org>
|
|
pkgname=opencv
|
|
pkgver=4.7.0
|
|
pkgrel=3
|
|
pkgdesc="An open source computer vision and machine learning library"
|
|
url="https://opencv.org/"
|
|
# s390x blocked by vtk -> netcdf
|
|
arch="all !s390x"
|
|
license="BSD-3-Clause"
|
|
subpackages="$pkgname-dev py3-$pkgname:_py3"
|
|
depends_dev="
|
|
blas-dev
|
|
eigen-dev
|
|
ffmpeg-dev
|
|
freetype-dev
|
|
glew-dev
|
|
gst-plugins-base-dev
|
|
gstreamer-dev
|
|
harfbuzz-dev
|
|
hdf5-dev
|
|
libdc1394-dev
|
|
libgphoto2-dev
|
|
libtbb-dev
|
|
libva-glx-dev
|
|
mesa-dev
|
|
openblas-dev
|
|
openexr-dev
|
|
openjpeg-dev
|
|
openjpeg-tools
|
|
py3-setuptools
|
|
qt6-qtbase-dev
|
|
vtk-dev
|
|
"
|
|
makedepends="
|
|
$depends_dev
|
|
clang
|
|
cmake
|
|
lld
|
|
samurai
|
|
python3-dev
|
|
py3-numpy-dev
|
|
"
|
|
source="https://github.com/opencv/opencv/archive/$pkgver/opencv-$pkgver.tar.gz
|
|
https://github.com/opencv/opencv_contrib/archive/$pkgver/opencv_contrib-$pkgver.tar.gz
|
|
"
|
|
# Tests require human interaction
|
|
# net required to download a data file (face_landmark_model.dat)
|
|
options="net !check"
|
|
|
|
case "$CARCH" in
|
|
riscv64)
|
|
# binutils objcopy fails to copy dbg info from llvm toolchain
|
|
# and strip also fails
|
|
options="$options !strip"
|
|
;;
|
|
*)
|
|
subpackages="$pkgname-dbg $subpackages"
|
|
;;
|
|
esac
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
cd "$srcdir/opencv_contrib-$pkgver"/modules
|
|
# Only use modules that we care about
|
|
mv \
|
|
aruco \
|
|
face \
|
|
tracking \
|
|
optflow \
|
|
plot \
|
|
shape \
|
|
superres \
|
|
videostab \
|
|
ximgproc \
|
|
"$builddir"/modules/
|
|
}
|
|
|
|
build() {
|
|
case "$CARCH" in
|
|
x86_64)
|
|
local extra_cmake_flags="-DCPU_BASELINE_DISABLE=SSE3 -DCPU_BASELINE_REQUIRE=SSE2"
|
|
;;
|
|
esac
|
|
|
|
case "$CARCH" in
|
|
riscv64)
|
|
local lto=OFF
|
|
;;
|
|
*)
|
|
local lto=ON
|
|
;;
|
|
esac
|
|
|
|
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
|
# reduce size of debug syms
|
|
CFLAGS="$CFLAGS -g1" CXXFLAGS="$CXXFLAGS -g1" \
|
|
LDFLAGS="$LDFLAGS -fuse-ld=lld" \
|
|
CC=clang CXX=clang++ \
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DENABLE_BUILD_HARDENING=ON \
|
|
-DENABLE_THIN_LTO=$lto \
|
|
-DWITH_OPENCL=ON \
|
|
-DWITH_OPENGL=ON \
|
|
-DWITH_TBB=ON \
|
|
-DWITH_VULKAN=ON \
|
|
-DWITH_QT=ON \
|
|
-DWITH_ADE=OFF \
|
|
-DWITH_opencv_gapi=OFF \
|
|
-DWITH_IPP=OFF \
|
|
-DBUILD_WITH_DEBUG_INFO=ON \
|
|
-DBUILD_TESTS=OFF \
|
|
-DBUILD_PERF_TESTS=OFF \
|
|
-DBUILD_EXAMPLES=OFF \
|
|
-DINSTALL_C_EXAMPLES=OFF \
|
|
-DINSTALL_PYTHON_EXAMPLES=OFF \
|
|
-DOPENCV_SKIP_PYTHON_LOADER=ON \
|
|
-DOPENCV_GENERATE_PKGCONFIG=ON \
|
|
-DOPENCV_ENABLE_NONFREE=OFF \
|
|
-DOPENCV_GENERATE_SETUPVARS=OFF \
|
|
-DEIGEN_INCLUDE_PATH=/usr/include/eigen3 \
|
|
-DCMAKE_SKIP_INSTALL_RPATH=ON \
|
|
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
|
|
$extra_cmake_flags
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
cd build
|
|
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
|
|
}
|
|
|
|
package() {
|
|
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
}
|
|
|
|
samples() {
|
|
pkgdesc="OpenCV Samples"
|
|
depends="$pkgname=$pkgver"
|
|
mkdir -p "$subpkgdir/usr/share/opencv4"
|
|
mv "$pkgdir/usr/share/opencv4/samples" "$subpkgdir/usr/share/opencv4"
|
|
}
|
|
|
|
_py3() {
|
|
pkgdesc="$pkgdesc (python modules)"
|
|
depends="py3-numpy"
|
|
|
|
amove usr/lib/python3.*
|
|
}
|
|
|
|
sha512sums="
|
|
f799e1eb4ef1eb81212319cf908d0a64d2d5179c8da86b919b06e96a6870a9f3ed33251223a841b71711349018ea6782c174179fa59958a1573e22d11cc9347d opencv-4.7.0.tar.gz
|
|
f0d878180655de4255cb72cf358a5949dfcf53a386e74f9a743902ac1bae12b2e812a1fc4ecc56a6afdc6adbffec867883a3245ce0b527614cc76e3710e23230 opencv_contrib-4.7.0.tar.gz
|
|
"
|