core/opencv/PKGBUILD
2019-01-06 13:22:37 +01:00

91 lines
2.8 KiB
Bash

pkgbase=opencv
pkgname=('opencv' 'opencv-samples')
pkgver=3.4.5
pkgrel=1
pkgdesc="Open Source Computer Vision Library"
arch=('x86_64')
license=('BSD')
url="http://opencv.org"
depends=('gst-plugins-base' 'intel-tbb' 'libcl' 'libgphoto2' 'openblas' 'lapack'
'libdc1394' 'openexr' 'v4l-utils' 'ffmpeg' 'qt5-base' 'glu' 'python3' 'libgphoto2' 'xine-lib')
makedepends=('pkgconfig' 'cmake' 'mesa' 'python3-numpy' 'eigen3' 'hdf5' 'glew')
optdepends=('python3-numpy: Python 3.x interface'
'eigen3'
'hdf5: For hdf5 plugin to work')
source=("opencv-$pkgver.zip::https://github.com/Itseez/opencv/archive/${pkgver}.zip"
"opencv_contrib-$pkgver.zip::https://github.com/Itseez/opencv_contrib/archive/${pkgver}.zip")
sha1sums=('8d67f847b2f8fb3eb59cc673fd44c31fa066db42'
'e00531339df96a9319277f776980fc9917ca5805')
prepare() {
mkdir -p build
}
build() {
cd build
# cmake's FindLAPACK doesn't add cblas to LAPACK_LIBRARIES, so we need to specify them manually
cmake ../$pkgname-$pkgver \
-DWITH_OPENCL=ON \
-DWITH_OPENGL=ON \
-DWITH_TBB=ON \
-DOpenGL_GL_PREFERENCE=GLVND \
-DBUILD_WITH_DEBUG_INFO=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \
-DBUILD_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCPU_BASELINE_DISABLE=SSE3 \
-DCPU_BASELINE_REQUIRE=SSE2 \
-DOPENCV_EXTRA_MODULES_PATH="$srcdir/opencv_contrib-$pkgver/modules" \
-DLAPACK_LIBRARIES="/usr/lib/liblapack.so;/usr/lib/libblas.so;/usr/lib/libopenblas.so" \
-DLAPACK_CBLAS_H="/usr/include/cblas.h" \
-DLAPACK_LAPACKE_H="/usr/include/lapacke.h" \
-DWITH_GTK=OFF \
-DWITH_QT=5
make
}
package_opencv() {
provides=('opencv-qt5')
conflicts=('opencv-qt5')
replaces=('opencv-qt5')
cd build
make DESTDIR="$pkgdir" install
# install license file
install -Dm644 "$srcdir/$pkgbase-$pkgver/LICENSE" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# fix -lippicv not found
cd "$pkgdir/usr/share"
ln -s /usr/share/opencv/3rdparty/lib/libippicv.a "$pkgdir/usr/lib"
# separate samples package; also be -R friendly
if [[ -d OpenCV/samples ]]; then
mv OpenCV/samples "$srcdir/$pkgname-samples"
mv OpenCV $pkgname # otherwise folder naming is inconsistent
elif [[ ! -d OpenCV ]]; then
warning "Directory naming issue; samples package may not be built!"
fi
}
package_opencv-samples() {
pkgdesc+=" (samples)"
depends=("opencv=$pkgver")
unset optdepends
mkdir -p "$pkgdir/usr/share/opencv"
cp -r "$srcdir/opencv-samples" "$pkgdir/usr/share/opencv/samples"
# fix permissions
chmod 755 "$pkgdir"/usr/share/opencv/samples/*
# install license file
install -Dm644 "$srcdir/opencv-$pkgver/LICENSE" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}