nixpkgs/pkgs/tools/compression/lrzip/default.nix
Sebastián Mancilla 5c35e9184d lrzip: enable asm on x86 and fix build on darwin
Enable compilation of native assembly code on x86 systems, instead of
disabling it for all systems. On darwin ensure the format is set to
macho64.

The ASM/x86 directory is compiled whether "--enable-asm" is configured
or not, but it creates an empty archive, which fails on darwin, so
ensure it is not compiled on darwin to fix the build.
2021-11-19 21:00:57 -03:00

42 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, lzo, bzip2, lz4, nasm, perl }:
let
inherit (stdenv.hostPlatform) isx86;
in
stdenv.mkDerivation rec {
pname = "lrzip";
version = "0.641";
src = fetchFromGitHub {
owner = "ckolivas";
repo = pname;
rev = "v${version}";
sha256 = "sha256-253CH6TiHWyr13C76y9PXjyB7gj2Bhd2VRgJ5r+cm/g=";
};
postPatch = lib.optionalString stdenv.isDarwin ''
# Building the ASM/x86 directory creates an empty archive,
# which fails on darwin, so remove it
# https://github.com/ckolivas/lrzip/issues/193
# https://github.com/Homebrew/homebrew-core/pull/85360
substituteInPlace lzma/Makefile.am --replace "SUBDIRS = C ASM/x86" "SUBDIRS = C"
substituteInPlace configure.ac --replace "-f elf64" "-f macho64"
'';
nativeBuildInputs = [ autoreconfHook perl ] ++ lib.optionals isx86 [ nasm ];
buildInputs = [ zlib lzo bzip2 lz4 ];
configureFlags = lib.optionals (!isx86) [
"--disable-asm"
];
meta = with lib; {
homepage = "http://ck.kolivas.org/apps/lrzip/";
description = "The CK LRZIP compression program (LZMA + RZIP)";
maintainers = with maintainers; [ ];
license = licenses.gpl2Plus;
platforms = platforms.unix;
};
}