Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on luarocks. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/luarocks.e> # or at <http://angg.twu.net/e/luarocks.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # Install with: # (find-es "lua5" "luarocks-git") # «.debian» (to "debian") # «.debian-package-fmitha» (to "debian-package-fmitha") # «.luarocks-switch-version» (to "luarocks-switch-version") # «.lua-vs-python-luarocks» (to "lua-vs-python-luarocks") # «.config» (to "config") # «.path» (to "path") # «.path-debugger» (to "path-debugger") # «.LUAROCKS_DO» (to "LUAROCKS_DO") # «.global-dirs» (to "global-dirs") ##### # # debian # 2023nov04 # ##### # «debian» (to ".debian") # (find-status "luarocks") # (find-vldifile "luarocks.list") # (find-udfile "luarocks/") # (find-fline "/etc/luarocks/config.lua") # (find-fline "/usr/bin/luarocks") # (find-fline "/usr/bin/luarocks-admin") ##### # # debian-package-fmitha # 2020jan18 # ##### # «debian-package-fmitha» (to ".debian-package-fmitha") # https://github.com/luarocks/luarocks/issues/1033 Hi fmitha, well, I am interested in working on that, for several reasons... I want to learn more about luarocks and about the new ways of creating Debian packages (<- short-term goals), I want to earn karma points with the luarocks developers (a medium-term goal), I want to have better support for luarocks in Debian (long-term (?) goal), and I want to produce "executable notes" for most of that, in the sense of this presentation, http://angg.twu.net/emacsconf2019.html mainly the ideas between 14:18 and 16:34... What parts of the package have you done? Do you have a skeleton that needs a lot of work, or not even that? Cheers! Eduardo Ochs http://angg.twu.net/dednat6.html http://angg.twu.net/emacsconf2019.html http://angg.twu.net/#eev http://angg.twu.net/contact.html Can y ; I sent some e-mails to the lua mailing list ##### # # Switch between the luarocks from Debian and from git # 2020jan16 # ##### # «luarocks-switch-version» (to ".luarocks-switch-version") # (find-sh "find ~/.cache/luarocks/ ~/.luarocks/ | sort") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-get remove luarocks # Clean all the stuff from previous uses of luarocks rm -Rfv ~/.cache/luarocks/ rm -Rfv ~/.luarocks/ cd ~/usrc/luarocks/ export PAGER=cat git branch --list -a git checkout 3.2.1 git reset ./configure make sudo make install which luarocks luarocks --version * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/luarocks/ sudo make uninstall # Clean all the stuff from previous uses of luarocks rm -Rfv ~/.cache/luarocks/ rm -Rfv ~/.luarocks/ sudo apt-get install luarocks which luarocks luarocks --version export PATH=/usr/local/bin:$PATH which luarocks luarocks --version luarocks --local install luasec apti libssl-dev locate openssl/ssl.h ##### # # "[Lua vs Python] Luarocks" - an e-mail to lua-l # 2020jan18 # ##### # «lua-vs-python-luarocks» (to ".lua-vs-python-luarocks") # https://mail.google.com/mail/ca/u/0/?q=lua-l#sent/KtbxLvHHlTCVCsXtfbJdrKTFvddLflQdNV # http://lua-users.org/lists/lua-l/2020-01/msg00144.html [Lua vs Python] Luarocks Hi list, here are my 2 cents about the Lua vs Python discussion - in a new thread. 1) It is unrealistic to ask Roberto and Luiz to choose among rocks that they've never used and bless some of them. Some people use luarocks very little or not at all, and Roberto and Luiz may be some of these people. 2) At this moment it is not very easy to play with a new rock - and it should be!!! Let me give an example. A few days ago I realized that I could find a certain bug easily if I had a debugger - I do have functions that start REPLs and inspect stack frames, but they are quick hacks that I wrote myself and they're not very good, so I went to luarocks.org and got this listing: https://luarocks.org/search?q=debug I chose "debugger", and did: luarocks --local install debugger and discovered that now I have these files: ~/.luarocks/lib/luarocks/rocks/debugger/scm-1/doc/README.md ~/.luarocks/share/lua/5.1/debugger.lua which is great - this one comes with docs, I don't need to fetch the source package! - so I did this, lua5.1 userocks() -- defined in my LUA_INIT file require "debugger" -- ...I and got this error: -- stdin:1: module 'debugger' not found: [blabla many lines] Voila! Another rock that doesn't work out of the box for me... 3) A few days ago I complained that "luarocks unpack" does not work on my Debian box. My messages are here: http://lua-users.org/lists/lua-l/2020-01/msg00099.html http://lua-users.org/lists/lua-l/2020-01/msg00101.html http://lua-users.org/lists/lua-l/2020-01/msg00114.html In an ideal world the problem that I reported in (3) would be considered EXTREMELY URGENT - *everybody* would know that the first step towards getting 25 millions of Lua users is to have impeccable batteries, and the first step towards that is to make luarocks both super user-friendly and super hacker-friendly... trying a rock should be something incredibly easy for all kinds of people, including people who want to look at the source!!! WE NEED AN ARMY OF LUAROCKS HACKERS. Cheers, Eduardo Ochs http://angg.twu.net/dednat6.html http://angg.twu.net/emacsconf2019.html http://angg.twu.net/#eev ##### # # config # 2020jan18 # ##### # «config» (to ".config") # (find-es "lua5" "luarocks.loader") # (find-sh "locate luarocks | grep config") # (find-luarocksfile "") # (find-luarocksfile ".luarocks/") # (find-luarocksfile ".luarocks/config-5.3.lua") # (find-luarocksfile ".luarocks/default-lua-version.lua") # (find-fline "/etc/luarocks/config.lua") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) luarocks luarocks config luarocks help config luarocks config luarocks config --lua-incdir luarocks config --lua-libdir luarocks config --lua-ver luarocks config --system-config luarocks config --user-config luarocks config --rock-trees ##### # # path # 2020jan18 # ##### # «path» (to ".path") # (find-angg "LUA/lua50init.lua" "userocks") # (find-angg "LUA/Path.lua") * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) = Path.from "path" = Path.from "cpath" * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) luarocks luarocks help luarocks help path luarocks path luarocks path --lr-path luarocks path --lr-cpath luarocks path --lr-bin luarocks path --lr-path | tr ';' '\n' luarocks path --lr-cpath | tr ';' '\n' luarocks path --lr-bin | tr ';' '\n' luarocks list luarocks help luarocks show debugger * (eepitch-lua52) * (eepitch-kill) * (eepitch-lua52) = getoutput "luarocks path --lr-path" = getoutput "luarocks path --lr-cpath" = getoutput "luarocks path --lr-bin" = package.path = package.cpath package.path = getoutput("luarocks path --lr-path")..";;" require "lpegrex" p = Path.from "path" p:find "lpegrex" = Path.find("path", "lpegrex") Package.path ##### # # path-debugger # 2020jan23 / 2023dec16 # ##### # «path-debugger» (to ".path-debugger") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) luarocks help luarocks help path luarocks path luarocks path --lr-path luarocks path --lr-cpath luarocks path --lr-bin luarocks help luarocks help show luarocks help config luarocks config luarocks config --lua-incdir luarocks config --lua-libdir luarocks config --lua-ver luarocks config --system-config luarocks config --user-config luarocks config --rock-trees luarocks config luarocks show debugger luarocks path --lr-path | tr ';' '\n' luarocks path --lr-cpath | tr ';' '\n' * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) = package.path = (package.path:gsub(";", "\n")) require "debugger" addpath = function (p) package.path = ee_expand(p)..";"..package.path end addcpath = function (p) package.cpath = ee_expand(p)..";"..package.cpath end addpath "~/.luarocks/share/lua/5.1/?.lua" addpath "~/.luarocks/share/lua/5.1/?/init.lua" require "debugger" ##### # # LUAROCKS_DO # 2020jan19 # ##### # «LUAROCKS_DO» (to ".LUAROCKS_DO") # (find-angg "LUA/luarocks-extra.lua") Hi Dennis! > More than Luarocks being broken, it often seems to me that many rocks > are just broken and nobody notices, be it because the author doesn't > even use Luarocks or that it's just a personal project turned rock > because why not and nobody cares if the version that's on the internet > doesn't work as long as there's some quick hack to get it working when > needed. > > There could be many solutions for this problem; but all of them would > require rock authors to spend more time on things that aren't actually > code and that seems like something the average rock author doesn't want > to be bothered with, like setting up CI/CD on github or even just > manually checking that a given project state installs cleanly on a new > system (VM, container, etc.). Let me disagree! =) Debian has this: https://packages.debian.org/sid/python-apt I've never been able to use it - my brain is wired in a way that makes Python too hard for me - but I have the impression that if luarocks could be made a bit more hackeable then the people who are complaining that Lua's batteries are a mess would change their attitude completely... they would change the tone of their messages and they would start sending things like "hey, I wrote this script here that performs the tests such and such in the latest version of all the existing rocks, and I just discovered that 20% of them fail this test here..." By the way, the last line of /usr/bin/luarocks is: command_line.run_command(...) I've just added these two lines before that one, local myfile = os.getenv "LUAROCKS_DO" if myfile and myfile ~= "" then dofile(myfile) end and I am starting to play with that. My first (super-trivial) tests are here: http://angg.twu.net/LUA/luarocks-extra.lua.html Cheers, Eduardo Ochs http://angg.twu.net/dednat6.html http://angg.twu.net/emacsconf2019.html http://angg.twu.net/#eev ##### # # The permissions in the global directories # 2020jun03 # ##### # «global-dirs» (to ".global-dirs") # (find-man "1 chown") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ luarocks --local remove debugger luarocks install debugger |& tee olid # (find-fline "/tmp/olid") # Error: /usr/local/lib/luarocks/rocks-5.1 does not exist and your # user does not have write permissions in /usr/local/lib -- you may # want to run as a privileged user or use your local tree with # --local. sudo mkdir /usr/local/lib/luarocks sudo chown edrx:edrx /usr/local/lib/luarocks luarocks install debugger |& tee olid # (find-fline "/tmp/olid") # Error: Your user does not have write permissions in # /usr/local/share/lua/5.1 -- you may want to run as a privileged user # or use your local tree with --local. sudo rm -Rfv /usr/local/lib/luarocks # (I gave up) # (find-status "luarocks") # (find-vldifile "luarocks.list") # (find-udfile "luarocks/") # (find-asrootfile "/usr/bin/" "luarocks") # Local Variables: # coding: utf-8-unix # End: