about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video/makemkv
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-08-14 00:20:49 +0000
committerAlyssa Ross <hi@alyssa.is>2019-08-14 00:23:16 +0000
commit4999a38db7c5de0ea9f514a12ecd4133cce647f3 (patch)
treebbb659ab07fda4c9b98053499b7e3f046ac6d5dc /nixpkgs/pkgs/applications/video/makemkv
parentf9abd30e11337cf07034f2cc8ad1691aa4a69386 (diff)
parent8746c77a383f5c76153c7a181f3616d273acfa2a (diff)
downloadnixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar.gz
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar.bz2
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar.lz
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar.xz
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.tar.zst
nixlib-4999a38db7c5de0ea9f514a12ecd4133cce647f3.zip
Merge commit '8746c77a383f5c76153c7a181f3616d273acfa2a'
Diffstat (limited to 'nixpkgs/pkgs/applications/video/makemkv')
-rw-r--r--nixpkgs/pkgs/applications/video/makemkv/builder.sh40
-rw-r--r--nixpkgs/pkgs/applications/video/makemkv/default.nix43
2 files changed, 27 insertions, 56 deletions
diff --git a/nixpkgs/pkgs/applications/video/makemkv/builder.sh b/nixpkgs/pkgs/applications/video/makemkv/builder.sh
deleted file mode 100644
index 416d5c0f0b07..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/video/makemkv/default.nix b/nixpkgs/pkgs/applications/video/makemkv/default.nix
index f9b5c4c01965..f3d8b4ae569b 100644
--- a/nixpkgs/pkgs/applications/video/makemkv/default.nix
+++ b/nixpkgs/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";