diff options
author | Daniël de Kok <me@danieldk.eu> | 2019-07-30 21:02:24 +0200 |
---|---|---|
committer | Daniël de Kok <me@danieldk.eu> | 2019-07-31 08:11:40 +0200 |
commit | 2240ddcf8c49418ffc4a670ca3fe86df12529cc6 (patch) | |
tree | f39b76163e0e912fd517c39a8b3883ff52255496 /pkgs/applications/video | |
parent | 29d912eb825cad890442667b2e8ce77c78bb6ed3 (diff) |
makemkv: modernize derivation
- Use libsForQt5.callPackage - Replace separate builder.sh script - Replace patchelf call by autoPatchElfHook - Use ffmpeg in place of libav
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/makemkv/builder.sh | 40 | ||||
-rw-r--r-- | pkgs/applications/video/makemkv/default.nix | 43 |
2 files changed, 27 insertions, 56 deletions
diff --git a/pkgs/applications/video/makemkv/builder.sh b/pkgs/applications/video/makemkv/builder.sh deleted file mode 100644 index 416d5c0f0b073..0000000000000 --- a/pkgs/applications/video/makemkv/builder.sh +++ /dev/null @@ -1,40 +0,0 @@ -source $stdenv/setup -set -x - -lib=" \ - makemkv-oss-${ver}/out/libdriveio.so.0 \ - makemkv-oss-${ver}/out/libmakemkv.so.1 \ - makemkv-oss-${ver}/out/libmmbd.so.0 \ - " - -bin=" \ - makemkv-oss-${ver}/out/makemkv \ - makemkv-bin-${ver}/bin/amd64/makemkvcon \ - " - -tar xzf ${src_bin} -tar xzf ${src_oss} - -( - cd makemkv-oss-${ver} - ./configure --prefix=$out - make -) - -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_CC/nix-support/dynamic-linker)" \ - --set-rpath $libPath \ - ${i} -done - -mkdir -p $out/bin -mkdir -p $out/lib -mkdir -p $out/share/MakeMKV -cp ${lib} ${out}/lib -cp ${bin} ${out}/bin -cp makemkv-bin-${ver}/src/share/* $out/share/MakeMKV diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index f9b5c4c019656..f3d8b4ae569be 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -1,34 +1,45 @@ -{ stdenv, fetchurl -, openssl, qt5, libGLU_combined, zlib, pkgconfig, libav +{ stdenv, mkDerivation, fetchurl, autoPatchelfHook +, ffmpeg, openssl, qtbase, zlib, pkgconfig }: -stdenv.mkDerivation rec { - name = "makemkv-${ver}"; - ver = "1.14.4"; - builder = ./builder.sh; - +let + version = "1.14.4"; # Using two URLs as the first one will break as soon as a new version is released src_bin = fetchurl { urls = [ - "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz" - "http://www.makemkv.com/download/old/makemkv-bin-${ver}.tar.gz" + "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz" ]; sha256 = "0vmmvldmwmq9g202abblj6l15kb8z3b0c6mcc03f30s2yci6ij33"; }; - src_oss = fetchurl { urls = [ - "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz" - "http://www.makemkv.com/download/old/makemkv-oss-${ver}.tar.gz" + "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" ]; sha256 = "0n1nlq17dxcbgk9xqf7nv6zykvh91yhsjqdhq55947wc11fxjqa0"; }; +in mkDerivation { + pname = "makemkv"; + inherit version; + + srcs = [ src_bin src_oss ]; + + sourceRoot = "makemkv-oss-${version}"; + + nativeBuildInputs = [ autoPatchelfHook pkgconfig ]; + + buildInputs = [ ffmpeg openssl qtbase zlib ]; + + installPhase = '' + runHook preInstall - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [openssl qt5.qtbase libGLU_combined zlib libav]; + install -Dm555 -t $out/bin out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon + install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.* + install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/* - libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl libGLU_combined qt5.qtbase zlib ] - + ":" + stdenv.cc.cc + "/lib64"; + runHook postInstall + ''; meta = with stdenv.lib; { description = "Convert blu-ray and dvd to mkv"; |