I’m a pretty avid linux user, and I try to minimize the time I spend in Windows, even for a game as fun as Dwarf Fortress. I was very happy to hear that there are linux packages available for the game now, as that wasn’t always the case. If anyone reading this hasn’t yet played Dwarf Fortress, I implore you to grab the game from their main site and follow along.
Unfortunately, the in game GUI for managing dwarf tasks is, to put it softly, abysmal once you’ve got a decent sized fortress. That’s where Dwarf Therapist comes in, which is a great third party dwarf management tool. If you’re on a debian-based distro, they offer debian packages which makes installation trivial.
However, ArchLinux users aren’t so fortunate in terms of an easy installation, as Dwarf Therapist must be compiled. However, this is actually a benefit, as the current version of DT also has a very annoying bug in which custom professions do not work. What follows is a guide to compile DT for ArchLinux, and in the process apply a patch during the build that fixes the custom profession bug.
An Arch User Repository (AUR) package for Dwarf Therapist exists, which makes compilation of the package very simple. I’ll go step by step for anyone who hasn’t compiled a package using the Arch Build System (ABS) before, but if you’re not even sure what these things are, I strongly recommending reading the two wiki pages I’ve linked. Follow the ABS guide if you don’t have it already installed on your system.
Navigate to your ABS tree, creating some extra folders for AUR packages.
cd /var/abs
mkdir -p local/aur && cd local/aur
The AUR package for Dwarf Therapist is located here. Now we’ll copy the link location of the “Tarball” link on that page, pull it to our local system, extract it and delete the archive.
wget https://aur.archlinux.org/packages/dwarftherapist-hg/dwarftherapist-hg.tar.gz
tar -xzvf dwarftherapist-hg.tar.gz
rm dwarftherapist-hg.tar.gz
cd dwarftherapist-hg
Currently there’s an open issue in the ticket tracker for Dwarf Therapist. Download linux-nickname.hg and place it in /var/abs/local/aur/dwarftherapist-hg/. Edit the PKGBUILD file, and locate line 40, which should read:
hg checkout 9ac1306c2abd
Add these two lines directly after that line.
hg unbundle ../../linux-nickname.hg
hg update
All that’s left then is to build the package and install it.
makepkg -s
sudo pacman -U dwarftherapist-hg-0.6.10-2-i686.pkg.tar.xz
If both steps succeeded, go ahead and try to run your freshly patched and compiled copy of Dwarf Therapist.
dwarftherapist &
If all has gone well, you should see dwarf fortress launch and probably complain that you don’t have an instance of Dwarf Fortress running. Success!
5 Comments
will this patch also work for ubuntu compilation? – i’m a little confused as to how to apply the patch
There’s a debian package available for installing in Ubuntu, but the deb probably suffers from the same bug the source tree does. Unfortunately you’ll need to be running ArchLinux to follow my instructions exactly, but if you pull the dwarf therapist source you can manually patch it with mercurial before compiling it.
i see it actually worked – i have limited experience…
however the patch 1 applied fine patch 2 had some hunk errors and performance patch applied… everything works and the custom professions work also which is GREAT! – thanks for your good work!
whats interesting is a few days ago i applied to patches to the source and everything was fine.. i’m trying to recompile and make a new copy and i’m getting hunk errors across all the patches – can you assist?
Unfortunately I don’t have as much experience with Ubuntu. If you grab the most recent mercurial source, and download the linux-nicknames.hg mercurical patch, and run:
hg unbundle linux-nickname.hg
hg update
make && make install
If you’re getting hunk errors when trying to unbundle the patch, I’m not sure exactly what’s causing that.