From 24f471170532fd7a5043ec6e2f47abf950cd752c Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 25 Jun 2018 08:21:57 +0000 Subject: [PATCH 1/4] dwarf-fortress: 0.44.10 -> 0.44.11 Update everything but dfhack and dwarf-therapist, which have not been updated yet. --- maintainers/maintainer-list.nix | 5 +++++ pkgs/games/dwarf-fortress/game.nix | 10 +++++----- pkgs/games/dwarf-fortress/soundsense.nix | 2 +- pkgs/games/dwarf-fortress/unfuck.nix | 4 ++-- pkgs/games/dwarf-fortress/wrapper/default.nix | 10 ++++++++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 16bd5795b24..25321cfb81b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2854,6 +2854,11 @@ github = "nthorne"; name = "Niklas Thörne"; }; + numinit = { + email = "me@numin.it"; + github = "numinit"; + name = "Morgan Jones"; + }; nyanloutre = { email = "paul@nyanlout.re"; github = "nyanloutre"; diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index 477ba33b77c..0812ffde066 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -9,7 +9,7 @@ with lib; let baseVersion = "44"; - patchVersion = "10"; + patchVersion = "11"; dfVersion = "0.${baseVersion}.${patchVersion}"; libpath = makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc dwarf-fortress-unfuck SDL ]; @@ -21,15 +21,15 @@ let srcs = { "x86_64-linux" = fetchurl { url = "${homepage}df_${baseVersion}_${patchVersion}_linux.tar.bz2"; - sha256 = "1cqm43hn3ar9d8a7y7dwq48ajp72cirn1gclh8r2fykkypprxmp2"; + sha256 = "1qizfkxl2k6pn70is4vz94q4k55bc3pm13b2r6yqi6lw1cnna4sf"; }; "i686-linux" = fetchurl { url = "${homepage}df_${baseVersion}_${patchVersion}_linux32.tar.bz2"; - sha256 = "0gdb6sq8725nwdisxwha8f5b6arq570s73aj4gdrh611gxh13r6n"; + sha256 = "11m39lfyrsxlw1g7f269q7fzwichg06l21fxhqzgvlvmzmxsf8q5"; }; "x86_64-darwin" = fetchurl { url = "${homepage}df_${baseVersion}_${patchVersion}_osx.tar.bz2"; - sha256 = "1wpa45d81q8f5mhqmaxvdkz93k6cm3pg7vpsqjjjsp5s961gd74g"; + sha256 = "1cxckszjh5fi9czywr1kl5kj9zxzaszhqdal5gd8ww0ihcbl7fcd"; }; }; @@ -88,6 +88,6 @@ stdenv.mkDerivation { inherit homepage; license = licenses.unfreeRedistributable; platforms = attrNames srcs; - maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar ]; + maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar numinit ]; }; } diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix index f09ac843548..0a501bc3c05 100644 --- a/pkgs/games/dwarf-fortress/soundsense.nix +++ b/pkgs/games/dwarf-fortress/soundsense.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { version = "2016-1_196"; - dfVersion = "0.44.10"; + dfVersion = "0.44.11"; inherit soundPack; name = "soundsense-${version}"; src = fetchzip { diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index d816ba461b1..2aa69d7623f 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -3,7 +3,7 @@ , ncurses, glib, gtk2, libsndfile, zlib }: -let dfVersion = "0.44.10"; in +let dfVersion = "0.44.11"; in stdenv.mkDerivation { name = "dwarf_fortress_unfuck-${dfVersion}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { owner = "svenstaro"; repo = "dwarf_fortress_unfuck"; rev = dfVersion; - sha256 = "0vb19qx2ibc79j4bgbk9lskb883qfb0815zw1dfz9k7rqwal8mzj"; + sha256 = "0kkk8md2xq8l0c4m9hkg66qqjad3xi4jbb5z2ginhqixxpfbz8rf"; }; cmakeFlags = [ diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index e82cc2be680..e6e17533d21 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildEnv, dwarf-fortress-original, substituteAll +{ stdenv, lib, buildEnv, dwarf-fortress-original, dwarf-fortress-unfuck, substituteAll , enableDFHack ? false, dfhack , enableSoundSense ? false, soundSense, jdk , enableStoneSense ? false @@ -11,6 +11,8 @@ let inherit enableStoneSense; }; + dfVersion = dwarf-fortress-original.dfVersion; + ptheme = if builtins.isString theme then builtins.getAttr theme themes @@ -41,7 +43,11 @@ in stdenv.mkDerivation rec { name = "dwarf-fortress-${dwarf-fortress-original.dfVersion}"; - compatible = lib.all (x: assert (x.dfVersion == dwarf-fortress-original.dfVersion); true) pkgs; + compatible = lib.all (x: x.dfVersion == dwarf-fortress-original.dfVersion) [ + dwarf-fortress-original + dwarf-fortress-unfuck + dfhack + ]; dfInit = substituteAll { name = "dwarf-fortress-init"; From 9a2898c6d1406489c1d691ecbbb3585888c1c613 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Sat, 30 Jun 2018 09:08:56 +0000 Subject: [PATCH 2/4] bump dwarf-therapist and dfhack versions; fix theme issue --- pkgs/games/dwarf-fortress/default.nix | 5 +---- pkgs/games/dwarf-fortress/dfhack/default.nix | 10 +++++----- pkgs/games/dwarf-fortress/dwarf-therapist/default.nix | 4 ++-- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix index ee2e442daa2..f1d4b1c3747 100644 --- a/pkgs/games/dwarf-fortress/default.nix +++ b/pkgs/games/dwarf-fortress/default.nix @@ -18,10 +18,7 @@ let else null; dwarf-fortress = callPackage ./wrapper { - themes = { - "phoebus" = phoebus-theme; - "cla" = cla-theme; - }; + inherit themes; }; dwarf-therapist-original = pkgs.qt5.callPackage ./dwarf-therapist { diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index 11964c627da..a15acdc267f 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -5,11 +5,11 @@ }: let - dfVersion = "0.44.10"; - version = "${dfVersion}-r1"; + dfVersion = "0.44.11"; + version = "${dfVersion}-alpha1"; # revision of library/xml submodule - xmlRev = "3c0bf63674d5430deadaf7befaec42f0ec1e8bc5"; + xmlRev = "853bd161270f50b21fe4b751de339458f78f56d6"; arch = if stdenv.system == "x86_64-linux" then "64" @@ -40,7 +40,7 @@ in stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "DFHack"; repo = "dfhack"; - sha256 = "15hz90lfg7asgm4bqa2yi2lkwzrljphb42q6616sriwzs66xia6h"; + sha256 = "16ypcl9378xxnq7ngzh93pmx2haf2i32xgxs2p1q4bvvafdxvirz"; rev = version; fetchSubmodules = true; }; @@ -72,6 +72,6 @@ in stdenv.mkDerivation rec { homepage = https://github.com/DFHack/dfhack/; license = licenses.zlib; platforms = [ "x86_64-linux" "i686-linux" ]; - maintainers = with maintainers; [ robbinch a1russell abbradar ]; + maintainers = with maintainers; [ robbinch a1russell abbradar numinit ]; }; } diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix index 305f3cdb1fa..d8270c6000a 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "dwarf-therapist-original-${version}"; - version = "40.0.0"; + version = "40.1.0"; src = fetchFromGitHub { owner = "Dwarf-Therapist"; repo = "Dwarf-Therapist"; rev = "v${version}"; - sha256 = "0b5y7800nzydn0jcc0vglgi9mzkj8f3qhw16wd872cf5396xnag9"; + sha256 = "1aklwic5npgkp8rkrvz2q9idkipsm1h26mgd8q03135nzl1ld9q3"; }; buildInputs = [ qtbase qtdeclarative ]; From 8d5b5fa68e7d4679cf7fd0f122507a4ef1880908 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Sun, 1 Jul 2018 20:28:59 +0000 Subject: [PATCH 3/4] Patch dwarf-fortress-unfuck to build in debug (pending upstream fix) --- pkgs/games/dwarf-fortress/default.nix | 2 +- pkgs/games/dwarf-fortress/dfhack/default.nix | 2 +- .../dwarf-fortress/dwarf-therapist/default.nix | 4 ++-- pkgs/games/dwarf-fortress/game.nix | 1 + pkgs/games/dwarf-fortress/unfuck.nix | 15 +++++++++++++++ pkgs/games/dwarf-fortress/wrapper/default.nix | 3 ++- pkgs/games/dwarf-fortress/wrapper/dfhack.in | 5 +++-- 7 files changed, 25 insertions(+), 7 deletions(-) diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix index f1d4b1c3747..b2ded4c7ac7 100644 --- a/pkgs/games/dwarf-fortress/default.nix +++ b/pkgs/games/dwarf-fortress/default.nix @@ -15,7 +15,7 @@ let # unfuck is linux-only right now, we will just use it there dwarf-fortress-unfuck = if stdenv.isLinux then callPackage ./unfuck.nix { } - else null; + else null; dwarf-fortress = callPackage ./wrapper { inherit themes; diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index a15acdc267f..a6430fa3c26 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -40,7 +40,7 @@ in stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "DFHack"; repo = "dfhack"; - sha256 = "16ypcl9378xxnq7ngzh93pmx2haf2i32xgxs2p1q4bvvafdxvirz"; + sha256 = "1vzrpdw0pn18calayf9dwqpyg37cb7wkzkvskxjx9nak5ilxzywm"; rev = version; fetchSubmodules = true; }; diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix index d8270c6000a..bd63e3eae91 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix @@ -20,8 +20,8 @@ stdenv.mkDerivation rec { '' else null; meta = with stdenv.lib; { - description = "Tool to manage dwarves in in a running game of Dwarf Fortress"; - maintainers = with maintainers; [ the-kenny abbradar bendlas ]; + description = "Tool to manage dwarves in a running game of Dwarf Fortress"; + maintainers = with maintainers; [ the-kenny abbradar bendlas numinit ]; license = licenses.mit; platforms = platforms.unix; homepage = https://github.com/Dwarf-Therapist/Dwarf-Therapist; diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index 0812ffde066..b3ef6154d9a 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -91,3 +91,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar numinit ]; }; } + diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index 2aa69d7623f..e5bd7930f03 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -20,12 +20,26 @@ stdenv.mkDerivation { "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" ]; + makeFlags = [ + ''CFLAGS="-fkeep-inline-functions"'' + ''CXXFLAGS="-fkeep-inline-functions"'' + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ libSM SDL SDL_image SDL_ttf glew openalSoft ncurses gtk2 libsndfile zlib libGL ]; + patchPhase = '' + substituteInPlace CMakeLists.txt --replace \ + 'set(CMAKE_BUILD_TYPE Release)' \ + 'set(CMAKE_BUILD_TYPE Debug)' + ''; + + # Don't strip unused symbols; dfhack hooks into some of them. + dontStrip = true; + installPhase = '' install -D -m755 ../build/libgraphics.so $out/lib/libgraphics.so ''; @@ -45,3 +59,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ abbradar ]; }; } + diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index e6e17533d21..1ed58a89274 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { src = ./dwarf-fortress-init.in; inherit env; exe = if stdenv.isLinux then "libs/Dwarf_Fortress" - else "dwarfort.exe"; + else "dwarfort.exe"; }; runDF = ./dwarf-fortress.in; @@ -83,3 +83,4 @@ stdenv.mkDerivation rec { preferLocalBuild = true; } + diff --git a/pkgs/games/dwarf-fortress/wrapper/dfhack.in b/pkgs/games/dwarf-fortress/wrapper/dfhack.in index 4cf884ebed2..910d75ad8e1 100644 --- a/pkgs/games/dwarf-fortress/wrapper/dfhack.in +++ b/pkgs/games/dwarf-fortress/wrapper/dfhack.in @@ -7,5 +7,6 @@ for i in dfhack.init-example dfhack-config/default hack/* stonesense/*; do done cd "$DF_DIR" -LD_LIBRARY_PATH="$env_dir/hack/libs:$env_dir/hack:$LD_LIBRARY_PATH" \ - LD_PRELOAD="$env_dir/hack/libdfhack.so:$LD_PRELOAD" exec $env_dir/libs/Dwarf_Fortress "$@" +export LD_LIBRARY_PATH="$env_dir/hack/libs:$env_dir/hack:$LD_LIBRARY_PATH" +export LD_PRELOAD="$env_dir/hack/libdfhack.so:$LD_PRELOAD" +exec "$env_dir/libs/Dwarf_Fortress" "$@" From dcea2110848c742e59b5bb6964637b65f945d2a0 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 2 Jul 2018 11:57:07 -0400 Subject: [PATCH 4/4] dwarf-fortress: cleanup --- pkgs/games/dwarf-fortress/game.nix | 3 +-- pkgs/games/dwarf-fortress/unfuck.nix | 3 +-- pkgs/games/dwarf-fortress/wrapper/default.nix | 11 ++--------- pkgs/games/dwarf-fortress/wrapper/dfhack.in | 5 ++--- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index b3ef6154d9a..97a94c940cd 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -29,7 +29,7 @@ let }; "x86_64-darwin" = fetchurl { url = "${homepage}df_${baseVersion}_${patchVersion}_osx.tar.bz2"; - sha256 = "1cxckszjh5fi9czywr1kl5kj9zxzaszhqdal5gd8ww0ihcbl7fcd"; + sha256 = "073hmcj7bm323m3xqi42605rkvmgmv83bnxz1byymgs8aqyfykkx"; }; }; @@ -91,4 +91,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar numinit ]; }; } - diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index e5bd7930f03..b9887fe4cfc 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { ncurses gtk2 libsndfile zlib libGL ]; - patchPhase = '' + postPatch = '' substituteInPlace CMakeLists.txt --replace \ 'set(CMAKE_BUILD_TYPE Release)' \ 'set(CMAKE_BUILD_TYPE Debug)' @@ -59,4 +59,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ abbradar ]; }; } - diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 1ed58a89274..99625abd99d 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildEnv, dwarf-fortress-original, dwarf-fortress-unfuck, substituteAll +{ stdenv, lib, buildEnv, dwarf-fortress-original, substituteAll , enableDFHack ? false, dfhack , enableSoundSense ? false, soundSense, jdk , enableStoneSense ? false @@ -11,8 +11,6 @@ let inherit enableStoneSense; }; - dfVersion = dwarf-fortress-original.dfVersion; - ptheme = if builtins.isString theme then builtins.getAttr theme themes @@ -43,11 +41,7 @@ in stdenv.mkDerivation rec { name = "dwarf-fortress-${dwarf-fortress-original.dfVersion}"; - compatible = lib.all (x: x.dfVersion == dwarf-fortress-original.dfVersion) [ - dwarf-fortress-original - dwarf-fortress-unfuck - dfhack - ]; + compatible = lib.all (x: assert (x.dfVersion == dwarf-fortress-original.dfVersion); true) pkgs; dfInit = substituteAll { name = "dwarf-fortress-init"; @@ -83,4 +77,3 @@ stdenv.mkDerivation rec { preferLocalBuild = true; } - diff --git a/pkgs/games/dwarf-fortress/wrapper/dfhack.in b/pkgs/games/dwarf-fortress/wrapper/dfhack.in index 910d75ad8e1..4cf884ebed2 100644 --- a/pkgs/games/dwarf-fortress/wrapper/dfhack.in +++ b/pkgs/games/dwarf-fortress/wrapper/dfhack.in @@ -7,6 +7,5 @@ for i in dfhack.init-example dfhack-config/default hack/* stonesense/*; do done cd "$DF_DIR" -export LD_LIBRARY_PATH="$env_dir/hack/libs:$env_dir/hack:$LD_LIBRARY_PATH" -export LD_PRELOAD="$env_dir/hack/libdfhack.so:$LD_PRELOAD" -exec "$env_dir/libs/Dwarf_Fortress" "$@" +LD_LIBRARY_PATH="$env_dir/hack/libs:$env_dir/hack:$LD_LIBRARY_PATH" \ + LD_PRELOAD="$env_dir/hack/libdfhack.so:$LD_PRELOAD" exec $env_dir/libs/Dwarf_Fortress "$@"