about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/path-of-building/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/path-of-building/default.nix')
-rw-r--r--nixpkgs/pkgs/games/path-of-building/default.nix77
1 files changed, 40 insertions, 37 deletions
diff --git a/nixpkgs/pkgs/games/path-of-building/default.nix b/nixpkgs/pkgs/games/path-of-building/default.nix
index a6a51664b088..c4242eb4ea05 100644
--- a/nixpkgs/pkgs/games/path-of-building/default.nix
+++ b/nixpkgs/pkgs/games/path-of-building/default.nix
@@ -1,49 +1,49 @@
-{ stdenv, lib, fetchFromGitHub, runCommand, unzip, meson, ninja, pkg-config, qtbase, qttools, wrapQtAppsHook, luajit }:
+{ stdenv, lib, fetchFromGitHub, unzip, meson, ninja, pkg-config, qtbase, qttools, wrapQtAppsHook, luajit }:
 let
-  dataVersion = "2.30.1";
-  frontendVersion = "unstable-2023-04-09";
-in
-stdenv.mkDerivation {
-  pname = "path-of-building";
-  version = "${dataVersion}-${frontendVersion}";
-
-  src = fetchFromGitHub {
-    owner = "ernstp";
-    repo = "pobfrontend";
-    rev = "9faa19aa362f975737169824c1578d5011487c18";
-    hash = "sha256-zhw2PZ6ZNMgZ2hG+a6AcYBkeg7kbBHNc2eSt4if17Wk=";
-  };
+  data = stdenv.mkDerivation(finalAttrs: {
+    pname = "path-of-building-data";
+    version = "2.31.2";
 
-  data = runCommand "path-of-building-data" {
     src = fetchFromGitHub {
       owner = "PathOfBuildingCommunity";
       repo = "PathOfBuilding";
-      rev = "v${dataVersion}";
-      hash = "sha256-2itcALgl8eDkZylb/hmePDMILM4RxW2u5LYLbg+NNJ4=";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-E178uYVQ+B08h1lM7h+hwfMb08VZK+r25pD4haT1tc8=";
     };
 
     nativeBuildInputs = [ unzip ];
-  }
-  ''
-    # I have absolutely no idea how this file is generated
-    # and I don't think I want to know. The Flatpak also does this.
-    unzip -j -d $out $src/runtime-win32.zip lua/sha1.lua
 
-    # Install the actual data
-    cp -r $src/src $src/runtime/lua/*.lua $src/manifest.xml $out
+    buildCommand = ''
+      # I have absolutely no idea how this file is generated
+      # and I don't think I want to know. The Flatpak also does this.
+      unzip -j -d $out $src/runtime-win32.zip lua/sha1.lua
 
-    # Pretend this is an official build so we don't get the ugly "dev mode" warning
-    substituteInPlace $out/manifest.xml --replace '<Version' '<Version platform="nixos"'
-    touch $out/installed.cfg
+      # Install the actual data
+      cp -r $src/src $src/runtime/lua/*.lua $src/manifest.xml $out
 
-    # Completely stub out the update check
-    chmod +w $out/src/UpdateCheck.lua
-    echo 'return "none"' > $out/src/UpdateCheck.lua
-  '';
+      # Pretend this is an official build so we don't get the ugly "dev mode" warning
+      substituteInPlace $out/manifest.xml --replace '<Version' '<Version platform="nixos"'
+      touch $out/installed.cfg
+
+      # Completely stub out the update check
+      chmod +w $out/src/UpdateCheck.lua
+      echo 'return "none"' > $out/src/UpdateCheck.lua
+    '';
+  });
+in
+stdenv.mkDerivation {
+  pname = "path-of-building";
+  version = "${data.version}-unstable-2023-04-09";
+
+  src = fetchFromGitHub {
+    owner = "ernstp";
+    repo = "pobfrontend";
+    rev = "9faa19aa362f975737169824c1578d5011487c18";
+    hash = "sha256-zhw2PZ6ZNMgZ2hG+a6AcYBkeg7kbBHNc2eSt4if17Wk=";
+  };
 
   nativeBuildInputs = [ meson ninja pkg-config qttools wrapQtAppsHook ];
   buildInputs = [ qtbase luajit luajit.pkgs.lua-curl ];
-  dontWrapQtApps = true;
 
   installPhase = ''
     runHook preInstall
@@ -51,13 +51,16 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  postFixup = ''
-    wrapQtApp $out/bin/pobfrontend \
-      --set LUA_PATH "$LUA_PATH" \
-      --set LUA_CPATH "$LUA_CPATH" \
-      --chdir "$data"
+  preFixup = ''
+    qtWrapperArgs+=(
+      --set LUA_PATH "$LUA_PATH"
+      --set LUA_CPATH "$LUA_CPATH"
+      --chdir "${data}"
+    )
   '';
 
+  passthru.data = data;
+
   meta = {
     description = "Offline build planner for Path of Exile";
     homepage = "https://pathofbuilding.community/";