diff options
Diffstat (limited to 'pkgs/games/shattered-pixel-dungeon/generic.nix')
-rw-r--r-- | pkgs/games/shattered-pixel-dungeon/generic.nix | 45 |
1 files changed, 10 insertions, 35 deletions
diff --git a/pkgs/games/shattered-pixel-dungeon/generic.nix b/pkgs/games/shattered-pixel-dungeon/generic.nix index fdd87ba2bd19b..3e81c54bba911 100644 --- a/pkgs/games/shattered-pixel-dungeon/generic.nix +++ b/pkgs/games/shattered-pixel-dungeon/generic.nix @@ -2,10 +2,10 @@ { pname , version , src -, depsHash , meta , desktopName , patches ? [ ./disable-beryx.patch ] +, depsPath ? null , lib , stdenv @@ -53,30 +53,18 @@ let keywords = [ "roguelike" "dungeon" "crawler" ]; }; - # fake build to pre-download deps into fixed-output derivation - deps = stdenv.mkDerivation { - pname = "${pname}-deps"; - inherit version src patches postPatch; - nativeBuildInputs = [ gradle perl ] ++ attrs.nativeBuildInputs or []; - buildPhase = '' - export GRADLE_USER_HOME=$(mktemp -d) - # https://github.com/gradle/gradle/issues/4426 - ${lib.optionalString stdenv.isDarwin "export TERM=dumb"} - gradle --no-daemon desktop:release - ''; - # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) - installPhase = '' - find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ - | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ - | sh - ''; - outputHashMode = "recursive"; - outputHash = depsHash; - }; + depsPath' = if depsPath != null then depsPath else ./. + "/${pname}/deps.json"; in stdenv.mkDerivation (cleanAttrs // { inherit pname version src patches postPatch; + mitmCache = gradle.fetchDeps { + inherit pname; + data = depsPath'; + }; + + __darwinAllowLocalNetworking = true; + nativeBuildInputs = [ gradle perl @@ -86,18 +74,7 @@ in stdenv.mkDerivation (cleanAttrs // { desktopItems = [ desktopItem ]; - buildPhase = '' - runHook preBuild - - export GRADLE_USER_HOME=$(mktemp -d) - # https://github.com/gradle/gradle/issues/4426 - ${lib.optionalString stdenv.isDarwin "export TERM=dumb"} - # point to offline repo - sed -ie "s#repositories {#repositories { maven { url '${deps}' };#g" build.gradle - gradle --offline --no-daemon desktop:release - - runHook postBuild - ''; + gradleBuildTask = "desktop:release"; installPhase = '' runHook preInstall @@ -131,8 +108,6 @@ in stdenv.mkDerivation (cleanAttrs // { license = licenses.gpl3Plus; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; - # https://github.com/NixOS/nixpkgs/pull/99885#issuecomment-740065005 - broken = stdenv.isDarwin; mainProgram = pname; } // meta; }) |