diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-07-23 08:29:48 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-07-23 08:29:48 -0400 |
commit | e4781a2c772c1bd6802e65847629f2248ba37336 (patch) | |
tree | d4d068c4dc5ce499b138daaf023e8310d8d8bffc /packages/unciv | |
parent | 93280382da83e885d919d3b13f4383c2ac6102d3 (diff) | |
download | nix-config-e4781a2c772c1bd6802e65847629f2248ba37336.tar.gz nix-config-e4781a2c772c1bd6802e65847629f2248ba37336.tar.bz2 nix-config-e4781a2c772c1bd6802e65847629f2248ba37336.zip |
2025-07-23
Diffstat (limited to 'packages/unciv')
-rw-r--r-- | packages/unciv/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/packages/unciv/default.nix b/packages/unciv/default.nix new file mode 100644 index 0000000..7980c59 --- /dev/null +++ b/packages/unciv/default.nix @@ -0,0 +1,76 @@ +{ + stdenv, + lib, + fetchurl, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + jre, + libGL, + libpulseaudio, + libXxf86vm, +}: +stdenv.mkDerivation rec { + pname = "unciv"; + version = "4.17.2"; + + desktopIcon = fetchurl { + url = "https://github.com/yairm210/Unciv/blob/${version}/extraImages/Icons/Unciv%20icon%20v6.png?raw=true"; + hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk="; + }; + + src = fetchurl { + url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; + hash = "sha256-zLH7juFlPkvM6xbVrmsAuIrvoGOXMrZswujbU6u7bms="; + }; + + envLibPath = lib.makeLibraryPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + libGL + libpulseaudio + libXxf86vm + ] + ); + + desktopItem = makeDesktopItem { + name = "unciv"; + exec = "unciv"; + comment = "An open-source Android/Desktop remake of Civ V"; + desktopName = "Unciv"; + icon = "unciv"; + categories = [ "Game" ]; + }; + + dontUnpack = true; + + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; + + installPhase = '' + runHook preInstall + + makeWrapper ${jre}/bin/java $out/bin/unciv \ + --prefix LD_LIBRARY_PATH : "${envLibPath}" \ + --prefix PATH : ${lib.makeBinPath [ jre ]} \ + --add-flags "-jar ${src}" + + install -Dm444 ${desktopIcon} $out/share/icons/hicolor/512x512/apps/unciv.png + + runHook postInstall + ''; + + desktopItems = [ desktopItem ]; + + meta = with lib; { + description = "Open-source Android/Desktop remake of Civ V"; + mainProgram = "unciv"; + homepage = "https://github.com/yairm210/Unciv"; + maintainers = with maintainers; [ tex ]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.mpl20; + platforms = platforms.all; + }; +} + |