at 24.05-pre 66 lines 1.6 kB view raw
1{ lib 2, stdenv 3, fetchFromGitHub 4, copyDesktopItems 5, jdk 6, makeDesktopItem 7, makeWrapper 8}: 9 10stdenv.mkDerivation rec { 11 pname = "graphwar"; 12 version = "1.0.0"; 13 14 src = fetchFromGitHub { 15 owner = "catabriga"; 16 repo = "graphwar"; 17 rev = version; 18 sha256 = "sha256-t3Y576dXWp2Mj6OSQN5cm9FuNBWNqKq6xxkVRbjIBgE="; 19 }; 20 21 nativeBuildInputs = [ copyDesktopItems makeWrapper ]; 22 buildInputs = [ jdk ]; 23 24 buildPhase = '' 25 runHook preBuild 26 27 mkdir -p out/ 28 javac -d out/ -sourcepath src/ -classpath out/ -encoding utf8 src/**/*.java 29 30 runHook postBuild 31 ''; 32 33 installPhase = '' 34 runHook preInstall 35 36 mkdir -p $out/lib/ 37 mv out $out/lib/graphwar 38 cp -r rsc $out/lib/graphwar/rsc 39 40 makeWrapper ${jdk}/bin/java $out/bin/graphwar \ 41 --add-flags "-classpath $out/lib/graphwar Graphwar.Graphwar" 42 makeWrapper ${jdk}/bin/java $out/bin/graphwar-roomserver \ 43 --add-flags "-classpath $out/lib/graphwar RoomServer.RoomServer" 44 makeWrapper ${jdk}/bin/java $out/bin/graphwar-globalserver \ 45 --add-flags "-classpath $out/lib/graphwar GlobalServer.GlobalServer" 46 47 runHook postInstall 48 ''; 49 50 desktopItems = [ 51 (makeDesktopItem { 52 name = "graphwar"; 53 exec = "graphwar"; 54 desktopName = "Graphwar"; 55 categories = [ "Game" ]; 56 }) 57 ]; 58 59 meta = with lib; { 60 homepage = "http://www.graphwar.com/"; 61 description = "An artillery game in which you must hit your enemies using mathematical functions"; 62 license = licenses.gpl3Plus; 63 platforms = jdk.meta.platforms; 64 maintainers = with maintainers; [ yrd ]; 65 }; 66}