diff options
author | Yannik Rödel <hey@yannik.info> | 2022-06-20 17:09:08 +0200 |
---|---|---|
committer | Yannik Rödel <hey@yannik.info> | 2022-06-21 14:00:07 +0200 |
commit | 2c13f8ea93759769817399374f974bb3df552427 (patch) | |
tree | 8ca41362a594df81e10e1ddced02613f5f8cf0ac /pkgs/games | |
parent | b40f62f3f846723f61d846a0edb14228e1055301 (diff) |
graphwar: init at 1.0.0
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/graphwar/default.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/games/graphwar/default.nix b/pkgs/games/graphwar/default.nix new file mode 100644 index 0000000000000..3586979292e6c --- /dev/null +++ b/pkgs/games/graphwar/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, copyDesktopItems +, jdk +, makeDesktopItem +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "graphwar"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "catabriga"; + repo = "graphwar"; + rev = version; + sha256 = "sha256-t3Y576dXWp2Mj6OSQN5cm9FuNBWNqKq6xxkVRbjIBgE="; + }; + + nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + buildInputs = [ jdk ]; + + buildPhase = '' + runHook preBuild + + mkdir -p out/ + javac -d out/ -sourcepath src/ -classpath out/ -encoding utf8 src/**/*.java + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/ + mv out $out/lib/graphwar + cp -r rsc $out/lib/graphwar/rsc + + makeWrapper ${jdk}/bin/java $out/bin/graphwar \ + --add-flags "-classpath $out/lib/graphwar Graphwar.Graphwar" + makeWrapper ${jdk}/bin/java $out/bin/graphwar-roomserver \ + --add-flags "-classpath $out/lib/graphwar RoomServer.RoomServer" + makeWrapper ${jdk}/bin/java $out/bin/graphwar-globalserver \ + --add-flags "-classpath $out/lib/graphwar GlobalServer.GlobalServer" + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "graphwar"; + exec = "graphwar"; + desktopName = "Graphwar"; + categories = [ "Game" ]; + }) + ]; + + meta = with lib; { + homepage = "http://www.graphwar.com/"; + description = "An artillery game in which you must hit your enemies using mathematical functions"; + license = licenses.gpl3Plus; + platforms = jdk.meta.platforms; + maintainers = with maintainers; [ yrd ]; + }; +} |