3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/libraries/libunwind/default.nix
Michal Sojka b9116f712f libunwind: Add devman output
Installing the man pages is a bit more tricky. The configure script
completely disables the documentation unless latex2man is found.
However, just installing the man pages can be done without latex2man,
because the man pages are pre-built in the source tarball. Therefore
we pass ${coreutils}/bin/true as latex2man, which allows to install
the pre-build man pages without depending on full texlive.
2020-12-08 05:16:03 +01:00

46 lines
1.2 KiB
Nix

{ stdenv, lib, fetchurl, autoreconfHook, xz, coreutils }:
stdenv.mkDerivation rec {
pname = "libunwind";
version = "1.4.0";
src = fetchurl {
url = "mirror://savannah/libunwind/${pname}-${version}.tar.gz";
sha256 = "0dc46flppifrv2z0mrdqi60165ghxm1wk0g47vcbyzjdplqwjnfz";
};
patches = [ ./backtrace-only-with-glibc.patch ];
postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh"
'';
nativeBuildInputs = [ autoreconfHook ];
outputs = [ "out" "dev" "devman" ];
# Without latex2man, no man pages are installed despite being
# prebuilt in the source tarball.
configureFlags = "LATEX2MAN=${coreutils}/bin/true";
propagatedBuildInputs = [ xz ];
postInstall = ''
find $out -name \*.la | while read file; do
sed -i 's,-llzma,${xz.out}/lib/liblzma.la,' $file
done
'';
doCheck = false; # fails
meta = with stdenv.lib; {
homepage = "https://www.nongnu.org/libunwind";
description = "A portable and efficient API to determine the call-chain of a program";
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
license = licenses.mit;
};
passthru.supportsHost = !stdenv.hostPlatform.isRiscV;
}