Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow to run luarocks test #81067

Merged
merged 3 commits into from
Feb 27, 2020
Merged

allow to run luarocks test #81067

merged 3 commits into from
Feb 27, 2020

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.
@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants