summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorbinarydigitz01 <binarydigitz01@protonmail.com>2022-12-06 08:21:00 +0530
committerArnav Vijaywargiya <binarydigitz01@protonmail.com>2022-12-19 12:37:37 +0530
commit33ec7bf54fcfc506353ad877273ea857c172c4df (patch)
tree2a57781d4df2d33c40b941012053cae0fd32a996 /pkgs/games
parent4f4073186f4714a6fbca4e649e568fb35ac8811e (diff)
downloadnixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar.gz
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar.bz2
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar.lz
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar.xz
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.tar.zst
nixpkgs-33ec7bf54fcfc506353ad877273ea857c172c4df.zip
airshipper: 0.7.0 -> 0.10.0 https://gitlab.com/veloren/airshipper/-/blob/v0.10.0/CHANGELOG.md
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;