diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index fbe1154ab18d..5897948a9f83 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -34,7 +34,6 @@ loadkit,,,,,,alerque lpeg,,,,,,vyp lpeg_patterns,,,,,, lpeglabel,,,,1.6.0,, -lpty,,,,,, lrexlib-gnu,,,,,, lrexlib-pcre,,,,,,vyp lrexlib-posix,,,,,, diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index 51d44e7f1e0f..2fda54bef530 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -1,5 +1,5 @@ # similar to interpreters/python/default.nix -{ stdenv, lib, callPackage, fetchFromGitHub, fetchurl, fetchpatch, makeBinaryWrapper }: +{ stdenv, config, lib, callPackage, fetchFromGitHub, fetchurl, fetchpatch, makeBinaryWrapper }: let @@ -39,7 +39,13 @@ let selfHostHost = luaOnHostForHost.pkgs; selfTargetTarget = luaOnTargetForTarget.pkgs or {}; }; + + aliases = final: prev: + lib.optionalAttrs config.allowAliases + (import ../../lua-modules/aliases.nix lib final prev); + extensions = lib.composeManyExtensions [ + aliases generatedPackages overriddenPackages overrides diff --git a/pkgs/development/lua-modules/aliases.nix b/pkgs/development/lua-modules/aliases.nix new file mode 100644 index 000000000000..47a097fd7f79 --- /dev/null +++ b/pkgs/development/lua-modules/aliases.nix @@ -0,0 +1,43 @@ + +lib: self: super: + +### Deprecated aliases - for backward compatibility +### +### !!! NOTE !!! +### Use `./remove-attr.py [attrname]` in this directory to remove your alias +### from the `luaPackages` set without regenerating the entire file. + +with self; + +let + # Removing recurseForDerivation prevents derivations of aliased attribute + # set to appear while listing all the packages available. + removeRecurseForDerivations = alias: with lib; + if alias.recurseForDerivations or false + then removeAttrs alias ["recurseForDerivations"] + else alias; + + # Disabling distribution prevents top-level aliases for non-recursed package + # sets from building on Hydra. + removeDistribute = alias: with lib; + if isDerivation alias then + dontDistribute alias + else alias; + + # Make sure that we are not shadowing something from node-packages.nix. + checkInPkgs = n: alias: + if builtins.hasAttr n super + then throw "Alias ${n} is still in generated.nix" + else alias; + + mapAliases = aliases: + lib.mapAttrs (n: alias: + removeDistribute + (removeRecurseForDerivations + (checkInPkgs n alias))) + aliases; +in + +mapAliases { + "lpty" = throw "lpy was removed because broken and unmaintained "; # added 2023-10-14 +} diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 7deb513b2312..636c411acca4 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -942,29 +942,6 @@ buildLuarocksPackage { }; }) {}; -lpty = callPackage({ luaOlder, lua, fetchurl, buildLuarocksPackage }: -buildLuarocksPackage { - pname = "lpty"; - version = "1.2.2-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lpty-1.2.2-1.rockspec"; - sha256 = "04af4mhiqrw3br4qzz7yznw9zy2m50wddwzgvzkvhd99ng71fkzg"; - }).outPath; - src = fetchurl { - url = "http://www.tset.de/downloads/lpty-1.2.2-1.tar.gz"; - sha256 = "071mvz79wi9vr6hvrnb1rv19lqp1bh2fi742zkpv2sm1r9gy5rav"; - }; - - disabled = (luaOlder "5.1"); - propagatedBuildInputs = [ lua ]; - - meta = { - homepage = "http://www.tset.de/lpty/"; - description = "A simple facility for lua to control other programs via PTYs."; - license.fullName = "MIT"; - }; -}) {}; - lrexlib-gnu = callPackage({ buildLuarocksPackage, luaOlder, lua, fetchgit }: buildLuarocksPackage { pname = "lrexlib-gnu"; diff --git a/pkgs/development/lua-modules/lib.nix b/pkgs/development/lua-modules/lib.nix index 7c7ffcccf263..a07b23ff9cd2 100644 --- a/pkgs/development/lua-modules/lib.nix +++ b/pkgs/development/lua-modules/lib.nix @@ -82,11 +82,11 @@ rec { }; */ generateLuarocksConfig = { - externalDeps + externalDeps ? [] # a list of lua derivations - , requiredLuaRocks + , requiredLuaRocks ? [] , extraVariables ? {} - , rocksSubdir + , rocksSubdir ? "rocks-subdir" }: let rocksTrees = lib.imap0 (i: dep: { diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index f8c77011c2c3..62d4e066e50b 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -146,10 +146,6 @@ with prev; */ }); - lpty = prev.lpty.overrideAttrs (oa: { - meta.broken = luaOlder "5.1" || luaAtLeast "5.3"; - }); - ldbus = prev.ldbus.overrideAttrs (oa: { extraVariables = { DBUS_DIR = "${dbus.lib}";