mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 16:31:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			160 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 | |
| "
 |