summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/devilutionx/default.nix37
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/games/devilutionx/default.nix b/pkgs/games/devilutionx/default.nix
new file mode 100644
index 00000000000..52d3bdd5b79
--- /dev/null
+++ b/pkgs/games/devilutionx/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, SDL2_ttf, libsodium, pkg-config }:
+stdenv.mkDerivation rec {
+  version = "unstable-2019-07-28";
+  pname = "devilutionx";
+
+  src = fetchFromGitHub {
+    owner = "diasurgical";
+    repo = "devilutionX";
+    rev = "b2f358874705598ec139f290b21e340c73d250f6";
+    sha256 = "0s812km118qq5pzlzvzfndvag0mp6yzvm69ykc97frdiq608zw4f";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${SDL2_ttf}/include/SDL2";
+
+  # compilation will fail due to -Werror=format-security
+  hardeningDisable = [ "format" ];
+
+  nativeBuildInputs = [ pkg-config cmake ];
+  buildInputs = [ libsodium SDL2 SDL2_mixer SDL2_ttf ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp devilutionx $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/diasurgical/devilutionX";
+    description = "Diablo build for modern operating systems";
+    license = licenses.unlicense;
+    maintainers = [ maintainers.karolchmist ];
+    platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9c731baa090..cd2738b0bde 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21690,6 +21690,8 @@ in
 
   cuyo = callPackage ../games/cuyo { };
 
+  devilutionx = callPackage ../games/devilutionx {};
+
   dhewm3 = callPackage ../games/dhewm3 {};
 
   digikam = libsForQt5.callPackage ../applications/graphics/digikam {