diff options
author | lassulus <lassulus@lassul.us> | 2018-10-08 22:21:09 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2018-10-08 22:21:09 +0200 |
commit | 0d57159eca8f3bfc2d009da57a253298d127d0e4 (patch) | |
tree | 100df31ed00ee0b80db8f1e6921e6863d29461f8 /pkgs/games | |
parent | 21a215059ed558b444bdd16d45dd1dc955d4ef1d (diff) | |
download | nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar.gz nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar.bz2 nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar.lz nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar.xz nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.tar.zst nixlib-0d57159eca8f3bfc2d009da57a253298d127d0e4.zip |
dwarf-fortress: fix build error
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/dwarf-fortress/wrapper/default.nix | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 8d9f06ffe143..058bb5f72ae6 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildEnv, substituteAll +{ stdenv, lib, buildEnv, substituteAll, runCommand , dwarf-fortress, dwarf-fortress-unfuck , dwarf-therapist , enableDFHack ? false, dfhack @@ -33,44 +33,41 @@ let ++ lib.optional enableTWBT twbt.art ++ [ dwarf-fortress ]; + fixup = lib.singleton (runCommand "fixup" {} '' + mkdir -p $out/data/init + cp ${dwarf-fortress}/data/init/init.txt $out/data/init/init.txt + '' + lib.optionalString enableDFHack '' + mkdir -p $out/hack + + # Patch the MD5 + orig_md5=$(cat "${dwarf-fortress}/hash.md5.orig") + patched_md5=$(cat "${dwarf-fortress}/hash.md5") + input_file="${dfhack_}/hack/symbols.xml" + output_file="$out/hack/symbols.xml" + + echo "[DFHack Wrapper] Fixing Dwarf Fortress MD5:" + echo " Input: $input_file" + echo " Search: $orig_md5" + echo " Output: $output_file" + echo " Replace: $patched_md5" + + substitute "$input_file" "$output_file" --replace "$orig_md5" "$patched_md5" + '' + lib.optionalString enableTWBT '' + substituteInPlace $out/data/init/init.txt \ + --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TWBT]' + '' + '' + substituteInPlace $out/data/init/init.txt \ + --replace '[INTRO:YES]' '[INTRO:${unBool enableIntro}]' \ + --replace '[TRUETYPE:YES]' '[TRUETYPE:${unBool enableTruetype}]' \ + --replace '[FPS:NO]' '[FPS:${unBool enableFPS}]' + ''); + env = buildEnv { name = "dwarf-fortress-env-${dwarf-fortress.dfVersion}"; - paths = themePkg ++ pkgs; + paths = fixup ++ themePkg ++ pkgs; pathsToLink = [ "/" "/hack" "/hack/scripts" ]; - postBuild = '' - # De-symlink init.txt - cp $out/data/init/init.txt init.txt - rm -f $out/data/init/init.txt - mv init.txt $out/data/init/init.txt - '' + lib.optionalString enableDFHack '' - # De-symlink symbols.xml - rm $out/hack/symbols.xml - - # Patch the MD5 - orig_md5=$(cat "${dwarf-fortress}/hash.md5.orig") - patched_md5=$(cat "${dwarf-fortress}/hash.md5") - input_file="${dfhack_}/hack/symbols.xml" - output_file="$out/hack/symbols.xml" - - echo "[DFHack Wrapper] Fixing Dwarf Fortress MD5:" - echo " Input: $input_file" - echo " Search: $orig_md5" - echo " Output: $output_file" - echo " Replace: $patched_md5" - - substitute "$input_file" "$output_file" --replace "$orig_md5" "$patched_md5" - '' + lib.optionalString enableTWBT '' - substituteInPlace $out/data/init/init.txt \ - --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TWBT]' - '' + '' - substituteInPlace $out/data/init/init.txt \ - --replace '[INTRO:YES]' '[INTRO:${unBool enableIntro}]' \ - --replace '[TRUETYPE:YES]' '[TRUETYPE:${unBool enableTruetype}]' \ - --replace '[FPS:NO]' '[FPS:${unBool enableFPS}]' - ''; - ignoreCollisions = true; }; in |