pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / vassal / default.nix
blob4b68bc53d086c27ee5f4da2e32b62e8e7e4f0811
1 { lib
2 , stdenv
3 , fetchzip
4 , glib
5 , jre
6 , makeWrapper
7 , wrapGAppsHook3
8 }:
10 stdenv.mkDerivation rec {
11   pname = "VASSAL";
12   version = "3.7.14";
14   src = fetchzip {
15     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
16     sha256 = "sha256-3P3f6X2c5lF1AizEs9z59MhLy0Ntg203rkPAkv+SBtw=";
17   };
19   buildInputs = [
20     glib
21   ];
23   nativeBuildInputs = [
24     makeWrapper
25     wrapGAppsHook3
26   ];
28   installPhase = ''
29     runHook preInstall
31     mkdir -p $out/bin $out/share/vassal $out/doc
33     cp CHANGES LICENSE README.md $out
34     cp -R lib/* $out/share/vassal
35     cp -R doc/* $out/doc
37     makeWrapper ${jre}/bin/java $out/bin/vassal \
38       --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \
39       VASSAL.launch.ModuleManager"
41     runHook postInstall
42   '';
44   # Don't move doc to share/, VASSAL expects it to be in the root
45   forceShare = [ "man" "info" ];
47   meta = with lib; {
48       description = "Free, open-source boardgame engine";
49       homepage = "https://vassalengine.org/";
50       sourceProvenance = with sourceTypes; [ binaryBytecode ];
51       license = licenses.lgpl21Only;
52       maintainers = with maintainers; [ tvestelind ];
53       platforms = platforms.unix;
54       mainProgram = "vassal";
55   };