60 lines
1.6 KiB
Nix
60 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
skawarePackages,
|
|
pkgs,
|
|
}:
|
|
|
|
skawarePackages.buildPackage {
|
|
pname = "skalibs";
|
|
version = "2.14.3.0";
|
|
sha256 = "sha256-oUqlWMmwmwYvoWrOxiOyyPk9afXLpNB/bQxYkTBmxCc=";
|
|
|
|
description = "Set of general-purpose C programming libraries";
|
|
|
|
outputs = [
|
|
"lib"
|
|
"dev"
|
|
"doc"
|
|
"out"
|
|
];
|
|
|
|
configureFlags =
|
|
[
|
|
# assume /dev/random works
|
|
"--enable-force-devr"
|
|
"--libdir=\${lib}/lib"
|
|
"--dynlibdir=\${lib}/lib"
|
|
"--includedir=\${dev}/include"
|
|
"--sysdepdir=\${lib}/lib/skalibs/sysdeps"
|
|
# Empty the default path, which would be "/usr/bin:bin".
|
|
# It would be set when PATH is empty. This hurts hermeticity.
|
|
"--with-default-path="
|
|
|
|
]
|
|
++ lib.optionals (stdenv.buildPlatform.config != stdenv.hostPlatform.config) [
|
|
# ./configure: sysdep posixspawnearlyreturn cannot be autodetected
|
|
# when cross-compiling. Please manually provide a value with the
|
|
# --with-sysdep-posixspawnearlyreturn=yes|no|... option.
|
|
#
|
|
# posixspawnearlyreturn: `yes` if the target has a broken
|
|
# `posix_spawn()` implementation that can return before the
|
|
# child has successfully exec'ed. That happens with old glibcs
|
|
# and some virtual platforms.
|
|
"--with-sysdep-posixspawnearlyreturn=no"
|
|
];
|
|
|
|
postInstall = ''
|
|
rm -rf sysdeps.cfg
|
|
rm libskarnet.*
|
|
|
|
mv doc $doc/share/doc/skalibs/html
|
|
'';
|
|
|
|
passthru.tests = {
|
|
# fdtools is one of the few non-skalib packages that depends on skalibs
|
|
# and might break if skalibs gets an breaking update.
|
|
fdtools = pkgs.fdtools;
|
|
};
|
|
|
|
}
|