summaryrefslogtreecommitdiffstats
path: root/packages/unciv
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-07-23 08:29:48 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-07-23 08:29:48 -0400
commite4781a2c772c1bd6802e65847629f2248ba37336 (patch)
treed4d068c4dc5ce499b138daaf023e8310d8d8bffc /packages/unciv
parent93280382da83e885d919d3b13f4383c2ac6102d3 (diff)
downloadnix-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.nix76
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;
+ };
+}
+