libk  Check-in [49da7c1eeb]

Overview
Comment:Greatly clean up Nix build.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 49da7c1eeb8ad2759fae3f0f977684eb9dca51f46bfb465fe13c0261e1db75cb
User & Date: glowpelt on 2020-01-31 20:04:17
Other Links: manifest | tags
Context
2020-03-03
16:02
update distro URLs check-in: 1abe29c598 user: lexi tags: trunk
2020-01-31
20:04
Greatly clean up Nix build. check-in: 49da7c1eeb user: glowpelt tags: trunk
06:05
Merge install script branch. Seems to be Good Enough for now, and shouldn't break anything at all to merge this. check-in: 12a51d9c50 user: glowpelt tags: trunk
Changes

Modified dist/libk.nix from [ce494d8fd7] to [8f964856d4].

     6      6   
     7      7     src = stdenv.lib.cleanSource ../.;
     8      8   
     9      9     # Need to figure out how split builds work... but that also kinda needs
    10     10     # an install script first, so.
    11     11     nativeBuildInputs = [ m4 yasm cmark groff ];
    12     12   
    13         -  # TODO: maybe make this more generic? IIRC I couldn't use the
    14         -  # patch-everything whatever, for some reason. It also probably should be in
    15         -  # an earlier build step.
    16     13     buildPhase = ''
    17         -    substituteInPlace global/build-id.sh --replace "/usr/bin/env bash" "${stdenv.shell}"
    18         -    substituteInPlace global/build-manpage.sh --replace "/usr/bin/env bash" "${stdenv.shell}"
    19         -    env os=lin arch=x86 bits=64 to=$prefix debug=yes doc_pdf=false \
           14  +    patchShebangs --build global/build-id.sh global/build-manpage.sh
           15  +    env os=lin arch=x86 bits=64 doc_pdf=false library=both \
    20     16       bash build.sh
    21     17     '';
    22     18   
    23         -  # No proper install yet...
    24         -  dontInstall = true;
    25         -
    26         -  # Not sure if these work or are needed, but better safe than sorry, here.
    27         -  dontStrip = true;
    28         -  dontPatchELF = true;
    29         -
    30         -  # I think there's supposed to be a stack check fail fn now, so maybe this
    31         -  # is okay? TODO: test if this is still needed.
    32         -  hardeningDisable = [ "stackprotector" ];
           19  +  installPhase = ''
           20  +    env prefix=$prefix bash install.sh
           21  +  '';
    33     22   
    34     23     meta = with stdenv.lib; {
    35     24       description = "A modern replacement for libc";
    36     25       homepage = https://c.hale.su/libk;
    37     26       changelog = "https://c.hale.su/libk/timeline";
    38     27       license = licenses.agpl3;
    39     28       # Doesn't actually match w/ supported platforms, but...
    40     29       platforms = platforms.unix;
    41     30     };
    42     31   }