nixpkgs/pkgs/development/skaware-packages/skalibs/default.nix
2024-10-10 06:28:41 +01:00

53 lines
1.5 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;
};
}