chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / un / unciv / package.nix
blob5188209732f518e0b693b8793f3eef9c430af05d
1 { stdenv
2 , lib
3 , fetchurl
4 , copyDesktopItems
5 , makeDesktopItem
6 , makeWrapper
7 , jre
8 , libGL
9 , libpulseaudio
10 , libXxf86vm
12 let
13   version = "4.13.2-redo";
15   desktopItem = makeDesktopItem {
16     name = "unciv";
17     exec = "unciv";
18     comment = "An open-source Android/Desktop remake of Civ V";
19     desktopName = "Unciv";
20     icon = "unciv";
21     categories = [ "Game" ];
22   };
24   desktopIcon = fetchurl {
25     url = "https://github.com/yairm210/Unciv/blob/${version}/extraImages/Icons/Unciv%20icon%20v6.png?raw=true";
26     hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk=";
27   };
29   envLibPath = lib.makeLibraryPath (lib.optionals stdenv.hostPlatform.isLinux [
30     libGL
31     libpulseaudio
32     libXxf86vm
33   ]);
36 stdenv.mkDerivation rec {
37   pname = "unciv";
38   inherit version;
40   src = fetchurl {
41     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
42     hash = "sha256-bZXBgSjmW+fBdDfG7cqKkF4VLYw7Iq2mw5j6iDh2ZhY=";
43   };
45   dontUnpack = true;
47   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
49   installPhase = ''
50     runHook preInstall
52     makeWrapper ${jre}/bin/java $out/bin/unciv \
53       --prefix LD_LIBRARY_PATH : "${envLibPath}" \
54       --prefix PATH : ${lib.makeBinPath [ jre ]} \
55       --add-flags "-jar ${src}"
57     install -Dm444 ${desktopIcon} $out/share/icons/hicolor/512x512/apps/unciv.png
59     runHook postInstall
60   '';
62   desktopItems = [ desktopItem ];
64   meta = with lib; {
65     description = "Open-source Android/Desktop remake of Civ V";
66     mainProgram = "unciv";
67     homepage = "https://github.com/yairm210/Unciv";
68     maintainers = with maintainers; [ tex ];
69     sourceProvenance = with sourceTypes; [ binaryBytecode ];
70     license = licenses.mpl20;
71     platforms = platforms.all;
72   };