summary refs log tree commit diff
path: root/pkgs/games/riko4
diff options
context:
space:
mode:
authorCrazedProgrammer <crazedprogrammer@gmail.com>2018-12-29 15:27:57 +0100
committerCrazedProgrammer <crazedprogrammer@gmail.com>2018-12-29 15:37:30 +0100
commit46d6e7338d2405e0dcf6aee4abbe05d96778133e (patch)
tree1e94bcc1b8e953abf99b43fc4de4dc8947246d53 /pkgs/games/riko4
parent406cb1a2c1888d0769138ce306de6b116f3deb0e (diff)
downloadnixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar.gz
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar.bz2
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar.lz
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar.xz
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.tar.zst
nixpkgs-46d6e7338d2405e0dcf6aee4abbe05d96778133e.zip
riko4: init at 0.1.0
Diffstat (limited to 'pkgs/games/riko4')
-rw-r--r--pkgs/games/riko4/default.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/games/riko4/default.nix b/pkgs/games/riko4/default.nix
new file mode 100644
index 00000000000..7cbfacd0b40
--- /dev/null
+++ b/pkgs/games/riko4/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, luajit, curl, curlpp }:
+
+let
+  # Newer versions of sdl-gpu don't work with Riko4 (corrupted graphics),
+  # and this library does not have a proper release version, so let the
+  # derivation for this stay next to the Riko4 derivation for now.
+  sdl-gpu = stdenv.mkDerivation rec {
+    name = "sdl-gpu-${version}";
+    version = "2018-11-01";
+    src = fetchFromGitHub {
+      owner = "grimfang4";
+      repo = "sdl-gpu";
+      rev = "a4ff1ab02410f154b004c29ec46e07b22890fa1f";
+      sha256 = "1wdwg331s7r4dhq1l8w4dvlqf4iywskpdrscgbwrz9j0c6nqqi3v";
+    };
+    buildInputs = [ SDL2 libGLU ];
+    nativeBuildInputs = [ cmake ];
+    enableParallelBuilding = true;
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/grimfang4/sdl-gpu;
+      description = "A library for high-performance, modern 2D graphics with SDL written in C";
+      license = licenses.mit;
+      maintainers = with maintainers; [ CrazedProgrammer ];
+    };
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "riko4-${version}";
+  version = "0.1.0";
+  src = fetchFromGitHub {
+    owner = "incinirate";
+    repo = "Riko4";
+    rev = "v${version}";
+    sha256 = "008i9991sn616dji96jfwq6gszrspbx4x7cynxb1cjw66phyy5zp";
+  };
+
+  buildInputs = [ SDL2 luajit sdl-gpu curl curlpp ];
+  nativeBuildInputs = [ cmake ];
+
+  hardeningDisable = [ "fortify" ];
+  cmakeFlags = [ "-DSDL2_gpu_INCLUDE_DIR=\"${sdl-gpu}/include\"" ];
+
+  # Riko4 needs the data/ and scripts/ directories to be in its PWD.
+  installPhase = ''
+    install -Dm0755 riko4 $out/bin/.riko4-unwrapped
+    mkdir -p $out/lib/riko4
+    cp -r ../data $out/lib/riko4
+    cp -r ../scripts $out/lib/riko4
+    cat > $out/bin/riko4 <<EOF
+    #!/bin/sh
+    pushd $out/lib/riko4 > /dev/null
+    exec $out/bin/.riko4-unwrapped "\$@"
+    popd > /dev/null
+    EOF
+    chmod +x $out/bin/riko4
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/incinirate/Riko4;
+    description = "Fantasy console for pixel art game development";
+    license = licenses.mit;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+  };
+}