Merge branch 'makemkv.130223.0' of git://github.com/jcumming/nixpkgs

This adds the proprietary makemkv package to convert dvd and blu-ray
videos to mkv.

I've tested that it builds, nothing more.

Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
Shea Levy 2013-03-08 17:26:53 -05:00
commit e13c058fd2
3 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,38 @@
source $stdenv/setup
set -x
lib=" \
makemkv-oss-${ver}/out/libdriveio.so.0 \
makemkv-oss-${ver}/out/libmakemkv.so.1 \
"
bin=" \
makemkv-oss-${ver}/out/makemkv \
makemkv-bin-${ver}/bin/amd64/makemkvcon \
"
tar xzf ${src_bin}
tar xzf ${src_oss}
(
cd makemkv-oss-${ver}
make -f makefile.linux
)
chmod +x ${bin}
libPath="${libPath}:${out}/lib" # XXX: der. This should be in the nix file?
for i in ${bin} ; do
patchelf \
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath $libPath \
${i}
done
ensureDir $out/bin
ensureDir $out/lib
ensureDir $out/share/MakeMKV
cp ${lib} ${out}/lib
cp ${bin} ${out}/bin
cp makemkv-bin-${ver}/src/share/* $out/share/MakeMKV

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl
, openssl, qt4, mesa, zlib
}:
stdenv.mkDerivation rec {
name = "makemkv-${ver}";
ver = "1.8.0";
builder = ./builder.sh;
src_bin = fetchurl {
url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
sha256 = "1f465rdv5ibnh5hnfmvmlid0yyzkansjw8l1mi5qd3bc6ca4k30c";
};
src_oss = fetchurl {
url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
sha256 = "0kj1mpkzz2cvi0ibdgdzfwbh9k2jfj3ra5m3hd7iyc5ng21v4sk3";
};
buildInputs = [openssl qt4 mesa zlib];
libPath = stdenv.lib.makeLibraryPath [stdenv.gcc.gcc openssl mesa qt4 zlib ]
+ ":" + stdenv.gcc.gcc + "/lib64";
meta = {
description = "convert blu-ray and dvd to mkv";
longDescription = ''
makemkv is a one-click QT application that transcodes an encrypted
blu-ray or DVD disc into a more portable set of mkv files, preserving
subtitles, chapter marks, all video and audio tracks.
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.
'';
license = "unfree";
homepage = http://makemkv.com;
};
}

View File

@ -1102,6 +1102,8 @@ let
mairix = callPackage ../tools/text/mairix { };
makemkv = callPackage ../applications/video/makemkv { };
man = callPackage ../tools/misc/man { };
man_db = callPackage ../tools/misc/man-db { };