Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 56 additions & 55 deletions pkgs/applications/science/machine-learning/sc2-headless/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [ ];
};
}
17 changes: 13 additions & 4 deletions pkgs/applications/science/machine-learning/sc2-headless/maps.nix
Original file line number Diff line number Diff line change
@@ -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;'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We really need to re-do #330753. (Tracking issue: #330627)

''
else
assert licenseAccepted;
args:
(fetchzip args).overrideAttrs (old: {
UNZIP = "-j -P iagreetotheeula";
});
in
{
minigames = fetchzip {
Expand Down
46 changes: 23 additions & 23 deletions pkgs/development/mobile/androidenv/compose-android-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -769,5 +769,5 @@ lib.recurseIntoAttrs rec {
''
) licenseNames}
'';
};
};
}
3 changes: 1 addition & 2 deletions pkgs/tools/misc/gams/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
optgamsFile ? null,
}:

assert licenseFile != null;

stdenv.mkDerivation rec {
version = "25.0.2";
pname = "gams";
Expand All @@ -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"
Expand Down
Loading