libk  Check-in [a26e579866]

Overview
Comment:Add initial build setup for Nix
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: a26e579866718983cdee5413626c2c4ea93d44308798a166d265085032658861
User & Date: glow on 2019-08-21 04:50:41
Other Links: manifest | tags
Context
2019-08-21
06:00
move modules to a subdirectory in order to keep the directory tree organized and make room for OS-specific build files check-in: 14172a910a user: lexi tags: trunk
04:50
Add initial build setup for Nix check-in: a26e579866 user: glow tags: trunk
04:24
modify build system to replace extremely fragile error code generation mechanism check-in: d77ef26adf user: lexi tags: trunk
Changes

Added default.nix version [eeefb2d05d].

            1  +with import <nixpkgs> {};
            2  +callPackage ./libk.nix {}

Added libk.nix version [09f8c0f00b].

            1  +{stdenv, m4, yasm}:
            2  +
            3  +stdenv.mkDerivation {
            4  +  name = "libk";
            5  +  version = "0.0.0";
            6  +
            7  +  src = stdenv.lib.cleanSource ./.;
            8  +
            9  +  nativeBuildInputs = [ m4 yasm ];
           10  +
           11  +  buildPhase = ''
           12  +    substituteInPlace global/build-id.sh --replace "/usr/bin/env sh" "${stdenv.shell}"
           13  +    substituteInPlace global/build-manpage.sh --replace "/usr/bin/env sh" "${stdenv.shell}"
           14  +    env os=lin arch=x86 bits=64 to=$prefix debug=yes \
           15  +    bash build.sh
           16  +  '';
           17  +
           18  +  # No proper install yet...
           19  +  dontInstall = true;
           20  +
           21  +  # This doesn't seem to work anyways?
           22  +  dontStrip = true;
           23  +  dontPatchELF = true;
           24  +
           25  +  hardeningDisable = [ "stackprotector" ];
           26  +
           27  +  meta = with stdenv.lib; {
           28  +    description = "A modern replacement for libc";
           29  +    homepage = https://c.hale.su/lexi/libk;
           30  +    changelog = "https://c.hale.su/lexi/libk/timeline";
           31  +    license = licenses.agpl3;
           32  +    # Doesn't actually match w/ supported platforms, but...
           33  +    platforms = platforms.unix;
           34  +  };
           35  +}