From 282b5ac5f0c3928defcad02e04c4a6c592dd6a80 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 10 Oct 2013 01:15:16 +0200 Subject: dwarf-therapist: New package Dwarf Therapist is a tool to manage your Dwarves' work orders and other management stuff. Signed-off-by: Moritz Ulrich --- pkgs/games/dwarf-therapist/default.nix | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/games/dwarf-therapist/default.nix (limited to 'pkgs/games') diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix new file mode 100644 index 000000000000..8ac84a96aeb5 --- /dev/null +++ b/pkgs/games/dwarf-therapist/default.nix @@ -0,0 +1,60 @@ +{ stdenv, coreutils, fetchhg, qt4, dwarf_fortress, bash, makeWrapper }: + +stdenv.mkDerivation rec { + name = "dwarf-therapist-${rev}"; + rev = "eeeac8544d94"; + + src = fetchhg { + url = "https://code.google.com/r/splintermind-attributes/"; + tag = rev; + sha256 = "0a9m967q6p2q3plrl6qysg1xrdmg65jzil6awjh2wr3g10x2x15z"; + }; + + # Needed for hashing + dwarfBinary = "${dwarf_fortress}/share/df_linux/libs/Dwarf_Fortress"; + + buildInputs = [ coreutils qt4 dwarf_fortress makeWrapper ]; + enableParallelBuilding = false; + + preConfigure = '' + substituteInPlace dwarftherapist.pro \ + --replace /usr/bin $out/bin \ + --replace /usr/share $out/share \ + --replace "INSTALLS += doc" "" + ''; + + preBuild = '' + # Log to current directory, otherwise it crashes if log/ doesn't + # exist Note: Whis is broken because we cd to the nix store in the + # wrapper-script + substituteInPlace src/dwarftherapist.cpp \ + --replace "log/run.log" "dwarf-therapist.log" + ''; + + buildPhase = '' + qmake INSTALL_PREFIX=$out; + make; + ''; + + postInstall = '' + # DwarfTherapist assumes it's run in $out/share/dwarftherapist and + # therefore uses many relative paths. + rm $out/bin/dwarftherapist + wrapProgram $out/bin/DwarfTherapist \ + --run "cd $out/share/dwarftherapist" + ''; + + postFixup = '' + # Fix checksum of memory access directives + substituteInPlace $out/share/dwarftherapist/etc/memory_layouts/linux/v034.11.ini \ + --replace "e966ee88" $(md5sum ${dwarfBinary} | cut -c1-8) + ''; + + meta = { + description = "Tool to manage dwarves in in a running game of Dwarf Fortress"; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + license = "MIT"; + platforms = stdenv.lib.platforms.linux; + homepage = https://code.google.com/r/splintermind-attributes/; + }; +} -- cgit 1.4.1