Loading pkgs/by-name/ma/makemkv/package.nix +108 −115 Original line number Diff line number Diff line Loading @@ -16,18 +16,19 @@ withJava ? true, jre_headless, }: stdenv.mkDerivation ( finalAttrs: let version = "1.18.2"; inherit (finalAttrs) version; # Using two URLs as the first one will break as soon as a new version is released src_bin = fetchurl { srcs.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-v8THzrwPAEl2cf/Vbmo08HcKnmr37/LwEn76FD8oY24="; }; src_oss = fetchurl { srcs.oss = fetchurl { urls = [ "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" Loading @@ -35,34 +36,26 @@ let hash = "sha256-uUl/VVXCV/XTx/GLarA8dM/z6kQ36ANJ1hjRFb9fpEU="; }; in stdenv.mkDerivation { { pname = "makemkv"; inherit version; srcs = [ src_bin src_oss ]; version = "1.18.2"; srcs = lib.attrValues finalAttrs.passthru.srcs; sourceRoot = "makemkv-oss-${version}"; patches = [ ./r13y.patch ]; enableParallelBuilding = true; nativeBuildInputs = [ autoPatchelfHook pkg-config qt5.wrapQtAppsHook ]; buildInputs = [ ffmpeg openssl qt5.qtbase zlib ]; runtimeDependencies = [ (lib.getLib curl) ]; qtWrapperArgs = Loading @@ -74,23 +67,22 @@ stdenv.mkDerivation { installPhase = '' runHook preInstall install -Dm555 -t $out/bin out/makemkv out/mmccextr out/mmgplsrv ../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/* install -Dm444 -t $out/share/applications ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop install -Dm444 -t $out/share/icons/hicolor/16x16/apps ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/* install -Dm444 -t $out/share/icons/hicolor/32x32/apps ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/* install -Dm444 -t $out/share/icons/hicolor/64x64/apps ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/* install -Dm444 -t $out/share/icons/hicolor/128x128/apps ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/* install -Dm444 -t $out/share/icons/hicolor/256x256/apps ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/* install -Dm555 -t "$out"/bin out/{makemkv,mmccextr,mmgplsrv} \ ../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/* install -Dm444 -t "$out"/share/applications ../makemkv-oss-"$version"/makemkvgui/share/makemkv.desktop install -Dm444 -t "$out"/share/icons/hicolor/16x16/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/16x16/* install -Dm444 -t "$out"/share/icons/hicolor/32x32/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/32x32/* install -Dm444 -t "$out"/share/icons/hicolor/64x64/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/64x64/* install -Dm444 -t "$out"/share/icons/hicolor/128x128/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/128x128/* install -Dm444 -t "$out"/share/icons/hicolor/256x256/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/256x256/* runHook postInstall ''; passthru = { srcs = { inherit src_bin src_oss; }; inherit srcs; updateScript = lib.getExe (writeShellApplication { name = "update-makemkv"; runtimeInputs = [ Loading @@ -98,20 +90,20 @@ stdenv.mkDerivation { curl rubyPackages.nokogiri ]; runtimeEnv.oldVersion = version; text = '' get_version() { # shellcheck disable=SC2016 curl --fail --silent 'https://forum.makemkv.com/forum/viewtopic.php?f=3&t=224' \ | nokogiri -e 'puts $_.css("head title").first.text.match(/\bMakeMKV (\d+\.\d+\.\d+) /)[1]' } oldVersion=${lib.escapeShellArg version} newVersion=$(get_version) if [[ $oldVersion == "$newVersion" ]]; then if [ "$oldVersion" == "$newVersion" ]; then echo "$0: New version same as old version, nothing to do." >&2 exit fi update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_bin update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_oss --ignore-same-version update-source-version makemkv "$newVersion" --source-key=passthru.srcs.bin update-source-version makemkv "$newVersion" --source-key=passthru.srcs.oss --ignore-same-version ''; }); }; Loading @@ -137,3 +129,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ jchw ]; }; } ) Loading
pkgs/by-name/ma/makemkv/package.nix +108 −115 Original line number Diff line number Diff line Loading @@ -16,18 +16,19 @@ withJava ? true, jre_headless, }: stdenv.mkDerivation ( finalAttrs: let version = "1.18.2"; inherit (finalAttrs) version; # Using two URLs as the first one will break as soon as a new version is released src_bin = fetchurl { srcs.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-v8THzrwPAEl2cf/Vbmo08HcKnmr37/LwEn76FD8oY24="; }; src_oss = fetchurl { srcs.oss = fetchurl { urls = [ "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" Loading @@ -35,34 +36,26 @@ let hash = "sha256-uUl/VVXCV/XTx/GLarA8dM/z6kQ36ANJ1hjRFb9fpEU="; }; in stdenv.mkDerivation { { pname = "makemkv"; inherit version; srcs = [ src_bin src_oss ]; version = "1.18.2"; srcs = lib.attrValues finalAttrs.passthru.srcs; sourceRoot = "makemkv-oss-${version}"; patches = [ ./r13y.patch ]; enableParallelBuilding = true; nativeBuildInputs = [ autoPatchelfHook pkg-config qt5.wrapQtAppsHook ]; buildInputs = [ ffmpeg openssl qt5.qtbase zlib ]; runtimeDependencies = [ (lib.getLib curl) ]; qtWrapperArgs = Loading @@ -74,23 +67,22 @@ stdenv.mkDerivation { installPhase = '' runHook preInstall install -Dm555 -t $out/bin out/makemkv out/mmccextr out/mmgplsrv ../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/* install -Dm444 -t $out/share/applications ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop install -Dm444 -t $out/share/icons/hicolor/16x16/apps ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/* install -Dm444 -t $out/share/icons/hicolor/32x32/apps ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/* install -Dm444 -t $out/share/icons/hicolor/64x64/apps ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/* install -Dm444 -t $out/share/icons/hicolor/128x128/apps ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/* install -Dm444 -t $out/share/icons/hicolor/256x256/apps ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/* install -Dm555 -t "$out"/bin out/{makemkv,mmccextr,mmgplsrv} \ ../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/* install -Dm444 -t "$out"/share/applications ../makemkv-oss-"$version"/makemkvgui/share/makemkv.desktop install -Dm444 -t "$out"/share/icons/hicolor/16x16/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/16x16/* install -Dm444 -t "$out"/share/icons/hicolor/32x32/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/32x32/* install -Dm444 -t "$out"/share/icons/hicolor/64x64/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/64x64/* install -Dm444 -t "$out"/share/icons/hicolor/128x128/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/128x128/* install -Dm444 -t "$out"/share/icons/hicolor/256x256/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/256x256/* runHook postInstall ''; passthru = { srcs = { inherit src_bin src_oss; }; inherit srcs; updateScript = lib.getExe (writeShellApplication { name = "update-makemkv"; runtimeInputs = [ Loading @@ -98,20 +90,20 @@ stdenv.mkDerivation { curl rubyPackages.nokogiri ]; runtimeEnv.oldVersion = version; text = '' get_version() { # shellcheck disable=SC2016 curl --fail --silent 'https://forum.makemkv.com/forum/viewtopic.php?f=3&t=224' \ | nokogiri -e 'puts $_.css("head title").first.text.match(/\bMakeMKV (\d+\.\d+\.\d+) /)[1]' } oldVersion=${lib.escapeShellArg version} newVersion=$(get_version) if [[ $oldVersion == "$newVersion" ]]; then if [ "$oldVersion" == "$newVersion" ]; then echo "$0: New version same as old version, nothing to do." >&2 exit fi update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_bin update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_oss --ignore-same-version update-source-version makemkv "$newVersion" --source-key=passthru.srcs.bin update-source-version makemkv "$newVersion" --source-key=passthru.srcs.oss --ignore-same-version ''; }); }; Loading @@ -137,3 +129,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ jchw ]; }; } )