From e4a398632b16a645a361d5122dcbcd0a330a729e Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 11 Jul 2019 23:53:13 +0200 Subject: Deps: updates to opencv, frei0r-plugins and mlt --- deps/frei0r-plugins/frei0r-plugins.SlackBuild | 14 ++++--- .../patches/frei0r_opencv2_include.patch | 10 +++++ deps/mlt/.url | 2 +- deps/mlt/mlt.SlackBuild | 3 +- deps/opencv/.url | 4 +- deps/opencv/opencv.SlackBuild | 48 ++++++++++++++++------ deps/opencv/patches/opencv_includedir.patch | 12 ++++++ 7 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 deps/frei0r-plugins/patches/frei0r_opencv2_include.patch create mode 100644 deps/opencv/patches/opencv_includedir.patch diff --git a/deps/frei0r-plugins/frei0r-plugins.SlackBuild b/deps/frei0r-plugins/frei0r-plugins.SlackBuild index 6e91161..9d526ec 100755 --- a/deps/frei0r-plugins/frei0r-plugins.SlackBuild +++ b/deps/frei0r-plugins/frei0r-plugins.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2017 Eric Hameleers, Eindhoven, NL +# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL # Copyright 2017 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # @@ -26,7 +26,7 @@ PKGNAM=frei0r-plugins VERSION=${VERSION:-1.6.1} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} CWD=$(pwd) TMP=${TMP:-/tmp} @@ -35,7 +35,7 @@ PKG=$TMP/package-$PKGNAM # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; @@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then export ARCH fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" SLKLDFLAGS="" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then @@ -85,6 +85,9 @@ find . \ sed -i CMakeLists.txt \ -e "s, lib/, lib${LIBDIRSUFFIX}/,g" -e "s,/lib,/lib${LIBDIRSUFFIX},g" +## Apply a patch to make it compile against opencv >= 3.4: +#cat $CWD/patches/frei0r_opencv2_include.patch | patch -p1 --verbose || exit 1 + # Configure and compile: mkdir -p build cd build @@ -96,6 +99,7 @@ cd build -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DWITHOUT_OPENCV=ON \ .. make make install DESTDIR=$PKG diff --git a/deps/frei0r-plugins/patches/frei0r_opencv2_include.patch b/deps/frei0r-plugins/patches/frei0r_opencv2_include.patch new file mode 100644 index 0000000..d139575 --- /dev/null +++ b/deps/frei0r-plugins/patches/frei0r_opencv2_include.patch @@ -0,0 +1,10 @@ +--- frei0r-plugins-1.6.1/src/filter/facebl0r/facebl0r.cpp.orig 2018-07-14 20:49:01.564511495 +1000 ++++ frei0r-plugins-1.6.1/src/filter/facebl0r/facebl0r.cpp 2018-07-14 18:47:44.430685507 +1000 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + + #include diff --git a/deps/mlt/.url b/deps/mlt/.url index 57149ff..fe14862 100644 --- a/deps/mlt/.url +++ b/deps/mlt/.url @@ -1,2 +1,2 @@ -https://github.com/mltframework/mlt/archive/v6.14.0.tar.gz +https://github.com/mltframework/mlt/archive/v6.16.0.tar.gz diff --git a/deps/mlt/mlt.SlackBuild b/deps/mlt/mlt.SlackBuild index 99cfaf1..64e4b4b 100755 --- a/deps/mlt/mlt.SlackBuild +++ b/deps/mlt/mlt.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mlt -VERSION=${VERSION:-6.14.0} +VERSION=${VERSION:-6.16.0} BUILD=${BUILD:-1} PYTHONSITEPKG=$(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") @@ -103,6 +103,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-gpl \ --enable-gpl3 \ --enable-motion-est \ + --enable-opencv \ --enable-qt \ --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \ --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \ diff --git a/deps/opencv/.url b/deps/opencv/.url index e2dc286..bb4164d 100644 --- a/deps/opencv/.url +++ b/deps/opencv/.url @@ -1,2 +1,2 @@ -https://github.com/Itseez/opencv/archive/3.2.0/opencv-3.2.0.tar.gz -https://github.com/Itseez/opencv_contrib/archive/3.2.0/opencv_contrib-3.2.0.zip +https://github.com/Itseez/opencv/archive/4.1.0/opencv-4.1.0.tar.gz +https://github.com/Itseez/opencv_contrib/archive/4.1.0/opencv_contrib-4.1.0.zip diff --git a/deps/opencv/opencv.SlackBuild b/deps/opencv/opencv.SlackBuild index e1bce8e..6a2677f 100755 --- a/deps/opencv/opencv.SlackBuild +++ b/deps/opencv/opencv.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2015, 2017 Eric Hameleers, Eindhoven, NL +# Copyright 2015, 2017, 2019 Eric Hameleers, Eindhoven, NL # Copyright 2015, 2017 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # @@ -22,22 +22,31 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PKGNAM=opencv -VERSION=${VERSION:-3.2.0} -BUILD=${BUILD:-2} +VERSION=${VERSION:-4.1.0} +BUILD=${BUILD:-1} -NUMJOBS=${NUMJOBS:--j7} +NUMJOBS=${NUMJOBS:-" -j$(nproc)"} # Automatically determine the architecture we're building on: -MARCH=$( uname -m ) if [ -z "$ARCH" ]; then - case "$MARCH" in - i?86) export ARCH=i486 ;; - armv7hl) export ARCH=$MARCH ;; - arm*) export ARCH=arm ;; + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$MARCH ;; + *) ARCH=$(uname -m) ;; esac + export ARCH +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-${VERSION}-${ARCH}-${BUILD}.txz" + exit 0 fi if [ "$ARCH" = "i486" ]; then @@ -57,7 +66,6 @@ else LIBDIRSUFFIX="" fi -CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -69,6 +77,9 @@ tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 unzip $CWD/${PKGNAM}_contrib-$VERSION.zip || exit 1 +# Remove non-existant include dir from pkgconfig file: +cat $CWD/patches/opencv_includedir.patch | patch -p1 --verbose || exit 1 + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -92,28 +103,41 @@ cd build -DSYSCONF_INSTALL_DIR=/etc \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \ + -DBUILD_CUDA_STUBS=OFF \ -DBUILD_PACKAGE=OFF \ -DBUILD_PERF_TESTS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTS=OFF \ -DBUILD_WITH_DEBUG_INFO=OFF \ -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DOPENCV_EXTRA_MODULES_PATH=../${PKGNAM}_contrib-$VERSION/modules \ + -DWITH_CUDA=OFF \ -DWITH_FFMPEG=ON \ + -DWITH_GDAL=OFF \ -DWITH_IPP=OFF \ -DWITH_OPENGL=ON \ + -DWITH_OPENMP=ON \ -DWITH_QT=ON \ + -DWITH_XINE=ON \ + -DOPENCV_ENABLE_NONFREE=ON \ + -DOPENCV_EXTRA_MODULES_PATH=../${PKGNAM}_contrib-$VERSION/modules \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_JNI_INSTALL_PATH=lib${LIBDIRSUFFIX} \ .. make $NUMJOBS VERBOSE=1 || make || exit 1 make install DESTDIR=$PKG || exit 1 cd - +# Add a symlink to 'opencv' to make eg. mlt find it: +ln -s opencv4.pc $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/opencv.pc + find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a COPYING* README* \ $PKG/usr/doc/$PKGNAM-$VERSION +mv $PKG/usr/share/licenses \ + $PKG/usr/doc/$PKGNAM-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/deps/opencv/patches/opencv_includedir.patch b/deps/opencv/patches/opencv_includedir.patch new file mode 100644 index 0000000..69f32bf --- /dev/null +++ b/deps/opencv/patches/opencv_includedir.patch @@ -0,0 +1,12 @@ +# Remove non-existing include directory. + +diff -u -r opencv-4.0.1/cmake/templates/opencv-XXX.pc.in opencv-4.0.1-includedir/cmake/templates/opencv-XXX.pc.in +--- opencv-4.0.1/cmake/templates/opencv-XXX.pc.in 2018-12-22 07:03:30.000000000 +0000 ++++ opencv-4.0.1-includedir/cmake/templates/opencv-XXX.pc.in 2019-02-07 15:08:15.016613349 +0000 +@@ -11,4 +10,4 @@ + Version: @OPENCV_VERSION_PLAIN@ + Libs: @OPENCV_PC_LIBS@ + Libs.private: @OPENCV_PC_LIBS_PRIVATE@ +-Cflags: -I${includedir_old} -I${includedir_new} ++Cflags: -I${includedir_new} + -- cgit v1.2.3