summaryrefslogtreecommitdiffstats
path: root/deps/mlt
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2017-03-19 21:06:40 +0100
committer Eric Hameleers <alien@slackware.com>2017-03-19 21:06:40 +0100
commit60bf248ad0c31c8bdb95b5d6d6b0c7adb0fafaac (patch)
treeb2771797e777a72c99a554e6daef658717bcb09b /deps/mlt
parent7912a391b5cb6f00d30e9fdea957e5be71d156b0 (diff)
downloadktown-60bf248ad0c31c8bdb95b5d6d6b0c7adb0fafaac.tar.gz
ktown-60bf248ad0c31c8bdb95b5d6d6b0c7adb0fafaac.tar.xz
deps: updated for KDE 5_17.03
Six packages have been added in order to compile the KDE packages libkface, digikam and kdenlive: - dvdauthor - frei0r - lensfun - mlt - opencv - vid.stab Furthermore I (re-)added some sources that I intend to use in the 'testing' branch of ktown. These Slackware originals were slightly modified and need to be compiled against wayland (also in need of recompilation are libxkbcommon and qt5 but those sources are already included): - elogind - mesa - xorg-server
Diffstat (limited to 'deps/mlt')
-rw-r--r--deps/mlt/.url2
-rw-r--r--deps/mlt/doinst.sh8
-rwxr-xr-xdeps/mlt/mlt.SlackBuild132
-rw-r--r--deps/mlt/patches/mlt_qt5.patch27
-rw-r--r--deps/mlt/slack-desc20
5 files changed, 189 insertions, 0 deletions
diff --git a/deps/mlt/.url b/deps/mlt/.url
new file mode 100644
index 0000000..5ef8f2a
--- /dev/null
+++ b/deps/mlt/.url
@@ -0,0 +1,2 @@
+http://downloads.sourceforge.net/mlt/mlt-6.4.1.tar.gz
+
diff --git a/deps/mlt/doinst.sh b/deps/mlt/doinst.sh
new file mode 100644
index 0000000..e4e6459
--- /dev/null
+++ b/deps/mlt/doinst.sh
@@ -0,0 +1,8 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x /usr/bin/update-mime-database ]; then
+ /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/deps/mlt/mlt.SlackBuild b/deps/mlt/mlt.SlackBuild
new file mode 100755
index 0000000..93d447e
--- /dev/null
+++ b/deps/mlt/mlt.SlackBuild
@@ -0,0 +1,132 @@
+#!/bin/sh
+# $Id$
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+# -----------------------------------------------------------------------------
+
+
+PKGNAM=mlt
+VERSION=${VERSION:-6.4.1}
+BUILD=${BUILD:-1}
+
+PYTHONSITEPKG=$(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ 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) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+# Fix compilation against Qt >= 5.7 (error "Qt requires C++11 support"):
+cat $CWD/patches/mlt_qt5.patch | patch -p1 --verbose || exit 1
+
+# Fix bogus permissions:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure and compile:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --avformat-swscale \
+ --disable-debug \
+ --enable-gpl \
+ --enable-gpl3 \
+ --enable-motion-est \
+ --enable-qt \
+ --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \
+ --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \
+ --swig-languages="python" \
+ --build=$TARGET
+
+make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install the extensions we enabled:
+install -D -m0755 src/swig/python/_mlt.so $PKG/$PYTHONSITEPKG/_mlt.so
+install -D -m0755 src/swig/python/mlt_wrap.o $PKG/$PYTHONSITEPKG/mlt_wrap.o
+install -D -m0755 src/swig/python/mlt.py $PKG/$PYTHONSITEPKG/mlt.py
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS ChangeLog COPYING GPL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
+
diff --git a/deps/mlt/patches/mlt_qt5.patch b/deps/mlt/patches/mlt_qt5.patch
new file mode 100644
index 0000000..69706cc
--- /dev/null
+++ b/deps/mlt/patches/mlt_qt5.patch
@@ -0,0 +1,27 @@
+From 053204f4a243559644af2c47ae9895810685cb5a Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Sun, 8 Jan 2017 10:22:33 -0800
+Subject: [PATCH] Only use --std=c++11 CXXFLAG for g++.
+
+The addition of --std=c++11 breaks build on my OS X 10.8 build agent,
+which uses clang version "Apple LLVM version 8.0.0 (clang-800.0.42.1)"
+---
+ src/modules/qt/Makefile | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/modules/qt/Makefile b/src/modules/qt/Makefile
+index e7b55ae..d88e519 100644
+--- a/src/modules/qt/Makefile
++++ b/src/modules/qt/Makefile
+@@ -39,7 +39,11 @@ ifneq ($(targetos), MinGW)
+ endif
+ endif
+
+ CXXFLAGS := $(QTCXXFLAGS) $(CXXFLAGS) $(CFLAGS) $(EXIFCXXFLAGS) $(KDECXXFLAGS) -Wno-deprecated
++
++ifneq (, $(shell $(CXX) --version | grep -is gcc))
++ CXXFLAGS += --std=c++11
++endif
+
+ LDFLAGS += $(QTLIBS) $(EXIFLIBS) $(KDELIBS)
+
diff --git a/deps/mlt/slack-desc b/deps/mlt/slack-desc
new file mode 100644
index 0000000..cf6abd5
--- /dev/null
+++ b/deps/mlt/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mlt: mlt (Open source multimedia framework)
+mlt:
+mlt: MLT is an open source multimedia framework, designed and developed
+mlt: for television broadcasting. It provides a toolkit for broadcasters,
+mlt: video editors, media players, transcoders, web streamers and many
+mlt: more types of applications. The functionality of the system is
+mlt: provided via an assortment of ready to use tools, XML authoring
+mlt: components, and an extensible plug-in based API.
+mlt:
+mlt: See also: http://www.mltframework.org/
+mlt:
+