From d6f7c0d0623d35d80247f4776447a896b60c0432 Mon Sep 17 00:00:00 2001 From: T3slider Date: Fri, 9 Sep 2011 16:20:56 -0400 Subject: [PATCH] multimedia/makemkv: Added (DVD/Blu-ray ripper and transcoder) Signed-off-by: dsomero --- multimedia/makemkv/README | 41 +++++++++ multimedia/makemkv/doinst.sh | 10 +++ multimedia/makemkv/makemkv.SlackBuild | 123 ++++++++++++++++++++++++++ multimedia/makemkv/makemkv.desktop | 10 +++ multimedia/makemkv/makemkv.info | 10 +++ multimedia/makemkv/slack-desc | 19 ++++ 6 files changed, 213 insertions(+) create mode 100644 multimedia/makemkv/README create mode 100644 multimedia/makemkv/doinst.sh create mode 100644 multimedia/makemkv/makemkv.SlackBuild create mode 100644 multimedia/makemkv/makemkv.desktop create mode 100644 multimedia/makemkv/makemkv.info create mode 100644 multimedia/makemkv/slack-desc diff --git a/multimedia/makemkv/README b/multimedia/makemkv/README new file mode 100644 index 0000000000..43c1af3a21 --- /dev/null +++ b/multimedia/makemkv/README @@ -0,0 +1,41 @@ +MakeMKV converts video that you own into a free and patents- +unencumbered format that can be played everywhere. It converts the +video clips from proprietary (and usually encrypted) discs into a set +of MKV files, preserving most information but not changing it in any +way. MakeMKV can also instantly stream decrypted video without +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 creates a package out of a closed source component (the console +application itself) and an open source component (the libraries and +GUI wrapper). Neither is usable on its own and both are built and/or +packaged using this script. + +This SlackBuild assumes automatic acceptance of the EULA for the closed +source binary component (the open source component has no EULA). You +should read the EULA upon installation at +/usr/doc/makemkv-$VERSION/eula_en_linux.txt and uninstall the +package if you do not agree to its terms. Also note that decrypting +encrypted discs may be illegal depending on where you live. + +Please note that this contains closed-source *commercial* beta software. +It will remain free (as in beer) throughout the beta, but with a few +annoyances (unless you pay for a registration key, which should work +fine with this package): + +MakeMKV BETA has several major restrictions. + +Program is time-limited -- it will stop functioning after 60 days. You +can always download the latest version from makemkv.com that will reset +the expiration date. + +HD-DVD support is limited - some discs may fail to open and not all +audio and subtitle tracks will be preserved. + +Blu-ray and DVD discs are fully supported. + +Note that usually new registration keys are posted in the official +MakeMKV forums so that old time-expired MakeMKV versions will still +work during the beta (so you won't need to immediately upgrade to a +newer version). diff --git a/multimedia/makemkv/doinst.sh b/multimedia/makemkv/doinst.sh new file mode 100644 index 0000000000..1f8ff67ded --- /dev/null +++ b/multimedia/makemkv/doinst.sh @@ -0,0 +1,10 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-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 new file mode 100644 index 0000000000..0b97602779 --- /dev/null +++ b/multimedia/makemkv/makemkv.SlackBuild @@ -0,0 +1,123 @@ +#!/bin/sh + +# Slackware build script for MakeMKV + +# Written by T3slider +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=makemkv +VERSION=${VERSION:-1.6.14} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +SRCNAM=makemkv_v + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "x86_64" ]; then + ARCHDIR=amd64 + LIBDIRSUFFIX="64" +else + ARCH="i486" + 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. + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +# Build the open source component first... +rm -rf ${SRCNAM}${VERSION}_oss +tar xvf $CWD/${SRCNAM}${VERSION}_oss.tar.gz +cd ${SRCNAM}${VERSION}_oss +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 {} \; + +make -f makefile.linux +# The makefile is very simple and patching it would end up wasting more code +# then doing it manually, so... +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX} +mkdir -p $PKG/usr/bin +install -t $PKG/usr/lib${LIBDIRSUFFIX} out/libdriveio.so.0 out/libmakemkv.so.1 +install -t $PKG/usr/bin out/makemkv +for i in 16 22 32 64 128 +do + install -D -m 0644 makemkvgui/src/img/${i}/mkv_icon.png $PKG/usr/share/icons/hicolor/${i}x${i}/apps/makemkv.png +done + +# Now extract/copy the closed source component... +cd $TMP +rm -rf ${SRCNAM}${VERSION}_bin +tar xvf $CWD/${SRCNAM}${VERSION}_bin.tar.gz +cd ${SRCNAM}${VERSION}_bin +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 {} \; + +# The makefile is very simple and patching it would end up wasting more code +# then doing it manually. Additionally, nothing is actually compiled. So... +mkdir -p $PKG/usr/share/MakeMKV +install -m 644 -t $PKG/usr/share/MakeMKV src/share/makemkv_deu.mo.gz +install -m 644 -t $PKG/usr/share/MakeMKV src/share/makemkv_jpn.mo.gz +install -m 644 -t $PKG/usr/share/MakeMKV src/share/makemkv_spa.mo.gz +install -m 644 -t $PKG/usr/share/MakeMKV src/share/makemkv_ptb.mo.gz +mkdir -p $PKG/usr/bin +install -t $PKG/usr/bin bin/$ARCHDIR/makemkvcon + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + src/eula_en_linux.txt \ + $PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKG/usr/share/applications +cat $CWD/makemkv.desktop > $PKG/usr/share/applications/makemkv.desktop +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +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} diff --git a/multimedia/makemkv/makemkv.desktop b/multimedia/makemkv/makemkv.desktop new file mode 100644 index 0000000000..68e2057d81 --- /dev/null +++ b/multimedia/makemkv/makemkv.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Name=MakeMKV +GenericName=Rip DVD/Blu-Ray to MKV +Comment=Convert DVD/ISO to Matroska Video "MKV" file +Type=Application +Exec=makemkv +Icon=makemkv +Terminal=false +Categories=AudioVideo; diff --git a/multimedia/makemkv/makemkv.info b/multimedia/makemkv/makemkv.info new file mode 100644 index 0000000000..4421fa958b --- /dev/null +++ b/multimedia/makemkv/makemkv.info @@ -0,0 +1,10 @@ +PRGNAM="makemkv" +VERSION="1.6.14" +HOMEPAGE="http://www.makemkv.com/" +DOWNLOAD="http://www.makemkv.com/download/makemkv_v1.6.14_oss.tar.gz http://www.makemkv.com/download/makemkv_v1.6.14_bin.tar.gz" +MD5SUM="616ba0ef664b7b1d3bb9c0752453d716 ec5022127fca0c878a06a3d366e3ded4" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="T3slider" +EMAIL="t3slider@gmail.com" +APPROVED="dsomero" diff --git a/multimedia/makemkv/slack-desc b/multimedia/makemkv/slack-desc new file mode 100644 index 0000000000..4b2107f331 --- /dev/null +++ b/multimedia/makemkv/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +makemkv: makemkv (a DVD/Blu-ray ripper and transcoder) +makemkv: +makemkv: MakeMKV converts video that you own into a free and patents- +makemkv: unencumbered format that can be played everywhere. It converts the +makemkv: video clips from proprietary (and usually encrypted) discs into a set +makemkv: of MKV files, preserving most information but not changing it in any +makemkv: way. MakeMKV can also instantly stream decrypted video without +makemkv: intermediate conversion to a wide range of players, so you may watch +makemkv: Blu-ray and DVD discs with your favorite player on your favorite OS +makemkv: or on your favorite device. +makemkv: http://makemkv.com/