summary refs log tree commit diff
path: root/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/dwarf-fortress/dwarf-therapist/default.nix')
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix33
1 files changed, 19 insertions, 14 deletions
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index bfdedcdd133f..e7ef9a02eb70 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -1,29 +1,34 @@
-{ stdenv, fetchFromGitHub, coreutils, qtbase, qtdeclarative, qmake, texlive }:
+{ stdenv, fetchFromGitHub, coreutils, qtbase, qtdeclarative, cmake, texlive, ninja }:
 
 stdenv.mkDerivation rec {
   name = "dwarf-therapist-original-${version}";
-  version = "37.0.0";
+  version = "37.0.0-Hello71";
 
   src = fetchFromGitHub {
-    owner = "splintermind";
+    ## We use `Hello71`'s fork for 43.05 support
+    # owner = "splintermind";
+    owner = "Hello71";
     repo = "Dwarf-Therapist";
-    rev = "v${version}";
-    sha256 = "0dw86b4x5hjhb7h4ynvwjgcinpqywfc5l48ljb5sahz08rfnx63d";
+    rev = "42ccaa71f6077ebdd41543255a360c3470812b97";
+    sha256 = "0f6mlfck7q31jl5cb6d6blf5sb7cigvvs2rn31k16xc93hsdgxaz";
   };
 
   outputs = [ "out" "layouts" ];
   buildInputs = [ qtbase qtdeclarative ];
-  nativeBuildInputs = [ texlive qmake ];
+  nativeBuildInputs = [ texlive cmake ninja ];
 
-  enableParallelBuilding = false;
+  configurePhase = ''
+    cmake -GNinja
+  '';
+
+  buildPhase = ''
+    ninja -j$NIX_BUILD_CORES
+  '';
 
-  # Move layout files so they cannot be found by Therapist
-  postInstall = ''
-    mkdir -p $layouts
-    mv $out/share/dwarftherapist/memory_layouts/* $layouts
-    rmdir $out/share/dwarftherapist/memory_layouts
-    # Useless symlink
-    rm $out/bin/dwarftherapist
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./DwarfTherapist $out/bin/DwarfTherapist
+    cp -r ./share/memory_layouts $layouts
   '';
 
   meta = with stdenv.lib; {