From 72cd45cc354fad3e1ca254b73d4b27815fdd1371 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 21:39:20 -0300 Subject: [PATCH 01/10] emilua: sparse checkout trial.protocol as only headers are used Signed-off-by: lucasew --- .../interpreters/emilua/default.nix | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index 4ef35441d344..fce2787224be 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -29,8 +29,22 @@ let owner = "breese"; repo = "trial.protocol"; rev = "79149f604a49b8dfec57857ca28aaf508069b669"; - name = "trial-protocol"; - hash = "sha256-Xd8bX3z9PZWU17N9R95HXdj6qo9at5FBL/+PTVaJgkw="; + sparseCheckout = [ + "include" + ]; + hash = "sha256-QpQ70KDcJyR67PtOowAF6w48GitMJ700B8HiEwDA5sU="; + postFetch = '' + rm $out/*.* + mkdir -p $out/lib/pkgconfig + cat > $out/lib/pkgconfig/trial-protocol.pc << EOF + Name: trial.protocol + Version: 0-unstable-2023-02-10 + Description: C++ header-only library with parsers and generators for network wire protocols + Requires: + Libs: + Cflags: + EOF + ''; }; in stdenv.mkDerivation rec { @@ -55,6 +69,7 @@ stdenv.mkDerivation rec { liburing openssl cereal + trial-protocol-wrap ]; nativeBuildInputs = [ @@ -80,12 +95,6 @@ stdenv.mkDerivation rec { ]; postPatch = '' - pushd subprojects - cp -r ${trial-protocol-wrap} trial-protocol - chmod +w trial-protocol - cp "packagefiles/trial.protocol/meson.build" "trial-protocol/" - popd - patchShebangs src/emilua_gperf.awk --interpreter '${lib.getExe gawk} -f' ''; From 5718c4382a26e0b0cdb51a289dbc42c1be626ef9 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 14:25:41 -0300 Subject: [PATCH 02/10] emilua: add update script Signed-off-by: lucasew --- pkgs/development/interpreters/emilua/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index fce2787224be..6baa1a5d9c6b 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -22,6 +22,7 @@ cmake, asciidoctor, makeWrapper, + gitUpdater }: let @@ -106,6 +107,8 @@ stdenv.mkDerivation rec { "--no-suite" "libpsx" ]; + passthru.updateScript = gitUpdater {rev-prefix = "v";}; + meta = with lib; { description = "Lua execution engine"; mainProgram = "emilua"; From 31b900b152740fdf6d71afd36b635c20be51e0f4 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 14:28:22 -0300 Subject: [PATCH 03/10] emilua: 0.7.3 -> 0.10.1 Signed-off-by: lucasew --- pkgs/development/interpreters/emilua/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index 6baa1a5d9c6b..72f8f5353652 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -50,13 +50,13 @@ let in stdenv.mkDerivation rec { pname = "emilua"; - version = "0.7.3"; + version = "0.10.1"; src = fetchFromGitLab { owner = "emilua"; repo = "emilua"; rev = "v${version}"; - hash = "sha256-j8ohhqHjSBgc4Xk9PcQNrbADmsz4VH2zCv+UNqiCv4I="; + hash = "sha256-D6XKXik9nWQ6t6EF6dLbRGB60iFbPUM8/H8iFAz1QlE="; }; buildInputs = [ From 93bd1ce196eef1767a73f152f105571142dad247 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 14:48:57 -0300 Subject: [PATCH 04/10] emiluaPlugins: init scope Signed-off-by: lucasew --- pkgs/top-level/all-packages.nix | 5 ++++- pkgs/top-level/emilua-plugins.nix | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 pkgs/top-level/emilua-plugins.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 804ab2b4ac35..2fca084f0e93 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16630,7 +16630,10 @@ with pkgs; zuo = callPackage ../development/interpreters/zuo { }; ### LUA interpreters - emilua = callPackage ../development/interpreters/emilua { }; + emiluaPlugins = callPackage ./emilua-plugins.nix {} + (callPackage ../development/interpreters/emilua { }); + + inherit (emiluaPlugins) emilua; luaInterpreters = callPackage ./../development/interpreters/lua-5 { }; inherit (luaInterpreters) lua5_1 lua5_2 lua5_2_compat lua5_3 lua5_3_compat lua5_4 lua5_4_compat luajit_2_1 luajit_2_0 luajit_openresty; diff --git a/pkgs/top-level/emilua-plugins.nix b/pkgs/top-level/emilua-plugins.nix new file mode 100644 index 000000000000..e411b696900f --- /dev/null +++ b/pkgs/top-level/emilua-plugins.nix @@ -0,0 +1,6 @@ +{lib, newScope, pkgs, config }: + +emilua: + (lib.makeScope newScope (self: { + inherit emilua; + })) From a5122b101010d2608a333908a454c66656828d81 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 14:56:28 -0300 Subject: [PATCH 05/10] emilua: expose sitePackages Signed-off-by: lucasew --- pkgs/development/interpreters/emilua/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index 72f8f5353652..caf54788f440 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -48,14 +48,14 @@ let ''; }; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (self: { pname = "emilua"; version = "0.10.1"; src = fetchFromGitLab { owner = "emilua"; repo = "emilua"; - rev = "v${version}"; + rev = "v${self.version}"; hash = "sha256-D6XKXik9nWQ6t6EF6dLbRGB60iFbPUM8/H8iFAz1QlE="; }; @@ -107,7 +107,10 @@ stdenv.mkDerivation rec { "--no-suite" "libpsx" ]; - passthru.updateScript = gitUpdater {rev-prefix = "v";}; + passthru = { + updateScript = gitUpdater {rev-prefix = "v";}; + sitePackages = "lib/emilua-${(lib.concatStringsSep "." (lib.take 2 (lib.splitVersion self.version)))}"; + }; meta = with lib; { description = "Lua execution engine"; @@ -117,4 +120,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ manipuladordedados ]; platforms = platforms.linux; }; -} +}) From 278b2dfe7159e61e85c091f625605057a3538361 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 15:45:06 -0300 Subject: [PATCH 06/10] emiluaPlugins.beast: init at 1.1.0 Signed-off-by: lucasew --- .../emilua-plugins/beast/default.nix | 28 +++++++++++++++++++ .../interpreters/emilua/default.nix | 8 ++++-- pkgs/top-level/emilua-plugins.nix | 1 + 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/emilua-plugins/beast/default.nix diff --git a/pkgs/development/emilua-plugins/beast/default.nix b/pkgs/development/emilua-plugins/beast/default.nix new file mode 100644 index 000000000000..13adc424bfe2 --- /dev/null +++ b/pkgs/development/emilua-plugins/beast/default.nix @@ -0,0 +1,28 @@ +{ stdenv +, emilua +, meson +, gperf +, ninja +, asciidoctor +, pkg-config +, fetchFromGitLab +, gitUpdater +}: + +stdenv.mkDerivation (self: { + pname = "emilua_beast"; + version = "1.1.0"; + + src = fetchFromGitLab { + owner = "emilua"; + repo = "beast"; + rev = "v${self.version}"; + hash = "sha256-HvfEigHJTZelPvHFk22PWxkTFEajHJXfiCndxXHVgq8="; + }; + + buildInputs = [ emilua asciidoctor gperf ]; + + nativeBuildInputs = [ meson pkg-config ninja ]; + + passthru.updateScript = gitUpdater {rev-prefix="v";}; +}) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index caf54788f440..bdacb3a5c087 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -47,7 +47,10 @@ let EOF ''; }; + + boost = boost182; in + stdenv.mkDerivation (self: { pname = "emilua"; version = "0.10.1"; @@ -59,9 +62,9 @@ stdenv.mkDerivation (self: { hash = "sha256-D6XKXik9nWQ6t6EF6dLbRGB60iFbPUM8/H8iFAz1QlE="; }; - buildInputs = [ + propagatedBuildInputs = [ luajit_openresty - boost182 + boost fmt ncurses serd @@ -109,6 +112,7 @@ stdenv.mkDerivation (self: { passthru = { updateScript = gitUpdater {rev-prefix = "v";}; + inherit boost; sitePackages = "lib/emilua-${(lib.concatStringsSep "." (lib.take 2 (lib.splitVersion self.version)))}"; }; diff --git a/pkgs/top-level/emilua-plugins.nix b/pkgs/top-level/emilua-plugins.nix index e411b696900f..2d0d3a087589 100644 --- a/pkgs/top-level/emilua-plugins.nix +++ b/pkgs/top-level/emilua-plugins.nix @@ -3,4 +3,5 @@ emilua: (lib.makeScope newScope (self: { inherit emilua; + beast = self.callPackage ../development/emilua-plugins/beast {}; })) From f3d6b2ebef9041b89ce6a5ad929425bddb15c863 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 17:16:58 -0300 Subject: [PATCH 07/10] emilua: add setup hook that populates EMILUA_PATH Signed-off-by: lucasew --- .../development/interpreters/emilua/default.nix | 7 +++++++ .../interpreters/emilua/setup-hook.sh | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/interpreters/emilua/setup-hook.sh diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index bdacb3a5c087..bb8b22069f86 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -110,6 +110,13 @@ stdenv.mkDerivation (self: { "--no-suite" "libpsx" ]; + postInstall = '' + mkdir -p $out/nix-support + cp ${./setup-hook.sh} $out/nix-support/setup-hook + substituteInPlace $out/nix-support/setup-hook \ + --replace @sitePackages@ "${self.passthru.sitePackages}" + ''; + passthru = { updateScript = gitUpdater {rev-prefix = "v";}; inherit boost; diff --git a/pkgs/development/interpreters/emilua/setup-hook.sh b/pkgs/development/interpreters/emilua/setup-hook.sh new file mode 100644 index 000000000000..034b52796468 --- /dev/null +++ b/pkgs/development/interpreters/emilua/setup-hook.sh @@ -0,0 +1,17 @@ +addEmiluaPath() { + addToSearchPathWithCustomDelimiter : EMILUA_PATH $1/@sitePackages@ +} + +toEmiluaPath() { + local paths="$1" + local result= + for i in $paths; do + p="$i/@sitePackages@" + result="${result}${result:+:}$p" + done + echo $result +} + +if [ -z "${dontAddEmiluaPath:-}" ]; then + addEnvHooks "$hostOffset" addEmiluaPath +fi From 0c3ff997a79dc371c05288ec7e1a126d76749101 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 17:27:23 -0300 Subject: [PATCH 08/10] nixfmt as told by ci Signed-off-by: lucasew --- .../emilua-plugins/beast/default.nix | 33 ++++++++++++------- pkgs/top-level/emilua-plugins.nix | 15 ++++++--- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/pkgs/development/emilua-plugins/beast/default.nix b/pkgs/development/emilua-plugins/beast/default.nix index 13adc424bfe2..245170cae710 100644 --- a/pkgs/development/emilua-plugins/beast/default.nix +++ b/pkgs/development/emilua-plugins/beast/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, emilua -, meson -, gperf -, ninja -, asciidoctor -, pkg-config -, fetchFromGitLab -, gitUpdater +{ + stdenv, + emilua, + meson, + gperf, + ninja, + asciidoctor, + pkg-config, + fetchFromGitLab, + gitUpdater, }: stdenv.mkDerivation (self: { @@ -20,9 +21,17 @@ stdenv.mkDerivation (self: { hash = "sha256-HvfEigHJTZelPvHFk22PWxkTFEajHJXfiCndxXHVgq8="; }; - buildInputs = [ emilua asciidoctor gperf ]; + buildInputs = [ + emilua + asciidoctor + gperf + ]; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; - passthru.updateScript = gitUpdater {rev-prefix="v";}; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; }) diff --git a/pkgs/top-level/emilua-plugins.nix b/pkgs/top-level/emilua-plugins.nix index 2d0d3a087589..a4387b18e653 100644 --- a/pkgs/top-level/emilua-plugins.nix +++ b/pkgs/top-level/emilua-plugins.nix @@ -1,7 +1,12 @@ -{lib, newScope, pkgs, config }: +{ + lib, + newScope, + pkgs, + config, +}: emilua: - (lib.makeScope newScope (self: { - inherit emilua; - beast = self.callPackage ../development/emilua-plugins/beast {}; - })) +(lib.makeScope newScope (self: { + inherit emilua; + beast = self.callPackage ../development/emilua-plugins/beast { }; +})) From 6cb162ece8aae073ccc68d0f03088f51af4445bb Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 21:49:02 -0300 Subject: [PATCH 09/10] emiluaPlugins: recurseIntoAttrs Signed-off-by: lucasew --- pkgs/top-level/all-packages.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fca084f0e93..6e176d86fc6f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16630,8 +16630,9 @@ with pkgs; zuo = callPackage ../development/interpreters/zuo { }; ### LUA interpreters - emiluaPlugins = callPackage ./emilua-plugins.nix {} - (callPackage ../development/interpreters/emilua { }); + emiluaPlugins = recurseIntoAttrs + (callPackage ./emilua-plugins.nix {} + (callPackage ../development/interpreters/emilua { })); inherit (emiluaPlugins) emilua; From b9732794c275a1756e09b04d246bd709e101903d Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 5 Sep 2024 22:32:34 -0300 Subject: [PATCH 10/10] emilua: add lucasew as maintainer Signed-off-by: lucasew --- pkgs/development/interpreters/emilua/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index bb8b22069f86..22affc8b9add 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -128,7 +128,7 @@ stdenv.mkDerivation (self: { mainProgram = "emilua"; homepage = "https://emilua.org/"; license = licenses.boost; - maintainers = with maintainers; [ manipuladordedados ]; + maintainers = with maintainers; [ manipuladordedados lucasew ]; platforms = platforms.linux; }; })