about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/skaware-packages/skalibs/default.nix
blob: 7dc87458b62036985b4d41eecc630f16ed37adb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{ lib
, stdenv
, skawarePackages
, pkgs
}:

with skawarePackages;

buildPackage {
  pname = "skalibs";
  version = "2.14.1.0";
  sha256 = "24YTUWEngQ2N/thutCRaX/JCBPHhb6KOiqrTRtlqrug=";

  description = "A 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;
  };

}