44 Commits

Author SHA1 Message Date
Marc Jakobi 4267c71982 lua5_5: build linux target 2026-01-30 15:33:40 +01:00
Marc Jakobi 05159343ea lua5_5: init at 5.5.0 2026-01-02 20:23:45 +01:00
Wolfgang Walther 5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Winter bf74f38c0f lua5_{2,4}: unbreak on darwin when __structuredAttrs is enabled 2025-05-11 00:39:10 -04:00
Peder Bergebakken Sundt 5aba99242e treewide: fix typos in comments
Made with

```shell
git restore .
fd '\.nix$' pkgs/ --type f -j1 -x bash -xc "$(cat <<"EOF"
    typos --no-check-filenames --write-changes "$1"
    git diff --exit-code "$1" && exit
    #( git diff "$1" | grep -qE "^\+ +[^# ]") && git restore "$1"
    count1="$( bat --language nix --diff --style changes "$1" --theme "Monokai Extended" --color always | aha --no-header | grep -E '^<span style="color:olive;">~</span> ' | wc -l )"
    count2="$( bat --language nix --diff --style changes "$1" --theme "Monokai Extended" --color always | aha --no-header | grep -E '^<span style="color:olive;">~</span> (<span style="color:#f8f8f2;"> *</span>)?<span style="color:#75715e;">.*</span>$' | wc -l )"
    [[ $count1 -ne $count2 ]] && git restore "$1"
EOF
)" -- {}
```

and filtered with `GIT_DIFF_OPTS='--unified=15' git -c interactive.singleKey=true add --patch`

