diff options
| author | Artturi <Artturin@artturin.com> | 2021-08-28 04:20:44 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-28 04:20:44 +0300 |
| commit | 7d46ea4c9662c61eeaa8fcfcc44c27bda9e27578 (patch) | |
| tree | 44146523a44fde507a5c8366dfc79b4d47d2cfdc | |
| parent | Merge pull request #135933 from NixOS/backport-135844-to-release-21.05 (diff) | |
| parent | vintagestory: init at 1.15.5 (diff) | |
| download | nixpkgs-7d46ea4c9662c61eeaa8fcfcc44c27bda9e27578.tar.gz | |
Merge pull request #135991 from NixOS/backport-135952-to-release-21.05
[Backport release-21.05] vintagestory: init at 1.15.5
| -rw-r--r-- | pkgs/games/vintagestory/default.nix | 85 | ||||
| -rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/games/vintagestory/default.nix b/pkgs/games/vintagestory/default.nix new file mode 100644 index 000000000000..721b8c921d24 --- /dev/null +++ b/pkgs/games/vintagestory/default.nix @@ -0,0 +1,85 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, makeDesktopItem +, copyDesktopItems +, mono +, xorg +, gtk2 +, sqlite +, openal +, cairo +, libGLU +, SDL2 +, freealut +}: + +stdenv.mkDerivation rec { + pname = "vintagestory"; + version = "1.15.5"; + + src = fetchurl { + url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz"; + sha256 = "sha256-38vLkH8B1yYC1I8P8uCsbC8CK8Btpfm9tNxgiuswsa8="; + }; + + nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + + buildInputs = [ mono ]; + + runtimeLibs = lib.makeLibraryPath ([ + gtk2 + sqlite + openal + cairo + libGLU + SDL2 + freealut + ] ++ (with xorg; [ + libX11 + libXi + ])); + + desktopItems = makeDesktopItem { + name = "vintagestory"; + desktopName = "Vintage Story"; + exec = "vintagestory"; + icon = "vintagestory"; + comment = "Innovate and explore in a sandbox world"; + type = "Application"; + categories = "Game;"; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/vintagestory $out/bin $out/share/pixmaps $out/share/fonts/truetype + cp -r * $out/share/vintagestory + cp $out/share/vintagestory/assets/gameicon.xpm $out/share/pixmaps/vintagestory.xpm + cp $out/share/vintagestory/assets/game/fonts/*.ttf $out/share/fonts/truetype + + runHook postInstall + ''; + + preFixup = '' + makeWrapper ${mono}/bin/mono $out/bin/vintagestory \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --add-flags $out/share/vintagestory/Vintagestory.exe + makeWrapper ${mono}/bin/mono $out/bin/vintagestory-server \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --add-flags $out/share/vintagestory/VintagestoryServer.exe + + find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do + local filename="$(basename -- "$file")" + ln -sf "$filename" "''${file%/*}"/"''${filename,,}" + done + ''; + + meta = with lib; { + description = "An in-development indie sandbox game about innovation and exploration"; + homepage = "https://www.vintagestory.at/"; + license = licenses.unfree; + maintainers = with maintainers; [ artturin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8667fd95e38..b9103b68b6a4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28125,6 +28125,8 @@ in crispyDoom = callPackage ../games/crispy-doom { }; + vintagestory = callPackage ../games/vintagestory/default.nix { }; + cri-o = callPackage ../applications/virtualization/cri-o/wrapper.nix { }; cri-o-unwrapped = callPackage ../applications/virtualization/cri-o { }; |
