diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2018-05-28 19:12:29 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 23:39:35 +0200 |
commit | 646a5c1cbfd95873950a87b5f75d52073a967023 (patch) | |
tree | b8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/l/ffmpeg/ffmpeg.SlackBuild | |
parent | d31c50870d0bee042ce660e445c9294a59a3a65b (diff) | |
download | current-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz |
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt.
installpkg: default line length for --terselength is the number of columns.
removepkg: added --terse mode.
upgradepkg: default line length for --terselength is the number of columns.
upgradepkg: accept -option in addition to --option.
ap/vim-8.1.0026-x86_64-1.txz: Upgraded.
d/bison-3.0.5-x86_64-1.txz: Upgraded.
e/emacs-26.1-x86_64-1.txz: Upgraded.
kde/kopete-4.14.3-x86_64-8.txz: Rebuilt.
Recompiled against libidn-1.35.
n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded.
n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded.
n/libnftnl-1.1.0-x86_64-1.txz: Upgraded.
n/links-2.16-x86_64-2.txz: Rebuilt.
Rebuilt to enable X driver for -g mode.
n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded.
n/nftables-0.8.5-x86_64-1.txz: Upgraded.
n/p11-kit-0.23.11-x86_64-1.txz: Upgraded.
n/ulogd-2.0.7-x86_64-1.txz: Upgraded.
n/whois-5.3.1-x86_64-1.txz: Upgraded.
xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded.
xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l/ffmpeg/ffmpeg.SlackBuild')
-rwxr-xr-x | source/l/ffmpeg/ffmpeg.SlackBuild | 275 |
1 files changed, 275 insertions, 0 deletions
diff --git a/source/l/ffmpeg/ffmpeg.SlackBuild b/source/l/ffmpeg/ffmpeg.SlackBuild new file mode 100755 index 00000000..cced8480 --- /dev/null +++ b/source/l/ffmpeg/ffmpeg.SlackBuild @@ -0,0 +1,275 @@ +#!/bin/bash + +# Slackware build script for ffmpeg + +# Copyright 2010-2017 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS 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 AUTHOR 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. + +# Originally written by core (eroc@linuxmail.org) +# Modified by Robby Workman <rworkman@slackbuilds.org> + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=ffmpeg +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# If PulseAudio is not found, use the _alsa $TAG and disable it in the build: +if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then + TAG="_alsa" + PULSEAUDIO=no +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$TAG.txz" + exit 0 +fi + +# Configure ffmpeg features not autodetected by default. +# You can enable a lot of optional (not-autodetected) features by +# passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild). +# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes +# syntax, so we have to do it the complicated way :/ +# Additional optional (autodetected) dependencies are: +# - jack-audio-connection-kit +# - libva +# - libvdpau +# - libX11 +# - libxcb +# - sdl2 +# - xz +# - zlib + +libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264" +libcelt="" ; [ "${CELT:-no}" != "no" ] && libcelt="--enable-libcelt" +libdc1394="" ; [ "${DC1394:-no}" != "no" ] && libdc1394="--enable-libdc1394" +libfrei0r="" ; [ "${FREI0R:-no}" != "no" ] && libfrei0r="--enable-frei0r" +libgsm="" ; [ "${GSM:-no}" != "no" ] && libgsm="--enable-libgsm" +librtmp="" ; [ "${RTMP:-no}" != "no" ] && librtmp="--enable-librtmp" +libspeex="" ; [ "${SPEEX:-yes}" != "no" ] && libspeex="--enable-libspeex" +libxvid="" ; [ "${XVID:-no}" != "no" ] && libxvid="--enable-libxvid" +libass="" ; [ "${ASS:-no}" != "no" ] && libass="--enable-libass" +libopenal="" ; [ "${OPENAL:-no}" != "no" ] && libopenal="--enable-openal" +libiec61883=""; [ "${IEC61883:-no}" != "no" ] && libiec61883="--enable-libiec61883" +libilbc="" ; [ "${ILBC:-no}" != "no" ] && libilbc="--enable-libilbc" +libmodplug="" ; [ "${MODPLUG:-no}" != "no" ] && libmodplug="--enable-libmodplug" +libopus="" ; [ "${OPUS:-yes}" != "no" ] && libopus="--enable-libopus" +libtwolame="" ; [ "${TWOLAME:-no}" != "no" ] && libtwolame="--enable-libtwolame" +ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa" +libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite" +libvidstab="" ; [ "${VIDSTAB:-no}" != "no" ] && libvidstab="--enable-libvidstab" +libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265" +libzvbi="" ; [ "${ZVBI:-no}" != "no" ] && libzvbi="--enable-libzvbi" +libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopencv" +libgme="" ; [ "${GME:-no}" != "no" ] && libgme="--enable-libgme" +libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy" +libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq" +libbs2b="" ; [ "${BS2B:-no}" != "no" ] && libbs2b="--enable-libbs2b" +libebur128="" ; [ "${EBUR128:-no}" != "no" ] && libebur128="--enable-libebur128" +rubberband="" ; [ "${RUBBERBAND:-no}" != "no" ] && rubberband="--enable-librubberband" +tesseract="" ; [ "${TESSERACT:-no}" != "no" ] && tesseract="--enable-libtesseract" +netcdf="" ; [ "${NETCDF:-no}" != "no" ] && netcdf="--enable-netcdf" +chromaprint="" ; [ "${CHROMAPRINT:-no}" != "no" ] && chromaprint="--enable-chromaprint" +opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \ + opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb" +fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \ + { fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; } +ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \ + { ssl="--enable-openssl" ; non_free="--enable-nonfree" ; } +decklink="" ; [ "${DECKLINK:-no}" != "no" ] && \ + { decklink="--enable-decklink" ; \ + SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; } + +# Default enabled features: +fontconfig="" ; [ "${FONTCONFIG:-yes}" != "no" ] && fontconfig="--enable-libfontconfig" +freetype="" ; [ "${FREETYPE:-yes}" != "no" ] && freetype="--enable-libfreetype" +fribidi="" ; [ "${FRIBIDI:-yes}" != "no" ] && fribidi="--enable-libfribidi" +gnutls="" ; [ "${GNUTLS:-yes}" != "no" ] && gnutls="--enable-gnutls" +libbluray="" ; [ "${BLURAY:-yes}" != "no" ] && libbluray="--enable-libbluray" +libcaca="" ; [ "${CACA:-yes}" != "no" ] && libcaca="--enable-libcaca" +libcdio="" ; [ "${LIBCDIO:-yes}" != "no" ] && libcdio="--enable-libcdio" +libssh="" ; [ "${LIBSSH:-yes}" != "no" ] && libssh="--enable-libssh" +libtheora="" ; [ "${THEORA:-yes}" != "no" ] && libtheora="--enable-libtheora" +libv4l2="" ; [ "${V4L2:-yes}" != "no" ] && libv4l2="--enable-libv4l2" +libvorbis="" ; [ "${VORBIS:-yes}" != "no" ] && libvorbis="--enable-libvorbis" +libvpx="" ; [ "${VPX:-yes}" != "no" ] && libvpx="--enable-libvpx" +libwebp="" ; [ "${WEBP:-yes}" != "no" ] && libwebp="--enable-libwebp" +mp3lame="" ; [ "${LAME:-yes}" != "no" ] && mp3lame="--enable-libmp3lame" +opencl="" ; [ "${OPENCL:-yes}" != "no" ] && opencl="--enable-opencl" +opengl="" ; [ "${OPENGL:-yes}" != "no" ] && opengl="--enable-opengl" +openjpeg="" ; [ "${JP2:-yes}" != "no" ] && openjpeg="--enable-libopenjpeg" +pulse="" ; [ "${PULSEAUDIO:-yes}" != "no" ] && pulse="--enable-libpulse" +samba="" ; [ "${SAMBA:-yes}" != "no" ] && samba="--enable-libsmbclient" +wavpack="" ; [ "${WAVPACK:-yes}" != "no" ] && wavpack="--enable-libwavpack" + +# No default patent encumbered features: +aac="" ; [ "${AAC:-no}" = "no" ] && aac="--disable-encoder=aac" + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Fix linking with flite: +sed -i "s| -lflite\"| -lflite -lm -lasound\"|" \ + ./configure + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --shlibdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/$PKGNAM-$VERSION/html \ + --mandir=/usr/man \ + --disable-debug \ + --enable-shared \ + --disable-static \ + --enable-gpl \ + --enable-version3 \ + --enable-avresample \ + --arch=$ARCH \ + $non_free \ + $aac \ + $chromaprint \ + $decklink \ + $fdk \ + $fontconfig \ + $freetype \ + $fribidi \ + $gnutls \ + $ladspa \ + $libass \ + $libbluray \ + $libbs2b \ + $libcaca \ + $libcdio \ + $libcelt \ + $libdc1394 \ + $libebur128 \ + $libflite \ + $libfrei0r \ + $libgme \ + $libgsm \ + $libiec61883 \ + $libilbc \ + $libmodplug \ + $libopenal \ + $libopencv \ + $libopus \ + $librtmp \ + $libsnappy \ + $libspeex \ + $libssh \ + $libtheora \ + $libtwolame \ + $libv4l2 \ + $libvidstab \ + $libvorbis \ + $libvpx \ + $libwebp \ + $libx264 \ + $libx265 \ + $libxvid \ + $libzmq \ + $libzvbi \ + $mp3lame \ + $netcdf \ + $opencl \ + $opencore_amr \ + $opengl \ + $openjpeg \ + $pulse \ + $rubberband \ + $samba \ + $ssl \ + $tesseract \ + $wavpack || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +make install-man DESTDIR=$PKG || exit 1 + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \ + grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/txt +cp -a \ + Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* \ + RELEASE VERSION \ + $PKG/usr/doc/$PKGNAM-$VERSION +cp -a doc/*.txt $PKG/usr/doc/$PKGNAM-$VERSION/txt/ +find . -name "RELEASE_NOTES" -exec cp -a {} $PKG/usr/doc/$PKGNAM-$VERSION/ \; + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz |