diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-09-13 11:53:06 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-09-13 17:18:49 +0000 |
commit | c3e005913d59b8ad64004e60888a71816688af1f (patch) | |
tree | f65b32f0d16acaa40f2ee82ac736d150de4b6cf5 /nixpkgs/pkgs/development/lua-modules | |
parent | 1c8034da05499ca3d999f57ba1f6b235e7711ee1 (diff) | |
parent | db88608d8c811a93b74c99cfa1224952afc78200 (diff) | |
download | nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar.gz nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar.bz2 nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar.lz nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar.xz nixlib-c3e005913d59b8ad64004e60888a71816688af1f.tar.zst nixlib-c3e005913d59b8ad64004e60888a71816688af1f.zip |
Merge commit 'db88608d8c811a93b74c99cfa1224952afc78200'
Conflicts: nixpkgs/nixos/modules/config/update-users-groups.pl
Diffstat (limited to 'nixpkgs/pkgs/development/lua-modules')
4 files changed, 88 insertions, 12 deletions
diff --git a/nixpkgs/pkgs/development/lua-modules/default.nix b/nixpkgs/pkgs/development/lua-modules/default.nix index 091b94f58f51..e4927ee30464 100644 --- a/nixpkgs/pkgs/development/lua-modules/default.nix +++ b/nixpkgs/pkgs/development/lua-modules/default.nix @@ -1,7 +1,7 @@ # inspired by pkgs/development/haskell-modules/default.nix { pkgs, lib , lua -, overrides ? (self: super: {}) +, overrides ? (final: prev: {}) }: let @@ -15,7 +15,7 @@ let overridenPackages = import ./overrides.nix { inherit pkgs; }; generatedPackages = if (builtins.pathExists ./generated-packages.nix) then - pkgs.callPackage ./generated-packages.nix { } else (self: super: {}); + pkgs.callPackage ./generated-packages.nix { } else (final: prev: {}); extensible-self = lib.makeExtensible (extends overrides @@ -24,7 +24,6 @@ let initialPackages ) ) - ) - ; + ); in extensible-self diff --git a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix index c5a1a41cbd3c..06020551513f 100644 --- a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix +++ b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix @@ -160,10 +160,10 @@ busted = buildLuarocksPackage { cassowary = buildLuarocksPackage { pname = "cassowary"; - version = "2.3.1-1"; + version = "2.3.1-2"; knownRockspec = (fetchurl { - url = "https://luarocks.org/cassowary-2.3.1-1.rockspec"; - sha256 = "1rgs0rmlmhghml0gi4dn0rg2iq7rqnn8w8dcy9r3qsbkpyylbajc"; + url = "https://luarocks.org/cassowary-2.3.1-2.rockspec"; + sha256 = "04y882f9ai1jhk0zwla2g0fvl56a75rwnxhsl9r3m0qa5i0ia1i5"; }).outPath; src = fetchgit ( removeAttrs (builtins.fromJSON ''{ "url": "https://github.com/sile-typesetter/cassowary.lua", @@ -171,7 +171,7 @@ cassowary = buildLuarocksPackage { "date": "2021-07-19T14:37:34+03:00", "path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua", "sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq", - "fetchSubmodules": true, + "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false } @@ -179,6 +179,10 @@ cassowary = buildLuarocksPackage { disabled = (luaOlder "5.1"); propagatedBuildInputs = [ lua penlight ]; + checkInputs = [ busted ]; + # Avoid circular dependency issue with busted / penlight, see: + # https://github.com/NixOS/nixpkgs/pull/136453/files#r700982255 + doCheck = false; meta = { homepage = "https://github.com/sile-typesetter/cassowary.lua"; @@ -1953,15 +1957,18 @@ nvim-client = buildLuarocksPackage { penlight = buildLuarocksPackage { pname = "penlight"; - version = "dev-1"; - + version = "1.11.0-1"; + knownRockspec = (fetchurl { + url = "https://luarocks.org/penlight-1.11.0-1.rockspec"; + sha256 = "1sjhnywvamyi9fadhra5pw2an1rhy2hk2byfxmr3n5wi0xrqv004"; + }).outPath; src = fetchgit ( removeAttrs (builtins.fromJSON ''{ "url": "https://github.com/lunarmodules/penlight.git", "rev": "e3712f00fae09a166dd62540b677600165d5bcd7", "date": "2021-08-18T21:37:47+02:00", "path": "/nix/store/i70ndw8qhvcm828ifb3vyj08y22xp0ka-penlight", "sha256": "19n9xqkb4hlak0k7hamk4ixwjvyxslsnyh1zjazdzrl8n736xhkl", - "fetchSubmodules": true, + "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false } @@ -1969,12 +1976,13 @@ penlight = buildLuarocksPackage { disabled = (luaOlder "5.1"); propagatedBuildInputs = [ lua luafilesystem ]; - checkInputs = [ busted busted ]; + checkInputs = [ busted ]; doCheck = false; meta = { homepage = "https://lunarmodules.github.io/penlight"; description = "Lua utility libraries loosely based on the Python standard libraries"; + maintainers = with lib.maintainers; [ alerque ]; license.fullName = "MIT/X11"; }; }; diff --git a/nixpkgs/pkgs/development/lua-modules/lib.nix b/nixpkgs/pkgs/development/lua-modules/lib.nix new file mode 100644 index 000000000000..9c31f9a5c53c --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/lib.nix @@ -0,0 +1,63 @@ +{ pkgs, lib, lua }: +let + requiredLuaModules = drvs: with lib; let + modules = filter hasLuaModule drvs; + in unique ([lua] ++ modules ++ concatLists (catAttrs "requiredLuaModules" modules)); + # Check whether a derivation provides a lua module. + hasLuaModule = drv: drv ? luaModule; +in +rec { + inherit hasLuaModule requiredLuaModules; + + luaPathList = [ + "share/lua/${lua.luaversion}/?.lua" + "share/lua/${lua.luaversion}/?/init.lua" + ]; + luaCPathList = [ + "lib/lua/${lua.luaversion}/?.so" + ]; + + /* generate paths without a prefix + */ + luaPathRelStr = lib.concatStringsSep ";" luaPathList; + luaCPathRelStr = lib.concatStringsSep ";" luaCPathList; + + /* generate LUA_(C)PATH value for a specific derivation, i.e., with absolute paths + */ + genLuaPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaPathList; + genLuaCPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaCPathList; + + /* Generate a LUA_PATH with absolute paths + */ + # genLuaPathAbs = drv: + # lib.concatStringsSep ";" (map (x: "${drv}/x") luaPathList); + + luaAtLeast = lib.versionAtLeast lua.luaversion; + luaOlder = lib.versionOlder lua.luaversion; + isLua51 = (lib.versions.majorMinor lua.version) == "5.1"; + isLua52 = (lib.versions.majorMinor lua.version) == "5.2"; + isLua53 = lua.luaversion == "5.3"; + isLuaJIT = lib.getName lua == "luajit"; + + /* generates the relative path towards the folder where + seems stable even when using lua_modules_path = "" + + Example: + getDataFolder luaPackages.stdlib + => stdlib-41.2.2-1-rocks/stdlib/41.2.2-1/doc + */ + getDataFolder = drv: + "${drv.pname}-${drv.version}-rocks/${drv.pname}/${drv.version}"; + + /* Convert derivation to a lua module. + so that luaRequireModules can be run later + */ + toLuaModule = drv: + drv.overrideAttrs( oldAttrs: { + # Use passthru in order to prevent rebuilds when possible. + passthru = (oldAttrs.passthru or {}) // { + luaModule = lua; + requiredLuaModules = requiredLuaModules drv.propagatedBuildInputs; + }; + }); +} diff --git a/nixpkgs/pkgs/development/lua-modules/overrides.nix b/nixpkgs/pkgs/development/lua-modules/overrides.nix index a15bd6e53663..247cf89f3945 100644 --- a/nixpkgs/pkgs/development/lua-modules/overrides.nix +++ b/nixpkgs/pkgs/development/lua-modules/overrides.nix @@ -363,6 +363,12 @@ with super; ''; }); + # TODO just while testing, remove afterwards + # toVimPlugin should do it instead + gitsigns-nvim = super.gitsigns-nvim.overrideAttrs(oa: { + nativeBuildInputs = oa.nativeBuildInputs or [] ++ [ pkgs.vimUtils.vimGenDocHook ]; + }); + # aliases cjson = super.lua-cjson; } |