diff options
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 |
commit | 60bf248ad0c31c8bdb95b5d6d6b0c7adb0fafaac (patch) | |
tree | b2771797e777a72c99a554e6daef658717bcb09b /deps/mlt | |
parent | 7912a391b5cb6f00d30e9fdea957e5be71d156b0 (diff) | |
download | ktown-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/.url | 2 | ||||
-rw-r--r-- | deps/mlt/doinst.sh | 8 | ||||
-rwxr-xr-x | deps/mlt/mlt.SlackBuild | 132 | ||||
-rw-r--r-- | deps/mlt/patches/mlt_qt5.patch | 27 | ||||
-rw-r--r-- | deps/mlt/slack-desc | 20 |
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: + |