diff --git a/pkgs/games/dwarf-fortress/df.lock.json b/pkgs/games/dwarf-fortress/df.lock.json index b3fda97b6897..e17862c54e9c 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.06", + "linux": "53.08", "darwin": "0.47.05" }, "versions": { - "53.06": { + "53.08": { "df": { - "version": "53.06", + "version": "53.08", "urls": { "linux": { - "url": "https://www.bay12games.com/dwarves/df_53_06_linux.tar.bz2", - "outputHash": "sha256-PSoYP9XVgAYMPih3uP2pCMwkWic3jPkz+V5j9g0KO1A=" + "url": "https://www.bay12games.com/dwarves/df_53_08_linux.tar.bz2", + "outputHash": "sha256-0h6vA9n33Qt/y4v9UIuQl7p//SuQOkRV8Moe3MYAfIw=" } } }, "hack": { - "version": "53.06-r1", + "version": "53.08-r1", "git": { "url": "https://github.com/DFHack/dfhack.git", - "revision": "53.06-r1", - "outputHash": "sha256-tjhfr7UKGaiuzjanFrYeG8CS20EDjPchB2fQr/hz9HI=" + "revision": "53.08-r1", + "outputHash": "sha256-LM3lsM1SZR1fKyhfTdbYBOYe+qbGcIkpvJYT3j16OSM=" }, - "xmlRev": "24322fe4a30209399c1c5fe903726828edd9032b" + "xmlRev": "da0b52eb3ad79866b1228a880be3b734cfac7b55" } }, "52.05": { diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index 18c080f9d510..25530140c90a 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -4,14 +4,16 @@ fetchFromGitHub, fetchpatch, cmake, + fmt, ninja, writeScriptBin, + writeText, perl, XMLLibXML, XMLLibXSLT, makeWrapper, zlib, - enableStoneSense ? false, + enableStoneSense ? true, allegro5, libGLU, libGL, @@ -81,9 +83,25 @@ let elif [ "$*" = "rev-parse HEAD:library/xml" ]; then echo "${xmlRev}" else + echo "Unhandled git command: '$*'" >&2 exit 1 fi ''; + + needFetchOverrides = versionAtLeast version "53.07-r1"; + + fetchOverrides = writeText "fetch-overrides.cmake" '' + include_guard(GLOBAL) + function(cmake_language_dependency_provider method package_name) + if(package_name STREQUAL "fmt") + find_package(fmt CONFIG QUIET) + if(fmt_FOUND) + set(''${package_name}_PROVIDER_SATISFIED TRUE PARENT_SCOPE) + return() + endif() + endif() + endfunction() + ''; in stdenv.mkDerivation { pname = "dfhack"; @@ -150,6 +168,9 @@ stdenv.mkDerivation { allegro5 libGLU libGL + ] + ++ optionals needFetchOverrides [ + fmt ]; preConfigure = '' @@ -173,6 +194,10 @@ stdenv.mkDerivation { ++ optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" + ] + ++ optionals needFetchOverrides [ + "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" + "-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=${fetchOverrides}" ]; NIX_CFLAGS_COMPILE = [ diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 6321e88d3dd6..8c941c8879bd 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -18,7 +18,7 @@ expect, xvfb-run, writeText, - enableStoneSense ? false, + enableStoneSense ? enableDFHack, enableTWBT ? false, twbt, themes ? { },