diff options
Diffstat (limited to 'pkgs/games/dwarf-fortress/unfuck.nix')
-rw-r--r-- | pkgs/games/dwarf-fortress/unfuck.nix | 58 |
1 files changed, 45 insertions, 13 deletions
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index 533649131f5..5b25cf4ff40 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -1,7 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, cmake -, libGL, libSM, SDL, SDL_image, SDL_ttf, glew, openalSoft -, ncurses, glib, gtk2, libsndfile, zlib -, dfVersion, pkg-config +{ stdenv +, lib +, fetchFromGitHub +, cmake +, libGL +, libSM +, SDL +, SDL_image +, SDL_ttf +, glew +, openalSoft +, ncurses +, glib +, gtk2 +, gtk3 +, libsndfile +, zlib +, dfVersion +, pkg-config }: with lib; @@ -44,11 +59,16 @@ let unfuckRelease = "0.47.04"; sha256 = "1wa990xbsyiiz7abq153xmafvvk1dmgz33rp907d005kzl1z86i9"; }; + "0.47.05" = { + unfuckRelease = "0.47.04"; + sha256 = "1wa990xbsyiiz7abq153xmafvvk1dmgz33rp907d005kzl1z86i9"; + }; }; - release = if hasAttr dfVersion unfuck-releases - then getAttr dfVersion unfuck-releases - else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; + release = + if hasAttr dfVersion unfuck-releases + then getAttr dfVersion unfuck-releases + else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; in stdenv.mkDerivation { @@ -68,9 +88,23 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - libSM SDL SDL_image SDL_ttf glew openalSoft - ncurses gtk2 libsndfile zlib libGL - ]; + libSM + SDL + SDL_image + SDL_ttf + glew + openalSoft + ncurses + libsndfile + zlib + libGL + ] + # switched to gtk3 in 0.47.05 + ++ (if lib.versionOlder release.unfuckRelease "0.47.05" then [ + gtk2 + ] else [ + gtk3 + ]); # Don't strip unused symbols; dfhack hooks into some of them. dontStrip = true; @@ -79,14 +113,12 @@ stdenv.mkDerivation { install -D -m755 ../build/libgraphics.so $out/lib/libgraphics.so ''; - enableParallelBuilding = true; - # Breaks dfhack because of inlining. hardeningDisable = [ "fortify" ]; passthru = { inherit dfVersion; }; - meta = with stdenv.lib; { + meta = with lib; { description = "Unfucked multimedia layer for Dwarf Fortress"; homepage = "https://github.com/svenstaro/dwarf_fortress_unfuck"; license = licenses.free; |