diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml new file mode 100644 index 0000000..c32b71a --- /dev/null +++ b/.github/workflows/nix.yml @@ -0,0 +1,36 @@ +name: Nix + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + lint: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: cachix/install-nix-action@v30 + with: + extra_nix_config: | + extra-substituters = https://ekala-corepkgs.cachix.org + extra-trusted-public-keys = ekala-corepkgs.cachix.org-1:DcZV+vegWoEzacbSdXFXU4S7728C0eS9RfGpKeyHd6w= + - name: Nix Lint + run: nix fmt . -- --ci + + eval: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: cachix/install-nix-action@v30 + with: + extra_nix_config: | + extra-substituters = https://ekala-corepkgs.cachix.org + extra-trusted-public-keys = ekala-corepkgs.cachix.org-1:DcZV+vegWoEzacbSdXFXU4S7728C0eS9RfGpKeyHd6w= + - name: Evaluate all Lua packages + run: ./ci/eval.sh diff --git a/README.md b/README.md index 1439bed..8396b3d 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,12 @@ poly-repo nixpkgs fork. ``` default.nix # Entry point -pins.nix # Pinned external dependencies (core-pkgs, nix-lib) +pins.nix # Pinned external dependencies (core-pkgs, nix-lib), read from flake.lock pkgs-module.nix # Module wiring: creates overlays from pkgs/ lua-packages.nix # System dependency overrides for Lua packages top-level.nix # Non-Lua top-level package overrides pkgs/ # Auto-discovered Lua package expressions +ci/ # Evaluation gate run by CI ``` ## Adding a package @@ -78,3 +79,15 @@ final: prev: { nix-build -A lua.pkgs.luafilesystem nix-build -E '(import ./. {}).lua.withPackages (ps: [ ps.lpeg ps.luafilesystem ])' ``` + +## Checks + +CI runs both of these on every pull request: + +```sh +./ci/eval.sh # every package in every lua.variants set must evaluate (aliases disabled) +nix fmt . -- --ci # formatting, using corepkgs' treefmt configuration +``` + +Pins live in `flake.lock`; `pins.nix` reads them, so update them with +`nix flake update`. diff --git a/ci/eval.nix b/ci/eval.nix new file mode 100644 index 0000000..c6bfb88 --- /dev/null +++ b/ci/eval.nix @@ -0,0 +1,14 @@ +# Evaluates every package in every `lua.variants..pkgs` set. +# +# See ci/packages.nix for what counts as a failure. +# +# Usage: +# nix-instantiate --eval --strict ci/eval.nix + +let + packages = import ./packages.nix { }; + inherit (packages) probe targets; +in +builtins.deepSeq (map probe targets) { + evaluated = builtins.length targets; +} diff --git a/ci/eval.sh b/ci/eval.sh new file mode 100755 index 0000000..af13807 --- /dev/null +++ b/ci/eval.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Fails if any package in the repository fails to evaluate. +# +# See ci/eval.nix for what counts as a failure. + +set -euo pipefail + +cd "$(dirname "$0")/.." + +stderr="$(mktemp)" +trap 'rm -f "$stderr"' EXIT + +# Real failures are `abort`s, missing attributes and type errors, none of which +# `tryEval` can catch -- so they surface here as a non-zero exit with Nix's own +# message, which names the offending expression and its source location. +if ! result="$(nix-instantiate --eval --strict --json ci/eval.nix --show-trace --option allow-import-from-derivation false 2>"$stderr")"; then + cat "$stderr" >&2 + exit 1 +fi + +# Nix's evaluation warnings (deprecated syntax, unclear path literals, ...) are +# errors here: they are cheap to fix and easy to accumulate unnoticed otherwise. +if grep -q '^warning:' "$stderr"; then + cat "$stderr" >&2 + echo + echo "Evaluation emitted the warnings above; fix them or the job stays red." + exit 1 +fi + +# `{"evaluated":N}` -- extract the integer without needing a JSON parser. +count="$(sed -E 's/.*"evaluated":([0-9]+).*/\1/' <<<"$result")" + +echo "All $count Lua packages evaluate across every Lua variant." diff --git a/ci/packages.nix b/ci/packages.nix new file mode 100644 index 0000000..10bfe1c --- /dev/null +++ b/ci/packages.nix @@ -0,0 +1,102 @@ +# Enumerates every package in every Lua package set. +# +# Each variant in `lua.variants` (Lua 5.1 through 5.5 and each LuaJIT) has its +# own `pkgs` set, and the overrides in lua-packages.nix depend on the +# interpreter, so every set is covered. The rest of the package set comes from +# corepkgs, whose own CI evaluates it. +# +# Aliases are disabled. They are shims for a package already covered under its +# canonical name, so evaluating them only repeats work. +# +# When `checkMeta` is enabled, `handleEvalIssue` decides which rejections are bugs. +# `unknown-meta` and `broken-outputs` mean the `meta` itself is malformed, so +# they `abort` and name the package. Everything else -- broken, unfree, +# unsupported, insecure -- is a package correctly refusing to evaluate here, +# and `throw`s. So does `disabled = luaOlder ...`, which marks a package +# unsupported on that interpreter. +# +# What is left cannot be caught by `tryEval` and so fails the job with Nix's +# own message and source location: a missing `callPackage` argument, a missing +# attribute, or a type error. Those are the real bugs. + +{ + checkMeta ? false, +}: + +let + pkgs = import ../. { + modules = [ + { + config = { + aliases.nixpkgs = false; + inherit checkMeta; + + handleEvalIssue = + reason: msg: + if + builtins.elem reason [ + "unknown-meta" + "broken-outputs" + ] + then + abort msg + else + throw msg; + }; + } + ]; + }; + + inherit (pkgs) lib; + inherit (pkgs.lua) variants; + + # Forcing `drvPath` resolves every dependency and, for ci/eval.nix, runs + # `check-meta`. `package` arrives unforced, so a lookup that throws is caught + # here too. + probe = + package: + let + value = builtins.tryEval package; + in + builtins.tryEval ( + if value.success && lib.isDerivation value.value then + builtins.seq value.value.drvPath null + else + null + ); + + isBuildable = + value: + let + result = builtins.tryEval (lib.isDerivation value && builtins.seq value.drvPath true); + in + result.success && result.value; + + # Defined in corepkgs and broken there, so nothing in this repository can fix + # them. Drop each entry once corepkgs is fixed and the pin bumped. + excluded = [ + # pkgs-many/lua/luarocks/luarocks-nix.nix takes `nurl`, which corepkgs + # does not package. + "luarocks-nix" + ]; + + # `.`, e.g. `v5_1.luaposix`. + pairs = lib.concatMap ( + variant: + let + set = variants.${variant}.pkgs; + in + map (name: { + name = "${variant}.${name}"; + value = set.${name}; + }) (builtins.filter (name: !builtins.elem name excluded) (builtins.attrNames set)) + ) (builtins.attrNames variants); +in +{ + inherit probe; + + targets = map (pair: pair.value) pairs; + + # Attribute set of all buildable derivations, keyed by `.`. + buildable = builtins.listToAttrs (builtins.filter (pair: isBuildable pair.value) pairs); +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..785214f --- /dev/null +++ b/flake.lock @@ -0,0 +1,103 @@ +{ + "nodes": { + "corepkgs": { + "inputs": { + "nix-lib": "nix-lib", + "systems": "systems", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1794357128, + "narHash": "sha256-0LaYF4HdbrabJW86032e+LDqKf+8kd9CM7chh47KSTc=", + "owner": "ekala-project", + "repo": "corepkgs", + "rev": "e4dd52af6f6329bffc97ec5ec782b5b30037f701", + "type": "github" + }, + "original": { + "owner": "ekala-project", + "repo": "corepkgs", + "type": "github" + } + }, + "nix-lib": { + "locked": { + "lastModified": 1794347280, + "narHash": "sha256-T9M5PVzaoMcTLqj/tYsDa/eBZs/0t38M/c8gaWcbYk4=", + "owner": "ekala-project", + "repo": "nix-lib", + "rev": "548c00d7b27d7363b734e1cf9acb06136c1ee4cb", + "type": "github" + }, + "original": { + "owner": "ekala-project", + "repo": "nix-lib", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "corepkgs": "corepkgs", + "nix-lib": [ + "corepkgs", + "nix-lib" + ], + "systems": [ + "corepkgs", + "systems" + ] + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1786901030, + "narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 680919d..1e74749 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,30 @@ { description = "Lua packages for poly-repo Nixpkgs"; - outputs = { ... }: { - # Primary usage: import ./. {} (legacy, non-flake) - # This flake entry point is provided for convenience. - lib.eval = import ./.; + inputs = { + corepkgs.url = "github:ekala-project/corepkgs"; + nix-lib.follows = "corepkgs/nix-lib"; + systems.follows = "corepkgs/systems"; }; + + outputs = + { + corepkgs, + nix-lib, + systems, + ... + }: + let + forAllSystems = nix-lib.lib.genAttrs (import systems); + in + { + legacyPackages = forAllSystems ( + system: + import ./. { + inherit system; + } + ); + + formatter = corepkgs.formatter; + }; } diff --git a/lua-packages.nix b/lua-packages.nix index 18f4605..d8330fe 100644 --- a/lua-packages.nix +++ b/lua-packages.nix @@ -1,6 +1,5 @@ # System dependency overrides for Lua packages. # # Lua packages that require native/system libraries to build. -final: prev: -{ +final: prev: { } diff --git a/pins.nix b/pins.nix index 93a60ba..ef848c5 100644 --- a/pins.nix +++ b/pins.nix @@ -1,11 +1,19 @@ +let + # Inherit pinning from flake.lock. `fetchGit` rather than `fetchTree` keeps + # evaluation working on Nix 2.3. + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + fetchLocked = + name: + let + node = lock.nodes.${name}.locked; + in + builtins.fetchGit { + url = "https://github.com/${node.owner}/${node.repo}.git"; + inherit (node) rev; + }; +in { - core = builtins.fetchGit { - url = "https://github.com/ekala-project/corepkgs.git"; - rev = "e4dd52af6f6329bffc97ec5ec782b5b30037f701"; - }; - - lib = builtins.fetchGit { - url = "https://github.com/ekala-project/nix-lib.git"; - rev = "9acd37c8934331a3e53a099f8755101bc2a149e2"; - }; + core = fetchLocked "corepkgs"; + # `nix-lib` follows `corepkgs/nix-lib`, so use the node corepkgs points at. + lib = fetchLocked lock.nodes.corepkgs.inputs.nix-lib; } diff --git a/pkgs/argparse/default.nix b/pkgs/argparse/default.nix index 12cdd13..a55eba3 100644 --- a/pkgs/argparse/default.nix +++ b/pkgs/argparse/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "argparse"; version = "0.7.2-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/argparse-0.7.2-1.rockspec"; - sha256 = "1az7ikzll699sbz2qxq9wkm0ncmic33dhg85zqlznbnz28vy6jza"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/argparse-0.7.2-1.rockspec"; + sha256 = "1az7ikzll699sbz2qxq9wkm0ncmic33dhg85zqlznbnz28vy6jza"; + }).outPath; src = fetchzip { url = "https://github.com/luarocks/argparse/archive/0.7.2.zip"; diff --git a/pkgs/bit32/default.nix b/pkgs/bit32/default.nix index 1f8b38b..83e8d12 100644 --- a/pkgs/bit32/default.nix +++ b/pkgs/bit32/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "bit32"; version = "5.3.5.1-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/bit32-5.3.5.1-1.rockspec"; - sha256 = "11mg0hmmil92hkwamm91ghih6ys9pqsakx0z9jgnqxymnl887j51"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/bit32-5.3.5.1-1.rockspec"; + sha256 = "11mg0hmmil92hkwamm91ghih6ys9pqsakx0z9jgnqxymnl887j51"; + }).outPath; src = fetchzip { url = "https://github.com/keplerproject/lua-compat-5.3/archive/v0.10.zip"; diff --git a/pkgs/busted/default.nix b/pkgs/busted/default.nix index c6ef0ed..ecb32ea 100644 --- a/pkgs/busted/default.nix +++ b/pkgs/busted/default.nix @@ -17,10 +17,11 @@ buildLuarocksPackage { pname = "busted"; version = "2.3.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/busted-2.3.0-1.rockspec"; - sha256 = "1df41k03r0fy8l62dqywqjlxwmjhifk2krqq675w1cra28z8hb14"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/busted-2.3.0-1.rockspec"; + sha256 = "1df41k03r0fy8l62dqywqjlxwmjhifk2krqq675w1cra28z8hb14"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/compat53/default.nix b/pkgs/compat53/default.nix index 24aa0ca..80dd26b 100644 --- a/pkgs/compat53/default.nix +++ b/pkgs/compat53/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "compat53"; version = "0.14.4-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/compat53-0.14.4-1.rockspec"; - sha256 = "01ahfb6g7ibxrlvypvrsry4pwzfj978afjfa9c5w1s7ahjf95d40"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/compat53-0.14.4-1.rockspec"; + sha256 = "01ahfb6g7ibxrlvypvrsry4pwzfj978afjfa9c5w1s7ahjf95d40"; + }).outPath; src = fetchzip { url = "https://github.com/lunarmodules/lua-compat-5.3/archive/v0.14.4.zip"; diff --git a/pkgs/coxpcall/default.nix b/pkgs/coxpcall/default.nix index 507dc5e..e9bce33 100644 --- a/pkgs/coxpcall/default.nix +++ b/pkgs/coxpcall/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "coxpcall"; version = "1.17.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/coxpcall-1.17.0-1.rockspec"; - sha256 = "0mf0nggg4ajahy5y1q5zh2zx9rmgzw06572bxx6k8b736b8j7gca"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/coxpcall-1.17.0-1.rockspec"; + sha256 = "0mf0nggg4ajahy5y1q5zh2zx9rmgzw06572bxx6k8b736b8j7gca"; + }).outPath; src = fetchFromGitHub { owner = "keplerproject"; diff --git a/pkgs/cqueues/default.nix b/pkgs/cqueues/default.nix index 6649098..8deb511 100644 --- a/pkgs/cqueues/default.nix +++ b/pkgs/cqueues/default.nix @@ -3,7 +3,7 @@ fetchurl, lua, openssl, - gnum4, + m4, }: buildLuarocksPackage { pname = "cqueues"; @@ -21,10 +21,16 @@ buildLuarocksPackage { disabled = lua.luaversion != "5.2"; externalDeps = [ - { name = "CRYPTO"; dep = openssl; } - { name = "OPENSSL"; dep = openssl; } + { + name = "CRYPTO"; + dep = openssl; + } + { + name = "OPENSSL"; + dep = openssl; + } ]; - nativeBuildInputs = [ gnum4 ]; + nativeBuildInputs = [ m4 ]; meta = { homepage = "http://25thandclement.com/~william/projects/cqueues.html"; diff --git a/pkgs/dkjson/default.nix b/pkgs/dkjson/default.nix index 93b9c72..f73d43f 100644 --- a/pkgs/dkjson/default.nix +++ b/pkgs/dkjson/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "dkjson"; version = "2.8-2"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/dkjson-2.8-2.rockspec"; - sha256 = "0hr4vfmf64kvmqbnr1vx4p6gl3mmiq1hg5jd60rqwplsiaib2r67"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/dkjson-2.8-2.rockspec"; + sha256 = "0hr4vfmf64kvmqbnr1vx4p6gl3mmiq1hg5jd60rqwplsiaib2r67"; + }).outPath; src = fetchurl { url = "https://dkolf.de/dkjson-lua/dkjson-2.8.tar.gz"; diff --git a/pkgs/image-nvim/default.nix b/pkgs/image-nvim/default.nix index 4d333bf..b0d55d9 100644 --- a/pkgs/image-nvim/default.nix +++ b/pkgs/image-nvim/default.nix @@ -4,7 +4,7 @@ lib, lua, luaOlder, - luajitPackages, + magick, }: buildLuarocksPackage rec { @@ -24,7 +24,7 @@ buildLuarocksPackage rec { propagatedBuildInputs = [ lua - luajitPackages.magick + magick ]; meta = { diff --git a/pkgs/inspect/default.nix b/pkgs/inspect/default.nix index 4b5ad23..b91e8e3 100644 --- a/pkgs/inspect/default.nix +++ b/pkgs/inspect/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "inspect"; version = "3.1.3-0"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/inspect-3.1.3-0.rockspec"; - sha256 = "1iivb2jmz0pacmac2msyqwvjjx8q6py4h959m8fkigia6srg5ins"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/inspect-3.1.3-0.rockspec"; + sha256 = "1iivb2jmz0pacmac2msyqwvjjx8q6py4h959m8fkigia6srg5ins"; + }).outPath; src = fetchurl { url = "https://github.com/kikito/inspect.lua/archive/v3.1.3.tar.gz"; diff --git a/pkgs/lmpfrlib/default.nix b/pkgs/lmpfrlib/default.nix index c3b2c6f..fead65c 100644 --- a/pkgs/lmpfrlib/default.nix +++ b/pkgs/lmpfrlib/default.nix @@ -23,8 +23,14 @@ buildLuarocksPackage { disabled = luaOlder "5.3" || luaAtLeast "5.5"; externalDeps = [ - { name = "GMP"; dep = gmp; } - { name = "MPFR"; dep = mpfr; } + { + name = "GMP"; + dep = gmp; + } + { + name = "MPFR"; + dep = mpfr; + } ]; meta = { diff --git a/pkgs/lpeg/default.nix b/pkgs/lpeg/default.nix index 98c47e9..c0b5d1a 100644 --- a/pkgs/lpeg/default.nix +++ b/pkgs/lpeg/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "lpeg"; version = "1.1.0-2"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lpeg-1.1.0-2.rockspec"; - sha256 = "0g8bnsx1qkl8s1fglbdai9mznzyzf9mv5lcxjab47069b3d8caa4"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lpeg-1.1.0-2.rockspec"; + sha256 = "0g8bnsx1qkl8s1fglbdai9mznzyzf9mv5lcxjab47069b3d8caa4"; + }).outPath; src = fetchurl { url = "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz"; diff --git a/pkgs/lpeglabel/default.nix b/pkgs/lpeglabel/default.nix index e11dd9d..c9804f5 100644 --- a/pkgs/lpeglabel/default.nix +++ b/pkgs/lpeglabel/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "lpeglabel"; version = "1.6.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lpeglabel-1.6.0-1.rockspec"; - sha256 = "13gc32pggng6f95xx5zw9n9ian518wlgb26mna9kh4q2xa1k42pm"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lpeglabel-1.6.0-1.rockspec"; + sha256 = "13gc32pggng6f95xx5zw9n9ian518wlgb26mna9kh4q2xa1k42pm"; + }).outPath; src = fetchurl { url = "https://github.com/sqmedeiros/lpeglabel/archive/v1.6.0-1.tar.gz"; diff --git a/pkgs/lrexlib-oniguruma/default.nix b/pkgs/lrexlib-oniguruma/default.nix index e4fee88..def01f9 100644 --- a/pkgs/lrexlib-oniguruma/default.nix +++ b/pkgs/lrexlib-oniguruma/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "ONIG"; dep = oniguruma; } + { + name = "ONIG"; + dep = oniguruma; + } ]; meta = { diff --git a/pkgs/lrexlib-pcre/default.nix b/pkgs/lrexlib-pcre/default.nix index d36a434..e1d6b04 100644 --- a/pkgs/lrexlib-pcre/default.nix +++ b/pkgs/lrexlib-pcre/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "PCRE"; dep = pcre; } + { + name = "PCRE"; + dep = pcre; + } ]; meta = { diff --git a/pkgs/lrexlib-pcre2/default.nix b/pkgs/lrexlib-pcre2/default.nix index 70dbee6..c1f8ae5 100644 --- a/pkgs/lrexlib-pcre2/default.nix +++ b/pkgs/lrexlib-pcre2/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "PCRE2"; dep = pcre2; } + { + name = "PCRE2"; + dep = pcre2; + } ]; meta = { diff --git a/pkgs/lua-cjson/default.nix b/pkgs/lua-cjson/default.nix index 08384fb..a16bfed 100644 --- a/pkgs/lua-cjson/default.nix +++ b/pkgs/lua-cjson/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "lua-cjson"; version = "2.1.0.10-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lua-cjson-2.1.0.10-1.rockspec"; - sha256 = "05sp7rq72x4kdkyid1ch0yyscwsi5wk85d2hj6xwssz3h8n8drdg"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lua-cjson-2.1.0.10-1.rockspec"; + sha256 = "05sp7rq72x4kdkyid1ch0yyscwsi5wk85d2hj6xwssz3h8n8drdg"; + }).outPath; src = fetchFromGitHub { owner = "openresty"; diff --git a/pkgs/lua-iconv/default.nix b/pkgs/lua-iconv/default.nix index e881cc6..4e5d029 100644 --- a/pkgs/lua-iconv/default.nix +++ b/pkgs/lua-iconv/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "lua-iconv"; version = "7.0.0-4"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lua-iconv-7.0.0-4.rockspec"; - sha256 = "0j34zf98wdr6ks6snsrqi00vwm3ngsa5f74kadsn178iw7hd8c3q"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lua-iconv-7.0.0-4.rockspec"; + sha256 = "0j34zf98wdr6ks6snsrqi00vwm3ngsa5f74kadsn178iw7hd8c3q"; + }).outPath; src = fetchurl { url = "https://github.com/lunarmodules/lua-iconv/archive/v7.0.0/lua-iconv-7.0.0.tar.gz"; diff --git a/pkgs/lua-messagepack/default.nix b/pkgs/lua-messagepack/default.nix index feab37b..7d5bf82 100644 --- a/pkgs/lua-messagepack/default.nix +++ b/pkgs/lua-messagepack/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "lua-messagepack"; version = "0.5.4-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lua-messagepack-0.5.4-1.rockspec"; - sha256 = "1jygn6f8ab69z0nn1gib45wvjp075gzxp54vdmgxb3qfar0q70kr"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lua-messagepack-0.5.4-1.rockspec"; + sha256 = "1jygn6f8ab69z0nn1gib45wvjp075gzxp54vdmgxb3qfar0q70kr"; + }).outPath; src = fetchurl { url = "https://framagit.org/fperrad/lua-MessagePack/raw/releases/lua-messagepack-0.5.4.tar.gz"; diff --git a/pkgs/lua-term/default.nix b/pkgs/lua-term/default.nix index eaf9d4d..e62d03e 100644 --- a/pkgs/lua-term/default.nix +++ b/pkgs/lua-term/default.nix @@ -7,10 +7,11 @@ buildLuarocksPackage { pname = "lua-term"; version = "0.8-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lua-term-0.8-1.rockspec"; - sha256 = "1728lj3x8shc5m1yczrl75szq15rnfpzk36n0m49181ly9wxn7s0"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lua-term-0.8-1.rockspec"; + sha256 = "1728lj3x8shc5m1yczrl75szq15rnfpzk36n0m49181ly9wxn7s0"; + }).outPath; src = fetchurl { url = "https://github.com/hoelzro/lua-term/archive/0.08.tar.gz"; diff --git a/pkgs/lua_cliargs/default.nix b/pkgs/lua_cliargs/default.nix index d44cc9a..b4ebde9 100644 --- a/pkgs/lua_cliargs/default.nix +++ b/pkgs/lua_cliargs/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "lua_cliargs"; version = "3.0.2-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/lua_cliargs-3.0.2-1.rockspec"; - sha256 = "1gp3n9ipaqdk59ilqx1ci5faxmx4dh9sgg3279jb8yfa7wg5b8pf"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/lua_cliargs-3.0.2-1.rockspec"; + sha256 = "1gp3n9ipaqdk59ilqx1ci5faxmx4dh9sgg3279jb8yfa7wg5b8pf"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luacheck/default.nix b/pkgs/luacheck/default.nix index d96df58..064b4f1 100644 --- a/pkgs/luacheck/default.nix +++ b/pkgs/luacheck/default.nix @@ -11,10 +11,11 @@ buildLuarocksPackage { pname = "luacheck"; version = "1.2.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luacheck-1.2.0-1.rockspec"; - sha256 = "0jnmrppq5hp8cwiw1daa33cdn8y2n5lsjk8vzn7ixb20ddz01m6c"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luacheck-1.2.0-1.rockspec"; + sha256 = "0jnmrppq5hp8cwiw1daa33cdn8y2n5lsjk8vzn7ixb20ddz01m6c"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luacov/default.nix b/pkgs/luacov/default.nix index ee11254..8bdad4b 100644 --- a/pkgs/luacov/default.nix +++ b/pkgs/luacov/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "luacov"; version = "0.17.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luacov-0.17.0-1.rockspec"; - sha256 = "042jp0nfy3hcnbywlfp4jkrm9xpxrkggs57q616p4win9ibxcqjy"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luacov-0.17.0-1.rockspec"; + sha256 = "042jp0nfy3hcnbywlfp4jkrm9xpxrkggs57q616p4win9ibxcqjy"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luaevent/default.nix b/pkgs/luaevent/default.nix index bfab8cd..895074a 100644 --- a/pkgs/luaevent/default.nix +++ b/pkgs/luaevent/default.nix @@ -20,7 +20,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "EVENT"; dep = libevent; } + { + name = "EVENT"; + dep = libevent; + } ]; meta = { diff --git a/pkgs/luaexpat/default.nix b/pkgs/luaexpat/default.nix index a12e555..96175c8 100644 --- a/pkgs/luaexpat/default.nix +++ b/pkgs/luaexpat/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "EXPAT"; dep = expat; } + { + name = "EXPAT"; + dep = expat; + } ]; meta = { diff --git a/pkgs/luafilesystem/default.nix b/pkgs/luafilesystem/default.nix index dbea6f6..eae6733 100644 --- a/pkgs/luafilesystem/default.nix +++ b/pkgs/luafilesystem/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "luafilesystem"; version = "1.9.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luafilesystem-1.9.0-1.rockspec"; - sha256 = "1jg1w8c22hpv1jfcv6qyl3j354h1ar2qfarkiwx0c41sl90gpfrj"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luafilesystem-1.9.0-1.rockspec"; + sha256 = "1jg1w8c22hpv1jfcv6qyl3j354h1ar2qfarkiwx0c41sl90gpfrj"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/lualdap/default.nix b/pkgs/lualdap/default.nix index faf476c..0fbfe0f 100644 --- a/pkgs/lualdap/default.nix +++ b/pkgs/lualdap/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "LDAP"; dep = openldap; } + { + name = "LDAP"; + dep = openldap; + } ]; meta = { diff --git a/pkgs/luaossl/default.nix b/pkgs/luaossl/default.nix index de78f78..d430954 100644 --- a/pkgs/luaossl/default.nix +++ b/pkgs/luaossl/default.nix @@ -18,8 +18,14 @@ buildLuarocksPackage { }; externalDeps = [ - { name = "CRYPTO"; dep = openssl; } - { name = "OPENSSL"; dep = openssl; } + { + name = "CRYPTO"; + dep = openssl; + } + { + name = "OPENSSL"; + dep = openssl; + } ]; meta = { diff --git a/pkgs/luaposix/default.nix b/pkgs/luaposix/default.nix index 9720f8e..9d80e61 100644 --- a/pkgs/luaposix/default.nix +++ b/pkgs/luaposix/default.nix @@ -13,10 +13,11 @@ buildLuarocksPackage { pname = "luaposix"; version = "36.3-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luaposix-36.3-1.rockspec"; - sha256 = "0jwah6b1bxzck29zxbg479zm1sqmg7vafh7rrkfpibdbwnq01yzb"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luaposix-36.3-1.rockspec"; + sha256 = "0jwah6b1bxzck29zxbg479zm1sqmg7vafh7rrkfpibdbwnq01yzb"; + }).outPath; src = fetchzip { url = "http://github.com/luaposix/luaposix/archive/v36.3.zip"; @@ -29,7 +30,10 @@ buildLuarocksPackage { propagatedBuildInputs = lib.optionals (luaOlder "5.2") [ bit32 ]; externalDeps = [ - { name = "CRYPT"; dep = libxcrypt; } + { + name = "CRYPT"; + dep = libxcrypt; + } ]; meta = { diff --git a/pkgs/luasec/default.nix b/pkgs/luasec/default.nix index bef513b..74eceaf 100644 --- a/pkgs/luasec/default.nix +++ b/pkgs/luasec/default.nix @@ -11,10 +11,11 @@ buildLuarocksPackage { pname = "luasec"; version = "1.3.2-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luasec-1.3.2-1.rockspec"; - sha256 = "09nqs60cmbq1bi70cdh7v5xjnlsm2mrxv9pmbbvczijvz184jh33"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luasec-1.3.2-1.rockspec"; + sha256 = "09nqs60cmbq1bi70cdh7v5xjnlsm2mrxv9pmbbvczijvz184jh33"; + }).outPath; src = fetchFromGitHub { owner = "brunoos"; @@ -26,7 +27,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "OPENSSL"; dep = openssl; } + { + name = "OPENSSL"; + dep = openssl; + } ]; propagatedBuildInputs = [ luasocket ]; diff --git a/pkgs/luasocket/default.nix b/pkgs/luasocket/default.nix index 8f0f75a..4b9d1d0 100644 --- a/pkgs/luasocket/default.nix +++ b/pkgs/luasocket/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "luasocket"; version = "3.1.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luasocket-3.1.0-1.rockspec"; - sha256 = "0wg9735cyz2gj7r9za8yi83w765g0f4pahnny7h0pdpx58pgfx4r"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luasocket-3.1.0-1.rockspec"; + sha256 = "0wg9735cyz2gj7r9za8yi83w765g0f4pahnny7h0pdpx58pgfx4r"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luasql-sqlite3/default.nix b/pkgs/luasql-sqlite3/default.nix index 581a7d5..34b4e7b 100644 --- a/pkgs/luasql-sqlite3/default.nix +++ b/pkgs/luasql-sqlite3/default.nix @@ -23,7 +23,10 @@ buildLuarocksPackage { disabled = luaOlder "5.1"; externalDeps = [ - { name = "SQLITE"; dep = sqlite; } + { + name = "SQLITE"; + dep = sqlite; + } ]; meta = { diff --git a/pkgs/luassert/default.nix b/pkgs/luassert/default.nix index 0a4225a..1b43c9d 100644 --- a/pkgs/luassert/default.nix +++ b/pkgs/luassert/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "luassert"; version = "1.9.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luassert-1.9.0-1.rockspec"; - sha256 = "1bkzr03190p33lprgy51nl84aq082fyc3f7s3wkk7zlay4byycxd"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luassert-1.9.0-1.rockspec"; + sha256 = "1bkzr03190p33lprgy51nl84aq082fyc3f7s3wkk7zlay4byycxd"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luasystem/default.nix b/pkgs/luasystem/default.nix index 2c47f92..742b272 100644 --- a/pkgs/luasystem/default.nix +++ b/pkgs/luasystem/default.nix @@ -12,10 +12,11 @@ buildLuarocksPackage { pname = "luasystem"; version = "0.7.1-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luasystem-0.7.1-1.rockspec"; - sha256 = "10hnakzkyjqh6plks2wz2844l7rw619vfc5b3idqw9pndpw6fylz"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luasystem-0.7.1-1.rockspec"; + sha256 = "10hnakzkyjqh6plks2wz2844l7rw619vfc5b3idqw9pndpw6fylz"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/luaunit/default.nix b/pkgs/luaunit/default.nix index f6ed5e0..80925b6 100644 --- a/pkgs/luaunit/default.nix +++ b/pkgs/luaunit/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "luaunit"; version = "3.5-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luaunit-3.5-1.rockspec"; - sha256 = "0rn0d9ng91rhrhvzq965przpxz5xx9vfyyakscfggf8xhg9g8s9p"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luaunit-3.5-1.rockspec"; + sha256 = "0rn0d9ng91rhrhvzq965przpxz5xx9vfyyakscfggf8xhg9g8s9p"; + }).outPath; src = fetchzip { url = "https://github.com/bluebird75/luaunit/releases/download/LUAUNIT_V3_5/rock-luaunit-3.5.zip"; diff --git a/pkgs/luautf8/default.nix b/pkgs/luautf8/default.nix index 8256f40..f19417c 100644 --- a/pkgs/luautf8/default.nix +++ b/pkgs/luautf8/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "luautf8"; version = "0.2.1-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/luautf8-0.2.1-1.rockspec"; - sha256 = "0g4xkcikxd2n9scrlbjbdk9a1bbli6s5yw9l4n4b0ss49wgnmc2y"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/luautf8-0.2.1-1.rockspec"; + sha256 = "0g4xkcikxd2n9scrlbjbdk9a1bbli6s5yw9l4n4b0ss49wgnmc2y"; + }).outPath; src = fetchurl { url = "https://github.com/starwing/luautf8/archive/refs/tags/0.2.1.tar.gz"; diff --git a/pkgs/mediator_lua/default.nix b/pkgs/mediator_lua/default.nix index fa5d70e..2341ac6 100644 --- a/pkgs/mediator_lua/default.nix +++ b/pkgs/mediator_lua/default.nix @@ -8,10 +8,11 @@ buildLuarocksPackage { pname = "mediator_lua"; version = "1.1.2-0"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/mediator_lua-1.1.2-0.rockspec"; - sha256 = "0frzvf7i256260a1s8xh92crwa2m42972qxfq29zl05aw3pyn7bm"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/mediator_lua-1.1.2-0.rockspec"; + sha256 = "0frzvf7i256260a1s8xh92crwa2m42972qxfq29zl05aw3pyn7bm"; + }).outPath; src = fetchurl { url = "https://github.com/Olivine-Labs/mediator_lua/archive/v1.1.2-0.tar.gz"; diff --git a/pkgs/mpack/default.nix b/pkgs/mpack/default.nix index c81be6d..57daad5 100644 --- a/pkgs/mpack/default.nix +++ b/pkgs/mpack/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "mpack"; version = "1.0.13-0"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/mpack-1.0.13-0.rockspec"; - sha256 = "1lyjbmyj6yfv0bhyj50rpz2qm993zsbyw494j9kz4bcvxx0gqac5"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/mpack-1.0.13-0.rockspec"; + sha256 = "1lyjbmyj6yfv0bhyj50rpz2qm993zsbyw494j9kz4bcvxx0gqac5"; + }).outPath; src = fetchurl { url = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.13/libmpack-lua-1.0.13.tar.gz"; diff --git a/pkgs/penlight/default.nix b/pkgs/penlight/default.nix index 0f31a92..a381c68 100644 --- a/pkgs/penlight/default.nix +++ b/pkgs/penlight/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "penlight"; version = "1.15.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/penlight-1.15.0-1.rockspec"; - sha256 = "0m4m20vpvzkr2h9xs8q2a3wkib0jxzbkwb8hy6abxyvkm6r7fnvf"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/penlight-1.15.0-1.rockspec"; + sha256 = "0m4m20vpvzkr2h9xs8q2a3wkib0jxzbkwb8hy6abxyvkm6r7fnvf"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/readline/default.nix b/pkgs/readline/default.nix index 48548e7..1dc6555 100644 --- a/pkgs/readline/default.nix +++ b/pkgs/readline/default.nix @@ -18,10 +18,11 @@ buildLuarocksPackage { pname = "readline"; version = "3.2-0"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/readline-3.2-0.rockspec"; - sha256 = "1r0sgisxm4xd1r6i053iibxh30j7j3rcj4wwkd8rzkj8nln20z24"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/readline-3.2-0.rockspec"; + sha256 = "1r0sgisxm4xd1r6i053iibxh30j7j3rcj4wwkd8rzkj8nln20z24"; + }).outPath; src = fetchurl { url = "http://pjb.com.au/comp/lua/readline-3.2.tar.gz"; diff --git a/pkgs/say/default.nix b/pkgs/say/default.nix index fcb1200..13ee31d 100644 --- a/pkgs/say/default.nix +++ b/pkgs/say/default.nix @@ -9,10 +9,11 @@ buildLuarocksPackage { pname = "say"; version = "1.4.1-3"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/say-1.4.1-3.rockspec"; - sha256 = "0iibmq5m5092y168banckgs15ngj2yjx11n40fyk7jly4pbasljq"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/say-1.4.1-3.rockspec"; + sha256 = "0iibmq5m5092y168banckgs15ngj2yjx11n40fyk7jly4pbasljq"; + }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; diff --git a/pkgs/tiktoken_core/default.nix b/pkgs/tiktoken_core/default.nix index 50110f5..6c1702d 100644 --- a/pkgs/tiktoken_core/default.nix +++ b/pkgs/tiktoken_core/default.nix @@ -10,10 +10,11 @@ buildLuarocksPackage { pname = "tiktoken_core"; version = "0.2.5-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/tiktoken_core-0.2.5-1.rockspec"; - sha256 = "17bii1zxxkff0wwsgap4ni1k6ypbrbq5vfs7l34m0n78imx7c2l1"; - }).outPath; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/tiktoken_core-0.2.5-1.rockspec"; + sha256 = "17bii1zxxkff0wwsgap4ni1k6ypbrbq5vfs7l34m0n78imx7c2l1"; + }).outPath; src = fetchFromGitHub { owner = "gptlang";