diff --git a/flake.nix b/flake.nix index bce654c..b97d08c 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,16 @@ "aarch64-darwin" ]; forAllSystems = - f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); + f: + nixpkgs.lib.genAttrs allSystems ( + system: + f { + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + }; + } + ); in { overlays = { diff --git a/pkgs/noita-entangled-worlds/default.nix b/pkgs/noita-entangled-worlds/default.nix index b9df332..7625ef6 100644 --- a/pkgs/noita-entangled-worlds/default.nix +++ b/pkgs/noita-entangled-worlds/default.nix @@ -1,5 +1,4 @@ { - lib, alsa-lib, gtk3, fetchFromGitHub, @@ -11,52 +10,54 @@ cmake, libopus, steam-run, + writeShellApplication, }: +let + entangled = rustPlatform.buildRustPackage rec { + pname = "noita-entangled-worlds-proxy"; + version = "v1.5.1"; -rustPlatform.buildRustPackage rec { - pname = "noita-entangled-worlds-proxy"; - version = "v1.5.1"; + src = fetchFromGitHub { + owner = "IntQuant"; + repo = "noita_entangled_worlds"; + rev = version; + hash = "sha256-v5aulgWkPhgkPHfHb1j/39JauKfFhFCHRfBgm2UJHYc="; + }; - src = fetchFromGitHub { - owner = "IntQuant"; - repo = "noita_entangled_worlds"; - rev = version; - hash = "sha256-v5aulgWkPhgkPHfHb1j/39JauKfFhFCHRfBgm2UJHYc="; + sourceRoot = "${src.name}/noita-proxy"; + + useFetchCargoVendor = true; + cargoHash = "sha256-1YkLTp3QUaC1oU1SwmuOJMTklptfZu2gIonDyLfLhCk="; + buildInputs = [ + gtk3 + openssl + jack2 + alsa-lib + libopus + ]; + nativeBuildInputs = [ + pkg-config + python3 + cmake + ]; + preInstall = '' + mkdir -p $out/share/lib64/noita-proxy + cp -r ${src}/redist/libsteam_api.so $out/share/lib64/noita-proxy + ''; + checkFlags = [ + # reason for disabling test + "--skip=bookkeeping::releases::test::release_assets" + ]; }; - - sourceRoot = "${src.name}/noita-proxy"; - - useFetchCargoVendor = true; - cargoHash = "sha256-1YkLTp3QUaC1oU1SwmuOJMTklptfZu2gIonDyLfLhCk="; - buildInputs = [ - gtk3 - openssl - jack2 - alsa-lib - libopus - ]; - nativeBuildInputs = [ - pkg-config - python3 - cmake +in +writeShellApplication { + name = "noita-proxy-${entangled.version}"; + runtimeInputs = [ + entangled steam-run ]; - preInstall = '' - mkdir -p $out/share/lib64/noita-proxy - cp ${src}/redist/libsteam_api.so $out/share/lib64/noita-proxy + text = '' + export LD_PRELOAD=${entangled}/share/lib64/noita-proxy/libsteam_api.so + exec steam-run "${entangled}/bin/noita-proxy" "$@" ''; - postInstall = '' - mv $out/bin/noita-proxy $out/bin/noita-proxy-unwrapped - cat > $out/bin/noita-proxy <