libk  Diff

Differences From Artifact [09f8c0f00b]:

To Artifact [5ae929ce03]:


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
{stdenv, m4, yasm}:

stdenv.mkDerivation {
  name = "libk";
  version = "0.0.0";

  src = stdenv.lib.cleanSource ./.;



  nativeBuildInputs = [ m4 yasm ];




  buildPhase = ''
    substituteInPlace global/build-id.sh --replace "/usr/bin/env sh" "${stdenv.shell}"
    substituteInPlace global/build-manpage.sh --replace "/usr/bin/env sh" "${stdenv.shell}"
    env os=lin arch=x86 bits=64 to=$prefix debug=yes \
    bash build.sh
  '';

  # No proper install yet...
  dontInstall = true;

  # This doesn't seem to work anyways?
  dontStrip = true;
  dontPatchELF = true;



  hardeningDisable = [ "stackprotector" ];

  meta = with stdenv.lib; {
    description = "A modern replacement for libc";
    homepage = https://c.hale.su/lexi/libk;
    changelog = "https://c.hale.su/lexi/libk/timeline";
    license = licenses.agpl3;
    # Doesn't actually match w/ supported platforms, but...
    platforms = platforms.unix;
  };
}
|





|

>
>
|

>
>
>

|
|







|



>
>




|
|





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
{stdenv, m4, yasm, cmark, groff}:

stdenv.mkDerivation {
  name = "libk";
  version = "0.0.0";

  src = stdenv.lib.cleanSource ../.;

  # Need to figure out how split builds work... but that also kinda needs
  # an install script first, so.
  nativeBuildInputs = [ m4 yasm cmark groff ];

  # TODO: maybe make this more generic? IIRC I couldn't use the
  # patch-everything whatever, for some reason. It also probably should be in
  # an earlier build step.
  buildPhase = ''
    substituteInPlace global/build-id.sh --replace "/usr/bin/env bash" "${stdenv.shell}"
    substituteInPlace global/build-manpage.sh --replace "/usr/bin/env bash" "${stdenv.shell}"
    env os=lin arch=x86 bits=64 to=$prefix debug=yes \
    bash build.sh
  '';

  # No proper install yet...
  dontInstall = true;

  # Not sure if these work or are needed, but better safe than sorry, here.
  dontStrip = true;
  dontPatchELF = true;

  # I think there's supposed to be a stack check fail fn now, so maybe this
  # is okay? TODO: test if this is still needed.
  hardeningDisable = [ "stackprotector" ];

  meta = with stdenv.lib; {
    description = "A modern replacement for libc";
    homepage = https://c.hale.su/libk;
    changelog = "https://c.hale.su/libk/timeline";
    license = licenses.agpl3;
    # Doesn't actually match w/ supported platforms, but...
    platforms = platforms.unix;
  };
}