diff --git a/pkgs/applications/science/machine-learning/sc2-headless/default.nix b/pkgs/applications/science/machine-learning/sc2-headless/default.nix index 0700580b95984..cd067cec8e265 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/default.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/default.nix @@ -8,66 +8,67 @@ licenseAccepted ? config.sc2-headless.accept_license or false, }: -if !licenseAccepted then - throw '' - You must accept the Blizzard® Starcraft® II AI and Machine Learning License at - https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html - by setting nixpkgs config option 'sc2-headless.accept_license = true;' - '' -else - assert licenseAccepted; - let - maps = callPackage ./maps.nix { }; - in - stdenv.mkDerivation rec { - version = "4.7.1"; - pname = "sc2-headless"; +let + maps = callPackage ./maps.nix { inherit licenseAccepted; }; +in +stdenv.mkDerivation rec { + version = "4.7.1"; + pname = "sc2-headless"; - src = fetchurl { - url = "https://blzdistsc2-a.akamaihd.net/Linux/SC2.${version}.zip"; - sha256 = "0q1ry9bd3dm8y4hvh57yfq7s05hl2k2sxi2wsl6h0r3w690v1kdd"; - }; + src = fetchurl { + url = "https://blzdistsc2-a.akamaihd.net/Linux/SC2.${version}.zip"; + sha256 = "0q1ry9bd3dm8y4hvh57yfq7s05hl2k2sxi2wsl6h0r3w690v1kdd"; + }; - unpackCmd = '' - unzip -P 'iagreetotheeula' $curSrc - ''; + unpackCmd = + if !licenseAccepted then + throw '' + You must accept the Blizzard® Starcraft® II AI and Machine Learning License at + https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html + by setting nixpkgs config option 'sc2-headless.accept_license = true;' + '' + else + assert licenseAccepted; + '' + unzip -P 'iagreetotheeula' $curSrc + ''; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - installPhase = '' - mkdir -p $out - cp -r . "$out" - rm -r $out/Libs + installPhase = '' + mkdir -p $out + cp -r . "$out" + rm -r $out/Libs - cp -ur "${maps.minigames}"/* "${maps.melee}"/* "${maps.ladder2017season1}"/* "${maps.ladder2017season2}"/* "${maps.ladder2017season3}"/* \ - "${maps.ladder2017season4}"/* "${maps.ladder2018season1}"/* "${maps.ladder2018season2}"/* \ - "${maps.ladder2018season3}"/* "${maps.ladder2018season4}"/* "${maps.ladder2019season1}"/* "$out"/Maps/ - ''; + cp -ur "${maps.minigames}"/* "${maps.melee}"/* "${maps.ladder2017season1}"/* "${maps.ladder2017season2}"/* "${maps.ladder2017season3}"/* \ + "${maps.ladder2017season4}"/* "${maps.ladder2018season1}"/* "${maps.ladder2018season2}"/* \ + "${maps.ladder2018season3}"/* "${maps.ladder2018season4}"/* "${maps.ladder2019season1}"/* "$out"/Maps/ + ''; - preFixup = '' - find $out -type f -print0 | while IFS=''' read -d ''' -r file; do - isELF "$file" || continue - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${ - lib.makeLibraryPath [ - stdenv.cc.cc - stdenv.cc.libc - ] - } \ - "$file" - done - ''; + preFixup = '' + find $out -type f -print0 | while IFS=''' read -d ''' -r file; do + isELF "$file" || continue + patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath ${ + lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + ] + } \ + "$file" + done + ''; - meta = { - platforms = lib.platforms.linux; - description = "Starcraft II headless linux client for machine learning research"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = { - fullName = "BLIZZARD® STARCRAFT® II AI AND MACHINE LEARNING LICENSE"; - url = "https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html"; - free = false; - }; - maintainers = [ ]; + meta = { + platforms = lib.platforms.linux; + description = "Starcraft II headless linux client for machine learning research"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = { + fullName = "BLIZZARD® STARCRAFT® II AI AND MACHINE LEARNING LICENSE"; + url = "https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html"; + free = false; }; - } + maintainers = [ ]; + }; +} diff --git a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix index 19019408a18d8..2552397c5fdd5 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix @@ -1,12 +1,21 @@ { fetchzip, + licenseAccepted, }: let fetchzip' = - args: - (fetchzip args).overrideAttrs (old: { - UNZIP = "-j -P iagreetotheeula"; - }); + if !licenseAccepted then + throw '' + You must accept the Blizzard® Starcraft® II AI and Machine Learning License at + https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html + by setting nixpkgs config option 'sc2-headless.accept_license = true;' + '' + else + assert licenseAccepted; + args: + (fetchzip args).overrideAttrs (old: { + UNZIP = "-j -P iagreetotheeula"; + }); in { minigames = fetchzip { diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index 1803a04a6638f..44259a2f2e48d 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -631,32 +631,32 @@ lib.recurseIntoAttrs rec { # This derivation deploys the tools package and symlinks all the desired # plugins that we want to use. If the license isn't accepted, prints all the licenses # requested and throws. - androidsdk = - if !licenseAccepted then - throw '' - ${builtins.concatStringsSep "\n\n" (mkLicenseTexts licenseNames)} + androidsdk = callPackage ./cmdline-tools.nix { + inherit + deployAndroidPackage + os + arch + meta + ; - You must accept the following licenses: - ${lib.concatMapStringsSep "\n" (str: " - ${str}") licenseNames} + package = cmdline-tools-package; - a) - by setting nixpkgs config option 'android_sdk.accept_license = true;'. - b) - by an environment variable for a single invocation of the nix tools. - $ export NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 - '' - else - callPackage ./cmdline-tools.nix { - inherit - deployAndroidPackage - os - arch - meta - ; + postInstall = + if !licenseAccepted then + throw '' + ${builtins.concatStringsSep "\n\n" (mkLicenseTexts licenseNames)} - package = cmdline-tools-package; + You must accept the following licenses: + ${lib.concatMapStringsSep "\n" (str: " - ${str}") licenseNames} - postInstall = '' + a) + by setting nixpkgs config option 'android_sdk.accept_license = true;'. + b) + by an environment variable for a single invocation of the nix tools. + $ export NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 + '' + else + '' # Symlink all requested plugins ${linkPlugin { name = "platform-tools"; @@ -769,5 +769,5 @@ lib.recurseIntoAttrs rec { '' ) licenseNames} ''; - }; + }; } diff --git a/pkgs/tools/misc/gams/default.nix b/pkgs/tools/misc/gams/default.nix index c69f98a9ca237..d27d3ddacd9d9 100644 --- a/pkgs/tools/misc/gams/default.nix +++ b/pkgs/tools/misc/gams/default.nix @@ -8,8 +8,6 @@ optgamsFile ? null, }: -assert licenseFile != null; - stdenv.mkDerivation rec { version = "25.0.2"; pname = "gams"; @@ -23,6 +21,7 @@ stdenv.mkDerivation rec { dontBuild = true; installPhase = + assert licenseFile != null; '' mkdir -p "$out/bin" "$out/share/gams" cp -a * "$out/share/gams"