diff options
Diffstat (limited to 'multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild')
-rw-r--r-- | multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild | 125 |
1 files changed, 53 insertions, 72 deletions
diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild index a6c97ac873..d56d877d00 100644 --- a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild +++ b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild @@ -1,13 +1,10 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for k9copy-reloaded -# Copyright 2016 by Lenard Spencer (lspencer31-at-cfl-rr-com) +# Copyright 2018, 2020 by Lenard Spencer (lenardrspencer@gmail.com) # All rights reserved. # -# ffmpeg static library section borrowed (stolen?) from xine-lib.SlackBuild -# from Slackware 14.2 source archives,copyrighted by Pat Volkerding, et. al. -# # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # @@ -26,12 +23,14 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=k9copy-reloaded SRCNAM=k9copy VERSION=${VERSION:-3.0.3} -BUILD=${BUILD:-2} -FFMPEG_VERSION=${FFMPEG_VERSION:-2.8.15} +BUILD=${BUILD:-6} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -41,7 +40,14 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +# 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 "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -49,21 +55,15 @@ OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" - # 32bit x86 fails without this... - FFARCHOPTS="--disable-asm" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" - # 32bit x86 fails without this... - FFARCHOPTS="--disable-asm" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" - FFARCHOPTS="--arch=x86_64 --enable-pic" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" - FFARCHOPTS="" fi set -e @@ -71,51 +71,6 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf ffmpeg* -tar xvf $CWD/ffmpeg-$FFMPEG_VERSION.tar.?z* -cd ffmpeg* -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 {} \; -echo "Building static ffmpeg libs ..." - -FFMPEGDIR=/$TMP/ff-$(mcookie) - -CFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \ -CXXFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \ -./configure \ - --prefix=$FFMPEGDIR/usr \ - --libdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \ - --shlibdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \ - --enable-gpl \ - --enable-version3 \ - --enable-postproc \ - --disable-doc \ - --disable-avfilter \ - --disable-avdevice \ - --disable-swresample \ - --disable-ffserver \ - --disable-ffplay \ - --disable-ffmpeg \ - --disable-ffprobe \ - --enable-pthreads \ - --disable-debug \ - --disable-shared \ - --enable-static \ - --enable-hardcoded-tables \ - --enable-memalign-hack \ - --enable-bzlib \ - --enable-zlib \ - --enable-libopenjpeg \ - ${FFARCHOPTS} - - make - make install # Note: no DESTDIR !! -cd - - rm -rf $SRCNAM tar xvf $CWD/$SRCNAM-$VERSION.tar.gz cd $SRCNAM @@ -126,23 +81,47 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# patches from upstream and community: -patch -p1 < $CWD/patches/k9copy-mimetype.patch -patch -p0 < $CWD/patches/k9copy-tempdir.patch +# Insert a blank CmakeLists.txt file in various subs +# or the build will fail +touch src/libdvdnav-NOW/CMakeLists.txt +touch src/libdvdnav-NOW/vm/CMakeLists.txt +touch src/libdvdnav-NOW/dvdnav/CMakeLists.txt +touch src/libdvdread-NOW/CMakeLists.txt +touch src/libdvdread-NOW/dvdread/CMakeLists.txt + +patch -p1 < $CWD/patches/k9copy-fix-desktop-files.patch +patch -p1 < $CWD/patches/k9copy-installdirs.patch +patch -p1 < $CWD/patches/k9copy-ffmpeg3.patch + +# from the Fedora community, MUCH better than the ill-conceived and +# BROKEN gcc6 patch that has been floating around the web: +patch -p1 < $CWD/patches/k9copy-gcc7.patch + +# There have been several attempts to remove the internal libdvdread +# and libdvdnav, but NONE of then work properly (the program builds, +# but the backups are corrupt and will not play). I may revisit it +# later, but for now, we must patch the internal dvdnav to properly +# link to the internal dvdread: otherwise, the backups come out with +# corrupted .IFO files: +patch -p1 < $CWD/patches/k9copy-dvdnav.patch + +# In 15.0, dvdauthor crashes the program if we try to use it, +# so we disable it by default in settings: +patch -p1 < $CWD/patches/k9copy-uncheck-dvdauthor.patch + +# Patch for missing "Language=" entry in .po files: +patch -p1 < $CWD/patches/k9copy-missing-language-in-po-files.patch -# Needed to link with the ffmpeg static libs we just built: -export PKG_CONFIG_PATH="${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" +# Patch for i18n (mitigates I18N_ARGUMENT_MISSING messages): +patch -p1 < $CWD/patches/k9copy-i18n.patch mkdir -p build cd build cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DFFMPEGSCALE_LIBRARY:FILEPATH=${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX} \ - -DFFMPEGSCALE_INCLUDE_DIR_LAVC=${FFMPEGDIR}/usr/include \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS -std=c++11" \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -DMAN_INSTALL_DIR=/usr/man \ + -DQT5_BUILD="ON" \ -DCMAKE_BUILD_TYPE=Release .. make make install DESTDIR=$PKG @@ -152,7 +131,9 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COPYING README $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + COPYING README \ + $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install @@ -160,4 +141,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |