summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2021-08-28 04:20:44 +0300
committerGitHub <noreply@github.com>2021-08-28 04:20:44 +0300
commit7d46ea4c9662c61eeaa8fcfcc44c27bda9e27578 (patch)
tree44146523a44fde507a5c8366dfc79b4d47d2cfdc
parentMerge pull request #135933 from NixOS/backport-135844-to-release-21.05 (diff)
parentvintagestory: init at 1.15.5 (diff)
downloadnixpkgs-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.nix85
-rw-r--r--pkgs/top-level/all-packages.nix2
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 { };