summaryrefslogtreecommitdiff
path: root/multimedia/k9copy-reloaded
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/k9copy-reloaded')
-rw-r--r--multimedia/k9copy-reloaded/README13
-rw-r--r--multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild73
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch207
3 files changed, 267 insertions, 26 deletions
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 <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/dvdnav_events.h>
++#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 <string.h>
+ #include <sys/time.h>
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/dvd_reader.h>
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h> /* 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 <dvdread/nav_read.h>
++#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 <limits.h>
+ #include <string.h>
+ #include <sys/time.h>
+-#include <dvdread/nav_types.h>
++#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 <string.h>
+ #include <sys/time.h>
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
++#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 <sys/time.h>
+ #include <time.h>
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
++#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 <stdlib.h>
+ #include <sys/time.h>
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
++#include "dvdread/nav_types.h"
++#include "dvdread/ifo_types.h"
+ #include "vm/decoder.h"
+ #include "vm/vm.h"
+ #include "dvdnav_internal.h"
+-#include <dvdread/ifo_read.h>
++#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 <string.h>
+ #include <sys/time.h>
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
++#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 <sys/time.h>
+ #include <assert.h>
+
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h> /* 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 <stdio.h>
+ #include <inttypes.h>
+
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
+-#include <dvdread/ifo_read.h>
++#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 <stdlib.h>
+ #include <stdio.h>
+
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
+-#include <dvdread/ifo_read.h>
++#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 <sys/time.h>
+ #include <fcntl.h>
+
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
+-#include <dvdread/ifo_read.h>
++#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 <sys/time.h>
+
+ #include "dvdnav/dvdnav.h"
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
++#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 <string.h>
+ #include <stdlib.h>
+
+-#include <dvdread/nav_types.h>
+-#include <dvdread/ifo_types.h>
+-#include <dvdread/ifo_read.h>
++#include "dvdread/nav_types.h"
++#include "dvdread/ifo_types.h"
++#include "dvdread/ifo_read.h"
+ #include "dvdnav/dvdnav.h"
+
+ #include "decoder.h"