Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

starsector: init at 0.95a-RC15 #140064

Merged
merged 1 commit into from Oct 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
57 changes: 57 additions & 0 deletions pkgs/games/starsector/default.nix
@@ -0,0 +1,57 @@
{ lib
, alsa-lib
, fetchzip
, libXxf86vm
, makeWrapper
, openjdk
, stdenv
, xorg
}:

stdenv.mkDerivation rec {
pname = "starsector";
version = "0.95a-RC15";

src = fetchzip {
url = "https://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-${version}.zip";
sha256 = "sha256-/5ij/079aOad7otXSFFcmVmiYQnMX/0RXGOr1j0rkGY=";
};

nativeBuildInputs = [ makeWrapper ];
buildInputs = with xorg; [
alsa-lib
libXxf86vm
];

dontBuild = true;

# need to cd into $out in order for classpath to pick up correct jar files
installPhase = ''
mkdir -p $out/bin
rm -r jre_linux # remove jre7
rm starfarer.api.zip
cp -r ./* $out

wrapProgram $out/starsector.sh \
--prefix PATH : ${lib.makeBinPath [ openjdk ]} \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \
--run "mkdir -p \$XDG_DATA_HOME/starsector; cd $out"
ln -s $out/starsector.sh $out/bin/starsector
'';

# it tries to run everything with relative paths, which makes it CWD dependent
# also point mod, screenshot, and save directory to $XDG_DATA_HOME
postPatch = ''
substituteInPlace starsector.sh \
--replace "./jre_linux/bin/java" "${openjdk}/bin/java" \
--replace "./native/linux" "$out/native/linux" \
--replace "./" "\$XDG_DATA_HOME/starsector/"
'';

meta = with lib; {
description = "Open-world single-player space-combat, roleplaying, exploration, and economic game";
homepage = "https://fractalsoftworks.com";
license = licenses.unfree;
maintainers = with maintainers; [ bbigras ];
};
}
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -9288,6 +9288,10 @@ with pkgs;

sqls = callPackage ../applications/misc/sqls { };

starsector = callPackage ../games/starsector {
openjdk = openjdk8;
};

stdman = callPackage ../data/documentation/stdman { };

steck = callPackage ../servers/pinnwand/steck.nix { };
Expand Down