diff options
author | Joshua Trees <me@jtrees.io> | 2022-08-26 12:45:52 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2022-08-27 14:05:12 +0200 |
commit | c557b9d0bdb4db8d6fb1cc89070cd58894de28d5 (patch) | |
tree | 3ad58a70699d2d4a0645fed099a96659465f858e /pkgs/games/everspace | |
parent | 022a05ab61f968df4fe53a226947726d44496a9b (diff) |
everspace: init at 1.3.5.3655
This is the version from gog.com.
Diffstat (limited to 'pkgs/games/everspace')
-rw-r--r-- | pkgs/games/everspace/default.nix | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/pkgs/games/everspace/default.nix b/pkgs/games/everspace/default.nix new file mode 100644 index 000000000000..dce777a68cb1 --- /dev/null +++ b/pkgs/games/everspace/default.nix @@ -0,0 +1,102 @@ +{ + # Packaging Dependencies + lib, stdenv, requireFile, autoPatchelfHook, unzip, + + # Everspace Dependencies + cairo, gdk-pixbuf, gnome2, gtk2-x11, libGL, openal, + + # Unreal Engine 4 Dependencies + xorg +}: + +# Known issues: +# - Video playback (upon starting a new game) does not work (screen is black) +stdenv.mkDerivation { + pname = "everspace"; + version = "1.3.5.3655"; + + src = requireFile { + name = "everspace_1_3_5_3655_32896.sh"; + url = "https://www.gog.com/"; + sha256 = "0jlvxq14k1pxmbr08y8kar0ijlqxcnkfqlvw883j96v9zr34ynj3"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + unzip + ]; + + buildInputs = [ + cairo + gdk-pixbuf + gnome2.pango + gtk2-x11 + openal + stdenv.cc.cc.lib + ]; + + runtimeDependencies = [ + libGL + + # ue4 + xorg.libX11 + xorg.libXScrnSaver + xorg.libXau + xorg.libXcursor + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXxf86vm + xorg.libxcb + ]; + + unpackPhase = '' + runHook preUnpack + + # The shell script contains a zip file. Unzipping it works but will result + # in some error output and an error exit code. + unzip "$src" || true + + runHook postUnpack + ''; + + postPatch = '' + ## Remove Bundled Libs ## + + # vlc libs + # + # TODO: This is probably what breaks video playback. It would be cleaner + # to remove the bundled libs and replace them with system libs but there + # are so many. Copy-pasting the list from the vlc package is a good start + # but still leaves us with many unresolved dependencies. + rm -rf ./data/noarch/game/RSG/Plugins/VlcMedia + + # openal + rm -rf ./data/noarch/game/Engine/Binaries/ThirdParty/OpenAL + ''; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/opt" + cp -r "./data/noarch" "$out/opt/everspace" + + mkdir -p "$out/bin" + ln -s "$out/opt/everspace/game/RSG/Binaries/Linux/RSG-Linux-Shipping" "$out/bin/everspace" + + runHook postInstall + ''; + + meta = with lib; { + description = "Action-focused single-player space shooter with roguelike elements"; + homepage = "https://classic.everspace-game.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ jtrees ]; + platforms = [ "x86_64-linux" ]; + }; +} |