sdrangel: fix build on x86_64-darwin
[NixPkgs.git] / pkgs / games / rotp / default.nix
bloba5ff60c25a40dcc8b8ff412db3ee7f313ce447ce
1 { lib, stdenv, fetchFromGitHub, makeWrapper, jdk, jre }:
3 stdenv.mkDerivation {
4   pname = "remnants-of-the-precursors";
5   version = "1.04";
7   src = fetchFromGitHub {
8     owner = "rayfowler";
9     repo = "rotp-public";
10     rev = "e3726fc22c2c44316306c50c79779e3da1c4c140";
11     sha256 = "sha256-oMA8LRpBoBX7t4G+HuRz0a8g+UEwYO7Ya0Qq4j8AWec=";
12   };
14   nativeBuildInputs = [ jdk makeWrapper ];
16   # By default, the game tries to write to the java class path. If that fails
17   # (and it always does, since they are in the read-only nix store), it won't
18   # launch.
19   patches = [ ./0001-store-config-and-saves-in-XDG_CONFIG_HOME.patch ];
21   buildPhase = ''
22     runHook preBuild
24     javac -d "$out/share/" -sourcepath src src/rotp/Rotp.java
26     runHook postBuild
27   '';
29   installPhase = ''
30     runHook preInstall
32     # We need the assets, but don't want the source files.
33     find "src/rotp" -type f -name '*java' -exec rm "{}" \;
34     cp -r src/rotp/* "$out/share/rotp/"
36     mkdir -p $out/bin
37     makeWrapper ${jre}/bin/java $out/bin/rotp \
38       --add-flags "-cp $out/share rotp.Rotp"
40     runHook postInstall
41   '';
43   meta = with lib; {
44     description = ''Open-source modernization of the 1993 classic "Master of Orion", written in Java'';
45     homepage = "https://www.remnantsoftheprecursors.com/";
47     # See LICENSE file in source repo for more details.
48     license = with licenses; [
49       # All java files created by Ray Fowler:
50       gpl3Only
52       # All Java files in the src/rotp/apachemath folder:
53       asl20
55       # The /src/rotp/model/planet/PlanetHeightMap.java file:
56       #
57       # This file is a Java-rewrite of the "Planet Generator" code (originally in C)
58       # available from the following site:
59       #
60       #     http://hjemmesider.diku.dk/~torbenm/Planet
61       #
62       # That page includes the following statement: "Both the program itself and
63       # maps created by the program are free for use, modification and reproduction,
64       # both privately and for commercial purposes, as long as this does not limit
65       # what other people may do with the program and the images they produce with
66       # the program"
67       {
68         free = true;
69         url = "http://hjemmesider.diku.dk/~torbenm/Planet";
70       }
72       # All image files are copyright by Peter Penev.
73       #
74       # All sound files are copyright by Remi Agullo.
75       #
76       # Various *.txt files that contain a license notice are copyright by Jeff Colucci. This
77       # includes English text and any foreign language translations.
78       #
79       # The manual.pdf file is copyright by Tom Chick. This includes any foreign language
80       # translations of the manual contained in this repository
81       cc-by-nc-nd-40
82     ];
84     maintainers = with maintainers; [ jtrees ];
85     platforms = [ "x86_64-linux" ];
86   };