88 lines
2.7 KiB
Nix
88 lines
2.7 KiB
Nix
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, jdk, jre }:
|
||
|
|
||
|
stdenv.mkDerivation {
|
||
|
pname = "remnants-of-the-precursors";
|
||
|
version = "1.04";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "rayfowler";
|
||
|
repo = "rotp-public";
|
||
|
rev = "e3726fc22c2c44316306c50c79779e3da1c4c140";
|
||
|
sha256 = "sha256-oMA8LRpBoBX7t4G+HuRz0a8g+UEwYO7Ya0Qq4j8AWec=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ jdk makeWrapper ];
|
||
|
|
||
|
# By default, the game tries to write to the java class path. If that fails
|
||
|
# (and it always does, since they are in the read-only nix store), it won't
|
||
|
# launch.
|
||
|
patches = [ ./0001-store-config-and-saves-in-XDG_CONFIG_HOME.patch ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
runHook preBuild
|
||
|
|
||
|
javac -d "$out/share/" -sourcepath src src/rotp/Rotp.java
|
||
|
|
||
|
runHook postBuild
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
# We need the assets, but don't want the source files.
|
||
|
find "src/rotp" -type f -name '*java' -exec rm "{}" \;
|
||
|
cp -r src/rotp/* "$out/share/rotp/"
|
||
|
|
||
|
mkdir -p $out/bin
|
||
|
makeWrapper ${jre}/bin/java $out/bin/rotp \
|
||
|
--add-flags "-cp $out/share rotp.Rotp"
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = ''Open-source modernization of the 1993 classic "Master of Orion", written in Java'';
|
||
|
homepage = "https://www.remnantsoftheprecursors.com/";
|
||
|
|
||
|
# See LICENSE file in source repo for more details.
|
||
|
license = with licenses; [
|
||
|
# All java files created by Ray Fowler:
|
||
|
gpl3Only
|
||
|
|
||
|
# All Java files in the src/rotp/apachemath folder:
|
||
|
asl20
|
||
|
|
||
|
# The /src/rotp/model/planet/PlanetHeightMap.java file:
|
||
|
#
|
||
|
# This file is a Java-rewrite of the "Planet Generator" code (originally in C)
|
||
|
# available from the following site:
|
||
|
#
|
||
|
# http://hjemmesider.diku.dk/~torbenm/Planet
|
||
|
#
|
||
|
# That page includes the following statement: "Both the program itself and
|
||
|
# maps created by the program are free for use, modification and reproduction,
|
||
|
# both privately and for commercial purposes, as long as this does not limit
|
||
|
# what other people may do with the program and the images they produce with
|
||
|
# the program"
|
||
|
{
|
||
|
free = true;
|
||
|
url = "http://hjemmesider.diku.dk/~torbenm/Planet";
|
||
|
}
|
||
|
|
||
|
# All image files are copyright by Peter Penev.
|
||
|
#
|
||
|
# All sound files are copyright by Remi Agullo.
|
||
|
#
|
||
|
# Various *.txt files that contain a license notice are copyright by Jeff Colucci. This
|
||
|
# includes English text and any foreign language translations.
|
||
|
#
|
||
|
# The manual.pdf file is copyright by Tom Chick. This includes any foreign language
|
||
|
# translations of the manual contained in this repository
|
||
|
cc-by-nc-nd-40
|
||
|
];
|
||
|
|
||
|
maintainers = with maintainers; [ jtrees ];
|
||
|
platforms = [ "x86_64-linux" ];
|
||
|
};
|
||
|
}
|