Skip to content

allow to run luarocks test#81067

Merged
teto merged 3 commits intoNixOS:masterfrom
teto:lua_fix
Feb 27, 2020
Merged

allow to run luarocks test#81067
teto merged 3 commits intoNixOS:masterfrom
teto:lua_fix

Conversation

@teto
Copy link
Member

@teto teto commented Feb 25, 2020

3 changes:

  • luarocks 3.X introduced a testing infra. Almost no package support it and I've had issues with the few that have, thus tests default to off. I managed today to find the issues in argparse for instance so I hope to be able to turn the flag on in a future release.

  • Patchshebangs posed problem when overriding some sources since it tried to write on readonly folders. Also it slows the install as it goes through the folder structure. I am not sure why I put it there in the first place but that looks bad and packages should be responsible for calling it I believe. I am afraid it may create some regressions but I don't have the necessary space to run a nixpkgs-review

  • When looking at luaPackages.luv: cleanup build #80528, I noticed the lua infra doesn't work well with the cmake based lua packages. This isnot mandatory per se but having a structured attrset instead of a string looks better.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

It can be source of trouble for some read-only folders (libluv for
instance) and slow down install.
@ofborg ofborg bot added the 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. label Feb 25, 2020
@ofborg ofborg bot requested review from lblasc and vcunat February 25, 2020 23:41
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Feb 25, 2020
@teto teto mentioned this pull request Feb 26, 2020
10 tasks
@teto
Copy link
Member Author

teto commented Feb 27, 2020

nixpkgs-review looks fine, the error being unrelated

builder for '/nix/store/8s5irass71gil6bpgv1fbaz18n7zmh89-luajit-2.1.0-beta3-luaexpat-1.3.0-1.drv' failed with exit code 1; last 
10 log lines:
  gcc -O2 -fPIC -I/nix/store/1m8vh1byjnjmjkpdidcqc37cykgsqjap-luajit-2.1.0-beta3/include/luajit-2.1 -c src/lxplib.c -o src/lxpli
