depot/third_party/nixpkgs/pkgs/tools/archivers/7zz/default.nix
Default email 81047829ea Project import generated by Copybara.
GitOrigin-RevId: 48d63e924a2666baf37f4f14a18f19347fbd54a2
2022-02-10 15:34:41 -05:00

53 lines
1.3 KiB
Nix

{ stdenv, lib, fetchurl, p7zip, uasm, useUasm ? stdenv.isx86_64 }:
let
inherit (stdenv.hostPlatform) system;
platformSuffix =
if useUasm then
{
x86_64-linux = "_x64";
}.${system} or (throw "`useUasm` is not supported for system ${system}")
else "";
in
stdenv.mkDerivation rec {
pname = "7zz";
version = "21.07";
src = fetchurl {
url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] version}-src.7z";
sha256 = "sha256-0QdNVvQVqrmdmeWXp7ZtxFXbpjSa6KTInfdkdbahKEw=";
};
sourceRoot = "CPP/7zip/Bundles/Alone2";
makeFlags = lib.optionals useUasm [ "MY_ASM=uasm" ];
makefile = "../../cmpl_gcc${platformSuffix}.mak";
nativeBuildInputs = [ p7zip ] ++ lib.optionals useUasm [ uasm ];
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin b/g${platformSuffix}/7zz
install -Dm444 -t $out/share/doc/${pname} ../../../../DOC/*.txt
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/7zz --help | grep ${version}
'';
meta = with lib; {
description = "Command line archiver utility";
homepage = "https://7-zip.org";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ anna328p peterhoeg ];
platforms = platforms.linux;
};
}