I initially tried using the tree-sitter cli, python bindings and even ast-grep through various means, but this is what I ended up with.
2025-02-24 10:44:41 +01:00
Wolfgang Walther 7fea091aa8 {lua-5,luajit}: fix missing @ lua @ reference in utils.sh 2025-01-26 16:47:16 +01:00
Silvan Mosberger 667d42c00d treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
      --argstr baseRev 57b193d8dd
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:27:17 +01:00
AwesomeQubic ea61f604da lua: set mainProgram (#352347) 2024-10-31 00:30:40 +01:00
Artturin e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Matthieu C. 665f3f694b lua: take into propagated-build-inputs when building LUA_PATH
so far we ignored propagated-build-inputs
2024-06-12 15:31:04 +02:00
Matthieu C. 6427d04c23 lua:: reworked setup-hook to source utils.sh
which contains lua shell utilities that can be reused during the
creation of an environment.
Makes sense because the generation of LUA_PATH is a bit different than
other ecosystems.
2024-05-01 00:18:44 +02:00
Matthieu Coudron 640cdcb814 lua: smarter/more correct patching
In order to have the 'reset' LUA_PATH (aka `;;`) work, and for purity
reasons(removing /usr paths) we(I) decided to patch the lua interpreters default LUA_PATH.
Turns out the interpreters have different defaults and the patch was too
coarse.
There is smarter patching that can be done via LUA_ROOT.

Also luajit doesn't need patching at all since LUA_ROOT is set via the
build system.
2024-03-16 14:37:09 +01:00
Vladimír Čunát f5eed8de6a Merge #224295: lua: split manual into separate output
...into staging
2023-12-13 10:41:30 +01:00
Matthieu Coudron 79245fc3e7 lua: use finalAttrs for interpreters (#264381) 2023-11-23 10:19:14 +01:00
Felix Buehler 6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
Dmitry Bogatov 496a143d84 Update pkgs/development/interpreters/lua-5/interpreter.nix
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-06-06 11:27:43 +00:00
Dmitry Bogatov c0bc18bf2f lua: split manual into separate output
Also, make sure that "doc" outputs of different versions of lua are
co-installable, so user can install multiple manuals and read them
side-by-side.
2023-04-01 20:31:59 -04:00
Luna Nova 02fa99fd08 lua_5_3_compat, lua_5_4_compat: set LUA_COMPAT_5_x as LUA_COMPAT_ALL was removed
Fixes NixOS#218227
2023-02-28 01:56:06 +01:00
Sandro Jäckel b374880027 interpreters/lua: replace sourceVersion with lib.versions 2022-12-22 05:14:31 +01:00
Daniel Nagy cfce957d4f treewide: more meta changelog urls and mainPrograms (#200062)
* turbovnc: add changelog url

* memray: add changelog url

* ddcutil: add changelog url

* jc: add changelog url

* zed: add changelog url

* lua: use https homepage

* sil: use https url

* the-powder-toy: use https homepage

* tldr: add changelog url

* openjpeg: add changelog url

* scheme48: use https homepage

* bubblewrap: set meta.mainProgram

* zbar: set meta.mainProgram

* qpdf: add changelog url

* nvtop: set meta.mainProgram

* squashfs: add meta.mainProgram
2022-11-09 16:41:13 +01:00
Artturin 39571bd6fa luaPackages: copy passthruFun from python 2022-08-26 20:55:30 +03:00
Artturin ec35f6341b lua-packages: try splicing 2022-08-26 20:04:02 +03:00
Vladimír Čunát 4ddea71bbd Re-Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
This reverts commit 9f4060c552.
After the previous merge commit this should work now.
2022-05-23 10:28:05 +02:00
Vladimír Čunát 9f4060c552 Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
This reverts commit 92f4c6ed82.
On aarch64-darwin this completely broke lua instead of improving it;
let's revert at least until that's resolved.
https://github.com/NixOS/nixpkgs/pull/172749#issuecomment-1133759233
2022-05-22 15:45:36 +02:00
Jeremy Wall 92f4c6ed82 lua: fix on darwin by using makeBinaryWrapper (#172749) 2022-05-17 09:45:38 +00:00
Artturin 1d93a080a6 lua: add conditional to use linux-readline as the plat on 5.4+
since 5.4 linux plat no longer builds with readline support

Closes https://github.com/NixOS/nixpkgs/issues/141701
2021-10-16 20:18:59 +02:00
Matthieu Coudron 496b8abf78 Apply suggestions from code review
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-09-12 03:03:56 +02:00
Matthieu Coudron 88842910b5 lua: introduced a lua lib
Goal is to improve separation between packages and utilities.
Can help with autocompletion/navigate nixpkgs faster.
Also it will help standardize how LUA_PATH is exported across packages,
so that one can more easily make lua changes across nixpkgs (for
    instance changing where lua modules are installed).
2021-09-12 03:03:56 +02:00
Marco A L Barbosa 8f8b8d5000 lua: support static only builds 2021-06-22 11:34:33 -03:00
Alyssa Ross 665732d877 lua: fix linkage
This fixes a couple of problems:

 * Lua 5.1 doesn't have SYSLIBS, so wasn't being linked with any
   libraries.

 * SYSLIBS doesn't include -lm, so we had to add that manually to
   pkgconfig.  LIBS includes -lm, so we don't need that hack any more.
2021-05-15 09:33:46 -07:00
Alyssa Ross 399223fdf7 Revert "lua5_*: tweak linking libraries"
This reverts commit 539ad4f811.

The correct fix here is to fix our addition to the Makefile.
2021-05-15 09:33:46 -07:00
Vladimír Čunát 539ad4f811 lua5_*: tweak linking libraries
All liblua.so were missing a library or two;
I'm not sure if there's a better way to add them.  Check:
ldd -r ./result/lib/liblua.so
2021-05-15 09:36:05 +02:00
Vladimír Čunát 55282bd6f6 lua5_1: fixup a recent regression
Commit 57832e625c (PR #119860) switched to using SYSCFLAGS,
but lua 5.1 calls it MYCFLAGS.  We noticed due to broken luarocks build:
https://hydra.nixos.org/build/142663274
2021-05-14 22:08:38 +02:00
Alyssa Ross 25d4f0d334 lua: use stdenv.cc.targetPrefix
This evaluates to an empty string when not cross compiling, so by
using this instead of stdenv.hostPlatform.config we can eliminate a
conditional.
2021-04-19 16:58:32 +00:00
Alyssa Ross 34f8d7e15a lua: one dso patch to rule them all
We do this same patch in three different ways for four different Lua
versions, even though the structure of the Makefile barely changes
between releases.  We can easily consolidate this by just modifying
the Makefile ourselves instead of using patches (Makefiles are very
amenable to this).
2021-04-19 16:58:26 +00:00
Alyssa Ross 936b27b5d4 lua: support non-Linux non-Darwin operating systems 2021-04-19 13:05:06 +00:00
Alyssa Ross 57832e625c lua: don't always set LUA_USE_LINUX
This is supposed to be automatically set by Lua's Makefile if PLAT is
set appropriately, but it was being overridden by us overridding
CFLAGS.  Setting it manually was a hack.  The correct thing to do was
to make sure SYSCFLAGS (where Lua's Makefile puts LUA_USE_LINUX) was
still included in our custom CFLAGS.
2021-04-19 12:57:35 +00:00
jakobrs 460b9f53b2 lua: Add more symlinks to lua.pc
This creates a symlink to lua.pc for every name of the file used by Arch:

For a version of Lua (for example, 5.4) we now have:
- lib/pkgconfig/lua.pc
- lib/pkgconfig/lua-5.4.pc
- lib/pkgconfig/lua5.4.pc
- lib/pkgconfig/lua54.pc
2021-01-24 11:01:04 +01:00
Ben Siraphob 001c0cbe54 pkgs/development/interpreters: stdenv.lib -> lib 2021-01-23 20:29:03 +07:00
Michael Reilly 84cf00f980 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Chuck d13360bfb7 lua5: Fix src URLs
The 672c3c1d2a refactor accidentally
dropped the last version component from the source URLs.  This change
puts its back.

$ for lua in lua5_{1,2,3};do nix-instantiate --json --eval . -A $lua.src.urls | jq -r '.[]' | xargs nix-prefetch-url; done

Before this change:

lua-5.1.tar.gz 1hbjhh211p82vhwqhx4mmhmvhv56060acnka80gbmfdk3q3bjnvz (wrong hash because this is lua 5.1.0.  We want 5.1.5 )
lua-5.2.tar.gz HTTP error 404
lua-5.3.tar.gz HTTP error 404

After this change:

lua-5.1.5.tar.gz 0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16
lua-5.2.4.tar.gz 0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr <-- Desired hash
lua-5.3.5.tar.gz 1b2qn2rv96nmbm6zab4l877bd4zq7wpwm8drwjiy2ih4jqzysbhc

Converted to base16 with `nix-hash --type sha256 --to-base16`:

lua-5.1.5.tar.gz 2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333 <-- Desired hash
lua-5.2.4.tar.gz b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b
lua-5.3.5.tar.gz 0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac <-- Desired hash
2020-01-31 18:00:45 -08:00
Vika 68847aeef4 lua: fix cross-compilation; fixes #66742
The makefile isn't able to find the toolchain when cross-compiling. I
helped it a little bit by adding the parameters explicitly.
2019-08-19 12:04:26 +03:00
Will Dietz 4e09baaaa2 fix lua53Packages.lua 2019-04-27 13:39:43 -05:00
Matthieu Coudron 672c3c1d2a lua: merge lua5.X interpreters (#59919)
lua: merge lua5.X interpreters

similar to what was done for python.
Makes it easier to change the passthru settings and the lua infrastructure.
2019-04-27 22:00:12 +09:00