e10001042d
This makes it match the behaviour of fetchgit and fetchsvn, so it's easier to write scripts that support all of them.
62 lines
1.8 KiB
Nix
62 lines
1.8 KiB
Nix
{ 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/";
|
|
inherit 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;
|
|
hydraPlatforms = [];
|
|
homepage = https://code.google.com/r/splintermind-attributes/;
|
|
};
|
|
}
|