mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
multimedia/k9copy-reloaded: Use internal dvdnav.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
501b72f390
commit
8bbd9520fa
3 changed files with 265 additions and 24 deletions
|
@ -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.
|
||||
|
|
|
@ -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 ..."
|
||||
tar xvf $CWD/ffmpeg-$FFMPEG_VERSION.tar.?z* || exit 1
|
||||
cd ffmpeg* || exit 1
|
||||
|
||||
FFMPEGDIR=/$TMP/ff-$(mcookie)
|
||||
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 {} \;
|
||||
|
||||
CFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \
|
||||
CXXFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \
|
||||
./configure \
|
||||
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
|
||||
|
|
207
multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch
Normal file
207
multimedia/k9copy-reloaded/patches/k9copy-dvdnav.patch
Normal file
|
@ -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"
|
Loading…
Reference in a new issue