From e153ba4e337ce55721aef6ffc21a86f345713c41 Mon Sep 17 00:00:00 2001 From: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:42:27 +0300 Subject: [PATCH] lua51Packages.libluv: fix build Upstream rockspec file now supports WITH_SHARED_LIBUV variable. This commit uses it. Before this change, upstream value of WITH_SHARED_LIBUV overrode the one from the inline patch, which caused a build failure. --- pkgs/development/lua-modules/luv/default.nix | 34 +++++++------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/pkgs/development/lua-modules/luv/default.nix b/pkgs/development/lua-modules/luv/default.nix index a023a9f0dee7..301ecc936a78 100644 --- a/pkgs/development/lua-modules/luv/default.nix +++ b/pkgs/development/lua-modules/luv/default.nix @@ -43,31 +43,19 @@ buildLuarocksPackage rec { buildInputs = [ libuv ]; nativeBuildInputs = [ cmake ]; - # Need to specify WITH_SHARED_LIBUV=ON cmake flag, but - # Luarocks doesn't take cmake variables from luarocks config. - # Need to specify it in rockspec. See https://github.com/luarocks/luarocks/issues/1160. - knownRockspec = runCommand "luv-${version}.rockspec" { } '' - patch ${src}/luv-scm-0.rockspec -o - > $out <<'EOF' - --- a/luv-scm-0.rockspec - +++ b/luv-scm-0.rockspec - @@ -1,5 +1,5 @@ - package = "luv" - -version = "scm-0" - +version = "${version}" - source = { - url = 'git://github.com/luvit/luv.git' - } - @@ -24,6 +24,7 @@ - build = - type = 'cmake', - variables = { - + WITH_SHARED_LIBUV="ON", - CMAKE_C_FLAGS="$(CFLAGS)", - CMAKE_MODULE_LINKER_FLAGS="$(LIBFLAG)", - LUA_LIBDIR="$(LUA_LIBDIR)", - EOF + rockspecFilename = "luv-scm-0.rockspec"; + + postConfigure = '' + mv "$rockspecFilename" "$generatedRockspecFilename" + rockspecFilename="$generatedRockspecFilename" + substituteInPlace "$rockspecFilename" \ + --replace-fail 'version = "scm-0"' "version = \"$version\"" ''; + luarocksConfig.variables = { + WITH_SHARED_LIBUV = "ON"; + }; + __darwinAllowLocalNetworking = true; doInstallCheck = true;