liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 74cf3e0711db0bea8d02a98da37c5afd780c0aa4
parent 9795f03da435c0c19a3a4d180c49e14709ab2910
Author: Daniel Barlow <dan@telent.net>
Date:   Fri, 26 Apr 2024 16:43:09 +0100

add anoia.net.constants for SOCK_{STREAM,DGRAM} etc

we use an ugly bit of C preprocessor to get the values from
header files, because certain constants are different on MIPS
than on other architectures

Diffstat:
Mpkgs/anoia/Makefile | 6+++++-
Mpkgs/anoia/default.nix | 5+++--
Apkgs/anoia/net/constants.c | 11+++++++++++
3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/pkgs/anoia/Makefile b/pkgs/anoia/Makefile @@ -1,10 +1,14 @@ -default: fs.lua init.lua nl.lua svc.lua +default: fs.lua init.lua nl.lua svc.lua net/constants.lua test: ln -s . anoia fennel test.fnl fennel test-svc.fnl +net/constants.lua: net/constants.c + $(CC) -imacros sys/socket.h -imacros linux/netlink.h -E -P - < net/constants.c | sed 's/ *$$//g' | cat -s > net/constants.lua + + %.lua: %.fnl fennel --compile $< > $@ diff --git a/pkgs/anoia/default.nix b/pkgs/anoia/default.nix @@ -4,13 +4,14 @@ , linotify , lua , lualinux +, cpio }: let pname = "anoia"; in stdenv.mkDerivation { inherit pname; version = "0.1"; src = ./.; - nativeBuildInputs = [ fennel ]; + nativeBuildInputs = [ fennel cpio ]; buildInputs = with lua.pkgs; [ linotify lualinux ]; outputs = [ "out" "dev" ]; @@ -18,7 +19,7 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p "$out/share/lua/${lua.luaversion}/${pname}" - cp *.lua "$out/share/lua/${lua.luaversion}/${pname}" + find . -name \*.lua | cpio -p -d "$out/share/lua/${lua.luaversion}/${pname}" mkdir -p "$dev/share/lua/${lua.luaversion}/${pname}" cp assert.fnl "$dev/share/lua/${lua.luaversion}/${pname}" diff --git a/pkgs/anoia/net/constants.c b/pkgs/anoia/net/constants.c @@ -0,0 +1,11 @@ + +#define MACRO(c) [#c] = c, + +return { + MACRO(SOCK_STREAM) + MACRO(SOCK_DGRAM) + MACRO(SOCK_RAW) + MACRO(AF_LOCAL) + MACRO(AF_NETLINK) + MACRO(NETLINK_KOBJECT_UEVENT) +}