diff --git a/flake.nix b/flake.nix index b28c6c1..8552740 100644 --- a/flake.nix +++ b/flake.nix @@ -20,11 +20,73 @@ (builtins.match ''.*set\(.LSYNCD_VERSION ([0-9\.]*).*'' (builtins.substring 0 500 (builtins.readFile ./CMakeLists.txt))) 0; - buildTypes = { - lua5_1 = [pkgs.lua5_1 pkgs.lua51Packages.luaposix pkgs.lua51Packages.penlight]; - lua5_2 = [pkgs.lua5_2 pkgs.lua52Packages.luaposix pkgs.lua52Packages.penlight]; - lua5_3 = [pkgs.lua5_3 pkgs.lua53Packages.luaposix pkgs.lua53Packages.penlight]; - lua5_4 = [pkgs.lua5_4 pkgs.lua54Packages.luaposix pkgs.lua54Packages.penlight]; + + + + buildExtensions = luapkgs: ( + let + nucleo = luapkgs.buildLuarocksPackage { + pname = "lua-nucleo"; + version = "1.1.0-1"; + knownRockspec = (pkgs.fetchurl { + url = "https://luarocks.org/lua-nucleo-1.1.0-1.rockspec"; + sha256 = "02ly51wav1pxiahf6lflr4vks550bisdq4ir9cy1lxn9v2zmcbim"; + }).outPath; + src = pkgs.fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lua-nucleo/lua-nucleo.git", + "rev": "76835968ff30f182367abd58637560402990e0b1", + "date": "2021-04-26T11:51:34+03:00", + "path": "/nix/store/3ycmrh0j64qxm4f04yxmn3y42imc8bv5-lua-nucleo", + "sha256": "15kydmj64jhxv5ksayfgkwzmgzd7raj7xp636x8a7c3ybiirs90n", + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false + } + '') ["date" "path"]) ; + + disabled = with luapkgs; (luaOlder "5.1"); + + meta = { + homepage = "http://github.com/lua-nucleo/lua-nucleo"; + description = "A random collection of core and utility level Lua libraries"; + license.fullName = "MIT/X11"; + }; + }; + in + luapkgs.buildLuarocksPackage { + pname = "lua-crontab"; + version = "1.0.0-1"; + knownRockspec = (pkgs.fetchurl { + url = "https://luarocks.org/lua-crontab-1.0.0-1.rockspec"; + sha256 = "1aynwxq488sxd2lyng4wnswfkqna5n07sfmdainlqlhcb6jan161"; + }).outPath; + src = pkgs.fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/logiceditor-com/lua-crontab.git", + "rev": "e3929a572e8164f968da4dcbdf1c4464a2870699", + "date": "2021-07-29T14:12:08+03:00", + "path": "/nix/store/rsc49m4f1mjqbffaq7axcf31rgxxfjb3-lua-crontab", + "sha256": "0zkqslw3vg495k8g010cz931vlzfyynq4kcwi1jbbppia521z6rx", + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false + } + '') ["date" "path"]) ; + + propagatedBuildInputs = [ nucleo ]; + + meta = { + homepage = "http://github.com/logiceditor-com/lua-crontab"; + description = "Stores crontab-like rules for events and calculates timestamps for their occurrences"; + license.fullName = "MIT/X11"; + }; + } + ); + + buildTypes = { + lua5_1 = [(pkgs.lua5_1.withPackages (ps: [ps.luaposix ps.penlight (buildExtensions pkgs.lua51Packages)]))]; + lua5_2 = [(pkgs.lua5_2.withPackages (ps: [ps.luaposix ps.penlight (buildExtensions pkgs.lua52Packages)]))]; + lua5_3 = [(pkgs.lua5_3.withPackages (ps: [ps.luaposix ps.penlight (buildExtensions pkgs.lua53Packages)]))]; + lua5_4 = [(pkgs.lua5_4.withPackages (ps: [ps.luaposix ps.penlight (buildExtensions pkgs.lua54Packages)]))]; }; in let @@ -34,7 +96,6 @@ src = ./.; - # nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ]; buildInputs = defaultDeps ++ luaPackages; }); in