From f41dd806678b81bb787f317c50a32b1cfb03a0e7 Mon Sep 17 00:00:00 2001 From: T3slider Date: Sun, 3 Aug 2014 12:34:15 +0700 Subject: [PATCH] multimedia/makemkv: Updated for version 1.8.11. Signed-off-by: Willy Sudiarto Raharjo --- multimedia/makemkv/README | 6 +++ multimedia/makemkv/doinst.sh | 1 - multimedia/makemkv/makemkv.SlackBuild | 67 ++++++++++++++++++++------- multimedia/makemkv/makemkv.info | 12 ++--- 4 files changed, 62 insertions(+), 24 deletions(-) diff --git a/multimedia/makemkv/README b/multimedia/makemkv/README index a6e029da67..ba850341a4 100644 --- a/multimedia/makemkv/README +++ b/multimedia/makemkv/README @@ -7,4 +7,10 @@ intermediate conversion to a wide range of players, so you may watch Blu-ray and DVD discs with your favorite player on your favorite OS or on your favorite device. +This package can optionally spoof libaacs and libbdplus, decrypting +discs through MakeMKV instead. To enable this, pass FAKELIBS=yes +to the script. Installing such a package will override existing +libaacs and libbdplus libraries; if you choose to spoof them, the +real libraries should not be installed. + See README.issues for further discussion of MakeMKV. diff --git a/multimedia/makemkv/doinst.sh b/multimedia/makemkv/doinst.sh index 1f8ff67ded..3e5691a052 100644 --- a/multimedia/makemkv/doinst.sh +++ b/multimedia/makemkv/doinst.sh @@ -7,4 +7,3 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 fi fi - diff --git a/multimedia/makemkv/makemkv.SlackBuild b/multimedia/makemkv/makemkv.SlackBuild index a519d58888..617c5e1067 100644 --- a/multimedia/makemkv/makemkv.SlackBuild +++ b/multimedia/makemkv/makemkv.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=makemkv -VERSION=${VERSION:-1.8.4} +VERSION=${VERSION:-1.8.11} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -40,18 +40,33 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "x86_64" ]; then +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + ARCHDIR=i386 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + ARCHDIR=i386 + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" ARCHDIR=amd64 LIBDIRSUFFIX="64" else - ARCH="i486" + SLKCFLAGS="-O2" ARCHDIR=i386 LIBDIRSUFFIX="" fi + # Note: MakeMKV now includes a mips32 binary, but since there is no official # MIPS Slackware port I'm ignoring it unless someone complains. Still no ARM # version. +# Spoof libaacs and libbdplus? (This will override real libaacs.so.0 and +# libbdplus.so.0 upon package installation if they are present! If you want +# to spoof this, you should ensure those packages are not installed!) +FAKELIBS=${FAKELIBS:-no} + set -e rm -rf $PKG @@ -63,14 +78,26 @@ tar xvf $CWD/${PRGNAM}-oss-${VERSION}.tar.gz cd ${PRGNAM}-oss-${VERSION} 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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; + \( -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 {} \; -# The makefile looks good now, but we'll define LIBDIR... -make -f makefile.linux -make -f makefile.linux install LIBDIR="\${PREFIX}/lib${LIBDIRSUFFIX}" DESTDIR=$PKG +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux + +# MakeMKV devs seem to have difficulty with autotools, so --libdir doesn't +# actually appear to do anything. So we'll pass it explicitly. +make +make install LIBDIR="\${PREFIX}/lib${LIBDIRSUFFIX}" DESTDIR=$PKG mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a License.txt $PKG/usr/doc/$PRGNAM-$VERSION @@ -82,18 +109,18 @@ tar xvf $CWD/${PRGNAM}-bin-${VERSION}.tar.gz cd ${PRGNAM}-bin-${VERSION} 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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; + \( -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 {} \; # The makefile now supports DESTDIR so it's easier to use it. This is just # removing the mandatory interactive EULA agreement which might confuse # SlackBuild users (check the README which tells you to read the EULA anyway...) -sed -i "s/^\(install:\).*/\1/" makefile.linux +sed -i "s/^\(install:\).*/\1/" Makefile # We will not leave CPU detection up to the makefile here just in case... -make -f makefile.linux install ARCH=$ARCHDIR ARCH_OK=1 DESTDIR=$PKG +make install ARCH=$ARCHDIR ARCH_OK=1 DESTDIR=$PKG # Remove the 32-bit mmdtsdec binary on 64-bit systems. The author of MakeMKV # claims that this will work on 64-bit systems as well -- see here. @@ -106,13 +133,19 @@ if [ "$ARCH" = "x86_64" ]; then rm -f $PKG/usr/bin/mmdtsdec fi -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ +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 cp -a src/eula_en_linux.txt $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/README.issues > $PKG/usr/doc/$PRGNAM-$VERSION/README.issues +if [ "$FAKELIBS" != "no" ]; then + cd $PKG/usr/lib${LIBDIRSUFFIX} + ln -s libmmbd.so.0 libaacs.so.0 + ln -s libmmbd.so.0 libbdplus.so.0 +fi + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh diff --git a/multimedia/makemkv/makemkv.info b/multimedia/makemkv/makemkv.info index 1fca2f4a83..7e5758fa31 100644 --- a/multimedia/makemkv/makemkv.info +++ b/multimedia/makemkv/makemkv.info @@ -1,12 +1,12 @@ PRGNAM="makemkv" -VERSION="1.8.4" +VERSION="1.8.11" HOMEPAGE="http://www.makemkv.com/" -DOWNLOAD="http://www.makemkv.com/download/old/makemkv-oss-1.8.4.tar.gz \ - http://www.makemkv.com/download/old/makemkv-bin-1.8.4.tar.gz" -MD5SUM="64f4a6e8356341a338ce3144996f6f0f \ - d6a6f525c23876a78e34fc5b629e8e05" +DOWNLOAD="http://www.makemkv.com/download/makemkv-oss-1.8.11.tar.gz \ + http://www.makemkv.com/download/makemkv-bin-1.8.11.tar.gz" +MD5SUM="b0bd10c114bf2f84e9cd7650b37a8f32 \ + 12a165d517ddd515c8aa8ba14d2360e6" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="" +REQUIRES="ffmpeg" MAINTAINER="T3slider" EMAIL="t3slider@gmail.com"