Changes between Version 10 and Version 11 of Ticket #70420, comment 9


Ignore:
Timestamp:
Aug 8, 2024, 1:43:57 AM (6 weeks ago)
Author:
wryfi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #70420, comment 9

    v10 v11  
    8181So in summary:
    8282
    83 1. The `lua` port decides for you what version of lua (currently 5.3) will be the default lua on your system.
    84   a. Note that all C libraries including `lua.h` will build against that version without extra care.
    85 1. There is no facility to manage which version of lua is used as the system default.
    86 1. Any port that depends on `lua` installs and makes the `lua` port's version (currently 5.3) the default, even if the dependent port is incompatible with that version.
    87 1. The `lua` port installs a 5.3 binary in `/opt/local/bin/lua` that appears to be similar, but not identical, to the `/opt/local/bin/lua5.3` binary installed by the `lua53` port.
    88 1. Uninstalling the `lua` port will break `luarocks` and potentially other lua ports, even though they could use a different version of lua.
    89 1. `neovim` depends on `lua51-lpeg`, which depends on `lua-luarocks`, which depends on `lua` and `lua53-luarocks`, guaranteeing that `lua53` will be installed when trying to install neovim, even though neither `lua51-lpeg` nor `neovim` wants anything to do with lua 5.3.
    90 1. Building `neovim` is breaking because it links against the `lua.h` provided by the `lua` port (currently 5.3), which is incompatible with neovim and luajit.
    91 1. `luarocks` always runs against the version of lua installed by the `lua` port, because its shebang is `/opt/local/bin/lua`, which is (currently) lua 5.3 by design of the `lua` port.
    92   a. This remains true even if running `luarocks-5.n` because the versioned copies are all symlinks to the same `luarocks` script.
    93   a. The `luarocks-5.n` symlinks are therefore not likely useful and/or probably broken for their intended purpose.
    94 1. `luarocks` always manages packages in `/opt/local/share/lua/5.3` because this value is hard-coded in the script.
    95 1. MacPorts probably needs to add a selection mechanism for setting and using the desired version of lua on the system.
     83The `lua` port decides for you what version of lua (currently 5.3) will be the default lua on your system.
    9684
     85  Note that all C libraries including `lua.h` will build against that version without extra care.
     86
     87There is no facility to manage which version of lua is used as the system default.
     88
     89Any port that depends on `lua` installs and makes the `lua` port's version (currently 5.3) the default, even if the dependent port is incompatible with that version.
     90
     91The `lua` port installs a 5.3 binary in `/opt/local/bin/lua` that appears to be similar, but not identical, to the `/opt/local/bin/lua5.3` binary installed by the `lua53` port.
     92
     93Uninstalling the `lua` port will break `luarocks` and potentially other lua ports, even though they could use a different version of lua.
     94
     95`neovim` depends on `lua51-lpeg`, which depends on `lua-luarocks`, which depends on `lua` and `lua53-luarocks`, guaranteeing that `lua53` will be installed when trying to install neovim, even though neither `lua51-lpeg` nor `neovim` wants anything to do with lua 5.3.
     96
     97Building `neovim` is breaking because it links against the `lua.h` provided by the `lua` port (currently 5.3), which is incompatible with neovim and luajit.
     98
     99`luarocks` always runs against the version of lua installed by the `lua` port, because its shebang is `/opt/local/bin/lua`, which is (currently) lua 5.3 by design of the `lua` port.
     100
     101  This remains true even if running `luarocks-5.n` because the versioned copies are all symlinks to the same `luarocks` script.
     102
     103  The `luarocks-5.n` symlinks are therefore not likely useful and/or probably broken for their intended purpose.
     104
     105`luarocks` always manages packages in `/opt/local/share/lua/5.3` because this value is hard-coded in the script.
     106
     107MacPorts probably needs to add a selection mechanism for setting and using the desired version of lua on the system.
     108