diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix new file mode 100644 index 000000000000..917cf328e7ed --- /dev/null +++ b/pkgs/games/unciv/default.nix @@ -0,0 +1,59 @@ +{ stdenv +, lib +, fetchurl +, copyDesktopItems +, makeDesktopItem +, makeWrapper +, jre +, libpulseaudio +, libXxf86vm +}: +let + desktopItem = makeDesktopItem { + name = "unciv"; + exec = "unciv"; + comment = "An open-source Android/Desktop remake of Civ V"; + desktopName = "Unciv"; + categories = "Game;"; + }; + + envLibPath = lib.makeLibraryPath [ + libpulseaudio + libXxf86vm + ]; + +in +stdenv.mkDerivation rec { + pname = "unciv"; + version = "3.12.8"; + + src = fetchurl { + url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; + sha256 = "178lasa6ahwg2s2hamm13yysg42qm13v6a9pgs6nm66np93nskc7"; + }; + + 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}" + + runHook postInstall + ''; + + desktopItems = [ desktopItem ]; + + meta = with lib; { + description = "An open-source Android/Desktop remake of Civ V"; + homepage = "https://github.com/yairm210/Unciv"; + maintainers = with maintainers; [ tex ]; + license = licenses.mpl20; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 355df6b465fb..70cd8e136333 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27077,6 +27077,8 @@ in ffmpeg = ffmpeg_2; }; + unciv = callPackage ../games/unciv { }; + unnethack = callPackage ../games/unnethack { }; uqm = callPackage ../games/uqm { };