summary refs log tree commit diff
path: root/pkgs/games/rrootage
diff options
context:
space:
mode:
authorFrancesco Gazzetta <francygazz@gmail.com>2018-02-24 18:41:33 +0100
committerFrancesco Gazzetta <francygazz@gmail.com>2018-06-01 14:34:22 +0200
commitf78f2e10177d1dc929c7be9eb85dd07de9678a41 (patch)
treedf65e134cf0d886a5b4b90153f47906b7f015483 /pkgs/games/rrootage
parent548277d0c7bfa5863c1424e7b603b25093c5bc33 (diff)
downloadnixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar.gz
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar.bz2
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar.lz
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar.xz
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.tar.zst
nixpkgs-f78f2e10177d1dc929c7be9eb85dd07de9678a41.zip
rrootage: init at 0.23a
Diffstat (limited to 'pkgs/games/rrootage')
-rw-r--r--pkgs/games/rrootage/default.nix80
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/games/rrootage/default.nix b/pkgs/games/rrootage/default.nix
new file mode 100644
index 00000000000..8b07a38c7bb
--- /dev/null
+++ b/pkgs/games/rrootage/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchpatch, fetchurl, SDL, SDL_mixer, bulletml }:
+
+let
+  version = "0.23a";
+  debianRevision = "12";
+  debianPatch = patchname: hash: fetchpatch {
+    name = "${patchname}.patch";
+    url = "https://sources.debian.org/data/main/r/rrootage/${version}-${debianRevision}/debian/patches/${patchname}.patch";
+    sha256 = hash;
+  };
+
+in stdenv.mkDerivation {
+  name = "rrootage-${version}";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/rrootage/rRootage-${version}.tar.gz";
+    sha256 = "01zzg4ih3kmbhsn1p9zr7g8srv1d2dhrp8cdd86y9qq233idnkln";
+  };
+
+  patches = [
+    (debianPatch
+      "01_makefile"
+      "0wgplznx9kgb82skwqplpydbpallgrby3w662h52wky5zl0pyijj")
+    (debianPatch
+      "02_data_dir"
+      "12vw60s94by3f6k8pk45k555h4y7gzlqfds0a96nrrryammpgnq3")
+    (debianPatch
+      "03_texture_filename"
+      "1qxkxy6821xvanacf25mi43wj8nf40c1qiyavhc8av798xprpkjh")
+    (debianPatch
+      "04_home"
+      "0s15b0liv40jzjd9l4zsq688ky1yp9b1gmb1xhi3bih4y7q9awdz")
+    (debianPatch
+      "05_gcc"
+      "06ihgbfrklabs7cb6216w1jjb9sglv86iagzhhmyydwyph4fb782")
+    (debianPatch
+      "06_rrootage_highres"
+      "0ifjmh236yiv3g896nfwwydgcnq3njdb8ldah7s3jxp3xkpvwcga")
+    (debianPatch
+      "07_use_system_bulletml"
+      "1sxsl1yzx3msvz8mf0jk1vnahqb1ahq9drm391idgh0afy77l6j7")
+    (debianPatch
+      "08_windowed_mode"
+      "0knx4g445ngilsz4dvdkq69f5f8i2xv2fnmdmq037xd5rhfg0b23")
+    (debianPatch
+      "09_rootage_make_highres_default"
+      "1zqz8s54rl8jmqmvdi9c3ayfcma6qkbfkx5vw0fzyn268wcs022p")
+    (debianPatch
+      "10_deg_out_of_range"
+      "1wr76az4rlv1gaj9xdknzqcjazw6h8myqw6y3753q259hxbq4cah")
+  ];
+  postPatch = ''
+    substituteInPlace "src/screen.c" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+    substituteInPlace "src/soundmanager.c" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+    substituteInPlace "src/barragemanager.cc" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage"
+  '';
+
+  buildInputs = [ SDL SDL_mixer bulletml ];
+  makeFlags = [ "-C src" "-f makefile.lin" ];
+  hardeningDisable = [ "stackprotector" "fortify" ]; # buffer overflow without this
+
+  installPhase = ''
+    install -d "$out"/share/games
+    cp -r rr_share "$out"/share/games/rrootage
+    install -D src/rrootage "$out"/bin/rrootage
+
+    install -D -m 644 readme.txt "$out"/share/licenses/rrootage/README.jp
+    install -m 644 readme_e.txt "$out"/share/licenses/rrootage/README.en
+
+    install -D -m 644 readme.txt "$out"/share/doc/rrootage/README.jp
+    install -m 644 readme_e.txt "$out"/share/doc/rrootage/README.en
+    install -m 644 readme_linux "$out"/share/doc/rrootage/README
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Abstract shooter created by Kenta Cho";
+    homepage = "http://rrootage.sourceforge.net/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}