mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
ec40b04537
Darwin uses the system unwinder, which is based on the LLVM unwinder. While it’s mostly API-compatible with libunwind, some packages expect to find it using `pkg-config`. This package provides a compatible file to allow those packages to use the system unwinder on Darwin.
29 lines
782 B
Nix
29 lines
782 B
Nix
{
|
||
lib,
|
||
apple-sdk,
|
||
stdenvNoCC,
|
||
}:
|
||
|
||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||
pname = "libunwind";
|
||
inherit (apple-sdk) version;
|
||
|
||
# No `-lunwind` is provided becuase you get it automatically from linking with libSystem.
|
||
# It’s also not possible to link libunwind directly, otherwise. Darwin requires going through libSystem.
|
||
buildCommand = ''
|
||
mkdir -p "$out/lib/pkgconfig"
|
||
cat <<EOF > "$out/lib/pkgconfig/libunwind.pc"
|
||
Name: libunwind
|
||
Description: An implementation of the HP libunwind interface
|
||
Version: ${finalAttrs.version}
|
||
EOF
|
||
'';
|
||
|
||
meta = {
|
||
description = "Compatibility package for libunwind on Darwin";
|
||
maintainers = lib.teams.darwin.members;
|
||
platforms = lib.platforms.darwin;
|
||
pkgConfigModules = [ "libunwind" ];
|
||
};
|
||
})
|