diff --git a/flake.lock b/flake.lock index 6603885..c4ed3f0 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "flake-utils": { "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -17,16 +17,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1650466688, - "narHash": "sha256-CzCEEyYKGCzDcO+kg5AOoTzgB1RSe+7AUb29SQg5Xeg=", + "lastModified": 1654215692, + "narHash": "sha256-Ek74jQrAjTd4VP+33dxgpKf3kN0oq+7fQ8mneKXhzUs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "326ef980784223f08c102d5e0ba1b3ee628a4175", + "rev": "0f4c6596500078018e1797544a43ee8b50635dff", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-21.11", + "ref": "release-22.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index e7644e1..74bb092 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { description = "Lsyncd (Live Syncing Daemon)"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/release-21.11"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/release-22.05"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: @@ -28,11 +28,11 @@ (builtins.match ''.*set\(.LSYNCD_VERSION ([0-9\.]*).*'' (builtins.substring 0 500 (builtins.readFile ./CMakeLists.txt))) 0; - mylua5_4 = pkgs.lua5_4.override({ - packageOverrides = luaself: luaprev: { - luarocks = luaprev.luarocks-3_7; - }; - }); + # mylua5_4 = pkgs.lua5_4.override({ + # packageOverrides = luaself: luaprev: { + # luarocks = luaprev.luarocks-3_7; + # }; + # }); luaposix35 = mylua: mylua.pkgs.buildLuarocksPackage { pname = "luaposix"; lua = mylua; @@ -56,15 +56,82 @@ }; }; + 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 pkgs.lua51Packages.luaposix]; - lua5_2 = [pkgs.lua5_2 pkgs.lua52Packages.luaposix]; - lua5_3 = [pkgs.lua5_3 pkgs.lua53Packages.luaposix]; - lua5_4 = [pkgs.lua5_3 (luaposix35 mylua5_4)]; + lua5_1 = [pkgs.lua5_1 pkgs.lua51Packages.luaposix (buildExtensions pkgs.lua51Packages)]; + lua5_2 = [pkgs.lua5_2 pkgs.lua52Packages.luaposix (buildExtensions pkgs.lua52Packages)]; + lua5_3 = [pkgs.lua5_3 pkgs.lua53Packages.luaposix (buildExtensions pkgs.lua53Packages)]; + # lua5_4 = [mylua5_4pkgs.lua5_3 (luaposix35 mylua5_4)]; + lua5_4 = [pkgs.lua5_4 (luaposix35 pkgs.lua5_4) (buildExtensions pkgs.lua5_4.pkgs)]; }; + + # buildTypes = { + # lua5_1 = [(pkgs.lua5_1.withPackages (ps: [ps.luaposix (buildExtensions pkgs.lua51Packages)]))]; + # lua5_2 = [(pkgs.lua5_2.withPackages (ps: [ps.luaposix (buildExtensions pkgs.lua52Packages)]))]; + # lua5_3 = [(pkgs.lua5_3.withPackages (ps: [ps.luaposix (buildExtensions pkgs.lua53Packages)]))]; + # lua5_4 = [(pkgs.lua5_4.withPackages (ps: [ps.luaposix (buildExtensions pkgs.lua54Packages)]))]; + # }; in let - mkLsync = luaPackages: pkgs.stdenv.mkDerivation ({ + mkLsync = luaPackages: pkgs.stdenv.mkDerivation ({ inherit version; name = "lsyncd"; @@ -76,8 +143,8 @@ buildInputs = defaultDeps ++ luaPackages; }); - mkDev = packages: pkgs.mkShell { - propagatedBuildInputs = defaultDeps ++ packages; + mkDev = extras: pkgs.mkShell { + propagatedBuildInputs = defaultDeps ++ extras; }; in {