Add vintagestory #1
							
								
								
									
										6
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -2,11 +2,11 @@ | |||||||
|   "nodes": { |   "nodes": { | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1722813957, |         "lastModified": 1736701207, | ||||||
|         "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", |         "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", |         "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ | |||||||
|         default = final: prev: { |         default = final: prev: { | ||||||
|           awakened-poe-trade = self.packages.${prev.system}.awakened-poe-trade; |           awakened-poe-trade = self.packages.${prev.system}.awakened-poe-trade; | ||||||
|           path-of-building-beta = self.packages.${prev.system}.path-of-building-beta; |           path-of-building-beta = self.packages.${prev.system}.path-of-building-beta; | ||||||
|  |           vintagestory-unstable = self.packages.${prev.system}.vintagestory-unstable; | ||||||
|         }; |         }; | ||||||
|         awakened-poe-trade = final: prev: { |         awakened-poe-trade = final: prev: { | ||||||
|           awakened-poe-trade = self.packages.${prev.system}.awakened-poe-trade; |           awakened-poe-trade = self.packages.${prev.system}.awakened-poe-trade; | ||||||
| @@ -27,6 +28,9 @@ | |||||||
|         path-of-building-beta = final: prev: { |         path-of-building-beta = final: prev: { | ||||||
|           awakened-poe-trade = self.packages.${prev.system}.path-of-building-beta; |           awakened-poe-trade = self.packages.${prev.system}.path-of-building-beta; | ||||||
|         }; |         }; | ||||||
|  |         vintagestory-unstable = final: prev: { | ||||||
|  |           vintagestory-unstable = self.packages.${prev.system}.vintagestory-unstable; | ||||||
|  |         }; | ||||||
|       }; |       }; | ||||||
|  |  | ||||||
|       packages = forAllSystems ( |       packages = forAllSystems ( | ||||||
| @@ -34,6 +38,7 @@ | |||||||
|         { |         { | ||||||
|           awakened-poe-trade = pkgs.callPackage ./pkgs/awakened-poe-trade { }; |           awakened-poe-trade = pkgs.callPackage ./pkgs/awakened-poe-trade { }; | ||||||
|           path-of-building-beta = pkgs.qt6Packages.callPackage ./pkgs/path-of-building-beta { }; |           path-of-building-beta = pkgs.qt6Packages.callPackage ./pkgs/path-of-building-beta { }; | ||||||
|  |           vintagestory-unstable = pkgs.callPackage ./pkgs/vintagestory { }; | ||||||
|         } |         } | ||||||
|       ); |       ); | ||||||
|     }; |     }; | ||||||
|   | |||||||
							
								
								
									
										108
									
								
								pkgs/vintagestory/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								pkgs/vintagestory/default.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | |||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   stdenv, | ||||||
|  |   fetchurl, | ||||||
|  |   makeWrapper, | ||||||
|  |   makeDesktopItem, | ||||||
|  |   copyDesktopItems, | ||||||
|  |   xorg, | ||||||
|  |   gtk2, | ||||||
|  |   sqlite, | ||||||
|  |   openal, | ||||||
|  |   cairo, | ||||||
|  |   libGLU, | ||||||
|  |   SDL2, | ||||||
|  |   freealut, | ||||||
|  |   libglvnd, | ||||||
|  |   pipewire, | ||||||
|  |   libpulseaudio, | ||||||
|  |   dotnet-runtime_8, | ||||||
|  | }: | ||||||
|  |  | ||||||
|  | stdenv.mkDerivation rec { | ||||||
|  |   pname = "vintagestory"; | ||||||
|  |   version = "1.20.0-rc.8"; | ||||||
|  |  | ||||||
|  |   src = fetchurl { | ||||||
|  |     url = "https://cdn.vintagestory.at/gamefiles/unstable/vs_client_linux-x64_${version}.tar.gz"; | ||||||
|  |     hash = "sha256-/MPR6PAkZv93zT6YbJatg67aRYfzp9vFRY82gtVksAs="; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   nativeBuildInputs = [ | ||||||
|  |     makeWrapper | ||||||
|  |     copyDesktopItems | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   buildInputs = [ dotnet-runtime_8 ]; | ||||||
|  |  | ||||||
|  |   runtimeLibs = lib.makeLibraryPath ( | ||||||
|  |     [ | ||||||
|  |       gtk2 | ||||||
|  |       sqlite | ||||||
|  |       openal | ||||||
|  |       cairo | ||||||
|  |       libGLU | ||||||
|  |       SDL2 | ||||||
|  |       freealut | ||||||
|  |       libglvnd | ||||||
|  |       pipewire | ||||||
|  |       libpulseaudio | ||||||
|  |     ] | ||||||
|  |     ++ (with xorg; [ | ||||||
|  |       libX11 | ||||||
|  |       libXi | ||||||
|  |       libXcursor | ||||||
|  |     ]) | ||||||
|  |   ); | ||||||
|  |  | ||||||
|  |   desktopItems = [ | ||||||
|  |     (makeDesktopItem { | ||||||
|  |       name = "vintagestory"; | ||||||
|  |       desktopName = "Vintage Story"; | ||||||
|  |       exec = "vintagestory"; | ||||||
|  |       icon = "vintagestory"; | ||||||
|  |       comment = "Innovate and explore in a sandbox world"; | ||||||
|  |       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 = | ||||||
|  |     '' | ||||||
|  |       sed -i 's/net7.0/net8.0/' $out/share/vintagestory/Vintagestory.runtimeconfig.json | ||||||
|  |       sed -i 's/7.0.0/8.0.11/' $out/share/vintagestory/Vintagestory.runtimeconfig.json | ||||||
|  |  | ||||||
|  |       makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory \ | ||||||
|  |         --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ | ||||||
|  |         --add-flags $out/share/vintagestory/Vintagestory.dll | ||||||
|  |       makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory-server \ | ||||||
|  |         --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ | ||||||
|  |         --add-flags $out/share/vintagestory/VintagestoryServer.dll | ||||||
|  |     '' | ||||||
|  |     + '' | ||||||
|  |       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 = "In-development indie sandbox game about innovation and exploration"; | ||||||
|  |     homepage = "https://www.vintagestory.at/"; | ||||||
|  |     license = licenses.unfree; | ||||||
|  |     maintainers = with maintainers; [ | ||||||
|  |       artturin | ||||||
|  |       gigglesquid | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user