From 494ab5cfca43b2199d6e222af2803544127e2b39 Mon Sep 17 00:00:00 2001 From: Hazel Levine Date: Sat, 18 Jan 2020 20:12:48 -0500 Subject: [PATCH] New package: opencv4 4.2.0. [ci skip] --- common/shlibs | 47 ++++++++++++ srcpkgs/libopencv4 | 1 + srcpkgs/libopencv4-devel | 1 + srcpkgs/libopencv4-python | 1 + srcpkgs/libopencv4-python3 | 1 + .../patches/undef-altivec-macros-cpp.patch | 16 ++++ srcpkgs/opencv4/template | 73 +++++++++++++++++++ 7 files changed, 140 insertions(+) create mode 120000 srcpkgs/libopencv4 create mode 120000 srcpkgs/libopencv4-devel create mode 120000 srcpkgs/libopencv4-python create mode 120000 srcpkgs/libopencv4-python3 create mode 100644 srcpkgs/opencv4/patches/undef-altivec-macros-cpp.patch create mode 100644 srcpkgs/opencv4/template diff --git a/common/shlibs b/common/shlibs index 889115c8112..18e0dd2b175 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1992,6 +1992,53 @@ libopencv_imgproc.so.3.4 libopencv-3.4.1_1 libopencv_core.so.3.4 libopencv-3.4.1_1 libopencv_superres.so.3.4 libopencv-3.4.1_1 libopencv_videostab.so.3.4 libopencv-3.4.1_1 +libopencv_quality.so.4.2 libopencv4-4.2.0_1 +libopencv_reg.so.4.2 libopencv4-4.2.0_1 +libopencv_surface_matching.so.4.2 libopencv4-4.2.0_1 +libopencv_xphoto.so.4.2 libopencv4-4.2.0_1 +libopencv_freetype.so.4.2 libopencv4-4.2.0_1 +libopencv_fuzzy.so.4.2 libopencv4-4.2.0_1 +libopencv_hfs.so.4.2 libopencv4-4.2.0_1 +libopencv_img_hash.so.4.2 libopencv4-4.2.0_1 +libopencv_line_descriptor.so.4.2 libopencv4-4.2.0_1 +libopencv_saliency.so.4.2 libopencv4-4.2.0_1 +libopencv_structured_light.so.4.2 libopencv4-4.2.0_1 +libopencv_aruco.so.4.2 libopencv4-4.2.0_1 +libopencv_bgsegm.so.4.2 libopencv4-4.2.0_1 +libopencv_bioinspired.so.4.2 libopencv4-4.2.0_1 +libopencv_ccalib.so.4.2 libopencv4-4.2.0_1 +libopencv_face.so.4.2 libopencv4-4.2.0_1 +libopencv_tracking.so.4.2 libopencv4-4.2.0_1 +libopencv_xfeatures2d.so.4.2 libopencv4-4.2.0_1 +libopencv_optflow.so.4.2 libopencv4-4.2.0_1 +libopencv_ximgproc.so.4.2 libopencv4-4.2.0_1 +libopencv_plot.so.4.2 libopencv4-4.2.0_1 +libopencv_text.so.4.2 libopencv4-4.2.0_1 +libopencv_ml.so.4.2 libopencv4-4.2.0_1 +libopencv_objdetect.so.4.2 libopencv4-4.2.0_1 +libopencv_dnn.so.4.2 libopencv4-4.2.0_1 +libopencv_shape.so.4.2 libopencv4-4.2.0_1 +libopencv_stitching.so.4.2 libopencv4-4.2.0_1 +libopencv_photo.so.4.2 libopencv4-4.2.0_1 +libopencv_video.so.4.2 libopencv4-4.2.0_1 +libopencv_calib3d.so.4.2 libopencv4-4.2.0_1 +libopencv_features2d.so.4.2 libopencv4-4.2.0_1 +libopencv_flann.so.4.2 libopencv4-4.2.0_1 +libopencv_highgui.so.4.2 libopencv4-4.2.0_1 +libopencv_videoio.so.4.2 libopencv4-4.2.0_1 +libopencv_imgcodecs.so.4.2 libopencv4-4.2.0_1 +libopencv_imgproc.so.4.2 libopencv4-4.2.0_1 +libopencv_core.so.4.2 libopencv4-4.2.0_1 +libopencv_superres.so.4.2 libopencv4-4.2.0_1 +libopencv_videostab.so.4.2 libopencv4-4.2.0_1 +libopencv_gapi.so.4.2 libopencv4-4.2.0_1 +libopencv_xobjdetect.so.4.2 libopencv4-4.2.0_1 +libopencv_datasets.so.4.2 libopencv4-4.2.0_1 +libopencv_dnn_objdetect.so.4.2 libopencv4-4.2.0_1 +libopencv_dnn_superres.so.4.2 libopencv4-4.2.0_1 +libopencv_dpm.so.4.2 libopencv4-4.2.0_1 +libopencv_phase_unwrapping.so.4.2 libopencv4-4.2.0_1 +libopencv_stereo.so.4.2 libopencv4-4.2.0_1 libcgmanager.so.0 libcgmanager-0.33_1 libuniconf.so.4.6 wvstreams-4.6.1_2 libwvbase.so.4.6 wvstreams-4.6.1_1 diff --git a/srcpkgs/libopencv4 b/srcpkgs/libopencv4 new file mode 120000 index 00000000000..84ec4806fc8 --- /dev/null +++ b/srcpkgs/libopencv4 @@ -0,0 +1 @@ +opencv4 \ No newline at end of file diff --git a/srcpkgs/libopencv4-devel b/srcpkgs/libopencv4-devel new file mode 120000 index 00000000000..84ec4806fc8 --- /dev/null +++ b/srcpkgs/libopencv4-devel @@ -0,0 +1 @@ +opencv4 \ No newline at end of file diff --git a/srcpkgs/libopencv4-python b/srcpkgs/libopencv4-python new file mode 120000 index 00000000000..84ec4806fc8 --- /dev/null +++ b/srcpkgs/libopencv4-python @@ -0,0 +1 @@ +opencv4 \ No newline at end of file diff --git a/srcpkgs/libopencv4-python3 b/srcpkgs/libopencv4-python3 new file mode 120000 index 00000000000..84ec4806fc8 --- /dev/null +++ b/srcpkgs/libopencv4-python3 @@ -0,0 +1 @@ +opencv4 \ No newline at end of file diff --git a/srcpkgs/opencv4/patches/undef-altivec-macros-cpp.patch b/srcpkgs/opencv4/patches/undef-altivec-macros-cpp.patch new file mode 100644 index 00000000000..67dd2a7a6da --- /dev/null +++ b/srcpkgs/opencv4/patches/undef-altivec-macros-cpp.patch @@ -0,0 +1,16 @@ +This is necessary because otherwise conflicts are introduced in C++ code that +includes this. The header itself does not rely on the macros. The issue is not +visible on little endian because they undef the macros somewhere else. + +--- 3rdparty/include/opencl/1.2/CL/cl_platform.h ++++ 3rdparty/include/opencl/1.2/CL/cl_platform.h +@@ -332,6 +332,9 @@ typedef unsigned int cl_GLenum; + /* Define basic vector types */ + #if defined( __VEC__ ) + #include /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */ ++ #undef vector ++ #undef pixel ++ #undef bool + typedef __vector unsigned char __cl_uchar16; + typedef __vector signed char __cl_char16; + typedef __vector unsigned short __cl_ushort8; diff --git a/srcpkgs/opencv4/template b/srcpkgs/opencv4/template new file mode 100644 index 00000000000..27532a4af38 --- /dev/null +++ b/srcpkgs/opencv4/template @@ -0,0 +1,73 @@ +# Template file for 'opencv4' +pkgname=opencv4 +version=4.2.0 +revision=1 +wrksrc=opencv-${version} +build_style=cmake +configure_args="-DENABLE_PRECOMPILED_HEADERS=OFF -DWITH_OPENMP=ON -DWITH_OPENCL=ON + -DOPENCV_GENERATE_PKGCONFIG=YES + -DWITH_EIGEN=ON -DENABLE_CXX11=ON -DOPENCV_SKIP_PYTHON_LOADER=ON + -DOPENCV_PYTHON3_INSTALL_PATH=${py3_sitelib} + -DOPENCV_PYTHON_INSTALL_PATH=${py2_sitelib} + -DOPENCV_EXTRA_MODULES_PATH=${XBPS_BUILDDIR}/opencv_contrib-${version}/modules + -DBUILD_opencv_rgbd=OFF" +hostmakedepends="pkg-config eigen" +makedepends="ffmpeg-devel libpng-devel libjpeg-turbo-devel tiff-devel + jasper-devel ocl-icd-devel libgomp-devel libopenexr-devel gtk+3-devel + libgphoto2-devel gst-plugins-base1-devel openblas-devel" +short_desc="Computer vision and machine learning software library, version 4.x" +maintainer="Hazel Levine " +license="BSD-3-Clause" +homepage="https://opencv.org" +distfiles="https://github.com/opencv/${pkgname}/archive/${version}.tar.gz + https://github.com/opencv/opencv_contrib/archive/${version}.tar.gz>contrib.tar.gz" +checksum="9ccb2192d7e8c03c58fee07051364d94ed7599363f3b0dce1c5e6cc11c1bb0ec + 8a6b5661611d89baa59a26eb7ccf4abb3e55d73f99bb52d8f7c32265c8a43020" + +case "$XBPS_TARGET_MACHINE" in + armv[56]*|mips*) makedepends+=" libatomic-devel";; +esac + +post_install() { + vlicense LICENSE +} + +libopencv4_package() { + short_desc+=" - library files" + pkg_install() { + vmove usr/lib/*.so.* + } +} + +libopencv4-devel_package() { + short_desc+=" - development files" + depends="libopencv4>=${version}_${revision}" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove usr/lib/*.so + vmove usr/share/opencv4 + } +} + +if [ -z "$CROSS_BUILD" ]; then + # because python-numpy cannot be cross compiled + hostmakedepends+=" python-devel python3-devel" + makedepends+=" python-numpy python3-numpy" + + libopencv4-python_package() { + short_desc+=" - Python2 bindings" + depends="python-numpy" + pkg_install() { + vmove usr/lib/python2.7 + } + } + + libopencv4-python3_package() { + short_desc+=" - Python3 bindings" + depends="python3-numpy" + pkg_install() { + vmove usr/lib/python3* + } + } +fi