various: move license check "behind" meta.unfree eval (#426642)
This commit is contained in:
@@ -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 =
|
||||
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 ];
|
||||
|
||||
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/
|
||||
'';
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
unpackCmd = ''
|
||||
unzip -P 'iagreetotheeula' $curSrc
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
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/
|
||||
'';
|
||||
|
||||
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 = [ ];
|
||||
};
|
||||
}
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user