Commit graph

6 commits

Author SHA1 Message Date
Naïm Favier
839fdd101c
dwarf-fortress.dfhack: make overridable
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.
2022-11-17 00:06:31 +01:00
Anders Kaseorg
3cd8ce3bce treewide: Fix unsafe concatenation of $LD_LIBRARY_PATH
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>
2020-01-15 09:47:03 +01:00
Herwig Hochleitner
85056ee698 dwarf-fortress-packages.dfhack: add stoneSense support 2017-10-28 14:55:25 +02:00
Nikolay Amiantov
a6fd30822f dwarf-fortress-packages.dfhack: 0.43.03-r1 -> 0.43.05-alpha2 2016-11-24 01:17:56 +03:00
Nikolay Amiantov
d3b642ce9a dwarf-fortress-wrapper: add themes support
Theme can be specified either as a derivation or as a string, in which
case it will be taken by name from a pre-defined set of themes available in
nixpkgs.
2016-01-26 03:06:07 +03:00
Nikolay Amiantov
92cda7a6bb dwarf-fortress: 0.40.24 -> 0.42.05, split derivations
This is a massive rework of the current dwarf_fortress package.
The main reason for rework is to split game, its libraries and wrappers,
enabling builds on Hydra and general maintainability.

dfhack, dwarf-fortress-unfuck, dwarf-fortress-original and dwarf-fortress
are now all separate derivations. All were updated to the latest versions
supporting DF 0.42.04 (some things taken from development branches):

dfhack: 20150927 -> 20160118
dwarf-fortress-unfuck: 0.40.24 -> 20160118
dwarf-fortress-original: 0.40.24 -> 0.42.05

dfhack got a patch for using more system libraries.

Wrapper scripts were also redone -- now they support DF_DIR variable (for
setting another data directory) and try to save more space by means of
symlinking. They now try to be more smart, updating those directories that were
not touched by user automatically.

All the new packages now reside in dwarf-fortress-packages. dwarf_fortress was
renamed into dwarf-fortress per our conventions, old name is deprecated. Also
duplicate dfhack derivation is removed.

Also drop dwarfFortress.enableDFHack config option; it can be re-added later
but now is deemed controversial.
2016-01-26 03:03:12 +03:00