diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/video/makemkv/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/video/makemkv/default.nix | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/video/makemkv/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/video/makemkv/default.nix new file mode 100644 index 000000000000..6f47307f4a6a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/video/makemkv/default.nix @@ -0,0 +1,77 @@ +{ stdenv +, mkDerivation +, fetchurl +, autoPatchelfHook +, pkg-config +, ffmpeg_3 +, openssl +, qtbase +, zlib + +, withJava ? true +, jre_headless +}: + +let + version = "1.15.3"; + # 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-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz" + ]; + hash = "sha256-Y23aetnwqLGaBIgJ/AP0oCrh8P5jpVrcMJgmc0Oe+i8="; + }; + src_oss = fetchurl { + urls = [ + "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" + ]; + hash = "sha256-Qruq9YKAaNF1pDtOhptP95UjFL2NA4EuROR4v6XZHEw="; + }; +in mkDerivation { + pname = "makemkv"; + inherit version; + + srcs = [ src_bin src_oss ]; + + sourceRoot = "makemkv-oss-${version}"; + + nativeBuildInputs = [ autoPatchelfHook pkg-config ]; + + buildInputs = [ ffmpeg_3 openssl qtbase zlib ]; + + qtWrapperArgs = + let + binPath = stdenv.lib.makeBinPath [ jre_headless ]; + in stdenv.lib.optionals withJava [ + ''--prefix PATH : ${binPath}'' + ]; + + installPhase = '' + runHook preInstall + + 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/* + + runHook postInstall + ''; + + meta = with stdenv.lib; { + 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 = licenses.unfree; + homepage = "http://makemkv.com"; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ danieldk titanous ]; + }; +} |