b.o -I/nix/store/hwmn1bvijhn57c2mjr7r3c1c56vwv7yv-expat-2.2.8-dev/include -Isrc/
  �[1msrc/lxplib.c:593:13:�[22m �[1;31merror: �[22;39mstatic declaration of '�[1mluaL_setfuncs�[22m' follows non-static declaration
    593 | static void �[1;31mluaL_setfuncs�[22;39m (lua_State *L, const luaL_Reg *l, int nup) {
        |             �[1;31m^~~~~~~~~~~~~
�[22;39m  In file included from �[1msrc/lxplib.c:15�[22m:
  �[1m/nix/store/1m8vh1byjnjmjkpdidcqc37cykgsqjap-luajit-2.1.0-beta3/include/luajit-2.1/lauxlib.h:88:18:�[22m �[1;36mnote: �[22;39mprevious declaration 
of '�[1mluaL_setfuncs�[22m' was here
     88 | LUALIB_API void (�[1;36mluaL_setfuncs�[22;39m) (lua_State *L, const luaL_Reg *l, int nup);
        |                  �[1;36m^~~~~~~~~~~~~
�[22;39m  
  Error: Build error: Failed compiling object src/lxplib.o
cannot build derivation '/nix/store/g55ycpab120hz0gnj7ba83h2426yhmyr-env.drv': 1 dependencies couldn't be built
[�[1;32m366�[22;39m built (�[1;31m1 failed�[22;39m), �[1;32m1217�[22;39m copied (�[1;32m5322.3�[22;39m MiB), �[1;32m1184.6�[22;39m MiB DL]
�[1;31merror:�[22;39m build of '/nix/store/g55ycpab120hz0gnj7ba83h2426yhmyr-env.drv' failed
�[32mhttps://github.com/NixOS/nixpkgs/pull/81067
�[31m12 package marked as broken and skipped:
lua51Packages.digestif lua52Packages.digestif lua52Packages.ltermbox lua53Packages.ljsyscall lua53Packages.ltermbox lua53Package
s.luabitop lua53Packages.vstruct luaPackages.digestif luaPackages.ltermbox luajitPackages.digestif luajitPackages.ltermbox luaji
tPackages.luaffi

1 package failed to build:
luajitPackages.luaexpat

�[39m327 package built:
awesome celluloid curseradio deepin.dde-file-manager deepin.deepin-movie-reborn deepin.startdde gnvim jftui knot-resolver lua51P
ackages.alt-getopt lua51Packages.ansicolors lua51Packages.argparse lua51Packages.basexx lua51Packages.binaryheap lua51Packages.b
it32 lua51Packages.busted lua51Packages.cassowary lua51Packages.cjson lua51Packages.compat53 lua51Packages.cosmo lua51Packages.c
oxpcall lua51Packages.cqueues lua51Packages.cyrussasl lua51Packages.dkjson lua51Packages.fifo lua51Packages.http lua51Packages.i
nspect lua51Packages.ldoc lua51Packages.lgi lua51Packages.linenoise lua51Packages.ljsyscall lua51Packages.lpeg lua51Packages.lpe
g_patterns lua51Packages.lpeglabel lua51Packages.lpty lua51Packages.lrexlib-gnu lua51Packages.lrexlib-pcre lua51Packages.lrexlib
-posix lua51Packages.ltermbox lua51Packages.lua-cmsgpack lua51Packages.lua-iconv lua51Packages.lua-lsp lua51Packages.lua-message
pack lua51Packages.lua-term lua51Packages.lua-toml lua51Packages.lua-yajl lua51Packages.lua-zlib lua51Packages.lua_cliargs lua51
Packages.luabitop lua51Packages.luacheck lua51Packages.luacov lua51Packages.luadbi lua51Packages.luadbi-mysql lua51Packages.luad
bi-postgresql lua51Packages.luadbi-sqlite3 lua51Packages.luadoc lua51Packages.luaepnf lua51Packages.luaevent lua51Packages.luaex
pat lua51Packages.luaffi lua51Packages.luafilesystem lua51Packages.lualogging lua51Packages.luaossl lua51Packages.luaposix lua51
Packages.luarepl lua51Packages.luasec lua51Packages.luasocket lua51Packages.luasql-sqlite3 lua51Packages.luassert lua51Packages.
luasystem lua51Packages.luautf8 lua51Packages.luazip lua51Packages.luuid lua51Packages.luv lua51Packages.markdown lua51Packages.
mediator_lua lua51Packages.moonscript lua51Packages.mpack lua51Packages.nvim-client lua51Packages.penlight lua51Packages.rapidjs
on lua51Packages.say lua51Packages.std__debug lua51Packages.std_normalize lua51Packages.stdlib lua51Packages.vstruct luaPackages
.alt-getopt luaPackages.ansicolors luaPackages.argparse luaPackages.basexx luaPackages.binaryheap luaPackages.bit32 luaPackages.
busted luaPackages.cassowary luaPackages.cjson luaPackages.compat53 luaPackages.cosmo luaPackages.coxpcall luaPackages.cqueues l
uaPackages.cyrussasl luaPackages.dkjson luaPackages.fifo luaPackages.http luaPackages.inspect luaPackages.ldoc luaPackages.lgi l
uaPackages.linenoise luaPackages.ljsyscall luaPackages.lpeg luaPackages.lpeg_patterns luaPackages.lpeglabel luaPackages.lpty lua
Packages.lrexlib-gnu luaPackages.lrexlib-pcre luaPackages.lrexlib-posix luaPackages.lua-cmsgpack luaPackages.lua-iconv luaPackag
es.lua-lsp luaPackages.lua-messagepack luaPackages.lua-term luaPackages.lua-toml luaPackages.lua-yajl luaPackages.lua-zlib luaPa
ckages.lua_cliargs luaPackages.luabitop luaPackages.luacheck luaPackages.luacov luaPackages.luadbi luaPackages.luadbi-mysql luaP
ackages.luadbi-postgresql luaPackages.luadbi-sqlite3 luaPackages.luadoc luaPackages.luaepnf luaPackages.luaevent luaPackages.lua
expat luaPackages.luaffi luaPackages.luafilesystem luaPackages.lualogging luaPackages.luaossl luaPackages.luaposix luaPackages.l
uarepl luaPackages.luasec luaPackages.luasocket luaPackages.luasql-sqlite3 luaPackages.luassert luaPackages.luasystem luaPackage
s.luautf8 luaPackages.luazip luaPackages.luuid luaPackages.luv luaPackages.markdown luaPackages.mediator_lua luaPackages.moonscr
ipt luaPackages.mpack luaPackages.nvim-client luaPackages.penlight luaPackages.rapidjson luaPackages.say luaPackages.std__debug 
luaPackages.std_normalize luaPackages.stdlib luaPackages.vstruct lua53Packages.alt-getopt lua53Packages.ansicolors lua53Packages
.argparse lua53Packages.basexx lua53Packages.binaryheap lua53Packages.bit32 lua53Packages.busted lua53Packages.cassowary lua53Pa
ckages.cjson lua53Packages.compat53 lua53Packages.cosmo lua53Packages.coxpcall lua53Packages.cqueues lua53Packages.cyrussasl lua
53Packages.digestif lua53Packages.dkjson lua53Packages.fifo lua53Packages.http lua53Packages.inspect lua53Packages.ldoc lua53Pac
kages.lgi lua53Packages.linenoise lua53Packages.lpeg lua53Packages.lpeg_patterns lua53Packages.lpeglabel lua53Packages.lpty lua5
3Packages.lrexlib-gnu lua53Packages.lrexlib-pcre lua53Packages.lrexlib-posix lua53Packages.lua-cmsgpack lua53Packages.lua-iconv 
lua53Packages.lua-lsp lua53Packages.lua-messagepack lua53Packages.lua-term lua53Packages.lua-toml lua53Packages.lua-yajl lua53Pa
ckages.lua-zlib lua53Packages.lua_cliargs lua53Packages.luacheck lua53Packages.luacov lua53Packages.luadbi lua53Packages.luadbi-
mysql lua53Packages.luadbi-postgresql lua53Packages.luadbi-sqlite3 lua53Packages.luadoc lua53Packages.luaepnf lua53Packages.luae
vent lua53Packages.luaexpat lua53Packages.luaffi lua53Packages.luafilesystem lua53Packages.lualogging lua53Packages.luaossl lua5
3Packages.luaposix lua53Packages.luarepl lua53Packages.luasec lua53Packages.luasocket lua53Packages.luasql-sqlite3 lua53Packages
.luassert lua53Packages.luasystem lua53Packages.luautf8 lua53Packages.luazip lua53Packages.luuid lua53Packages.luv lua53Packages
.markdown lua53Packages.mediator_lua lua53Packages.moonscript lua53Packages.mpack lua53Packages.nvim-client lua53Packages.penlig
ht lua53Packages.rapidjson lua53Packages.say lua53Packages.std__debug lua53Packages.std_normalize lua53Packages.stdlib luajitPac
kages.alt-getopt luajitPackages.ansicolors luajitPackages.argparse luajitPackages.basexx luajitPackages.binaryheap luajitPackage
s.bit32 luajitPackages.busted luajitPackages.cassowary luajitPackages.cjson luajitPackages.compat53 luajitPackages.cosmo luajitP
ackages.coxpcall luajitPackages.cqueues luajitPackages.cyrussasl luajitPackages.dkjson luajitPackages.fifo luajitPackages.http l
uajitPackages.inspect luajitPackages.ldoc luajitPackages.lgi luajitPackages.linenoise luajitPackages.ljsyscall luajitPackages.lp
eg luajitPackages.lpeg_patterns luajitPackages.lpeglabel luajitPackages.lpty luajitPackages.lrexlib-gnu luajitPackages.lrexlib-p
cre luajitPackages.lrexlib-posix luajitPackages.lua-cmsgpack luajitPackages.lua-iconv luajitPackages.lua-lsp luajitPackages.lua-
messagepack luajitPackages.lua-term luajitPackages.lua-toml luajitPackages.lua-yajl luajitPackages.lua-zlib luajitPackages.lua_c
liargs luajitPackages.luabitop luajitPackages.luacheck luajitPackages.luacov luajitPackages.luadbi luajitPackages.luadbi-mysql l
uajitPackages.luadbi-postgresql luajitPackages.luadbi-sqlite3 luajitPackages.luadoc luajitPackag
�[mes.luaepnf luajitPackages.luaevent luajitPackages.luafilesystem luajitPackages.lualogging luajitPackages.luaossl luajitPackages.
luaposix luajitPackages.luarepl luajitPackages.luasec luajitPackages.luasocket luajitPackages.luasql-sqlite3 luajitPackages.luas
sert luajitPackages.luasystem luajitPackages.luautf8 luajitPackages.luazip luajitPackages.luuid luajitPackages.luv luajitPackage
s.markdown luajitPackages.mediator_lua luajitPackages.moonscript luajitPackages.mpack luajitPackages.nvim-client luajitPackages.
penlight luajitPackages.rapidjson luajitPackages.say luajitPackages.std__debug luajitPackages.std_normalize luajitPackages.stdli
b luajitPackages.vstruct luakit minitube mpc-qt mpv mpv-with-scripts mudlet neovim-qt neovim-unwrapped plex-media-player prosody
 python37Packages.mpv python38Packages.mpv quvi sile vis wordgrinder z-lua

@teto teto merged commit 7f821b3 into NixOS:master Feb 27, 2020
dtzWill pushed a commit to dtzWill/nixpkgs that referenced this pull request Feb 27, 2020
- introduce a default checkPhase for lua (disabled by default)
- dont apply patchShebangs on the whole lua package; hopefulyl it doesnt break stuff

(cherry picked from commit 7f821b3)
@teto teto deleted the lua_fix branch December 31, 2023 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants