lol
1{ stdenv
2, lib
3, fetchurl
4, copyDesktopItems
5, makeDesktopItem
6, makeWrapper
7, jre
8, libpulseaudio
9, libXxf86vm
10}:
11let
12 desktopItem = makeDesktopItem {
13 name = "unciv";
14 exec = "unciv";
15 comment = "An open-source Android/Desktop remake of Civ V";
16 desktopName = "Unciv";
17 categories = [ "Game" ];
18 };
19
20 envLibPath = lib.makeLibraryPath [
21 libpulseaudio
22 libXxf86vm
23 ];
24
25in
26stdenv.mkDerivation rec {
27 pname = "unciv";
28 version = "4.2.20";
29
30 src = fetchurl {
31 url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
32 sha256 = "sha256-SsEOewFbJqad8OCRiE1VHOx7kVFtF4DEInE3ETCGxDM=";
33 };
34
35 dontUnpack = true;
36
37 nativeBuildInputs = [ copyDesktopItems makeWrapper ];
38
39 installPhase = ''
40 runHook preInstall
41
42 makeWrapper ${jre}/bin/java $out/bin/unciv \
43 --prefix LD_LIBRARY_PATH : ${envLibPath} \
44 --prefix PATH : ${lib.makeBinPath [ jre ]} \
45 --add-flags "-jar ${src}"
46
47 runHook postInstall
48 '';
49
50 desktopItems = [ desktopItem ];
51
52 meta = with lib; {
53 description = "An open-source Android/Desktop remake of Civ V";
54 homepage = "https://github.com/yairm210/Unciv";
55 maintainers = with maintainers; [ tex ];
56 sourceProvenance = with sourceTypes; [ binaryBytecode ];
57 license = licenses.mpl20;
58 platforms = [ "x86_64-linux" ];
59 };
60}