Otherwise you get an error upon starting the game:
```
Plugin twbt was not built for this version of DFHack.
Plugin: 0.47.05-beta1, DFHack: 0.47.05-r1
```
The original mifki TWBT hasn't been updated since April 2019, while
thurin's fork has added support for dfhack 0.47.04-r2. Thus, switch to
thurin's fork when Dwarf Fortress 0.47.04 is used (and ever-so-slightly
special case the url attribute).
dfhack expects an unversioned libruby.so to be present in the hack
subdirectory for ruby plugins to function. The glob is necessary,
because the ruby package's library names are formatted as
ruby-${version}.so for whatever reason. The glob makes it possible for
ruby to update without manual intervention being needed here.
As of
56e43a0dde,
dfhack gets its goodies from the directory above the Dwarf_Fortress
executable, which leads to stock Dwarf Fortress and not the built
environment where all the dfhack resources are symlinked to (typically
~/.local/share/df_linux). This causes errors like `tweak is not a
recognized command` to be reported and dfhack to lose some of its
functionality.
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
Naive concatenation of $LD_LIBRARY_PATH can result in an empty
colon-delimited segment; this tells glibc to load libraries from the
current directory, which is definitely wrong, and may be a security
vulnerability if the current directory is untrusted. (See #67234, for
example.) Fix this throughout the tree.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Quoting from the splitString docstring:
NOTE: this function is not performant and should never be used.
This replaces trivial uses of splitString for splitting version
strings with the (potentially builtin) splitVersion.