From be347c722d51698721369bc4b388d0820d7e8ab8 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Fri, 15 May 2026 21:07:11 -0700 Subject: [PATCH] dwarf-fortress: 53.11 -> 53.14 --- pkgs/games/dwarf-fortress/df.lock.json | 18 +++++++++--------- .../dwarf-fortress/dwarf-therapist/wrapper.nix | 2 +- pkgs/games/dwarf-fortress/wrapper/default.nix | 6 +++--- .../dwarf-fortress/wrapper/dwarf-fortress.in | 8 ++++++++ 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/pkgs/games/dwarf-fortress/df.lock.json b/pkgs/games/dwarf-fortress/df.lock.json index 534cc66f4a90..8ae54a7a5936 100644 --- a/pkgs/games/dwarf-fortress/df.lock.json +++ b/pkgs/games/dwarf-fortress/df.lock.json @@ -1,28 +1,28 @@ { "game": { "latest": { - "linux": "53.11", + "linux": "53.14", "darwin": "0.47.05" }, "versions": { - "53.11": { + "53.14": { "df": { - "version": "53.11", + "version": "53.14", "urls": { "linux": { - "url": "https://www.bay12games.com/dwarves/df_53_11_linux.tar.bz2", - "outputHash": "sha256-Ss1SHsLr3V9aMWptIpd6PTO9ZmqPZiR8P97vNRBuLZs=" + "url": "https://www.bay12games.com/dwarves/df_53_14_linux.tar.bz2", + "outputHash": "sha256-ZU/va7bblzh5UuPuuctjUHzEmcFLtzjXp9R86UV+G9k=" } } }, "hack": { - "version": "53.11-r1", + "version": "53.14-r2", "git": { "url": "https://github.com/DFHack/dfhack.git", - "revision": "53.11-r1", - "outputHash": "sha256-w2yfR9kOw13Ag3wxEHMXI9tVZMUwfgUWmrSVD1ViU4U=" + "revision": "53.14-r2", + "outputHash": "sha256-UOmp84VoY/pam99T2ktAYH3N3cFMSIb9v8KOTZCof8U=" }, - "xmlRev": "d79288374802cc63b1507900030b32231ffd244b" + "xmlRev": "01aae95cacd98850e4f477c45a4b75f800bacecc" } }, "52.05": { diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix index 8abe6f904479..7fc0ecc31643 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix @@ -76,7 +76,7 @@ stdenv.mkDerivation { echo "It doesn't support DF $dfVersion out of the box, so we're doing it the hard way." export HOME="$(mktemp -dt dfhack.XXXXXX)" export XDG_DATA_HOME="$HOME/.local/share" - expect ${dfHackExpectScript} + expect ${dfHackExpectScript} | tr -d '\r' local ini="$XDG_DATA_HOME/df_linux/therapist.ini" if [ -f "$ini" ]; then if grep -q "$patched_md5" "$ini"; then diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index eb3970b35867..e7b7e655730d 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -281,18 +281,18 @@ lib.throwIf (enableTWBT' && !enableDFHack) "dwarf-fortress: TWBT requires DFHack export HOME="$(mktemp -dt dwarf-fortress.XXXXXX)" '' + lib.optionalString enableDFHack '' - expect ${dfHackExpectScript} + expect ${dfHackExpectScript} | tr -d '\r' df_home="$(find ~ -name "df_*" | head -n1)" test -f "$df_home/dfhack" '' + lib.optionalString isAtLeast50 '' - expect ${vanillaExpectScript true} + expect ${vanillaExpectScript true} | tr -d '\r' df_home="$(find ~ -name "df_*" | head -n1)" test ! -f "$df_home/dfhack" test -f "$df_home/libfmod_plugin.so" '' + '' - expect ${vanillaExpectScript false} + expect ${vanillaExpectScript false} | tr -d '\r' df_home="$(find ~ -name "df_*" | head -n1)" test ! -f "$df_home/dfhack" test ! -f "$df_home/libfmod_plugin.so" diff --git a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in index 484dd16ad275..fd94d84be373 100644 --- a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in +++ b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress.in @@ -37,11 +37,19 @@ dfhack_files=( libdfhooks.so dfhack-config/default dfhack-config/init + dfhooks_*.ini hack/* stonesense/* *.init *.init-example ) +# May be stale top-level libdfhooks_*.so symlinks in $NIXPKGS_DF_HOME, fix them +shopt -s nullglob +for stale in "$NIXPKGS_DF_HOME"/libdfhooks_*.so; do + dfhack_files+=( "${stale##*/}" ) +done +shopt -u nullglob + if [ "${NIXPKGS_DF_EXE##*/}" == dfhack ]; then for i in "${dfhack_files[@]}"; do if [ -e "$i" ]; then