These versions don't build because their submodules use `git://` URLs,
which are no longer supported by GitHub.
I don't think there's a reasonable way to work around that since
`fetchgit` doesn't allow patching the source *before* fetching
submodules.
Currently, it is quite hard to override anything about dfhack (for
example, to add plugins at build time), because
1. it is not exposed anywhere, so you have to do something like
`dwarf-fortress.override (oldArgs: { dfhack = oldArgs.dfhack.override...; })`
2. the final `dfhack` derivation is a `buildEnv`, so `overrideAttrs`
doesn't work as expected.
This fixes 1 by adding `dfhack` to the wrapper's `passthru`, and 2 by
moving `twbt.lib` (which is the only reason for the dfhack `buildEnv`)
into the wrapper.
Also adds an `extraPackages` argument to the wrapper, and copies `*.init`
files from the env to the DF directory so that we can easily add a
`dfhack.init`.
With these changes, I was able to build dfhack with the dfplex plugin.
Since the setting DCMAKE_SKIP_BUILD_RPATH was disabled, we can now run
the checkPhase of cmake derivations without having to tweak the
LD_LIBRARY_PATH anymore.
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.
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>
dwarf-therapist: 37.0.0-Hello71 -> 39.0.0
dfhack: 0.43.05-r1 -> 0.44.02-alpha1
cla-theme: 43.05-v23 -> 44.01-v24
phoebus-theme: 43.05c -> 44.02a
There is a new maintained repository for
dwarf-therapist: http://www.bay12forums.com/smf/index.php?topic=168411
dfhack is still in alpha, so make backups, if you use it.
cc @the-kenny @abbradar