From 8bbd9520fa881787c568b4f8e1dfcd6acebea608 Mon Sep 17 00:00:00 2001 From: Lenard Spencer Date: Sat, 18 Apr 2020 20:24:15 +0700 Subject: multimedia/k9copy-reloaded: Use internal dvdnav. Signed-off-by: Willy Sudiarto Raharjo --- multimedia/k9copy-reloaded/README | 13 +- .../k9copy-reloaded/k9copy-reloaded.SlackBuild | 73 +++++--- .../k9copy-reloaded/patches/k9copy-dvdnav.patch | 207 +++++++++++++++++++++ 3 files changed, 267 insertions(+), 26 deletions(-) create mode 100644 multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch (limited to 'multimedia') diff --git a/multimedia/k9copy-reloaded/README b/multimedia/k9copy-reloaded/README index 94f94a9262..a99c7ed1cc 100644 --- a/multimedia/k9copy-reloaded/README +++ b/multimedia/k9copy-reloaded/README @@ -2,16 +2,23 @@ K9copy-reloaded is a continuation of the original k9copy program. It allows you to make 1:1 backups of both single-and dual-layer DVDs, as well as compress a dual-layer DVD to single-layer. -NOTE 1: This script builds an internal copy of the ffmpeg 2.8.15 +NOTE 1: For some reason, this will not build properly if ccache is +enabled. (It will build and run, but the backups come out corrupted.) + +NOTE 2: This script builds an internal copy of the ffmpeg 2.8.15 static libaries. It has been tested and does not (should not?) interfere with any existing ffmpeg installation. Just remember that you need to be in a full shell (su - and not just su) for ffmpeg to build properly. -NOTE 2: K9copy-reloaded is unable to open .iso files on 32-bit systems. +NOTE 3: K9copy-reloaded is unable to open .iso files on 32-bit systems. This is an issue with libdvdread and not with k9copy-reloaded. They open just fine on 64-bit systems. -NOTE 3: This program is only intended for personal backups, and is NOT +NOTE 4: If you wish to build this on current (15.0 EXPERIMENTAL), +you will need to build and install the gcc5 package from ponce's -current +SBo repo, then pass CURRENT=yes to the script. + +NOTE 5: This program is only intended for personal backups, and is NOT intended for copying of copyrighted commercial DVDs. Therefore, there is NO CSS decription libary included in this package. diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild index a6c97ac873..9fec85ffc0 100644 --- a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild +++ b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for k9copy-reloaded -# Copyright 2016 by Lenard Spencer (lspencer31-at-cfl-rr-com) +# Copyright 2018 by Lenard Spencer (lspencer31@cfl.rr.com) # All rights reserved. # # ffmpeg static library section borrowed (stolen?) from xine-lib.SlackBuild @@ -29,7 +29,7 @@ PRGNAM=k9copy-reloaded SRCNAM=k9copy VERSION=${VERSION:-3.0.3} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} FFMPEG_VERSION=${FFMPEG_VERSION:-2.8.15} TAG=${TAG:-_SBo} @@ -66,28 +66,50 @@ else FFARCHOPTS="" fi +CURRENT=${CURRENT:-no} + set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP + +if [ "$CURRENT" = "yes" ]; then + # check for gcc5 and abort if not found: + if ! [ -x /usr/bin/gcc-5 ]; then + echo "Cannot find the gcc5 package. Please install the gcc5 package" + echo "and rerun the SlackBuild script." + exit 1 + fi + # Set gcc-5 vars to make it build with gcc5: + # cmake will use these settings to build k9copy-reloaded + source /etc/profile.d/gcc5.sh + # Options for ffmpeg: + GCC5OPTS="--cc=gcc-5 --cxx=g++-5 --ar=gcc-ar-5 --nm=gcc-nm-5 --ranlib=gcc-ranlib-5 --dep-cc=gcc-5" +else + GCC5OPTS="" +fi + 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 \ +tar xvf $CWD/ffmpeg-$FFMPEG_VERSION.tar.?z* || exit 1 +cd ffmpeg* || exit 1 + + 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 {} \; + + echo "Building static ffmpeg libs ..." + + FFMPEGDIR=/$TMP/ffmpeg-temp + + CFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \ + CXXFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \ + ./configure \ --prefix=$FFMPEGDIR/usr \ + $GCC5OPTS \ --libdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \ --shlibdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \ --enable-gpl \ @@ -120,16 +142,19 @@ rm -rf $SRCNAM tar xvf $CWD/$SRCNAM-$VERSION.tar.gz cd $SRCNAM 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 {} \; +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 {} \; # patches from upstream and community: patch -p1 < $CWD/patches/k9copy-mimetype.patch patch -p0 < $CWD/patches/k9copy-tempdir.patch +# Fix internal dvdnav to link against internal dvdread +patch -p1 < $CWD/patches/k9copy-dvdnav.patch + # Needed to link with the ffmpeg static libs we just built: export PKG_CONFIG_PATH="${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" @@ -152,7 +177,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 diff --git a/multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch b/multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch new file mode 100644 index 0000000000..bf456a3252 --- /dev/null +++ b/multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch @@ -0,0 +1,207 @@ +diff -Naur k9copy/src/libdvdnav-NOW/dvdnav/dvdnav.h k9copy.new/src/libdvdnav-NOW/dvdnav/dvdnav.h +--- k9copy/src/libdvdnav-NOW/dvdnav/dvdnav.h 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/dvdnav/dvdnav.h 2020-04-17 15:06:57.239790857 -0400 +@@ -32,11 +32,11 @@ + extern "C" { + #endif + +-#include +-#include +-#include +-#include /* For vm_cmd_t */ +-#include ++#include "dvdnav/dvd_types.h" ++#include "dvdread/dvd_reader.h" ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* For vm_cmd_t */ ++#include "dvdnav_events.h" + + + +diff -Naur k9copy/src/libdvdnav-NOW/dvdnav.c k9copy.new/src/libdvdnav-NOW/dvdnav.c +--- k9copy/src/libdvdnav-NOW/dvdnav.c 2014-09-29 12:02:49.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/dvdnav.c 2020-04-17 14:58:35.428540596 -0400 +@@ -34,14 +34,14 @@ + #include + #include + #include "dvdnav/dvdnav.h" +-#include +-#include +-#include /* For vm_cmd_t */ ++#include "dvdread/dvd_reader.h" ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* For vm_cmd_t */ + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" + #include "read_cache.h" +-#include ++#include "dvdread/nav_read.h" + + static dvdnav_status_t dvdnav_clear(dvdnav_t * this) { + /* clear everything except file, vm, mutex, readahead */ +diff -Naur k9copy/src/libdvdnav-NOW/highlight.c k9copy.new/src/libdvdnav-NOW/highlight.c +--- k9copy/src/libdvdnav-NOW/highlight.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/highlight.c 2020-04-17 14:59:35.543043065 -0400 +@@ -29,7 +29,7 @@ + #include + #include + #include +-#include ++#include "dvdread/nav_types.h" + #include "dvdnav/dvdnav.h" + #include "vm/decoder.h" + #include "vm/vm.h" +diff -Naur k9copy/src/libdvdnav-NOW/navigation.c k9copy.new/src/libdvdnav-NOW/navigation.c +--- k9copy/src/libdvdnav-NOW/navigation.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/navigation.c 2020-04-17 15:00:18.333402659 -0400 +@@ -27,8 +27,8 @@ + #include + #include + #include "dvdnav/dvdnav.h" +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy/src/libdvdnav-NOW/read_cache.c k9copy.new/src/libdvdnav-NOW/read_cache.c +--- k9copy/src/libdvdnav-NOW/read_cache.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/read_cache.c 2020-04-17 15:01:33.012033279 -0400 +@@ -34,8 +34,8 @@ + #include + #include + #include "dvdnav/dvdnav.h" +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy/src/libdvdnav-NOW/searching.c k9copy.new/src/libdvdnav-NOW/searching.c +--- k9copy/src/libdvdnav-NOW/searching.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/searching.c 2020-04-17 15:02:25.819481072 -0400 +@@ -30,12 +30,12 @@ + #include + #include + #include "dvdnav/dvdnav.h" +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +-#include ++#include "dvdread/ifo_read.h" + + /* + #define LOG_DEBUG +diff -Naur k9copy/src/libdvdnav-NOW/settings.c k9copy.new/src/libdvdnav-NOW/settings.c +--- k9copy/src/libdvdnav-NOW/settings.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/settings.c 2020-04-17 15:03:13.324884966 -0400 +@@ -27,8 +27,8 @@ + #include + #include + #include "dvdnav/dvdnav.h" +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/decoder.c k9copy.new/src/libdvdnav-NOW/vm/decoder.c +--- k9copy/src/libdvdnav-NOW/vm/decoder.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/decoder.c 2020-04-17 15:04:17.177429113 -0400 +@@ -32,8 +32,8 @@ + #include + #include + +-#include +-#include /* vm_cmd_t */ ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* vm_cmd_t */ + + #include "dvdnav/dvdnav.h" + #include "decoder.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/getset.c k9copy.new/src/libdvdnav-NOW/vm/getset.c +--- k9copy/src/libdvdnav-NOW/vm/getset.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/getset.c 2020-04-17 15:09:14.945967023 -0400 +@@ -30,9 +30,9 @@ + #include + #include + +-#include +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/play.c k9copy.new/src/libdvdnav-NOW/vm/play.c +--- k9copy/src/libdvdnav-NOW/vm/play.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/play.c 2020-04-17 15:10:18.384509885 -0400 +@@ -29,9 +29,9 @@ + #include + #include + +-#include +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/vm.c k9copy.new/src/libdvdnav-NOW/vm/vm.c +--- k9copy/src/libdvdnav-NOW/vm/vm.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/vm.c 2020-04-17 15:11:23.105064197 -0400 +@@ -37,9 +37,9 @@ + #include + #include + +-#include +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/vmcmd.c k9copy.new/src/libdvdnav-NOW/vm/vmcmd.c +--- k9copy/src/libdvdnav-NOW/vm/vmcmd.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/vmcmd.c 2020-04-17 15:12:20.354554837 -0400 +@@ -30,8 +30,8 @@ + #include + + #include "dvdnav/dvdnav.h" +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "decoder.h" + #include "vm.h" + #include "vmcmd.h" +diff -Naur k9copy/src/libdvdnav-NOW/vm/vmget.c k9copy.new/src/libdvdnav-NOW/vm/vmget.c +--- k9copy/src/libdvdnav-NOW/vm/vmget.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy.new/src/libdvdnav-NOW/vm/vmget.c 2020-04-17 15:14:34.696659304 -0400 +@@ -31,9 +31,9 @@ + #include + #include + +-#include +-#include +-#include ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" -- cgit v1.2.3