1{ pkgs }:
2let
3 olympus = pkgs.stdenv.mkDerivation rec {
4 pname = "olympus";
5 version = "4238";
6
7 # https://everestapi.github.io/
8 src = pkgs.fetchzip {
9 url = "https://dev.azure.com/EverestAPI/Olympus/_apis/build/builds/${version}/artifacts?artifactName=linux.main&$format=zip#linux.main.zip";
10 hash = "sha256-KWDr4KsF23iDWA9h/r+cnpDIKKwCVVOfuh6sjvXSnII=";
11 };
12
13 buildInputs = [ pkgs.unzip ];
14 installPhase = ''
15 mkdir -p "$out/opt/olympus/"
16 mv dist.zip "$out/opt/olympus/" && cd "$out/opt/olympus/"
17
18 unzip dist.zip && rm dist.zip
19 mkdir $out && echo XDG_DATA_HOME=$out
20
21 echo y | XDG_DATA_HOME="$out/share/" bash install.sh
22 sed -i "/ldconfig/d" ./love
23 sed -i "s/Exec=.*/Exec=olympus %u/g" ../../share/applications/Olympus.desktop
24 '';
25 };
26in
27pkgs.buildFHSEnv {
28 name = "olympus";
29 runScript = "${olympus}/opt/olympus/olympus";
30 targetPkgs = pkgs: [
31 pkgs.freetype
32 pkgs.zlib
33 pkgs.SDL2
34 pkgs.curl
35 pkgs.libpulseaudio
36 pkgs.gtk3
37 pkgs.glib
38 pkgs.libGL
39 pkgs.libdrm
40 ];
41
42 # https://github.com/EverestAPI/Olympus/blob/main/lib-linux/olympus.desktop
43 # https://stackoverflow.com/questions/8822097/how-to-replace-a-whole-line-with-sed
44 extraInstallCommands = ''cp -r "${olympus}/share/" $out'';
45}