diff options
author | Will Dietz <w@wdtz.org> | 2018-01-04 10:39:29 -0600 |
---|---|---|
committer | Will Dietz <w@wdtz.org> | 2018-02-13 09:44:33 -0600 |
commit | 1d538d51c3bc4bf0587c012d9e9ef58311edfe0d (patch) | |
tree | fb85a59b746e9e15a26705a4e03759de3c92f7ab /pkgs/os-specific/linux/musl | |
parent | d5916a84cf60398f6b10676a8c26b9c09d85f4d5 (diff) |
musl: linux headers, bsd compat headers, and ldd
Diffstat (limited to 'pkgs/os-specific/linux/musl')
-rw-r--r-- | pkgs/os-specific/linux/musl/default.nix | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index 9abfcd7adf6a9..bfc7b717bf7c8 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -1,5 +1,19 @@ -{ stdenv, fetchurl, fetchpatch }: +{ stdenv, fetchurl, linuxHeaders, useBSDCompatHeaders ? true }: +let + cdefs_h = fetchurl { + url = "http://git.alpinelinux.org/cgit/aports/plain/main/libc-dev/sys-cdefs.h"; + sha256 = "16l3dqnfq0f20rzbkhc38v74nqcsh9n3f343bpczqq8b1rz6vfrh"; + }; + queue_h = fetchurl { + url = "http://git.alpinelinux.org/cgit/aports/plain/main/libc-dev/sys-queue.h"; + sha256 = "12qm82id7zys92a1qh2l1qf2wqgq6jr4qlbjmqyfffz3s3nhfd61"; + }; + tree_h = fetchurl { + url = "http://git.alpinelinux.org/cgit/aports/plain/main/libc-dev/sys-tree.h"; + sha256 = "14igk6k00bnpfw660qhswagyhvr0gfqg4q55dxvaaq7ikfkrir71"; + }; +in stdenv.mkDerivation rec { name = "musl-${version}"; version = "1.1.18"; @@ -30,6 +44,25 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; dontDisableStatic = true; + dontStrip = true; + + postInstall = + '' + # Not sure why, but link in all but scsi directory as that's what uclibc/glibc do. + # Apparently glibc provides scsi itself? + (cd $dev/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .) + '' + + '' + mkdir -p $out/bin + # Create 'ldd' symlink, builtin + ln -s $out/lib/libc.so $out/bin/ldd + '' + stdenv.lib.optionalString useBSDCompatHeaders '' + install -D ${queue_h} $dev/include/sys/queue.h + install -D ${cdefs_h} $dev/include/sys/cdefs.h + install -D ${tree_h} $dev/include/sys/tree.h + ''; + + passthru.linuxHeaders = linuxHeaders; meta = { description = "An efficient, small, quality libc implementation"; |