summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-12-19 18:01:41 +0000
committerGitHub <noreply@github.com>2022-12-19 18:01:41 +0000
commit141c0ed100fabac04cb11a4bc850f1139eaa2ec8 (patch)
tree3b11dbc1ee4ddaa4a94baecb10823c4c33c6450d /pkgs/games
parent560c014f31216245830789ee7dfd3ca41bb5eca3 (diff)
parent70e5153c86b97a6a892f9cce44d9bd0b3c6813a6 (diff)
downloadnixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar.gz
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar.bz2
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar.lz
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar.xz
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.tar.zst
nixpkgs-141c0ed100fabac04cb11a4bc850f1139eaa2ec8.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/airshipper/default.nix59
1 files changed, 45 insertions, 14 deletions
diff --git a/pkgs/games/airshipper/default.nix b/pkgs/games/airshipper/default.nix
index 4fc37b0ca25..227de62b473 100644
--- a/pkgs/games/airshipper/default.nix
+++ b/pkgs/games/airshipper/default.nix
@@ -12,30 +12,58 @@
 , libXrandr
 , libXi
 , libXcursor
+, udev
+, alsa-lib
+, stdenv
+, libxcb
 , pkg-config
 , makeWrapper
+, writeShellScript
+, patchelf
 }:
-
-rustPlatform.buildRustPackage rec {
+let
+  version = "0.10.0";
+  # Patch for airshipper to install veloren
+  patch = let
+    runtimeLibs = [
+      udev
+      alsa-lib
+      stdenv.cc.cc.lib
+      libxkbcommon
+      libxcb
+      libX11
+      libXcursor
+      libXrandr
+      libXi
+      vulkan-loader
+      libGL
+    ];
+  in
+    writeShellScript "patch" ''
+      echo "making binaries executable"
+      chmod +x {veloren-voxygen,veloren-server-cli}
+      echo "patching dynamic linkers"
+      ${patchelf}/bin/patchelf \
+        --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
+        veloren-server-cli
+      ${patchelf}/bin/patchelf \
+        --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
+        --set-rpath "${lib.makeLibraryPath runtimeLibs}" \
+        veloren-voxygen
+  '';
+in
+rustPlatform.buildRustPackage {
   pname = "airshipper";
-  version = "0.7.0";
+  inherit version;
 
   src = fetchFromGitLab {
     owner = "Veloren";
     repo = "airshipper";
     rev = "v${version}";
-    sha256 = "sha256-nOE9ZNHxLEAnMkuBSpxmeq3DxkRIlcoase6AxU+eFug=";
+    sha256 = "sha256-5zP1Ye1fJNQp8eWKwdxLqBr4qzBfWEEBsJ9s7+8idL4=";
   };
 
-  patches = [
-    # this *should* be merged in time for the release following 0.7.0
-    (fetchpatch {
-      url = "https://github.com/veloren/Airshipper/commit/97fc986ab4cbf59f2c764f647710f19db86031b4.patch";
-      hash = "sha256-Sg5et+yP6Z44wV/t9zqKLpg1C0cq6rV+3WrzAH4Za3U=";
-    })
-  ];
-
-  cargoSha256 = "sha256-s3seKVEhXyOVlt3a8cubzRWoB4SVQpdCmq12y0FpDUw=";
+  cargoSha256 = "sha256-oksJYuuHdfP5mMQ+zYHH5SgD6YUK+zE3+AY90ZzHRUU=";
 
   buildInputs = [
     openssl
@@ -49,9 +77,11 @@ rustPlatform.buildRustPackage rec {
   ];
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
+  RUSTC_BOOTSTRAP = 1; # We need rust unstable features
+
   postInstall = ''
     install -Dm444 -t "$out/share/applications" "client/assets/net.veloren.airshipper.desktop"
-    install -Dm444    "client/assets/logo.ico"  "$out/share/icons/net.veloren.airshipper.ico"
+    install -Dm444    "client/assets/net.veloren.airshipper.png"  "$out/share/icons/net.veloren.airshipper.png"
   '';
 
   postFixup =
@@ -70,6 +100,7 @@ rustPlatform.buildRustPackage rec {
     in
     ''
       patchelf --set-rpath "${libPath}" "$out/bin/airshipper"
+      wrapProgram "$out/bin/airshipper" --set VELOREN_PATCHER "${patch}"
     '';
 
   doCheck = false;