about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/freedink/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/freedink/default.nix')
-rw-r--r--nixpkgs/pkgs/games/freedink/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/freedink/default.nix b/nixpkgs/pkgs/games/freedink/default.nix
new file mode 100644
index 000000000000..d5efe2b3ebd9
--- /dev/null
+++ b/nixpkgs/pkgs/games/freedink/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx
+, pkgconfig, intltool, fontconfig, libzip, zip, zlib }:
+
+let
+  version = "1.08.20121209";
+
+  freedink_data = stdenv.mkDerivation rec {
+    name = "freedink-data-${version}";
+
+    src = fetchurl {
+      url = "mirror://gnu/freedink/${name}.tar.gz";
+      sha256 = "1mhns09l1s898x18ahbcy9gabrmgsr8dv7pm0a2ivid8mhxahn1j";
+    };
+
+    prePatch = "substituteInPlace Makefile --replace /usr/local $out";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "freedink-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/freedink/${name}.tar.gz";
+    sha256 = "19xximbcm6506kvpf3s0q96697kmzca3yrjdr6dgphklp33zqsqr";
+  };
+
+  buildInputs = [
+    SDL SDL_mixer SDL_image SDL_ttf SDL_gfx
+    pkgconfig intltool fontconfig libzip zip zlib
+  ];
+
+  preConfigure = ''
+    # Build fails on Linux with windres.
+    export ac_cv_prog_ac_ct_WINDRES=
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/"
+    ln -s ${freedink_data}/share/dink "$out/share/"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A free, portable and enhanced version of the Dink Smallwood game engine";
+
+    longDescription = ''
+      GNU FreeDink is a new and portable version of the Dink Smallwood
+      game engine, which runs the original game as well as its D-Mods,
+      with close compatibility, under multiple platforms.
+    '';
+
+    homepage = http://www.freedink.org/;
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    maintainers = [ stdenv.lib.maintainers.bjg ];
+    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = stdenv.lib.platforms.linux; # sdl-config times out on darwin
+  };
+}