New comment by tornaria on void-packages repository https://github.com/void-linux/void-packages/pull/34273#issuecomment-991748622 Comment: In the old version there was an executable `maxima` and a library `maxima.fas` which where almost copies of each other. In the new version I moved the common code to a shared library. The new package `maxima-ecl` contains: - `/usr/lib/maxima/5.45.1/binary-ecl/libmaxima-ecl.so`: shared library (13M) - `/usr/lib/maxima/5.45.1/binary-ecl/maxima`: binary for maxima -l ecl (20K) - `/usr/lib/maxima/5.45.1/binary-ecl/maxima.fas`: fasl for `(require 'maxima)` in ecl (20K) - `/usr/lib/ecl-21.2.1/maxima-fas` symlink to `maxima.fas` where ecl can find it The way this is acomplished is placing all binaries (shared lib, executable, and fasl) in the same directory; the last two have `rpath=$ORIGIN` so they find the shared. An alternative is to place the shared library in `/usr/lib` to avoid the need for rpath. Note that this change does _not_ affect current users of `maxima` pkg. All that changes is adding these four new files in a separate package `maxima-ecl`. Even installing this package doesn't affect current users of maxima since just running `maxima` in the cmdline will use the SBCL version by default. Only when doing `maxima -l ecl` will the ecl version be run. Alternatively, running ecl and doing `(require 'maxima)` loads maxima into ecl. Given that the pkg `maxima-ecl` is just 10% size of the pkg `maxima`, it's also possible to just include those four files in the main pkg. That wouldn't be a problem and the only cost is this 10% extra space for users of `maxima` not interested in the ecl version of maxima. This works well with sagemath and it would be really nice to have it available on the system, since maxima doesn't change as often as sagemath itself.