diff options
Diffstat (limited to 'pkgs/tools/archivers/unrar/default.nix')
-rw-r--r-- | pkgs/tools/archivers/unrar/default.nix | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index 74f1bcfe9b8b..53b4a4bfa96e 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -1,45 +1,51 @@ -{lib, stdenv, fetchurl}: +{ lib +, stdenv +, fetchzip +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "unrar"; - version = "6.2.5"; + version = "6.2.11"; - src = fetchurl { - url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"; - hash = "sha256-mjl0QQ0dNA45mN0qb5j6776DjK1VYmbnFK37Doz5N3w="; + src = fetchzip { + url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz"; + stripRoot = false; + hash = "sha256-HFglLjn4UE8dalp2ZIFlqqaE9FahahFrDNsPrKUIQPI="; }; + sourceRoot = finalAttrs.src.name; + postPatch = '' - substituteInPlace makefile \ + substituteInPlace unrar/makefile \ --replace "CXX=" "#CXX=" \ --replace "STRIP=" "#STRIP=" \ --replace "AR=" "#AR=" ''; + outputs = [ "out" "dev" ]; + + # `make {unrar,lib}` call `make clean` implicitly + # separate build into different dirs to avoid deleting them buildPhase = '' - # `make {unrar,lib}` call `make clean` implicitly - # move build results to another dir to avoid deleting them - mkdir -p bin + runHook preBuild - make unrar - mv unrar bin + cp -a unrar libunrar + make -C libunrar lib + make -C unrar -j1 - make lib - mv libunrar.so bin + runHook postBuild ''; - outputs = [ "out" "dev" ]; - installPhase = '' - install -Dt "$out/bin" bin/unrar + runHook preInstall - mkdir -p $out/share/doc/unrar - cp acknow.txt license.txt \ - $out/share/doc/unrar + install -Dm755 unrar/unrar -t $out/bin/ + install -Dm644 unrar/{acknow.txt,license.txt} -t $out/share/doc/unrar/ - install -Dm755 bin/libunrar.so $out/lib/libunrar.so + install -Dm755 libunrar/libunrar.so -t $out/lib/ + install -Dm644 libunrar/dll.hpp -t $dev/include/unrar/ - install -Dt $dev/include/unrar/ *.hpp + runHook postInstall ''; setupHook = ./setup-hook.sh; @@ -48,7 +54,7 @@ stdenv.mkDerivation rec { description = "Utility for RAR archives"; homepage = "https://www.rarlab.com/"; license = licenses.unfreeRedistributable; - maintainers = [ maintainers.ehmry ]; + maintainers = with maintainers; [ ehmry wegank ]; platforms = platforms.all; }; -} +}) |