{ pkgs, stdenv, lib, fetchFromGitHub, unzip, ... }: let data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; version = "dev-version"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding-PoE2"; rev = "3c579af5612d2137d37558d40d797801b5bbaa69"; hash = "sha256-hRS4k2V9Ze6dc7BMA0iZxjCOZgqPa3Cu7gRZiVLrFR4="; }; nativeBuildInputs = [unzip]; 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 # Install the actual data cp -r $src/src $src/runtime/lua/*.lua $src/manifest.xml $out # Pretend this is an official build so we don't get the ugly "dev mode" warning substituteInPlace $out/manifest.xml --replace ' $out/src/UpdateCheck.lua ''; }); in stdenv.mkDerivation { pname = "path-of-building-2"; version = "${data.version}-unstable-2023-04-09"; src = fetchFromGitHub { owner = "ernstp"; repo = "pobfrontend"; rev = "9faa19aa362f975737169824c1578d5011487c18"; hash = "sha256-zhw2PZ6ZNMgZ2hG+a6AcYBkeg7kbBHNc2eSt4if17Wk="; }; nativeBuildInputs = with pkgs; [ meson ninja pkg-config kdePackages.qttools kdePackages.wrapQtAppsHook ]; buildInputs = with pkgs; [ kdePackages.qtbase luajit luajit.pkgs.lua-curl ]; installPhase = '' runHook preInstall install -Dm555 pobfrontend $out/bin/pobfrontend runHook postInstall ''; 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/"; license = lib.licenses.mit; maintainers = [lib.maintainers.k900]; mainProgram = "pobfrontend"; broken = stdenv.isDarwin; # doesn't find uic6 for some reason }; }