diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
173 files changed, 18379 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix new file mode 100644 index 000000000000..93709454c7b5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix @@ -0,0 +1,27 @@ +{ lib, python, fetchPypi }: + +python.pkgs.buildPythonApplication rec { + pname = "alibuild"; + version = "1.11.2"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-wq2H2inUf2CjPD45krCNdjw2s4FXsEDlfOHqW8VaVKg="; + }; + + doCheck = false; + propagatedBuildInputs = with python.pkgs; [ + requests + pyyaml + boto3 + jinja2 + distro + ]; + + meta = with lib; { + homepage = "https://alisw.github.io/alibuild/"; + description = "Build tool for ALICE experiment software"; + license = licenses.gpl3; + maintainers = with maintainers; [ ktf ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/alire/default.nix b/nixpkgs/pkgs/development/tools/build-managers/alire/default.nix new file mode 100644 index 000000000000..39124514d042 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/alire/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, gprbuild +, gnat +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "alire"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "alire-project"; + repo = "alire"; + rev = "v${finalAttrs.version}"; + hash = "sha256-rwNiSXOIIQR1I8wwp1ROVOfEChT6SCa5c6XnTRqekDc="; + + fetchSubmodules = true; + }; + + nativeBuildInputs = [ gprbuild gnat ]; + + # on HEAD (roughly 2c4e5a3), alire provides a dev/build.sh script. for now, + # just use gprbuild. + buildPhase = '' + runHook preBuild + + gprbuild -j$NIX_BUILD_CORES -P alr_env + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r ./bin $out + + runHook postInstall + ''; + + meta = { + description = "A source-based package manager for the Ada and SPARK programming languages"; + homepage = "https://alire.ada.dev"; + changelog = "https://github.com/alire-project/alire/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ atalii ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix new file mode 100644 index 000000000000..d4a69067705c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix @@ -0,0 +1,111 @@ +{ fetchurl, lib, stdenv, coreutils, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "ant"; + version = "1.9.16"; + + nativeBuildInputs = [ makeWrapper ]; + + src = fetchurl { + url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; + sha256 = "0rif9kj6njajy951w3aapk27y1mbaxb08whs126v533h96rb1kjp"; + }; + + contrib = fetchurl { + url = "mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2"; + sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1"; + }; + + installPhase = + '' + mkdir -p $out/bin $out/lib/ant + mv * $out/lib/ant/ + + # Get rid of the manual (35 MiB). Maybe we should put this in a + # separate output. Keep the antRun script since it's vanilla sh + # and needed for the <exec/> task (but since we set ANT_HOME to + # a weird value, we have to move antRun to a weird location). + # Get rid of the other Ant scripts since we provide our own. + mv $out/lib/ant/bin/antRun $out/bin/ + rm -rf $out/lib/ant/{manual,bin,WHATSNEW} + mkdir $out/lib/ant/bin + mv $out/bin/antRun $out/lib/ant/bin/ + + # Install ant-contrib. + unpackFile $contrib + cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/ + + cat >> $out/bin/ant <<EOF + #! ${stdenv.shell} -e + + ANT_HOME=$out/lib/ant + + # Find the JDK by looking for javac. As a fall-back, find the + # JRE by looking for java. The latter allows just the JRE to be + # used with (say) ECJ as the compiler. Finally, allow the GNU + # JVM. + if [ -z "\''${JAVA_HOME-}" ]; then + for i in javac java gij; do + if p="\$(type -p \$i)"; then + export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))" + break + fi + done + if [ -z "\''${JAVA_HOME-}" ]; then + echo "\$0: cannot find the JDK or JRE" >&2 + exit 1 + fi + fi + + if [ -z \$NIX_JVM ]; then + if [ -e \$JAVA_HOME/bin/java ]; then + NIX_JVM=\$JAVA_HOME/bin/java + elif [ -e \$JAVA_HOME/bin/gij ]; then + NIX_JVM=\$JAVA_HOME/bin/gij + else + NIX_JVM=java + fi + fi + + LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" + + exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \ + -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \ + org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \ + -cp "\$CLASSPATH" "\$@" + EOF + + chmod +x $out/bin/ant + ''; # */ + + meta = { + homepage = "https://ant.apache.org/"; + description = "A Java-based build tool"; + + longDescription = '' + Apache Ant is a Java-based build tool. In theory, it is kind of like + Make, but without Make's wrinkles. + + Why another build tool when there is already make, gnumake, nmake, jam, + and others? Because all those tools have limitations that Ant's + original author couldn't live with when developing software across + multiple platforms. Make-like tools are inherently shell-based -- they + evaluate a set of dependencies, then execute commands not unlike what + you would issue in a shell. This means that you can easily extend + these tools by using or writing any program for the OS that you are + working on. However, this also means that you limit yourself to the + OS, or at least the OS type such as Unix, that you are working on. + + Ant is different. Instead of a model where it is extended with + shell-based commands, Ant is extended using Java classes. Instead of + writing shell commands, the configuration files are XML-based, calling + out a target tree where various tasks get executed. Each task is run + by an object that implements a particular Task interface. + ''; + + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.eelco ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix new file mode 100644 index 000000000000..3cf880499944 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -0,0 +1,111 @@ +{ fetchurl, lib, stdenv, coreutils, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "ant"; + version = "1.10.11"; + + nativeBuildInputs = [ makeWrapper ]; + + src = fetchurl { + url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; + sha256 = "19m8xb7h6xm4jykzb79kakbx1pa4awaglw6z31pbfg8m5pmwkipz"; + }; + + contrib = fetchurl { + url = "mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2"; + sha256 = "1l8say86bz9gxp4yy777z7nm4j6m905pg342li1aphc14p5grvwn"; + }; + + installPhase = + '' + mkdir -p $out/bin $out/lib/ant + mv * $out/lib/ant/ + + # Get rid of the manual (35 MiB). Maybe we should put this in a + # separate output. Keep the antRun script since it's vanilla sh + # and needed for the <exec/> task (but since we set ANT_HOME to + # a weird value, we have to move antRun to a weird location). + # Get rid of the other Ant scripts since we provide our own. + mv $out/lib/ant/bin/antRun $out/bin/ + rm -rf $out/lib/ant/{manual,bin,WHATSNEW} + mkdir $out/lib/ant/bin + mv $out/bin/antRun $out/lib/ant/bin/ + + # Install ant-contrib. + unpackFile $contrib + cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/ + + cat >> $out/bin/ant <<EOF + #! ${stdenv.shell} -e + + ANT_HOME=$out/lib/ant + + # Find the JDK by looking for javac. As a fall-back, find the + # JRE by looking for java. The latter allows just the JRE to be + # used with (say) ECJ as the compiler. Finally, allow the GNU + # JVM. + if [ -z "\''${JAVA_HOME-}" ]; then + for i in javac java gij; do + if p="\$(type -p \$i)"; then + export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))" + break + fi + done + if [ -z "\''${JAVA_HOME-}" ]; then + echo "\$0: cannot find the JDK or JRE" >&2 + exit 1 + fi + fi + + if [ -z \$NIX_JVM ]; then + if [ -e \$JAVA_HOME/bin/java ]; then + NIX_JVM=\$JAVA_HOME/bin/java + elif [ -e \$JAVA_HOME/bin/gij ]; then + NIX_JVM=\$JAVA_HOME/bin/gij + else + NIX_JVM=java + fi + fi + + LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" + + exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \ + -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \ + org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \ + -cp "\$CLASSPATH" "\$@" + EOF + + chmod +x $out/bin/ant + ''; # */ + + meta = { + homepage = "https://ant.apache.org/"; + description = "A Java-based build tool"; + + longDescription = '' + Apache Ant is a Java-based build tool. In theory, it is kind of like + Make, but without Make's wrinkles. + + Why another build tool when there is already make, gnumake, nmake, jam, + and others? Because all those tools have limitations that Ant's + original author couldn't live with when developing software across + multiple platforms. Make-like tools are inherently shell-based -- they + evaluate a set of dependencies, then execute commands not unlike what + you would issue in a shell. This means that you can easily extend + these tools by using or writing any program for the OS that you are + working on. However, this also means that you limit yourself to the + OS, or at least the OS type such as Unix, that you are working on. + + Ant is different. Instead of a model where it is extended with + shell-based commands, Ant is extended using Java classes. Instead of + writing shell commands, the configuration files are XML-based, calling + out a target tree where various tasks get executed. Each task is run + by an object that implements a particular Task interface. + ''; + + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.eelco ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix new file mode 100644 index 000000000000..2026d6829371 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/build-package.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, maven +}: + +{ src +, sourceRoot ? null +, patches ? [ ] +, pname +, version +, mvnHash ? "" +, mvnFetchExtraArgs ? { } +, mvnParameters ? "" +, ... +} @args: + +# originally extracted from dbeaver +# created to allow using maven packages in the same style as rust + +let + fetchedMavenDeps = stdenv.mkDerivation ({ + name = "${pname}-${version}-maven-deps"; + inherit src sourceRoot patches; + + nativeBuildInputs = [ + maven + ]; + + buildPhase = '' + runHook preBuild + + mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters} + + runHook postBuild + ''; + + # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside + installPhase = '' + runHook preInstall + + find $out -type f \( \ + -name \*.lastUpdated \ + -o -name resolver-status.properties \ + -o -name _remote.repositories \) \ + -delete + + runHook postInstall + ''; + + # don't do any fixup + dontFixup = true; + outputHashAlgo = if mvnHash != "" then null else "sha256"; + outputHashMode = "recursive"; + outputHash = mvnHash; + } // mvnFetchExtraArgs); +in +stdenv.mkDerivation (builtins.removeAttrs args [ "mvnFetchExtraArgs" ] // { + inherit fetchedMavenDeps; + + nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ + maven + ]; + + buildPhase = '' + runHook preBuild + + mvnDeps=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd) + mvn package --offline "-Dmaven.repo.local=$mvnDeps/.m2" ${mvnParameters} + + runHook postBuild + ''; + + meta = args.meta or { } // { + platforms = args.meta.platforms or maven.meta.platforms; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix new file mode 100644 index 000000000000..5ed41717f3da --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenvNoCC +, fetchurl +, jdk +, makeWrapper +, callPackage +}: + +assert jdk != null; + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "apache-maven"; + version = "3.9.4"; + + src = fetchurl { + url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz"; + hash = "sha256-/2a3DIMKONMx1E9sJaN7WCRx3vmhYck5ArrHvqMJgxk="; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/maven + cp -r ${finalAttrs.pname}-${finalAttrs.version}/* $out/maven + + makeWrapper $out/maven/bin/mvn $out/bin/mvn \ + --set-default JAVA_HOME "${jdk}" + makeWrapper $out/maven/bin/mvnDebug $out/bin/mvnDebug \ + --set-default JAVA_HOME "${jdk}" + + runHook postInstall + ''; + + passthru.buildMavenPackage = callPackage ./build-package.nix { + maven = finalAttrs.finalPackage; + }; + + meta = with lib; { + mainProgram = "mvn"; + description = "Build automation tool (used primarily for Java projects)"; + homepage = "https://maven.apache.org/"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ cko ]; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix b/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix new file mode 100644 index 000000000000..47b1d502842b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitLab, cmake }: + +stdenv.mkDerivation rec { + pname = "arpa2cm"; + version = "1.0.4"; + + src = fetchFromGitLab { + owner = "arpa2"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-2vb/7UL+uWGrQNh8yOZ3gih5G1/eOp064hF78SDsPGk="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "CMake Module library for the ARPA2 project"; + longDescription = '' + The CMake module library for the ARPA2 project, including the LillyDAP, + TLSPool and IdentityHub software stacks. Like the KDE Extra CMake Modules (ECM) + which is a large-ish collection of curated CMake modules of particular + interest to Qt-based and KDE Frameworks-based applications, the ARPA2 + CMake Modules (ARPA2CM) is a collection of modules for the software + stack from the ARPA2 project. This is largely oriented towards + TLS, SSL, X509, DER and LDAP technologies. The ARPA2 CMake Modules + also include modules used for product release and deployment of + the ARPA2 software stack. + ''; + homepage = "https://gitlab.com/arpa2/arpa2cm"; + license = licenses.bsd2; + maintainers = with maintainers; [ leenaars fufexan ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix new file mode 100644 index 000000000000..556725cca6c4 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub, lua5_3, python3 }: + +stdenv.mkDerivation rec { + pname = "bam"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "matricks"; + repo = "bam"; + rev = "v${version}"; + sha256 = "13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"; + }; + + nativeBuildInputs = [ lua5_3 python3 ]; + + buildPhase = "${stdenv.shell} make_unix.sh"; + + checkPhase = "${python3.interpreter} scripts/test.py"; + + strictDeps = true; + + installPhase = '' + mkdir -p "$out/share/bam" + cp -r docs examples tests "$out/share/bam" + mkdir -p "$out/bin" + cp bam "$out/bin" + ''; + + meta = with lib; { + description = "Yet another build manager"; + maintainers = with maintainers; + [ + raskin + ]; + platforms = platforms.linux; + license = licenses.zlib; + downloadPage = "http://matricks.github.com/bam/"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/README.md b/nixpkgs/pkgs/development/tools/build-managers/bazel/README.md new file mode 100644 index 000000000000..69ec0e30e157 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/README.md @@ -0,0 +1,7 @@ +# The Bazel build tool + +https://bazel.build/ + +The bazel tool requires regular maintenance, especially under darwin, so we created a maintainers team. + +Please ping @NixOS/bazel in your github PR/issue to increase your chance of a quick turnaround, thanks! diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix new file mode 100644 index 000000000000..b67a5ab22341 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix @@ -0,0 +1,44 @@ +{ writeText, bazel, runLocal, bazelTest, distDir }: + +# Tests that certain executables are available in bazel-executed bash shells. + +let + WORKSPACE = writeText "WORKSPACE" '' + workspace(name = "our_workspace") + ''; + + fileIn = writeText "input.txt" '' + one + two + three + ''; + + fileBUILD = writeText "BUILD" '' + genrule( + name = "tool_usage", + srcs = [ ":input.txt" ], + outs = [ "output.txt" ], + cmd = "cat $(location :input.txt) | gzip - | gunzip - | awk '/t/' > $@", + ) + ''; + + workspaceDir = runLocal "our_workspace" {} '' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + cp ${fileIn} $out/input.txt + cp ${fileBUILD} $out/BUILD + ''; + + testBazel = bazelTest { + name = "bazel-test-bash-tools"; + bazelPkg = bazel; + inherit workspaceDir; + + bazelScript = '' + ${bazel}/bin/bazel build :tool_usage --distdir=${distDir} + cp bazel-bin/output.txt $out + echo "Testing content" && [ "$(cat $out | wc -l)" == "2" ] && echo "OK" + ''; + }; + +in testBazel diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix new file mode 100644 index 000000000000..1692058dcac8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix @@ -0,0 +1,33 @@ +{ buildGoModule +, fetchFromGitHub +, lib +}: + +buildGoModule rec { + pname = "bazel-remote"; + version = "2.4.3"; + + src = fetchFromGitHub { + owner = "buchgr"; + repo = pname; + rev = "v${version}"; + hash = "sha256-yvdsRc5KZAwzekktSu9tR9R2vvAMi+4JVkvy+ANFkQ8="; + }; + + vendorHash = "sha256-0rmqsUMwk5ytAZc94JzvZTuh0WAmQwBEWSE96yNALE0="; + + subPackages = [ "." ]; + + doCheck = false; + + ldflags = [ "-s" "-w" "-X main.gitCommit=${version}" ]; + + meta = with lib; { + homepage = "https://github.com/buchgr/bazel-remote"; + description = "A remote HTTP/1.1 cache for Bazel"; + changelog = "https://github.com/buchgr/bazel-remote/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = lib.teams.bazel.members; + platforms = platforms.darwin ++ platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch new file mode 100644 index 000000000000..67df8f559a20 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch @@ -0,0 +1,24 @@ +From 3f5abd591b93ebdbc1ae82e5c29cf26024222f5f Mon Sep 17 00:00:00 2001 +From: Uri Baghin <uri@canva.com> +Date: Thu, 30 Jan 2020 16:47:36 +1100 +Subject: [PATCH] Disable build file generation for remote apis. + +--- + WORKSPACE | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/WORKSPACE b/WORKSPACE +index f9ebafa..52e4e0b 100644 +--- a/WORKSPACE ++++ b/WORKSPACE +@@ -208,6 +208,7 @@ http_archive( + + go_repository( + name = "com_github_bazelbuild_remote_apis", ++ build_file_generation = "off", + importpath = "github.com/bazelbuild/remote-apis", + sum = "h1:OPH+hf+ICw8WEp2CV2ncfdyWPC30Cmw8b5NKun0n5IQ=", + version = "v0.0.0-20191119143007-b5123b1bb285", +-- +2.25.0 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/actions_path.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/actions_path.patch new file mode 100644 index 000000000000..1fa1e5748333 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/actions_path.patch @@ -0,0 +1,41 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +index 6fff2af..7e2877e 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +@@ -47,6 +47,16 @@ public final class PosixLocalEnvProvider implements LocalEnvProvider { + Map<String, String> env, BinTools binTools, String fallbackTmpDir) { + ImmutableMap.Builder<String, String> result = ImmutableMap.builder(); + result.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ result.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR +index 95642767c6..39d3c62461 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java +@@ -74,6 +74,16 @@ public final class XcodeLocalEnvProvider implements LocalEnvProvider { + + ImmutableMap.Builder<String, String> newEnvBuilder = ImmutableMap.builder(); + newEnvBuilder.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ newEnvBuilder.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix new file mode 100644 index 000000000000..652e7e32bc50 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix @@ -0,0 +1,666 @@ +{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles +, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs +# this package (through the fixpoint glass) +, bazel_self +, lr, xe, zip, unzip, bash, writeCBin, coreutils +, which, gawk, gnused, gnutar, gnugrep, gzip, findutils +# updater +, python3, writeScript +# Apple dependencies +, cctools, libcxx, CoreFoundation, CoreServices, Foundation +# Allow to independently override the jdks used to build and run respectively +, buildJdk, runJdk +, buildJdkName +, runtimeShell +# Downstream packages for tests +, bazel-watcher +# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic). +# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers). +, enableNixHacks ? false +, gcc-unwrapped +, autoPatchelfHook +, file +, substituteAll +, writeTextFile +}: + +let + version = "4.2.2"; + sourceRoot = "."; + + src = fetchurl { + url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; + sha256 = "mYHQ1To1bE6HlihHdQqXyegFTkYIVHSABsgPDX4rLTM="; + }; + + # Update with `eval $(nix-build -A bazel.updater)`, + # then add new dependencies from the dict in ./src-deps.json as required. + srcDeps = lib.attrsets.attrValues srcDepsSet; + srcDepsSet = + let + srcs = lib.importJSON ./src-deps.json; + toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl { + urls = d.urls; + sha256 = d.sha256; + }); + in builtins.listToAttrs (map toFetchurl [ + srcs.desugar_jdk_libs + srcs.io_bazel_skydoc + srcs.bazel_skylib + srcs.io_bazel_rules_sass + srcs.platforms + (if stdenv.hostPlatform.isDarwin + then srcs."java_tools_javac11_darwin-v10.6.zip" + else srcs."java_tools_javac11_linux-v10.6.zip") + srcs."coverage_output_generator-v2.5.zip" + srcs.build_bazel_rules_nodejs + srcs."android_tools_pkg-0.23.0.tar.gz" + srcs.bazel_toolchains + srcs.com_github_grpc_grpc + srcs.upb + srcs.com_google_protobuf + srcs.rules_pkg + srcs.rules_cc + srcs.rules_java + srcs.rules_proto + srcs.com_google_absl + srcs.com_github_google_re2 + srcs.com_github_cares_cares + ]); + + distDir = runCommand "bazel-deps" {} '' + mkdir -p $out + for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done + ''; + + defaultShellUtils = + # Keep this list conservative. For more exotic tools, prefer to use + # @rules_nixpkgs to pull in tools from the nix repository. Example: + # + # WORKSPACE: + # + # nixpkgs_git_repository( + # name = "nixpkgs", + # revision = "def5124ec8367efdba95a99523dd06d918cb0ae8", + # ) + # + # # This defines an external Bazel workspace. + # nixpkgs_package( + # name = "bison", + # repositories = { "nixpkgs": "@nixpkgs//:default.nix" }, + # ) + # + # some/BUILD.bazel: + # + # genrule( + # ... + # cmd = "$(location @bison//:bin/bison) -other -args", + # tools = [ + # ... + # "@bison//:bin/bison", + # ], + # ) + [ + bash + coreutils + file + findutils + gawk + gnugrep + gnused + gnutar + gzip + python3 + unzip + which + zip + ]; + + defaultShellPath = lib.makeBinPath defaultShellUtils; + + # Java toolchain used for the build and tests + javaToolchain = "@bazel_tools//tools/jdk:toolchain_${buildJdkName}"; + + platforms = lib.platforms.linux ++ lib.platforms.darwin; + + # This repository is fetched by bazel at runtime + # however it contains prebuilt java binaries, with wrong interpreter + # and libraries path. + # We prefetch it, patch it, and override it in a global bazelrc. + system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux"; + + # on aarch64 Darwin, `uname -m` returns "arm64" + arch = with stdenv.hostPlatform; if isDarwin && isAarch64 then "arm64" else parsed.cpu.name; + + remote_java_tools = stdenv.mkDerivation { + name = "remote_java_tools_${system}"; + + src = srcDepsSet."java_tools_javac11_${system}-v10.6.zip"; + + nativeBuildInputs = [ unzip ] + ++ lib.optional stdenv.isLinux autoPatchelfHook; + buildInputs = [ gcc-unwrapped ]; + + sourceRoot = "."; + + buildPhase = '' + runHook preBuild + + mkdir $out; + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + cp -Ra * $out/ + touch $out/WORKSPACE + + runHook postInstall + ''; + }; + + bazelRC = writeTextFile { + name = "bazel-rc"; + text = '' + startup --server_javabase=${runJdk} + + # Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054 + # Most commands inherit from 'build' anyway. + build --distdir=${distDir} + fetch --distdir=${distDir} + query --distdir=${distDir} + + build --override_repository=${remote_java_tools.name}=${remote_java_tools} + fetch --override_repository=${remote_java_tools.name}=${remote_java_tools} + query --override_repository=${remote_java_tools.name}=${remote_java_tools} + + # Provide a default java toolchain, this will be the same as ${runJdk} + build --host_javabase='@local_jdk//:jdk' + + # load default location for the system wide configuration + try-import /etc/bazel.bazelrc + ''; + }; + +in +stdenv.mkDerivation rec { + pname = "bazel"; + inherit version; + + meta = with lib; { + homepage = "https://github.com/bazelbuild/bazel/"; + description = "Build tool that builds code quickly and reliably"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # source bundles dependencies as jars + ]; + license = licenses.asl20; + maintainers = lib.teams.bazel.members; + inherit platforms; + }; + + inherit src; + inherit sourceRoot; + patches = [ + # On Darwin, the last argument to gcc is coming up as an empty string. i.e: '' + # This is breaking the build of any C target. This patch removes the last + # argument if it's found to be an empty string. + ../trim-last-argument-to-gcc-if-empty.patch + + # On Darwin, using clang 6 to build fails because of a linker error (see #105573), + # but using clang 7 fails because libarclite_macosx.a cannot be found when linking + # the xcode_locator tool. + # This patch removes using the -fobjc-arc compiler option and makes the code + # compile without automatic reference counting. Caveat: this leaks memory, but + # we accept this fact because xcode_locator is only a short-lived process used during the build. + ./no-arc.patch + + # --experimental_strict_action_env (which may one day become the default + # see bazelbuild/bazel#2574) hardcodes the default + # action environment to a non hermetic value (e.g. "/usr/local/bin"). + # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries. + # So we are replacing this bazel paths by defaultShellPath, + # improving hermeticity and making it work in nixos. + (substituteAll { + src = ../strict_action_env.patch; + strictActionEnvPatch = defaultShellPath; + }) + + (substituteAll { + src = ./actions_path.patch; + actionsPathPatch = defaultShellPath; + }) + + # bazel reads its system bazelrc in /etc + # override this path to a builtin one + (substituteAll { + src = ../bazel_rc.patch; + bazelSystemBazelRCPath = bazelRC; + }) + + # disable suspend detection during a build inside Nix as this is + # not available inside the darwin sandbox + ../bazel_darwin_sandbox.patch + ] ++ lib.optional enableNixHacks ../nix-hacks.patch; + + + # Additional tests that check bazel’s functionality. Execute + # + # nix-build . -A bazel.tests + # + # in the nixpkgs checkout root to exercise them locally. + passthru.tests = + let + runLocal = name: attrs: script: + let + attrs' = removeAttrs attrs [ "buildInputs" ]; + buildInputs = attrs.buildInputs or []; + in + runCommandCC name ({ + inherit buildInputs; + preferLocalBuild = true; + meta.platforms = platforms; + } // attrs') script; + + # bazel wants to extract itself into $install_dir/install every time it runs, + # so let’s do that only once. + extracted = bazelPkg: + let install_dir = + # `install_base` field printed by `bazel info`, minus the hash. + # yes, this path is kinda magic. Sorry. + "$HOME/.cache/bazel/_bazel_nixbld"; + in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } '' + export HOME=$(mktemp -d) + touch WORKSPACE # yeah, everything sucks + install_base="$(${bazelPkg}/bin/bazel info | grep install_base)" + # assert it’s actually below install_dir + [[ "$install_base" =~ ${install_dir} ]] \ + || (echo "oh no! $install_base but we are \ + trying to copy ${install_dir} to $out instead!"; exit 1) + cp -R ${install_dir} $out + ''; + + bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }: + let + be = extracted bazelPkg; + in runLocal name { inherit buildInputs; } ( + # skip extraction caching on Darwin, because nobody knows how Darwin works + (lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # set up home with pre-unpacked bazel + export HOME=$(mktemp -d) + mkdir -p ${be.install_dir} + cp -R ${be}/install ${be.install_dir} + + # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6 + # Bazel checks whether the mtime of the install dir files + # is >9 years in the future, otherwise it extracts itself again. + # see PosixFileMTime::IsUntampered in src/main/cpp/util + # What the hell bazel. + ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {} + '') + + + '' + # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609 + # about why to create a subdir for the workspace. + cp -r ${workspaceDir} wd && chmod u+w wd && cd wd + + ${bazelScript} + + touch $out + ''); + + bazelWithNixHacks = bazel_self.override { enableNixHacks = true; }; + + bazel-examples = fetchFromGitHub { + owner = "bazelbuild"; + repo = "examples"; + rev = "4183fc709c26a00366665e2d60d70521dc0b405d"; + sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k"; + }; + + in (lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + # `extracted` doesn’t work on darwin + shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; bazel = bazel_self; }; + }) // { + bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; }; + cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self; }; + java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self; }; + protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; }; + pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; }; + + bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + # downstream packages using buildBazelPackage + # fixed-output hashes of the fetch phase need to be spot-checked manually + downstream = recurseIntoAttrs ({ + inherit bazel-watcher; + }); + }; + + src_for_updater = stdenv.mkDerivation rec { + name = "updater-sources"; + inherit src; + nativeBuildInputs = [ unzip ]; + inherit sourceRoot; + installPhase = '' + runHook preInstall + + cp -r . "$out" + + runHook postInstall + ''; + }; + # update the list of workspace dependencies + passthru.updater = writeScript "update-bazel-deps.sh" '' + #!${runtimeShell} + (cd "${src_for_updater}" && + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + "${bazel_self}"/bin/bazel \ + query 'kind(http_archive, //external:all) + kind(http_file, //external:all) + kind(distdir_tar, //external:all) + kind(git_repository, //external:all)' \ + --loading_phase_threads=1 \ + --output build) \ + | "${python3}"/bin/python3 "${./update-srcDeps.py}" \ + "${builtins.toString ./src-deps.json}" + ''; + + # Necessary for the tests to pass on Darwin with sandbox enabled. + # Bazel starts a local server and needs to bind a local address. + __darwinAllowLocalNetworking = true; + + postPatch = let + + darwinPatches = '' + bazelLinkFlags () { + eval set -- "$NIX_LDFLAGS" + local flag + for flag in "$@"; do + printf ' -Wl,%s' "$flag" + done + } + + # Disable Bazel's Xcode toolchain detection which would configure compilers + # and linkers from Xcode instead of from PATH + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails + export GCOV=${coreutils}/bin/false + + # Framework search paths aren't added by bintools hook + # https://github.com/NixOS/nixpkgs/pull/41914 + export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" + + # libcxx includes aren't added by libcxx hook + # https://github.com/NixOS/nixpkgs/pull/41589 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1" + + # don't use system installed Xcode to run clang, use Nix clang instead + sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \ + scripts/bootstrap/compile.sh \ + src/tools/xcode/realpath/BUILD \ + src/tools/xcode/stdredirect/BUILD \ + tools/osx/BUILD + + substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' "" + + # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead + sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc + + # clang installed from Xcode has a compatibility wrapper that forwards + # invocations of gcc to clang, but vanilla clang doesn't + sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + + sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl + wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) + for wrapper in "''${wrappers[@]}"; do + sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + done + ''; + + genericPatches = '' + # Substitute j2objc and objc wrapper's python shebang to plain python path. + substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + + # md5sum is part of coreutils + sed -i 's|/sbin/md5|md5sum|g' \ + src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh + + # replace initial value of pythonShebang variable in BazelPythonSemantics.java + substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \ + --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\"" + + # substituteInPlace is rather slow, so prefilter the files with grep + grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do + # If you add more replacements here, you must change the grep above! + # Only files containing /bin are taken into account. + substituteInPlace "$path" \ + --replace /bin/bash ${bash}/bin/bash \ + --replace "/usr/bin/env bash" ${bash}/bin/bash \ + --replace "/usr/bin/env python" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env \ + --replace /bin/true ${coreutils}/bin/true + done + + # bazel test runner include references to /bin/bash + substituteInPlace tools/build_rules/test_rules.bzl \ + --replace /bin/bash ${bash}/bin/bash + + for i in $(find tools/cpp/ -type f) + do + substituteInPlace $i \ + --replace /bin/bash ${bash}/bin/bash + done + + # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. + substituteInPlace scripts/bootstrap/compile.sh \ + --replace /bin/bash ${bash}/bin/bash + + # add nix environment vars to .bazelrc + cat >> .bazelrc <<EOF + # Limit the resources Bazel is allowed to use during the build to 1/2 the + # available RAM and 3/4 the available CPU cores. This should help avoid + # overwhelming the build machine. + build --local_ram_resources=HOST_RAM*.5 + build --local_cpu_resources=HOST_CPUS*.75 + + build --distdir=${distDir} + fetch --distdir=${distDir} + build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')" + build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')" + build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')" + build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')" + build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" + build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')" + build --host_javabase='@local_jdk//:jdk' + build --host_java_toolchain='${javaToolchain}' + build --verbose_failures + build --curses=no + EOF + + # add the same environment vars to compile.sh + sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \ + -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \ + -e "/\$command \\\\$/a --verbose_failures \\\\" \ + -e "/\$command \\\\$/a --curses=no \\\\" \ + -i scripts/bootstrap/compile.sh + + # This is necessary to avoid: + # "error: no visible @interface for 'NSDictionary' declares the selector + # 'initWithContentsOfURL:error:'" + # This can be removed when the apple_sdk is upgraded beyond 10.13+ + sed -i '/initWithContentsOfURL:versionPlistUrl/ { + N + s/error:nil\];/\];/ + }' tools/osx/xcode_locator.m + + # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash + echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp + cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp + mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash + + patchShebangs . + ''; + in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + + genericPatches; + + buildInputs = [buildJdk] ++ defaultShellUtils; + + # when a command can’t be found in a bazel build, you might also + # need to add it to `defaultShellPath`. + nativeBuildInputs = [ + installShellFiles + makeWrapper + python3 + unzip + which + zip + python3.pkgs.absl-py # Needed to build fish completion + ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ]; + + # Bazel makes extensive use of symlinks in the WORKSPACE. + # This causes problems with infinite symlinks if the build output is in the same location as the + # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a + # subdirectory. + # Failing to do this causes "infinite symlink expansion detected" + preBuildPhases = ["preBuildPhase"]; + preBuildPhase = '' + mkdir bazel_src + shopt -s dotglob extglob + mv !(bazel_src) bazel_src + ''; + buildPhase = '' + runHook preBuild + + # Increasing memory during compilation might be necessary. + # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m" + + # If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md + # and `git rev-parse --short HEAD` which would result in + # "3.7.0- (@non-git)" due to non-git build and incomplete changelog. + # Actual bazel releases use scripts/release/common.sh which is based + # on branch/tag information which we don't have with tarball releases. + # Note that .bazelversion is always correct and is based on bazel-* + # executable name, version checks should work fine + export EMBED_LABEL="${version}- (@non-git)" + ${bash}/bin/bash ./bazel_src/compile.sh + ./bazel_src/scripts/generate_bash_completion.sh \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.bash \ + --prepend=./bazel_src/scripts/bazel-complete-header.bash \ + --prepend=./bazel_src/scripts/bazel-complete-template.bash + ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.fish + + # need to change directory for bazel to find the workspace + cd ./bazel_src + # build execlog tooling + export HOME=$(mktemp -d) + ./output/bazel build src/tools/execlog:parser_deploy.jar + cd - + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel + # if it can’t find something in tools, it calls $out/bin/bazel-{version}-{os_arch} + # The binary _must_ exist with this naming if your project contains a .bazelversion + # file. + cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel + wrapProgram $out/bin/bazel $wrapperfile --suffix PATH : ${defaultShellPath} + mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch} + + mkdir $out/share + cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar + cat <<EOF > $out/bin/bazel-execlog + #!${runtimeShell} -e + ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@ + EOF + chmod +x $out/bin/bazel-execlog + + # shell completion files + installShellCompletion --bash \ + --name bazel.bash \ + ./bazel_src/output/bazel-complete.bash + installShellCompletion --zsh \ + --name _bazel \ + ./bazel_src/scripts/zsh_completion/_bazel + installShellCompletion --fish \ + --name bazel.fish \ + ./bazel_src/output/bazel-complete.fish + ''; + + # Install check fails on `aarch64-darwin` + # https://github.com/NixOS/nixpkgs/issues/145587 + doInstallCheck = stdenv.hostPlatform.system != "aarch64-darwin"; + installCheckPhase = '' + export TEST_TMPDIR=$(pwd) + + hello_test () { + $out/bin/bazel test \ + --test_output=errors \ + --java_toolchain='${javaToolchain}' \ + examples/cpp:hello-success_test \ + examples/java-native/src/test/java/com/example/myproject:hello + } + + cd ./bazel_src + + # test whether $WORKSPACE_ROOT/tools/bazel works + + mkdir -p tools + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exit 1 + EOF + chmod +x tools/bazel + + # first call should fail if tools/bazel is used + ! hello_test + + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exec "$BAZEL_REAL" "$@" + EOF + + # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch} + hello_test + + runHook postInstall + ''; + + # Save paths to hardcoded dependencies so Nix can detect them. + # This is needed because the templates get tar’d up into a .jar. + postFixup = '' + mkdir -p $out/nix-support + echo "${defaultShellPath}" >> $out/nix-support/depends + # The string literal specifying the path to the bazel-rc file is sometimes + # stored non-contiguously in the binary due to gcc optimisations, which leads + # Nix to miss the hash when scanning for dependencies + echo "${bazelRC}" >> $out/nix-support/depends + '' + lib.optionalString stdenv.isDarwin '' + echo "${cctools}" >> $out/nix-support/depends + ''; + + dontStrip = true; + dontPatchELF = true; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch new file mode 100644 index 000000000000..012e613c2f19 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch @@ -0,0 +1,34 @@ +--- a/tools/osx/xcode_locator.m 2020-12-10 13:27:29.000000000 +0100 ++++ b/tools/osx/xcode_locator.m 2021-02-01 09:09:32.159557051 +0100 +@@ -21,10 +21,6 @@ + // 6,6.4,6.4.1 = 6.4.1 + // 6.3,6.3.0 = 6.3 + +-#if !defined(__has_feature) || !__has_feature(objc_arc) +-#error "This file requires ARC support." +-#endif +- + #import <CoreServices/CoreServices.h> + #import <Foundation/Foundation.h> + +--- a/tools/osx/xcode_configure.bzl 1980-01-01 01:00:00.000000000 +0100 ++++ b/tools/osx/xcode_configure.bzl 2021-02-01 09:36:57.773418444 +0100 +@@ -123,7 +123,6 @@ + "macosx", + "clang", + "-mmacosx-version-min=10.9", +- "-fobjc-arc", + "-framework", + "CoreServices", + "-framework", +--- a/tools/osx/BUILD 2021-02-01 11:01:02.191659553 +0100 ++++ b/tools/osx/BUILD 2021-02-01 11:04:29.735071019 +0100 +@@ -27,7 +27,7 @@ + ]) + + DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """ +- /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \ ++ /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -framework CoreServices \ + -framework Foundation -o $@ $< + """ + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json new file mode 100644 index 000000000000..4496343ec691 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json @@ -0,0 +1,1585 @@ +{ + "1.25.0.zip": { + "name": "1.25.0.zip", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": { + "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz": { + "name": "382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz", + "sha256": "7992217989f3156f8109931c1fc6db3434b7414957cb82371552377beaeb9d6c", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz", + "https://github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz" + ] + }, + "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": { + "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": { + "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz": { + "name": "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e", + "urls": [ + "https://mirror.bazel.build/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz" + ] + }, + "android_tools": { + "name": "android_tools", + "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz" + }, + "android_tools_for_testing": { + "name": "android_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz" + }, + "android_tools_pkg-0.23.0.tar.gz": { + "name": "android_tools_pkg-0.23.0.tar.gz", + "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e", + "urls": [ + "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz" + ] + }, + "b1c40e1de81913a3c40e5948f78719c28152486d.zip": { + "name": "b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip" + ] + }, + "bazel-skylib-1.0.3.tar.gz": { + "name": "bazel-skylib-1.0.3.tar.gz", + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel-toolchains-3.1.0.tar.gz": { + "name": "bazel-toolchains-3.1.0.tar.gz", + "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz" + ] + }, + "bazel_j2objc": { + "name": "bazel_j2objc", + "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b", + "strip_prefix": "j2objc-2.5", + "urls": [ + "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip", + "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip" + ] + }, + "bazel_skylib": { + "name": "bazel_skylib", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel_toolchains": { + "name": "bazel_toolchains", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2", + "strip_prefix": "bazel-toolchains-3.1.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz" + ] + }, + "bazel_website": { + "build_file_content": "\nexports_files([\"_sass/style.scss\"])\n", + "name": "bazel_website", + "sha256": "a5f531dd1d62e6947dcfc279656ffc2fdf6f447c163914c5eabf7961b4cb6eb4", + "strip_prefix": "bazel-website-c174fa288aa079b68416d2ce2cc97268fa172f42", + "urls": [ + "https://github.com/bazelbuild/bazel-website/archive/c174fa288aa079b68416d2ce2cc97268fa172f42.tar.gz" + ] + }, + "boringssl": { + "generator_function": "grpc_deps", + "generator_name": "boringssl", + "name": "boringssl", + "sha256": "cb0fd3eda612d4ae4be21108938800a19b015717a7627ea7f530e3469d207707", + "strip_prefix": "boringssl-88aeb757f1a415c71fb4cbf5af936ecae4bc8179", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/88aeb757f1a415c71fb4cbf5af936ecae4bc8179.tar.gz", + "https://github.com/google/boringssl/archive/88aeb757f1a415c71fb4cbf5af936ecae4bc8179.tar.gz" + ] + }, + "build_bazel_apple_support": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_apple_support", + "name": "build_bazel_apple_support", + "sha256": "122ebf7fe7d1c8e938af6aeaee0efe788a3a2449ece5a8d6a428cb18d6f88033", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz", + "https://github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz" + ] + }, + "build_bazel_rules_apple": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_rules_apple", + "name": "build_bazel_rules_apple", + "sha256": "bdc8e66e70b8a75da23b79f1f8c6207356df07d041d96d2189add7ee0780cf4e", + "strip_prefix": "rules_apple-b869b0d3868d78a1d4ffd866ccb304fb68aa12c3", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz", + "https://github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz" + ] + }, + "build_bazel_rules_nodejs": { + "name": "build_bazel_rules_nodejs", + "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz" + ] + }, + "com_github_cares_cares": { + "build_file": "@com_github_grpc_grpc//third_party:cares/cares.BUILD", + "generator_function": "grpc_deps", + "generator_name": "com_github_cares_cares", + "name": "com_github_cares_cares", + "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a", + "strip_prefix": "c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz" + ] + }, + "com_github_gflags_gflags": { + "generator_function": "grpc_deps", + "generator_name": "com_github_gflags_gflags", + "name": "com_github_gflags_gflags", + "sha256": "63ae70ea3e05780f7547d03503a53de3a7d2d83ad1caaa443a31cb20aea28654", + "strip_prefix": "gflags-28f50e0fed19872e0fd50dd23ce2ee8cd759338e", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/gflags/gflags/archive/28f50e0fed19872e0fd50dd23ce2ee8cd759338e.tar.gz", + "https://github.com/gflags/gflags/archive/28f50e0fed19872e0fd50dd23ce2ee8cd759338e.tar.gz" + ] + }, + "com_github_google_benchmark": { + "generator_function": "grpc_deps", + "generator_name": "com_github_google_benchmark", + "name": "com_github_google_benchmark", + "sha256": "f68aec93154d010324c05bcd8c5cc53468b87af88d87acb5ddcfaa1bba044837", + "strip_prefix": "benchmark-090faecb454fbd6e6e17a75ef8146acb037118d4", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/benchmark/archive/090faecb454fbd6e6e17a75ef8146acb037118d4.tar.gz", + "https://github.com/google/benchmark/archive/090faecb454fbd6e6e17a75ef8146acb037118d4.tar.gz" + ] + }, + "com_github_google_re2": { + "generator_function": "grpc_deps", + "generator_name": "com_github_google_re2", + "name": "com_github_google_re2", + "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e", + "strip_prefix": "re2-aecba11114cf1fac5497aeb844b6966106de3eb6", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz" + ] + }, + "com_github_grpc_grpc": { + "name": "com_github_grpc_grpc", + "patch_args": [ + "-p1" + ], + "patches": [ + "//third_party/grpc:grpc_1.33.1.patch" + ], + "sha256": "58eaee5c0f1bd0b92ebe1fa0606ec8f14798500620e7444726afcaf65041cb63", + "strip_prefix": "grpc-1.33.1", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.33.1.tar.gz", + "https://github.com/grpc/grpc/archive/v1.33.1.tar.gz" + ] + }, + "com_google_absl": { + "generator_function": "grpc_deps", + "generator_name": "com_google_absl", + "name": "com_google_absl", + "sha256": "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a", + "strip_prefix": "abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz" + ] + }, + "com_google_googletest": { + "name": "com_google_googletest", + "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb", + "strip_prefix": "googletest-release-1.10.0", + "urls": [ + "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz", + "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" + ] + }, + "com_google_protobuf": { + "name": "com_google_protobuf", + "patch_args": [ + "-p1" + ], + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "patches": [ + "//third_party/protobuf:3.13.0.patch" + ], + "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a", + "strip_prefix": "protobuf-3.13.0", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz" + ] + }, + "coverage_output_generator-v2.5.zip": { + "name": "coverage_output_generator-v2.5.zip", + "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip" + ] + }, + "cython": { + "build_file": "@com_github_grpc_grpc//third_party:cython.BUILD", + "generator_function": "grpc_deps", + "generator_name": "cython", + "name": "cython", + "sha256": "d68138a2381afbdd0876c3cb2a22389043fa01c4badede1228ee073032b07a27", + "strip_prefix": "cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c", + "urls": [ + "https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz" + ] + }, + "desugar_jdk_libs": { + "name": "desugar_jdk_libs", + "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d", + "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip", + "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip" + ] + }, + "df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz": { + "name": "df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", + "sha256": "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a", + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz" + ] + }, + "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": { + "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip", + "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip", + "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip" + ] + }, + "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz": { + "name": "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a", + "urls": [ + "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz" + ] + }, + "enum34": { + "build_file": "@com_github_grpc_grpc//third_party:enum34.BUILD", + "generator_function": "grpc_deps", + "generator_name": "enum34", + "name": "enum34", + "sha256": "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1", + "strip_prefix": "enum34-1.1.6", + "urls": [ + "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz" + ] + }, + "envoy_api": { + "generator_function": "grpc_deps", + "generator_name": "envoy_api", + "name": "envoy_api", + "sha256": "466585f253471259ce17641348149f458270316e81ec6702fdd8bf0b1b681256", + "strip_prefix": "data-plane-api-9997e1137cdb59e622af13e57ca915a2f3c9f84f", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/9997e1137cdb59e622af13e57ca915a2f3c9f84f.tar.gz", + "https://github.com/envoyproxy/data-plane-api/archive/9997e1137cdb59e622af13e57ca915a2f3c9f84f.tar.gz" + ] + }, + "futures": { + "build_file": "@com_github_grpc_grpc//third_party:futures.BUILD", + "generator_function": "grpc_deps", + "generator_name": "futures", + "name": "futures", + "sha256": "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794", + "strip_prefix": "futures-3.3.0", + "urls": [ + "https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz" + ] + }, + "io_bazel_rules_go": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_go", + "name": "io_bazel_rules_go", + "sha256": "a82a352bffae6bee4e95f68a8d80a70e87f42c4741e6a448bec11998fcc82329", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz", + "https://github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz" + ] + }, + "io_bazel_rules_python": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_python", + "name": "io_bazel_rules_python", + "sha256": "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161", + "url": "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz" + }, + "io_bazel_rules_sass": { + "name": "io_bazel_rules_sass", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "strip_prefix": "rules_sass-1.25.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "io_bazel_skydoc": { + "name": "io_bazel_skydoc", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "io_opencensus_cpp": { + "generator_function": "grpc_deps", + "generator_name": "io_opencensus_cpp", + "name": "io_opencensus_cpp", + "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1", + "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz", + "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz" + ] + }, + "java_tools_javac11_darwin-v10.6.zip": { + "name": "java_tools_javac11_darwin-v10.6.zip", + "sha256": "d15b05d2061382748f779dc566537ea567a46bcba6fa34b56d7cb6e6d668adab", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_darwin-v10.6.zip" + ] + }, + "java_tools_javac11_linux-v10.6.zip": { + "name": "java_tools_javac11_linux-v10.6.zip", + "sha256": "085c0ba53ba764e81d4c195524f3c596085cbf9cdc01dd8e6d2ae677e726af35", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_linux-v10.6.zip" + ] + }, + "java_tools_javac11_windows-v10.6.zip": { + "name": "java_tools_javac11_windows-v10.6.zip", + "sha256": "873f1e53d1fa9c8e46b717673816cd822bb7acc474a194a18ff849fd8fa6ff00", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_windows-v10.6.zip" + ] + }, + "java_tools_langtools_javac11": { + "name": "java_tools_langtools_javac11", + "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip" + ] + }, + "jekyll_tree_0_17_1": { + "name": "jekyll_tree_0_17_1", + "sha256": "02256ddd20eeaf70cf8fcfe9b2cdddd7be87aedd5848d549474fb0358e0031d3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.1.tar" + ] + }, + "jekyll_tree_0_17_2": { + "name": "jekyll_tree_0_17_2", + "sha256": "13b35dd309a0d52f0a2518a1193f42729c75255f5fae40cea68e4d4224bfaa2e", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.2.tar" + ] + }, + "jekyll_tree_0_18_1": { + "name": "jekyll_tree_0_18_1", + "sha256": "98b77f48e37a50fc6f83100bf53f661e10732bb3ddbc226e02d0225cb7a9a7d8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.18.1.tar" + ] + }, + "jekyll_tree_0_19_1": { + "name": "jekyll_tree_0_19_1", + "sha256": "ec892c59ba18bb8de1f9ae2bde937db144e45f28d6d1c32a2cee847ee81b134d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.1.tar" + ] + }, + "jekyll_tree_0_19_2": { + "name": "jekyll_tree_0_19_2", + "sha256": "3c2d9f21ec2fd1c0b8a310f6eb6043027c838810cdfc2457d4346a0e5cdcaa7a", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.2.tar" + ] + }, + "jekyll_tree_0_20_0": { + "name": "jekyll_tree_0_20_0", + "sha256": "bb79a63810bf1b0aa1f89bd3bbbeb4a547a30ab9af70c9be656cc6866f4b015b", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.20.0.tar" + ] + }, + "jekyll_tree_0_21_0": { + "name": "jekyll_tree_0_21_0", + "sha256": "23ec39c0138d358c544151e5c81586716d5d1c6124f10a742bead70516e6eb93", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.21.0.tar" + ] + }, + "jekyll_tree_0_22_0": { + "name": "jekyll_tree_0_22_0", + "sha256": "bec5cfaa5560e082e41e33bde276cf93f0f7bcfd2914a3e868f921df8b3ab725", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.22.0.tar" + ] + }, + "jekyll_tree_0_23_0": { + "name": "jekyll_tree_0_23_0", + "sha256": "56c80fcf49dc606fab8ed5e737a7409e9a486585b7b98673be69b5a4984dd774", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.23.0.tar" + ] + }, + "jekyll_tree_0_24_0": { + "name": "jekyll_tree_0_24_0", + "sha256": "988fa567906a73e50d3669909285187ef88c76ecd4aa277f4d1f355fc06a90c8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.24.0.tar" + ] + }, + "jekyll_tree_0_25_0": { + "name": "jekyll_tree_0_25_0", + "sha256": "e8ab61c047225e808982a564ecd692fd63bd243dccc88a8768ed069a5362a685", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.25.0.tar" + ] + }, + "jekyll_tree_0_26_0": { + "name": "jekyll_tree_0_26_0", + "sha256": "3907dfc6fb27d246e67877e553e8951fac239bb49f2dec7e06b6b09cb0b98b8d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.26.0.tar" + ] + }, + "jekyll_tree_0_27_0": { + "name": "jekyll_tree_0_27_0", + "sha256": "97e2633fefee389daade775da43907aa68699b32212f4e48cb095abe18aa7e65", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.27.0.tar" + ] + }, + "jekyll_tree_0_28_0": { + "name": "jekyll_tree_0_28_0", + "sha256": "64b3fc267fb1f4c56345d96f0ad9f07a2efe43bd15361f818368849cf941b3b7", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.28.0.tar" + ] + }, + "jekyll_tree_0_29_0": { + "name": "jekyll_tree_0_29_0", + "sha256": "99d7a6bf9ef0145c59c54b4319fb31cb855681782080a5490909c4a5463c7215", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.0.tar" + ] + }, + "jekyll_tree_0_29_1": { + "name": "jekyll_tree_0_29_1", + "sha256": "cf0a517f1660a7c4fd26a7ef6f3594bbefcf2b670bc0ed610bf3bb6ec3a9fdc3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.1.tar" + ] + }, + "jekyll_tree_1_0_0": { + "name": "jekyll_tree_1_0_0", + "sha256": "61ef65c738a8cd65059f58f2ee5f7eef493136ac4d5e5c3464787d17043febdf", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.0.0.tar" + ] + }, + "jekyll_tree_1_1_0": { + "name": "jekyll_tree_1_1_0", + "sha256": "46d82c9249896903ee6be2295fc52a1346a9ee82f61f89b8a2181232c3bd999b", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.1.0.tar" + ] + }, + "jekyll_tree_1_2_0": { + "name": "jekyll_tree_1_2_0", + "sha256": "d402a8391ca2624673f124ff42ba8d0d40d4139e5d23111f3995dc6c5f70f63d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.2.0.tar" + ] + }, + "jekyll_tree_2_0_0": { + "name": "jekyll_tree_2_0_0", + "sha256": "7d7c424ede503856c61b645d8fdc2513ec6ea8600d76c5e87c45a9a45c16de3e", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.0.0.tar" + ] + }, + "jekyll_tree_2_1_0": { + "name": "jekyll_tree_2_1_0", + "sha256": "b0fd257b1d6b1b05705742d55a13b9a20d3e99f49c89334750c872d620e5b88f", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.1.0.tar" + ] + }, + "jekyll_tree_2_2_0": { + "name": "jekyll_tree_2_2_0", + "sha256": "4c1506786ab98df8039ec7354b82da7b586b2ae4ab7f7e7d08f3caf74ff28e3d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.2.0.tar" + ] + }, + "jekyll_tree_3_0_0": { + "name": "jekyll_tree_3_0_0", + "sha256": "bd1096ad609c253fa7b1473edf4a3aa51f36243e188dbb62c68d8ed4aca2419d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.0.0.tar" + ] + }, + "jekyll_tree_3_1_0": { + "name": "jekyll_tree_3_1_0", + "sha256": "f9d2e22e24af426d6c9de163d91abe6d8af7eb1eabb1d7ff5e9cf4bededf465a", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.1.0-807b377.tar" + ] + }, + "jekyll_tree_3_2_0": { + "name": "jekyll_tree_3_2_0", + "sha256": "6cff8654e739a0c3062183a5a6cc82fcf9a77323051f8c007866d7f4101052a6", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.2.0.tar" + ] + }, + "jekyll_tree_3_3_0": { + "name": "jekyll_tree_3_3_0", + "sha256": "36b81e8ddf4f3caccf41acc82d9e49f000c1be9e92c9cc82793d60ff70636176", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.3.0.tar" + ] + }, + "jekyll_tree_3_4_0": { + "name": "jekyll_tree_3_4_0", + "sha256": "af82e775d911135bcff76e500bb003c4a9fccb949f8ddf4d93c58eca195bf5e8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.4.0.tar" + ] + }, + "jekyll_tree_3_5_0": { + "name": "jekyll_tree_3_5_0", + "sha256": "aa96cbad14cfab0b422d1d17eac3107a75eb05854d40ab4f1379a6fc87b2e1f8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.0.tar" + ] + }, + "jekyll_tree_3_5_1": { + "name": "jekyll_tree_3_5_1", + "sha256": "1c949ba8da353c93c74a70638e5cb321ea1cd5582eda1b6ad88c6d2d0b569f2f", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.1.tar" + ] + }, + "jekyll_tree_3_6_0": { + "name": "jekyll_tree_3_6_0", + "sha256": "1b7a16a2098ca0c290c208a11db886e950d6c523b2cac2d0a0cba4a04aa832f3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.6.0.tar" + ] + }, + "jekyll_tree_3_7_0": { + "name": "jekyll_tree_3_7_0", + "sha256": "a534d37ef3867c92fae8692852f92820a34f63a5f9092bbbec6505c0f69d8094", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.7.0.tar" + ] + }, + "openjdk11_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_darwin_aarch64_archive", + "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a", + "strip_prefix": "zulu11.45.27-ca-jdk11.0.10-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz" + ] + }, + "openjdk11_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_darwin_archive", + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "openjdk11_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_linux_archive", + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "openjdk11_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_windows_archive", + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "openjdk14_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk14_darwin_archive", + "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz" + ] + }, + "openjdk14_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk14_linux_archive", + "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz" + ] + }, + "openjdk14_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk14_windows_archive", + "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip" + ] + }, + "openjdk15_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_darwin_aarch64_archive", + "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5", + "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz" + ] + }, + "openjdk15_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_darwin_archive", + "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz" + ] + }, + "openjdk15_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_linux_archive", + "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz" + ] + }, + "openjdk15_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_windows_archive", + "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip" + ] + }, + "openjdk_linux": { + "downloaded_file_path": "zulu-linux.tar.gz", + "name": "openjdk_linux", + "sha256": "65bfe4e0ffa74a680ee4410db46b17e30cd9397b664a92a886599fe1f3530969", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-linux_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689070.tar.gz" + ] + }, + "openjdk_linux_aarch64": { + "downloaded_file_path": "zulu-linux-aarch64.tar.gz", + "name": "openjdk_linux_aarch64", + "sha256": "6b245793087300db3ee82ab0d165614f193a73a60f2f011e347756c1e6ca5bac", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_minimal": { + "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz", + "name": "openjdk_linux_aarch64_minimal", + "sha256": "06f6520a877704c77614bcfc4f846cc7cbcbf5eaad149bf7f19f4f16e285c9de", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_vanilla": { + "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz", + "name": "openjdk_linux_aarch64_vanilla", + "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz" + ] + }, + "openjdk_linux_minimal": { + "downloaded_file_path": "zulu-linux-minimal.tar.gz", + "name": "openjdk_linux_minimal", + "sha256": "91f7d52f695c681d4e21499b4319d548aadef249a6b3053e306308992e1e29ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689068.tar.gz" + ] + }, + "openjdk_linux_ppc64le_vanilla": { + "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz", + "name": "openjdk_linux_ppc64le_vanilla", + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "openjdk_linux_s390x_vanilla": { + "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz", + "name": "openjdk_linux_s390x_vanilla", + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "openjdk_linux_vanilla": { + "downloaded_file_path": "zulu-linux-vanilla.tar.gz", + "name": "openjdk_linux_vanilla", + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "openjdk_macos_aarch64": { + "downloaded_file_path": "zulu-macos-aarch64.tar.gz", + "name": "openjdk_macos_aarch64", + "sha256": "a900ef793cb34b03ac5d93ea2f67291b6842e99d500934e19393a8d8f9bfa6ff", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-allmodules-1611665569.tar.gz" + ] + }, + "openjdk_macos_aarch64_minimal": { + "downloaded_file_path": "zulu-macos-aarch64-minimal.tar.gz", + "name": "openjdk_macos_aarch64_minimal", + "sha256": "f4f606926e6deeaa8b8397e299313d9df87642fe464b0ccf1ed0432aeb00640b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-minimal-1611665562.tar.gz" + ] + }, + "openjdk_macos_aarch64_vanilla": { + "downloaded_file_path": "zulu-macos-aarch64-vanilla.tar.gz", + "name": "openjdk_macos_aarch64_vanilla", + "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz" + ] + }, + "openjdk_macos_x86_64": { + "downloaded_file_path": "zulu-macos.tar.gz", + "name": "openjdk_macos_x86_64", + "sha256": "8e283cfd23c7555be8e17295ed76eb8f00324c88ab904b8de37bbe08f90e569b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689066.tar.gz" + ] + }, + "openjdk_macos_x86_64_minimal": { + "downloaded_file_path": "zulu-macos-minimal.tar.gz", + "name": "openjdk_macos_x86_64_minimal", + "sha256": "1bacb1c07035d4066d79f0b65b4ea0ebd1954f3662bdfe3618da382ac8fd23a6", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689063.tar.gz" + ] + }, + "openjdk_macos_x86_64_vanilla": { + "downloaded_file_path": "zulu-macos-vanilla.tar.gz", + "name": "openjdk_macos_x86_64_vanilla", + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "openjdk_win": { + "downloaded_file_path": "zulu-win.zip", + "name": "openjdk_win", + "sha256": "8e1604b3a27dcf639bc6d1a73103f1211848139e4cceb081d0a74a99e1e6f995", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_minimal": { + "downloaded_file_path": "zulu-win-minimal.zip", + "name": "openjdk_win_minimal", + "sha256": "b90a713c9c2d9ea23cad44d2c2dfcc9af22faba9bde55dedc1c3bb9f556ac1ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_vanilla": { + "downloaded_file_path": "zulu-win-vanilla.zip", + "name": "openjdk_win_vanilla", + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "platforms": { + "name": "platforms", + "sha256": "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz" + ] + }, + "platforms-0.0.4.tar.gz": { + "name": "platforms-0.0.4.tar.gz", + "sha256": "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz" + ] + }, + "remote_coverage_tools": { + "name": "remote_coverage_tools", + "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip" + ] + }, + "remote_coverage_tools_for_testing": { + "name": "remote_coverage_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip" + ] + }, + "remote_java_tools_darwin": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_darwin", + "name": "remote_java_tools_darwin", + "sha256": "64e5de2175dfccb96831573946b80d106edf3801d9db38b564514bf3581d466b", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_darwin-v10.0.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_darwin-v10.0.zip" + ] + }, + "remote_java_tools_darwin_for_testing": { + "name": "remote_java_tools_darwin_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "d15b05d2061382748f779dc566537ea567a46bcba6fa34b56d7cb6e6d668adab", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_darwin-v10.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_darwin-v10.6.zip" + ] + }, + "remote_java_tools_javac11_test_darwin": { + "name": "remote_java_tools_javac11_test_darwin", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "d15b05d2061382748f779dc566537ea567a46bcba6fa34b56d7cb6e6d668adab", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_darwin-v10.6.zip" + ] + }, + "remote_java_tools_javac11_test_linux": { + "name": "remote_java_tools_javac11_test_linux", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "085c0ba53ba764e81d4c195524f3c596085cbf9cdc01dd8e6d2ae677e726af35", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_linux-v10.6.zip" + ] + }, + "remote_java_tools_javac11_test_windows": { + "name": "remote_java_tools_javac11_test_windows", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "873f1e53d1fa9c8e46b717673816cd822bb7acc474a194a18ff849fd8fa6ff00", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_windows-v10.6.zip" + ] + }, + "remote_java_tools_linux": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_linux", + "name": "remote_java_tools_linux", + "sha256": "69e65353c2cd65780abcbcce4daae973599298273b0f8b4d469eed822cb220d1", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_linux-v10.0.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_linux-v10.0.zip" + ] + }, + "remote_java_tools_linux_for_testing": { + "name": "remote_java_tools_linux_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "085c0ba53ba764e81d4c195524f3c596085cbf9cdc01dd8e6d2ae677e726af35", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_linux-v10.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_linux-v10.6.zip" + ] + }, + "remote_java_tools_windows": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_windows", + "name": "remote_java_tools_windows", + "sha256": "d2f62af8daa0a3d55789b605f6582e37038329c64843337c71e64515468e55c4", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_windows-v10.0.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_windows-v10.0.zip" + ] + }, + "remote_java_tools_windows_for_testing": { + "name": "remote_java_tools_windows_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "873f1e53d1fa9c8e46b717673816cd822bb7acc474a194a18ff849fd8fa6ff00", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_windows-v10.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_windows-v10.6.zip" + ] + }, + "remotejdk11_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux", + "name": "remotejdk11_linux", + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_aarch64", + "name": "remotejdk11_linux_aarch64", + "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4", + "strip_prefix": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4", + "strip_prefix": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_ppc64le", + "name": "remotejdk11_linux_ppc64le", + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_ppc64le_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_s390x", + "name": "remotejdk11_linux_s390x", + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_s390x_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_macos", + "name": "remotejdk11_macos", + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "remotejdk11_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a", + "strip_prefix": "zulu11.45.27-ca-jdk11.0.10-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz" + ] + }, + "remotejdk11_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "remotejdk11_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_win", + "name": "remotejdk11_win", + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "remotejdk11_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "remotejdk14_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk14_linux", + "name": "remotejdk14_linux", + "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz" + ] + }, + "remotejdk14_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk14_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz" + ] + }, + "remotejdk14_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk14_macos", + "name": "remotejdk14_macos", + "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz" + ] + }, + "remotejdk14_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk14_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz" + ] + }, + "remotejdk14_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk14_win", + "name": "remotejdk14_win", + "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip" + ] + }, + "remotejdk14_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk14_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284", + "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip" + ] + }, + "remotejdk15_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk15_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5", + "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz" + ] + }, + "remotejdk15_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk15_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip" + ] + }, + "rules_cc": { + "name": "rules_cc", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd", + "strip_prefix": "rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip" + ] + }, + "rules_java": { + "name": "rules_java", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "rules_nodejs-2.2.2.tar.gz": { + "name": "rules_nodejs-2.2.2.tar.gz", + "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz" + ] + }, + "rules_pkg": { + "name": "rules_pkg", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz" + ] + }, + "rules_pkg-0.2.4.tar.gz": { + "name": "rules_pkg-0.2.4.tar.gz", + "sha256": "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz" + ] + }, + "rules_proto": { + "name": "rules_proto", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "strip_prefix": "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "six": { + "build_file": "@com_github_grpc_grpc//third_party:six.BUILD", + "generator_function": "grpc_deps", + "generator_name": "six", + "name": "six", + "sha256": "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73", + "urls": [ + "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz" + ] + }, + "upb": { + "generator_function": "grpc_deps", + "generator_name": "upb", + "name": "upb", + "sha256": "7992217989f3156f8109931c1fc6db3434b7414957cb82371552377beaeb9d6c", + "strip_prefix": "upb-382d5afc60e05470c23e8de19b19fc5ad231e732", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz", + "https://github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz" + ] + }, + "v1.33.1.tar.gz": { + "name": "v1.33.1.tar.gz", + "sha256": "58eaee5c0f1bd0b92ebe1fa0606ec8f14798500620e7444726afcaf65041cb63", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.33.1.tar.gz", + "https://github.com/grpc/grpc/archive/v1.33.1.tar.gz" + ] + }, + "v3.13.0.tar.gz": { + "name": "v3.13.0.tar.gz", + "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz" + ] + }, + "zlib": { + "build_file": "@com_github_grpc_grpc//third_party:zlib.BUILD", + "generator_function": "grpc_deps", + "generator_name": "zlib", + "name": "zlib", + "sha256": "6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45", + "strip_prefix": "zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz", + "https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz" + ] + }, + "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz": { + "name": "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz", + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz": { + "name": "zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz", + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "zulu11.37.17-ca-jdk11.0.6-win_x64.zip": { + "name": "zulu11.37.17-ca-jdk11.0.6-win_x64.zip", + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz": { + "name": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz", + "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz" + ] + }, + "zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz": { + "name": "zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz", + "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz" + ] + } +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py new file mode 100755 index 000000000000..9e998e05875e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +import sys +import json + +if len(sys.argv) != 2: + print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr) + print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr) + print("Hail Eris.", file=sys.stderr) + sys.exit(1) + +http_archives = [] + +# just the kw args are the dict { name, sha256, urls … } +def http_archive(**kw): + http_archives.append(kw) +# like http_file +def http_file(**kw): + http_archives.append(kw) + +# this is inverted from http_archive/http_file and bundles multiple archives +def distdir_tar(**kw): + for archive_name in kw['archives']: + http_archives.append({ + "name": archive_name, + "sha256": kw['sha256'][archive_name], + "urls": kw['urls'][archive_name] + }) + +# TODO? +def git_repository(**kw): + print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +# execute the WORKSPACE like it was python code in this module, +# using all the function stubs from above. +exec(sys.stdin.read()) + +# transform to a dict with the names as keys +d = { el['name']: el for el in http_archives } + +def has_urls(el): + return ('url' in el and el['url']) or ('urls' in el and el['urls']) +def has_sha256(el): + return 'sha256' in el and el['sha256'] +bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values())) +if bad_archives: + print('Following bazel dependencies are missing url or sha256', file=sys.stderr) + print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr) + for el in bad_archives: + print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +with open(sys.argv[1], "w") as f: + print(json.dumps(d, sort_keys=True, indent=4), file=f) diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch new file mode 100644 index 000000000000..1fa1e5748333 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch @@ -0,0 +1,41 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +index 6fff2af..7e2877e 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +@@ -47,6 +47,16 @@ public final class PosixLocalEnvProvider implements LocalEnvProvider { + Map<String, String> env, BinTools binTools, String fallbackTmpDir) { + ImmutableMap.Builder<String, String> result = ImmutableMap.builder(); + result.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ result.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR +index 95642767c6..39d3c62461 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java +@@ -74,6 +74,16 @@ public final class XcodeLocalEnvProvider implements LocalEnvProvider { + + ImmutableMap.Builder<String, String> newEnvBuilder = ImmutableMap.builder(); + newEnvBuilder.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ newEnvBuilder.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch new file mode 100644 index 000000000000..725b901f893e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch @@ -0,0 +1,11 @@ +diff -ru a/src/main/native/unix_jni_darwin.cc b/src/main/native/unix_jni_darwin.cc +--- a/src/main/native/unix_jni_darwin.cc 1980-01-01 00:00:00.000000000 -0500 ++++ b/src/main/native/unix_jni_darwin.cc 2021-11-27 20:35:29.000000000 -0500 +@@ -270,6 +270,7 @@ + } + + void portable_start_suspend_monitoring() { ++ if (getenv("NIX_BUILD_TOP")) return; + static dispatch_once_t once_token; + static SuspendState suspend_state; + dispatch_once(&once_token, ^{ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix new file mode 100644 index 000000000000..8382f9d4be35 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix @@ -0,0 +1,665 @@ +{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles +, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs +# this package (through the fixpoint glass) +, bazel_self +, lr, xe, zip, unzip, bash, writeCBin, coreutils +, which, gawk, gnused, gnutar, gnugrep, gzip, findutils +# updater +, python3, writeScript +# Apple dependencies +, cctools, libcxx, sigtool, CoreFoundation, CoreServices, Foundation +# Allow to independently override the jdks used to build and run respectively +, buildJdk, runJdk +, runtimeShell +# Downstream packages for tests +, bazel-watcher +# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic). +# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers). +, enableNixHacks ? false +, gcc-unwrapped +, autoPatchelfHook +, file +, substituteAll +, writeTextFile +}: + +let + version = "5.4.1"; + sourceRoot = "."; + + src = fetchurl { + url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; + hash = "sha256-3P9pNXVqp6yk/Fabsr0m4VN/Cx9tG9pfKyAPqDXMUH8="; + }; + + # Update with + # 1. export BAZEL_SELF=$(nix-build -A bazel_5) + # 2. update version and hash for sources above + # 3. `eval $(nix-build -A bazel_5.updater)` + # 4. add new dependencies from the dict in ./src-deps.json if required by failing build + srcDeps = lib.attrsets.attrValues srcDepsSet; + srcDepsSet = + let + srcs = lib.importJSON ./src-deps.json; + toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl { + urls = d.urls; + sha256 = d.sha256; + }); + in builtins.listToAttrs (map toFetchurl [ + srcs.desugar_jdk_libs + srcs.io_bazel_skydoc + srcs.bazel_skylib + srcs.bazelci_rules + srcs.io_bazel_rules_sass + srcs.platforms + srcs."remote_java_tools_for_testing" + srcs."coverage_output_generator-v2.5.zip" + srcs.build_bazel_rules_nodejs + srcs."android_tools_pkg-0.23.0.tar.gz" + srcs.bazel_toolchains + srcs.com_github_grpc_grpc + srcs.upb + srcs.com_google_protobuf + srcs.rules_pkg + srcs.rules_cc + srcs.rules_java + srcs.rules_proto + srcs.com_google_absl + srcs.com_googlesource_code_re2 + srcs.com_github_cares_cares + ]); + + distDir = runCommand "bazel-deps" {} '' + mkdir -p $out + for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done + ''; + + defaultShellUtils = + # Keep this list conservative. For more exotic tools, prefer to use + # @rules_nixpkgs to pull in tools from the nix repository. Example: + # + # WORKSPACE: + # + # nixpkgs_git_repository( + # name = "nixpkgs", + # revision = "def5124ec8367efdba95a99523dd06d918cb0ae8", + # ) + # + # # This defines an external Bazel workspace. + # nixpkgs_package( + # name = "bison", + # repositories = { "nixpkgs": "@nixpkgs//:default.nix" }, + # ) + # + # some/BUILD.bazel: + # + # genrule( + # ... + # cmd = "$(location @bison//:bin/bison) -other -args", + # tools = [ + # ... + # "@bison//:bin/bison", + # ], + # ) + [ + bash + coreutils + file + findutils + gawk + gnugrep + gnused + gnutar + gzip + python3 + unzip + which + zip + ]; + + defaultShellPath = lib.makeBinPath defaultShellUtils; + + platforms = lib.platforms.linux ++ lib.platforms.darwin; + + system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux"; + + # on aarch64 Darwin, `uname -m` returns "arm64" + arch = with stdenv.hostPlatform; if isDarwin && isAarch64 then "arm64" else parsed.cpu.name; + + bazelRC = writeTextFile { + name = "bazel-rc"; + text = '' + startup --server_javabase=${runJdk} + + # Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054 + # Most commands inherit from 'build' anyway. + build --distdir=${distDir} + fetch --distdir=${distDir} + query --distdir=${distDir} + + build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition + build --tool_java_runtime_version=local_jdk_11 + build --java_runtime_version=local_jdk_11 + + # load default location for the system wide configuration + try-import /etc/bazel.bazelrc + ''; + }; + +in +stdenv.mkDerivation rec { + pname = "bazel"; + inherit version; + + meta = with lib; { + homepage = "https://github.com/bazelbuild/bazel/"; + description = "Build tool that builds code quickly and reliably"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # source bundles dependencies as jars + ]; + license = licenses.asl20; + maintainers = lib.teams.bazel.members; + inherit platforms; + }; + + inherit src; + inherit sourceRoot; + patches = [ + # On Darwin, the last argument to gcc is coming up as an empty string. i.e: '' + # This is breaking the build of any C target. This patch removes the last + # argument if it's found to be an empty string. + ../trim-last-argument-to-gcc-if-empty.patch + + # On Darwin, using clang 6 to build fails because of a linker error (see #105573), + # but using clang 7 fails because libarclite_macosx.a cannot be found when linking + # the xcode_locator tool. + # This patch removes using the -fobjc-arc compiler option and makes the code + # compile without automatic reference counting. Caveat: this leaks memory, but + # we accept this fact because xcode_locator is only a short-lived process used during the build. + (substituteAll { + src = ./no-arc.patch; + multiBinPatch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "x86_64"; + }) + + # --experimental_strict_action_env (which may one day become the default + # see bazelbuild/bazel#2574) hardcodes the default + # action environment to a non hermetic value (e.g. "/usr/local/bin"). + # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries. + # So we are replacing this bazel paths by defaultShellPath, + # improving hermeticity and making it work in nixos. + (substituteAll { + src = ../strict_action_env.patch; + strictActionEnvPatch = defaultShellPath; + }) + + (substituteAll { + src = ./actions_path.patch; + actionsPathPatch = defaultShellPath; + }) + + # bazel reads its system bazelrc in /etc + # override this path to a builtin one + (substituteAll { + src = ../bazel_rc.patch; + bazelSystemBazelRCPath = bazelRC; + }) + + # disable suspend detection during a build inside Nix as this is + # not available inside the darwin sandbox + ./bazel_darwin_sandbox.patch + ] ++ lib.optional enableNixHacks ../nix-hacks.patch; + + + # Additional tests that check bazel’s functionality. Execute + # + # nix-build . -A bazel_5.tests + # + # in the nixpkgs checkout root to exercise them locally. + passthru.tests = + let + runLocal = name: attrs: script: + let + attrs' = removeAttrs attrs [ "buildInputs" ]; + buildInputs = attrs.buildInputs or []; + in + runCommandCC name ({ + inherit buildInputs; + preferLocalBuild = true; + meta.platforms = platforms; + } // attrs') script; + + # bazel wants to extract itself into $install_dir/install every time it runs, + # so let’s do that only once. + extracted = bazelPkg: + let install_dir = + # `install_base` field printed by `bazel info`, minus the hash. + # yes, this path is kinda magic. Sorry. + "$HOME/.cache/bazel/_bazel_nixbld"; + in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } '' + export HOME=$(mktemp -d) + touch WORKSPACE # yeah, everything sucks + install_base="$(${bazelPkg}/bin/bazel info | grep install_base)" + # assert it’s actually below install_dir + [[ "$install_base" =~ ${install_dir} ]] \ + || (echo "oh no! $install_base but we are \ + trying to copy ${install_dir} to $out instead!"; exit 1) + cp -R ${install_dir} $out + ''; + + bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }: + let + be = extracted bazelPkg; + in runLocal name { inherit buildInputs; } ( + # skip extraction caching on Darwin, because nobody knows how Darwin works + (lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # set up home with pre-unpacked bazel + export HOME=$(mktemp -d) + mkdir -p ${be.install_dir} + cp -R ${be}/install ${be.install_dir} + + # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6 + # Bazel checks whether the mtime of the install dir files + # is >9 years in the future, otherwise it extracts itself again. + # see PosixFileMTime::IsUntampered in src/main/cpp/util + # What the hell bazel. + ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {} + '') + + + '' + # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609 + # about why to create a subdir for the workspace. + cp -r ${workspaceDir} wd && chmod u+w wd && cd wd + + ${bazelScript} + + touch $out + ''); + + bazelWithNixHacks = bazel_self.override { enableNixHacks = true; }; + + bazel-examples = fetchFromGitHub { + owner = "bazelbuild"; + repo = "examples"; + rev = "4183fc709c26a00366665e2d60d70521dc0b405d"; + sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k"; + }; + + in (lib.optionalSttrs (!stdenv.hostPlatform.isDarwin) { + # `extracted` doesn’t work on darwin + shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; bazel = bazel_self;}; + }) // { + bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;}; + cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;}; + java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;}; + protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; }; + pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;}; + + bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + # downstream packages using buildBazelPackage + # fixed-output hashes of the fetch phase need to be spot-checked manually + downstream = recurseIntoAttrs ({ + inherit bazel-watcher; + }); + }; + + src_for_updater = stdenv.mkDerivation rec { + name = "updater-sources"; + inherit src; + nativeBuildInputs = [ unzip ]; + inherit sourceRoot; + installPhase = '' + runHook preInstall + + cp -r . "$out" + + runHook postInstall + ''; + }; + # update the list of workspace dependencies + passthru.updater = writeScript "update-bazel-deps.sh" '' + #!${runtimeShell} + (cd "${src_for_updater}" && + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + "$BAZEL_SELF"/bin/bazel \ + query 'kind(http_archive, //external:*) + kind(http_file, //external:*) + kind(distdir_tar, //external:*) + kind(git_repository, //external:*)' \ + --loading_phase_threads=1 \ + --output build) \ + | "${python3}"/bin/python3 "${./update-srcDeps.py}" \ + "${builtins.toString ./src-deps.json}" + ''; + + # Necessary for the tests to pass on Darwin with sandbox enabled. + # Bazel starts a local server and needs to bind a local address. + __darwinAllowLocalNetworking = true; + + postPatch = let + + darwinPatches = '' + bazelLinkFlags () { + eval set -- "$NIX_LDFLAGS" + local flag + for flag in "$@"; do + printf ' -Wl,%s' "$flag" + done + } + + # Disable Bazel's Xcode toolchain detection which would configure compilers + # and linkers from Xcode instead of from PATH + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails + export GCOV=${coreutils}/bin/false + + # Framework search paths aren't added by bintools hook + # https://github.com/NixOS/nixpkgs/pull/41914 + export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" + + # libcxx includes aren't added by libcxx hook + # https://github.com/NixOS/nixpkgs/pull/41589 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1" + + # don't use system installed Xcode to run clang, use Nix clang instead + sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \ + scripts/bootstrap/compile.sh \ + tools/osx/BUILD + + substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' "" + + # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead + sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc + + # clang installed from Xcode has a compatibility wrapper that forwards + # invocations of gcc to clang, but vanilla clang doesn't + sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + sed -i -e 's;env -i codesign --identifier $@ --force --sign;env -i CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign --identifier $@ --force -s;g' tools/osx/BUILD + sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) + for wrapper in "''${wrappers[@]}"; do + sed -i -e "s,/usr/bin/gcc,${stdenv.cc}/bin/clang,g" $wrapper + sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + done + ''; + + genericPatches = '' + # Substitute j2objc and objc wrapper's python shebang to plain python path. + substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + + # md5sum is part of coreutils + sed -i 's|/sbin/md5|md5sum|g' \ + src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh + + # replace initial value of pythonShebang variable in BazelPythonSemantics.java + substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \ + --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\"" + + substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \ + --replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\"" + + # substituteInPlace is rather slow, so prefilter the files with grep + grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do + # If you add more replacements here, you must change the grep above! + # Only files containing /bin are taken into account. + substituteInPlace "$path" \ + --replace /bin/bash ${bash}/bin/bash \ + --replace "/usr/bin/env bash" ${bash}/bin/bash \ + --replace "/usr/bin/env python" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env \ + --replace /bin/true ${coreutils}/bin/true + done + + grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do + substituteInPlace "$path" \ + --replace "/usr/bin/env python2" ${python3.interpreter} \ + --replace "/usr/bin/env python3" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env + done + + # bazel test runner include references to /bin/bash + substituteInPlace tools/build_rules/test_rules.bzl \ + --replace /bin/bash ${bash}/bin/bash + + for i in $(find tools/cpp/ -type f) + do + substituteInPlace $i \ + --replace /bin/bash ${bash}/bin/bash + done + + # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. + substituteInPlace scripts/bootstrap/compile.sh \ + --replace /bin/bash ${bash}/bin/bash + + # add nix environment vars to .bazelrc + cat >> .bazelrc <<EOF + # Limit the resources Bazel is allowed to use during the build to 1/2 the + # available RAM and 3/4 the available CPU cores. This should help avoid + # overwhelming the build machine. + build --local_ram_resources=HOST_RAM*.5 + build --local_cpu_resources=HOST_CPUS*.75 + + build --distdir=${distDir} + fetch --distdir=${distDir} + build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')" + build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')" + build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')" + build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')" + build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" + build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')" + build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition + build --verbose_failures + build --curses=no + build --features=-layering_check + EOF + + cat >> tools/jdk/BUILD.tools <<EOF + load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "default_java_toolchain", "NONPREBUILT_TOOLCHAIN_CONFIGURATION") + default_java_toolchain( + name = "nonprebuilt_toolchain", + configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION, + java_runtime = "@local_jdk//:jdk", + ) + EOF + + cat >> third_party/grpc/bazel_1.41.0.patch <<EOF + diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD + index 39ee9f97c6..9128d20c85 100644 + --- a/third_party/grpc/BUILD + +++ b/third_party/grpc/BUILD + @@ -28,7 +28,6 @@ licenses(["notice"]) + package( + default_visibility = ["//visibility:public"], + features = [ + - "layering_check", + "-parse_headers", + ], + ) + EOF + + # add the same environment vars to compile.sh + sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --tool_java_runtime_version=local_jdk_11 \\\\" \ + -e "/\$command \\\\$/a --java_runtime_version=local_jdk_11 \\\\" \ + -e "/\$command \\\\$/a --verbose_failures \\\\" \ + -e "/\$command \\\\$/a --curses=no \\\\" \ + -e "/\$command \\\\$/a --features=-layering_check \\\\" \ + -i scripts/bootstrap/compile.sh + + # This is necessary to avoid: + # "error: no visible @interface for 'NSDictionary' declares the selector + # 'initWithContentsOfURL:error:'" + # This can be removed when the apple_sdk is upgraded beyond 10.13+ + sed -i '/initWithContentsOfURL:versionPlistUrl/ { + N + s/error:nil\];/\];/ + }' tools/osx/xcode_locator.m + + # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash + echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp + cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp + mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash + + patchShebangs . + ''; + in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + + genericPatches; + + buildInputs = [buildJdk] ++ defaultShellUtils; + + # when a command can’t be found in a bazel build, you might also + # need to add it to `defaultShellPath`. + nativeBuildInputs = [ + installShellFiles + makeWrapper + python3 + unzip + which + zip + python3.pkgs.absl-py # Needed to build fish completion + ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ]; + + # Bazel makes extensive use of symlinks in the WORKSPACE. + # This causes problems with infinite symlinks if the build output is in the same location as the + # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a + # subdirectory. + # Failing to do this causes "infinite symlink expansion detected" + preBuildPhases = ["preBuildPhase"]; + preBuildPhase = '' + mkdir bazel_src + shopt -s dotglob extglob + mv !(bazel_src) bazel_src + ''; + buildPhase = '' + runHook preBuild + + # Increasing memory during compilation might be necessary. + # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m" + + # If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md + # and `git rev-parse --short HEAD` which would result in + # "3.7.0- (@non-git)" due to non-git build and incomplete changelog. + # Actual bazel releases use scripts/release/common.sh which is based + # on branch/tag information which we don't have with tarball releases. + # Note that .bazelversion is always correct and is based on bazel-* + # executable name, version checks should work fine + export EMBED_LABEL="${version}- (@non-git)" + ${bash}/bin/bash ./bazel_src/compile.sh + ./bazel_src/scripts/generate_bash_completion.sh \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.bash \ + --prepend=./bazel_src/scripts/bazel-complete-header.bash \ + --prepend=./bazel_src/scripts/bazel-complete-template.bash + ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.fish + + # need to change directory for bazel to find the workspace + cd ./bazel_src + # build execlog tooling + export HOME=$(mktemp -d) + ./output/bazel build src/tools/execlog:parser_deploy.jar + cd - + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel + # if it can’t find something in tools, it calls $out/bin/bazel-{version}-{os_arch} + # The binary _must_ exist with this naming if your project contains a .bazelversion + # file. + cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel + wrapProgram $out/bin/bazel $wrapperfile --suffix PATH : ${defaultShellPath} + mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch} + + mkdir $out/share + cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar + cat <<EOF > $out/bin/bazel-execlog + #!${runtimeShell} -e + ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@ + EOF + chmod +x $out/bin/bazel-execlog + + # shell completion files + installShellCompletion --bash \ + --name bazel.bash \ + ./bazel_src/output/bazel-complete.bash + installShellCompletion --zsh \ + --name _bazel \ + ./bazel_src/scripts/zsh_completion/_bazel + installShellCompletion --fish \ + --name bazel.fish \ + ./bazel_src/output/bazel-complete.fish + ''; + + # Install check fails on `aarch64-darwin` + # https://github.com/NixOS/nixpkgs/issues/145587 + doInstallCheck = stdenv.hostPlatform.system != "aarch64-darwin"; + installCheckPhase = '' + export TEST_TMPDIR=$(pwd) + + hello_test () { + $out/bin/bazel test \ + --test_output=errors \ + examples/cpp:hello-success_test \ + examples/java-native/src/test/java/com/example/myproject:hello + } + + cd ./bazel_src + rm .bazelversion # this doesn't necessarily match the version we built + + # test whether $WORKSPACE_ROOT/tools/bazel works + + mkdir -p tools + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exit 1 + EOF + chmod +x tools/bazel + + # first call should fail if tools/bazel is used + ! hello_test + + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exec "$BAZEL_REAL" "$@" + EOF + + # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch} + hello_test + + runHook postInstall + ''; + + # Save paths to hardcoded dependencies so Nix can detect them. + # This is needed because the templates get tar’d up into a .jar. + postFixup = '' + mkdir -p $out/nix-support + echo "${defaultShellPath}" >> $out/nix-support/depends + # The string literal specifying the path to the bazel-rc file is sometimes + # stored non-contiguously in the binary due to gcc optimisations, which leads + # Nix to miss the hash when scanning for dependencies + echo "${bazelRC}" >> $out/nix-support/depends + '' + lib.optionalString stdenv.isDarwin '' + echo "${cctools}" >> $out/nix-support/depends + ''; + + dontStrip = true; + dontPatchELF = true; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch new file mode 100644 index 000000000000..e7a4498839dc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch @@ -0,0 +1,42 @@ +diff --git a/tools/osx/BUILD b/tools/osx/BUILD +index 990afe3e8c..cd5b7b1b7a 100644 +--- a/tools/osx/BUILD ++++ b/tools/osx/BUILD +@@ -28,8 +28,8 @@ exports_files([ + ]) + + DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """ +- /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.13 -fobjc-arc -framework CoreServices \ +- -framework Foundation -arch arm64 -arch x86_64 -Wl,-no_adhoc_codesign -Wl,-no_uuid -o $@ $< && \ ++ /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.13 -framework CoreServices \ ++ -framework Foundation -arch @multiBinPatch@ -Wl,-no_uuid -o $@ $< && \ + env -i codesign --identifier $@ --force --sign - $@ + """ + +diff --git a/tools/osx/xcode_configure.bzl b/tools/osx/xcode_configure.bzl +index 2b819f07ec..a98ce37673 100644 +--- a/tools/osx/xcode_configure.bzl ++++ b/tools/osx/xcode_configure.bzl +@@ -127,7 +127,6 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label): + "macosx", + "clang", + "-mmacosx-version-min=10.13", +- "-fobjc-arc", + "-framework", + "CoreServices", + "-framework", +diff --git a/tools/osx/xcode_locator.m b/tools/osx/xcode_locator.m +index ed2ef87453..e0ce6dbdd1 100644 +--- a/tools/osx/xcode_locator.m ++++ b/tools/osx/xcode_locator.m +@@ -21,10 +21,6 @@ + // 6,6.4,6.4.1 = 6.4.1 + // 6.3,6.3.0 = 6.3 + +-#if !defined(__has_feature) || !__has_feature(objc_arc) +-#error "This file requires ARC support." +-#endif +- + #import <CoreServices/CoreServices.h> + #import <Foundation/Foundation.h> + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json new file mode 100644 index 000000000000..042c06ed74d7 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json @@ -0,0 +1,2160 @@ +{ + "1.25.0.zip": { + "name": "1.25.0.zip", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": { + "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "20211102.0.tar.gz": { + "name": "20211102.0.tar.gz", + "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4", + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz" + ] + }, + "2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz": { + "name": "2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz", + "sha256": "6a5f67874af66b239b709c572ac1a5a00fdb1b29beaf13c3e6f79b1ba10dc7c4", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz", + "https://github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz" + ] + }, + "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip": { + "name": "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip" + ] + }, + "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": { + "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": { + "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz": { + "name": "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e", + "urls": [ + "https://mirror.bazel.build/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz" + ] + }, + "android_tools": { + "name": "android_tools", + "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz" + }, + "android_tools_for_testing": { + "name": "android_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz" + }, + "android_tools_pkg-0.23.0.tar.gz": { + "name": "android_tools_pkg-0.23.0.tar.gz", + "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e", + "urls": [ + "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz" + ] + }, + "b1c40e1de81913a3c40e5948f78719c28152486d.zip": { + "name": "b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip" + ] + }, + "bazel-skylib-1.0.3.tar.gz": { + "name": "bazel-skylib-1.0.3.tar.gz", + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel_compdb": { + "generator_function": "grpc_deps", + "generator_name": "bazel_compdb", + "name": "bazel_compdb", + "sha256": "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4", + "strip_prefix": "bazel-compilation-database-0.4.5", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz", + "https://github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz" + ] + }, + "bazel_gazelle": { + "generator_function": "grpc_deps", + "generator_name": "bazel_gazelle", + "name": "bazel_gazelle", + "sha256": "d987004a72697334a095bbaa18d615804a28280201a50ed6c234c40ccc41e493", + "strip_prefix": "bazel-gazelle-0.19.1", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/bazel-gazelle/archive/v0.19.1.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/archive/v0.19.1.tar.gz" + ] + }, + "bazel_j2objc": { + "name": "bazel_j2objc", + "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b", + "strip_prefix": "j2objc-2.5", + "urls": [ + "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip", + "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip" + ] + }, + "bazel_skylib": { + "generator_function": "dist_http_archive", + "generator_name": "bazel_skylib", + "name": "bazel_skylib", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel_toolchains": { + "generator_function": "grpc_deps", + "generator_name": "bazel_toolchains", + "name": "bazel_toolchains", + "sha256": "0b36eef8a66f39c8dbae88e522d5bbbef49d5e66e834a982402c79962281be10", + "strip_prefix": "bazel-toolchains-1.0.1", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/1.0.1.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/1.0.1/bazel-toolchains-1.0.1.tar.gz" + ] + }, + "bazel_website": { + "build_file_content": "\nexports_files([\"_sass/style.scss\"])\n", + "name": "bazel_website", + "sha256": "a5f531dd1d62e6947dcfc279656ffc2fdf6f447c163914c5eabf7961b4cb6eb4", + "strip_prefix": "bazel-website-c174fa288aa079b68416d2ce2cc97268fa172f42", + "urls": [ + "https://github.com/bazelbuild/bazel-website/archive/c174fa288aa079b68416d2ce2cc97268fa172f42.tar.gz" + ] + }, + "bazelci_rules": { + "generator_function": "dist_http_archive", + "generator_name": "bazelci_rules", + "name": "bazelci_rules", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + "strip_prefix": "bazelci_rules-1.0.0", + "urls": [ + "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz" + ] + }, + "bazelci_rules-1.0.0.tar.gz": { + "name": "bazelci_rules-1.0.0.tar.gz", + "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + "urls": [ + "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz" + ] + }, + "boringssl": { + "generator_function": "grpc_deps", + "generator_name": "boringssl", + "name": "boringssl", + "sha256": "6f640262999cd1fb33cf705922e453e835d2d20f3f06fe0d77f6426c19257308", + "strip_prefix": "boringssl-fc44652a42b396e1645d5e72aba053349992136a", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/fc44652a42b396e1645d5e72aba053349992136a.tar.gz", + "https://github.com/google/boringssl/archive/fc44652a42b396e1645d5e72aba053349992136a.tar.gz" + ] + }, + "build_bazel_apple_support": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_apple_support", + "name": "build_bazel_apple_support", + "sha256": "122ebf7fe7d1c8e938af6aeaee0efe788a3a2449ece5a8d6a428cb18d6f88033", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz", + "https://github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz" + ] + }, + "build_bazel_rules_apple": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_rules_apple", + "name": "build_bazel_rules_apple", + "sha256": "bdc8e66e70b8a75da23b79f1f8c6207356df07d041d96d2189add7ee0780cf4e", + "strip_prefix": "rules_apple-b869b0d3868d78a1d4ffd866ccb304fb68aa12c3", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz", + "https://github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz" + ] + }, + "build_bazel_rules_nodejs": { + "generator_function": "dist_http_archive", + "generator_name": "build_bazel_rules_nodejs", + "name": "build_bazel_rules_nodejs", + "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz" + ] + }, + "com_envoyproxy_protoc_gen_validate": { + "generator_function": "grpc_deps", + "generator_name": "com_envoyproxy_protoc_gen_validate", + "name": "com_envoyproxy_protoc_gen_validate", + "sha256": "dd4962e4a9e8388a4fbc5c33e64d73bdb222f103e4bad40ca5535f81c2c606c2", + "strip_prefix": "protoc-gen-validate-59da36e59fef2267fc2b1849a05159e3ecdf24f3", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/protoc-gen-validate/archive/59da36e59fef2267fc2b1849a05159e3ecdf24f3.tar.gz", + "https://github.com/envoyproxy/protoc-gen-validate/archive/59da36e59fef2267fc2b1849a05159e3ecdf24f3.tar.gz" + ] + }, + "com_github_cares_cares": { + "build_file": "@com_github_grpc_grpc//third_party:cares/cares.BUILD", + "generator_function": "grpc_deps", + "generator_name": "com_github_cares_cares", + "name": "com_github_cares_cares", + "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a", + "strip_prefix": "c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz" + ] + }, + "com_github_google_benchmark": { + "generator_function": "grpc_deps", + "generator_name": "com_github_google_benchmark", + "name": "com_github_google_benchmark", + "sha256": "daa4a97e0547d76de300e325a49177b199f3689ce5a35e25d47696f7cb050f86", + "strip_prefix": "benchmark-73d4d5e8d6d449fc8663765a42aa8aeeee844489", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/benchmark/archive/73d4d5e8d6d449fc8663765a42aa8aeeee844489.tar.gz", + "https://github.com/google/benchmark/archive/73d4d5e8d6d449fc8663765a42aa8aeeee844489.tar.gz" + ] + }, + "com_github_grpc_grpc": { + "generator_function": "dist_http_archive", + "generator_name": "com_github_grpc_grpc", + "name": "com_github_grpc_grpc", + "patch_args": [ + "-p1" + ], + "patches": [ + "//third_party/grpc:grpc_1.41.0.patch", + "//third_party/grpc:grpc_1.41.0.win_arm64.patch" + ], + "sha256": "e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656", + "strip_prefix": "grpc-1.41.0", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.41.0.tar.gz", + "https://github.com/grpc/grpc/archive/v1.41.0.tar.gz" + ] + }, + "com_google_absl": { + "generator_function": "dist_http_archive", + "generator_name": "com_google_absl", + "name": "com_google_absl", + "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4", + "strip_prefix": "abseil-cpp-20211102.0", + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz" + ] + }, + "com_google_googleapis": { + "generator_function": "grpc_deps", + "generator_name": "com_google_googleapis", + "name": "com_google_googleapis", + "sha256": "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0", + "strip_prefix": "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + "https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz" + ] + }, + "com_google_googletest": { + "name": "com_google_googletest", + "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb", + "strip_prefix": "googletest-release-1.10.0", + "urls": [ + "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz", + "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" + ] + }, + "com_google_protobuf": { + "generator_function": "dist_http_archive", + "generator_name": "com_google_protobuf", + "name": "com_google_protobuf", + "patch_args": [ + "-p1" + ], + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "patches": [ + "//third_party/protobuf:3.13.0.patch" + ], + "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a", + "strip_prefix": "protobuf-3.13.0", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz" + ] + }, + "com_google_testparameterinjector": { + "build_file_content": "\njava_library(\n name = \"testparameterinjector\",\n testonly = True,\n srcs = glob([\"src/main/**/*.java\"]),\n deps = [\n \"@org_snakeyaml//:snakeyaml\",\n \"@//third_party:auto_value\",\n \"@//third_party:guava\",\n \"@//third_party:junit4\",\n \"@//third_party/protobuf:protobuf_java\",\n ],\n visibility = [\"//visibility:public\"],\n)\n", + "name": "com_google_testparameterinjector", + "sha256": "562a0e87eb413a7dcad29ebc8d578f6f97503473943585b051c1398a58189b06", + "strip_prefix": "TestParameterInjector-1.0", + "urls": [ + "https://mirror.bazel.build/github.com/google/TestParameterInjector/archive/v1.0.tar.gz", + "https://github.com/google/TestParameterInjector/archive/v1.0.tar.gz" + ] + }, + "com_googlesource_code_re2": { + "generator_function": "grpc_deps", + "generator_name": "com_googlesource_code_re2", + "name": "com_googlesource_code_re2", + "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e", + "strip_prefix": "re2-aecba11114cf1fac5497aeb844b6966106de3eb6", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz" + ] + }, + "coverage_output_generator-v2.5.zip": { + "name": "coverage_output_generator-v2.5.zip", + "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip" + ] + }, + "cython": { + "build_file": "@com_github_grpc_grpc//third_party:cython.BUILD", + "generator_function": "grpc_deps", + "generator_name": "cython", + "name": "cython", + "sha256": "e2e38e1f0572ca54d6085df3dec8b607d20e81515fb80215aed19c81e8fe2079", + "strip_prefix": "cython-0.29.21", + "urls": [ + "https://github.com/cython/cython/archive/0.29.21.tar.gz" + ] + }, + "desugar_jdk_libs": { + "generator_function": "dist_http_archive", + "generator_name": "desugar_jdk_libs", + "name": "desugar_jdk_libs", + "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb", + "strip_prefix": "desugar_jdk_libs-5847d6a06302136d95a14b4cbd4b55a9c9f1436e", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip" + ] + }, + "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz": { + "name": "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a", + "urls": [ + "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz", + "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz" + ] + }, + "enum34": { + "build_file": "@com_github_grpc_grpc//third_party:enum34.BUILD", + "generator_function": "grpc_deps", + "generator_name": "enum34", + "name": "enum34", + "sha256": "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1", + "strip_prefix": "enum34-1.1.6", + "urls": [ + "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz" + ] + }, + "envoy_api": { + "generator_function": "grpc_deps", + "generator_name": "envoy_api", + "name": "envoy_api", + "sha256": "330f2f9c938fc038b7ab438919b692d30cdfba3cf596e7824410f88da16c30b5", + "strip_prefix": "data-plane-api-2f0d081fab0b0823f088c6e368f40e1992f46fcd", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/2f0d081fab0b0823f088c6e368f40e1992f46fcd.tar.gz", + "https://github.com/envoyproxy/data-plane-api/archive/2f0d081fab0b0823f088c6e368f40e1992f46fcd.tar.gz" + ] + }, + "futures": { + "build_file": "@com_github_grpc_grpc//third_party:futures.BUILD", + "generator_function": "grpc_deps", + "generator_name": "futures", + "name": "futures", + "sha256": "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794", + "strip_prefix": "futures-3.3.0", + "urls": [ + "https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz" + ] + }, + "io_bazel_rules_go": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_go", + "name": "io_bazel_rules_go", + "sha256": "dbf5a9ef855684f84cac2e7ae7886c5a001d4f66ae23f6904da0faaaef0d61fc", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.24.11/rules_go-v0.24.11.tar.gz", + "https://github.com/bazelbuild/rules_go/releases/download/v0.24.11/rules_go-v0.24.11.tar.gz" + ] + }, + "io_bazel_rules_python": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_python", + "name": "io_bazel_rules_python", + "sha256": "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161", + "url": "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz" + }, + "io_bazel_rules_sass": { + "generator_function": "dist_http_archive", + "generator_name": "io_bazel_rules_sass", + "name": "io_bazel_rules_sass", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "strip_prefix": "rules_sass-1.25.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "io_bazel_skydoc": { + "generator_function": "dist_http_archive", + "generator_name": "io_bazel_skydoc", + "name": "io_bazel_skydoc", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "io_opencensus_cpp": { + "generator_function": "grpc_deps", + "generator_name": "io_opencensus_cpp", + "name": "io_opencensus_cpp", + "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1", + "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz", + "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz" + ] + }, + "java_tools-v11.7.1.zip": { + "name": "java_tools-v11.7.1.zip", + "sha256": "2eede49b2d80135e0ea22180f63df26db2ed4b795c1c041b25cc653d6019fbec", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools-v11.7.1.zip" + ] + }, + "java_tools_darwin-v11.7.1.zip": { + "name": "java_tools_darwin-v11.7.1.zip", + "sha256": "4d6d388b54ad3b9aa35b30dd67af8d71c4c240df8cfb5000bbec67bdd5c53a73", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_darwin-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_darwin-v11.7.1.zip" + ] + }, + "java_tools_langtools_javac11": { + "name": "java_tools_langtools_javac11", + "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip" + ] + }, + "java_tools_linux-v11.7.1.zip": { + "name": "java_tools_linux-v11.7.1.zip", + "sha256": "f78077f0c043d0d13c82de0ee4a99753e66bb18ec46e3601fa2a10e7f26798a8", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_linux-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_linux-v11.7.1.zip" + ] + }, + "java_tools_windows-v11.7.1.zip": { + "name": "java_tools_windows-v11.7.1.zip", + "sha256": "a7086734866505292ee4c206328c73c6af127e69bd51b98c9c186ae4b9b6d2db", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_windows-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_windows-v11.7.1.zip" + ] + }, + "jekyll_tree_0_17_1": { + "name": "jekyll_tree_0_17_1", + "sha256": "02256ddd20eeaf70cf8fcfe9b2cdddd7be87aedd5848d549474fb0358e0031d3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.1.tar" + ] + }, + "jekyll_tree_0_17_2": { + "name": "jekyll_tree_0_17_2", + "sha256": "13b35dd309a0d52f0a2518a1193f42729c75255f5fae40cea68e4d4224bfaa2e", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.2.tar" + ] + }, + "jekyll_tree_0_18_1": { + "name": "jekyll_tree_0_18_1", + "sha256": "98b77f48e37a50fc6f83100bf53f661e10732bb3ddbc226e02d0225cb7a9a7d8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.18.1.tar" + ] + }, + "jekyll_tree_0_19_1": { + "name": "jekyll_tree_0_19_1", + "sha256": "ec892c59ba18bb8de1f9ae2bde937db144e45f28d6d1c32a2cee847ee81b134d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.1.tar" + ] + }, + "jekyll_tree_0_19_2": { + "name": "jekyll_tree_0_19_2", + "sha256": "3c2d9f21ec2fd1c0b8a310f6eb6043027c838810cdfc2457d4346a0e5cdcaa7a", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.2.tar" + ] + }, + "jekyll_tree_0_20_0": { + "name": "jekyll_tree_0_20_0", + "sha256": "bb79a63810bf1b0aa1f89bd3bbbeb4a547a30ab9af70c9be656cc6866f4b015b", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.20.0.tar" + ] + }, + "jekyll_tree_0_21_0": { + "name": "jekyll_tree_0_21_0", + "sha256": "23ec39c0138d358c544151e5c81586716d5d1c6124f10a742bead70516e6eb93", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.21.0.tar" + ] + }, + "jekyll_tree_0_22_0": { + "name": "jekyll_tree_0_22_0", + "sha256": "bec5cfaa5560e082e41e33bde276cf93f0f7bcfd2914a3e868f921df8b3ab725", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.22.0.tar" + ] + }, + "jekyll_tree_0_23_0": { + "name": "jekyll_tree_0_23_0", + "sha256": "56c80fcf49dc606fab8ed5e737a7409e9a486585b7b98673be69b5a4984dd774", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.23.0.tar" + ] + }, + "jekyll_tree_0_24_0": { + "name": "jekyll_tree_0_24_0", + "sha256": "988fa567906a73e50d3669909285187ef88c76ecd4aa277f4d1f355fc06a90c8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.24.0.tar" + ] + }, + "jekyll_tree_0_25_0": { + "name": "jekyll_tree_0_25_0", + "sha256": "e8ab61c047225e808982a564ecd692fd63bd243dccc88a8768ed069a5362a685", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.25.0.tar" + ] + }, + "jekyll_tree_0_26_0": { + "name": "jekyll_tree_0_26_0", + "sha256": "3907dfc6fb27d246e67877e553e8951fac239bb49f2dec7e06b6b09cb0b98b8d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.26.0.tar" + ] + }, + "jekyll_tree_0_27_0": { + "name": "jekyll_tree_0_27_0", + "sha256": "97e2633fefee389daade775da43907aa68699b32212f4e48cb095abe18aa7e65", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.27.0.tar" + ] + }, + "jekyll_tree_0_28_0": { + "name": "jekyll_tree_0_28_0", + "sha256": "64b3fc267fb1f4c56345d96f0ad9f07a2efe43bd15361f818368849cf941b3b7", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.28.0.tar" + ] + }, + "jekyll_tree_0_29_0": { + "name": "jekyll_tree_0_29_0", + "sha256": "99d7a6bf9ef0145c59c54b4319fb31cb855681782080a5490909c4a5463c7215", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.0.tar" + ] + }, + "jekyll_tree_0_29_1": { + "name": "jekyll_tree_0_29_1", + "sha256": "cf0a517f1660a7c4fd26a7ef6f3594bbefcf2b670bc0ed610bf3bb6ec3a9fdc3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.1.tar" + ] + }, + "jekyll_tree_1_0_0": { + "name": "jekyll_tree_1_0_0", + "sha256": "61ef65c738a8cd65059f58f2ee5f7eef493136ac4d5e5c3464787d17043febdf", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.0.0.tar" + ] + }, + "jekyll_tree_1_1_0": { + "name": "jekyll_tree_1_1_0", + "sha256": "46d82c9249896903ee6be2295fc52a1346a9ee82f61f89b8a2181232c3bd999b", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.1.0.tar" + ] + }, + "jekyll_tree_1_2_0": { + "name": "jekyll_tree_1_2_0", + "sha256": "d402a8391ca2624673f124ff42ba8d0d40d4139e5d23111f3995dc6c5f70f63d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.2.0.tar" + ] + }, + "jekyll_tree_2_0_0": { + "name": "jekyll_tree_2_0_0", + "sha256": "7d7c424ede503856c61b645d8fdc2513ec6ea8600d76c5e87c45a9a45c16de3e", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.0.0.tar" + ] + }, + "jekyll_tree_2_1_0": { + "name": "jekyll_tree_2_1_0", + "sha256": "b0fd257b1d6b1b05705742d55a13b9a20d3e99f49c89334750c872d620e5b88f", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.1.0.tar" + ] + }, + "jekyll_tree_2_2_0": { + "name": "jekyll_tree_2_2_0", + "sha256": "4c1506786ab98df8039ec7354b82da7b586b2ae4ab7f7e7d08f3caf74ff28e3d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.2.0.tar" + ] + }, + "jekyll_tree_3_0_0": { + "name": "jekyll_tree_3_0_0", + "sha256": "bd1096ad609c253fa7b1473edf4a3aa51f36243e188dbb62c68d8ed4aca2419d", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.0.0.tar" + ] + }, + "jekyll_tree_3_1_0": { + "name": "jekyll_tree_3_1_0", + "sha256": "f9d2e22e24af426d6c9de163d91abe6d8af7eb1eabb1d7ff5e9cf4bededf465a", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.1.0-807b377.tar" + ] + }, + "jekyll_tree_3_2_0": { + "name": "jekyll_tree_3_2_0", + "sha256": "6cff8654e739a0c3062183a5a6cc82fcf9a77323051f8c007866d7f4101052a6", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.2.0.tar" + ] + }, + "jekyll_tree_3_3_0": { + "name": "jekyll_tree_3_3_0", + "sha256": "36b81e8ddf4f3caccf41acc82d9e49f000c1be9e92c9cc82793d60ff70636176", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.3.0.tar" + ] + }, + "jekyll_tree_3_4_0": { + "name": "jekyll_tree_3_4_0", + "sha256": "af82e775d911135bcff76e500bb003c4a9fccb949f8ddf4d93c58eca195bf5e8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.4.0.tar" + ] + }, + "jekyll_tree_3_5_0": { + "name": "jekyll_tree_3_5_0", + "sha256": "aa96cbad14cfab0b422d1d17eac3107a75eb05854d40ab4f1379a6fc87b2e1f8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.0.tar" + ] + }, + "jekyll_tree_3_5_1": { + "name": "jekyll_tree_3_5_1", + "sha256": "1c949ba8da353c93c74a70638e5cb321ea1cd5582eda1b6ad88c6d2d0b569f2f", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.1.tar" + ] + }, + "jekyll_tree_3_6_0": { + "name": "jekyll_tree_3_6_0", + "sha256": "1b7a16a2098ca0c290c208a11db886e950d6c523b2cac2d0a0cba4a04aa832f3", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.6.0.tar" + ] + }, + "jekyll_tree_3_7_0": { + "name": "jekyll_tree_3_7_0", + "sha256": "a534d37ef3867c92fae8692852f92820a34f63a5f9092bbbec6505c0f69d8094", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.7.0.tar" + ] + }, + "jekyll_tree_4_0_0": { + "name": "jekyll_tree_4_0_0", + "sha256": "9d8e350a17b85624d8d78291d440e05f6ba8af493c1ccb846d0493579dade1b6", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.0.0.tar" + ] + }, + "jekyll_tree_4_1_0": { + "name": "jekyll_tree_4_1_0", + "sha256": "9ed45a322906029d161f5514371841fbec214c63b9517fccb225c8670ebb482a", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.1.0.tar" + ] + }, + "jekyll_tree_4_2_0": { + "name": "jekyll_tree_4_2_0", + "sha256": "1188fc6c3354f85741bacbb2bc7dab6bbfd1d2f44475846293ff232fb01709b8", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.2.0.tar" + ] + }, + "jekyll_tree_4_2_1": { + "name": "jekyll_tree_4_2_1", + "sha256": "b767b7aa949f96b602257587add3be38acbead03bf919fe871397bc80d97f8b2", + "urls": [ + "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.2.1.tar" + ] + }, + "microsoft-jdk-11.0.13.8.1-windows-aarch64.zip": { + "name": "microsoft-jdk-11.0.13.8.1-windows-aarch64.zip", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "opencensus_proto": { + "generator_function": "grpc_deps", + "generator_name": "opencensus_proto", + "name": "opencensus_proto", + "sha256": "b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0", + "strip_prefix": "opencensus-proto-0.3.0/src", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz", + "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz" + ] + }, + "openjdk11_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_darwin_aarch64_archive", + "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" + ] + }, + "openjdk11_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_darwin_archive", + "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" + ] + }, + "openjdk11_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_linux_archive", + "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" + ] + }, + "openjdk11_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_windows_archive", + "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" + ] + }, + "openjdk11_windows_arm64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk11_windows_arm64_archive", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "openjdk15_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_darwin_aarch64_archive", + "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5", + "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz" + ] + }, + "openjdk15_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_darwin_archive", + "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz" + ] + }, + "openjdk15_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_linux_archive", + "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz" + ] + }, + "openjdk15_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk15_windows_archive", + "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip" + ] + }, + "openjdk16_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk16_darwin_aarch64_archive", + "sha256": "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz" + ] + }, + "openjdk16_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk16_darwin_archive", + "sha256": "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz" + ] + }, + "openjdk16_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk16_linux_archive", + "sha256": "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz" + ] + }, + "openjdk16_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk16_windows_archive", + "sha256": "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip" + ] + }, + "openjdk17_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk17_darwin_aarch64_archive", + "sha256": "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz" + ] + }, + "openjdk17_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk17_darwin_archive", + "sha256": "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz" + ] + }, + "openjdk17_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk17_linux_archive", + "sha256": "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz" + ] + }, + "openjdk17_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "name": "openjdk17_windows_archive", + "sha256": "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip" + ] + }, + "openjdk17_windows_arm64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_windows_arm64_archive", + "name": "openjdk17_windows_arm64_archive", + "sha256": "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + "strip_prefix": "zulu17.30.15-ca-jdk17.0.1-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip" + ] + }, + "openjdk_linux": { + "downloaded_file_path": "zulu-linux.tar.gz", + "name": "openjdk_linux", + "sha256": "65bfe4e0ffa74a680ee4410db46b17e30cd9397b664a92a886599fe1f3530969", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-linux_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689070.tar.gz" + ] + }, + "openjdk_linux_aarch64": { + "downloaded_file_path": "zulu-linux-aarch64.tar.gz", + "name": "openjdk_linux_aarch64", + "sha256": "6b245793087300db3ee82ab0d165614f193a73a60f2f011e347756c1e6ca5bac", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_minimal": { + "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz", + "name": "openjdk_linux_aarch64_minimal", + "sha256": "06f6520a877704c77614bcfc4f846cc7cbcbf5eaad149bf7f19f4f16e285c9de", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_vanilla": { + "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz", + "name": "openjdk_linux_aarch64_vanilla", + "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz" + ] + }, + "openjdk_linux_minimal": { + "downloaded_file_path": "zulu-linux-minimal.tar.gz", + "name": "openjdk_linux_minimal", + "sha256": "91f7d52f695c681d4e21499b4319d548aadef249a6b3053e306308992e1e29ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689068.tar.gz" + ] + }, + "openjdk_linux_ppc64le_vanilla": { + "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz", + "name": "openjdk_linux_ppc64le_vanilla", + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "openjdk_linux_s390x_vanilla": { + "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz", + "name": "openjdk_linux_s390x_vanilla", + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "openjdk_linux_vanilla": { + "downloaded_file_path": "zulu-linux-vanilla.tar.gz", + "name": "openjdk_linux_vanilla", + "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz" + ] + }, + "openjdk_macos_aarch64": { + "downloaded_file_path": "zulu-macos-aarch64.tar.gz", + "name": "openjdk_macos_aarch64", + "sha256": "a900ef793cb34b03ac5d93ea2f67291b6842e99d500934e19393a8d8f9bfa6ff", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-allmodules-1611665569.tar.gz" + ] + }, + "openjdk_macos_aarch64_minimal": { + "downloaded_file_path": "zulu-macos-aarch64-minimal.tar.gz", + "name": "openjdk_macos_aarch64_minimal", + "sha256": "f4f606926e6deeaa8b8397e299313d9df87642fe464b0ccf1ed0432aeb00640b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-minimal-1611665562.tar.gz" + ] + }, + "openjdk_macos_aarch64_vanilla": { + "downloaded_file_path": "zulu-macos-aarch64-vanilla.tar.gz", + "name": "openjdk_macos_aarch64_vanilla", + "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz" + ] + }, + "openjdk_macos_x86_64": { + "downloaded_file_path": "zulu-macos.tar.gz", + "name": "openjdk_macos_x86_64", + "sha256": "8e283cfd23c7555be8e17295ed76eb8f00324c88ab904b8de37bbe08f90e569b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689066.tar.gz" + ] + }, + "openjdk_macos_x86_64_minimal": { + "downloaded_file_path": "zulu-macos-minimal.tar.gz", + "name": "openjdk_macos_x86_64_minimal", + "sha256": "1bacb1c07035d4066d79f0b65b4ea0ebd1954f3662bdfe3618da382ac8fd23a6", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689063.tar.gz" + ] + }, + "openjdk_macos_x86_64_vanilla": { + "downloaded_file_path": "zulu-macos-vanilla.tar.gz", + "name": "openjdk_macos_x86_64_vanilla", + "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz" + ] + }, + "openjdk_win": { + "downloaded_file_path": "zulu-win.zip", + "name": "openjdk_win", + "sha256": "8e1604b3a27dcf639bc6d1a73103f1211848139e4cceb081d0a74a99e1e6f995", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_arm64_vanilla": { + "downloaded_file_path": "zulu-win-arm64.zip", + "name": "openjdk_win_arm64_vanilla", + "sha256": "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip" + ] + }, + "openjdk_win_minimal": { + "downloaded_file_path": "zulu-win-minimal.zip", + "name": "openjdk_win_minimal", + "sha256": "b90a713c9c2d9ea23cad44d2c2dfcc9af22faba9bde55dedc1c3bb9f556ac1ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_vanilla": { + "downloaded_file_path": "zulu-win-vanilla.zip", + "name": "openjdk_win_vanilla", + "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip" + ] + }, + "org_snakeyaml": { + "build_file_content": "\njava_library(\n name = \"snakeyaml\",\n testonly = True,\n srcs = glob([\"src/main/**/*.java\"]),\n visibility = [\"@com_google_testparameterinjector//:__pkg__\"],\n)\n", + "name": "org_snakeyaml", + "sha256": "fd0e0cc6c5974fc8f08be3a15fb4a59954c7dd958b5b68186a803de6420b6e40", + "strip_prefix": "asomov-snakeyaml-b28f0b4d87c6", + "urls": [ + "https://mirror.bazel.build/bitbucket.org/asomov/snakeyaml/get/snakeyaml-1.28.tar.gz" + ] + }, + "platforms": { + "generator_function": "dist_http_archive", + "generator_name": "platforms", + "name": "platforms", + "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz" + ] + }, + "platforms-0.0.5.tar.gz": { + "name": "platforms-0.0.5.tar.gz", + "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz" + ] + }, + "remote_coverage_tools": { + "name": "remote_coverage_tools", + "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip" + ] + }, + "remote_java_tools": { + "generator_function": "maybe", + "generator_name": "remote_java_tools", + "name": "remote_java_tools", + "sha256": "2eede49b2d80135e0ea22180f63df26db2ed4b795c1c041b25cc653d6019fbec", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools-v11.7.1.zip" + ] + }, + "remote_java_tools_darwin": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_darwin", + "name": "remote_java_tools_darwin", + "sha256": "4d6d388b54ad3b9aa35b30dd67af8d71c4c240df8cfb5000bbec67bdd5c53a73", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_darwin-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_darwin-v11.7.1.zip" + ] + }, + "remote_java_tools_darwin_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_darwin_for_testing", + "name": "remote_java_tools_darwin_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "4d6d388b54ad3b9aa35b30dd67af8d71c4c240df8cfb5000bbec67bdd5c53a73", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_darwin-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_darwin-v11.7.1.zip" + ] + }, + "remote_java_tools_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_for_testing", + "name": "remote_java_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "2eede49b2d80135e0ea22180f63df26db2ed4b795c1c041b25cc653d6019fbec", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools-v11.7.1.zip" + ] + }, + "remote_java_tools_linux": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_linux", + "name": "remote_java_tools_linux", + "sha256": "f78077f0c043d0d13c82de0ee4a99753e66bb18ec46e3601fa2a10e7f26798a8", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_linux-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_linux-v11.7.1.zip" + ] + }, + "remote_java_tools_linux_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_linux_for_testing", + "name": "remote_java_tools_linux_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f78077f0c043d0d13c82de0ee4a99753e66bb18ec46e3601fa2a10e7f26798a8", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_linux-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_linux-v11.7.1.zip" + ] + }, + "remote_java_tools_test": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test", + "name": "remote_java_tools_test", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "2eede49b2d80135e0ea22180f63df26db2ed4b795c1c041b25cc653d6019fbec", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools-v11.7.1.zip" + ] + }, + "remote_java_tools_test_darwin": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_darwin", + "name": "remote_java_tools_test_darwin", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "4d6d388b54ad3b9aa35b30dd67af8d71c4c240df8cfb5000bbec67bdd5c53a73", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_darwin-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_darwin-v11.7.1.zip" + ] + }, + "remote_java_tools_test_linux": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_linux", + "name": "remote_java_tools_test_linux", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f78077f0c043d0d13c82de0ee4a99753e66bb18ec46e3601fa2a10e7f26798a8", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_linux-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_linux-v11.7.1.zip" + ] + }, + "remote_java_tools_test_windows": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_windows", + "name": "remote_java_tools_test_windows", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a7086734866505292ee4c206328c73c6af127e69bd51b98c9c186ae4b9b6d2db", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_windows-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_windows-v11.7.1.zip" + ] + }, + "remote_java_tools_windows": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_windows", + "name": "remote_java_tools_windows", + "sha256": "a7086734866505292ee4c206328c73c6af127e69bd51b98c9c186ae4b9b6d2db", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_windows-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_windows-v11.7.1.zip" + ] + }, + "remote_java_tools_windows_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_windows_for_testing", + "name": "remote_java_tools_windows_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a7086734866505292ee4c206328c73c6af127e69bd51b98c9c186ae4b9b6d2db", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools_windows-v11.7.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v11.7.1/java_tools_windows-v11.7.1.zip" + ] + }, + "remotejdk11_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux", + "name": "remotejdk11_linux", + "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_aarch64", + "name": "remotejdk11_linux_aarch64", + "sha256": "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_ppc64le", + "name": "remotejdk11_linux_ppc64le", + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_ppc64le_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_s390x", + "name": "remotejdk11_linux_s390x", + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_linux_s390x_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059", + "strip_prefix": "jdk-11.0.7+10", + "urls": [ + "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz" + ] + }, + "remotejdk11_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_macos", + "name": "remotejdk11_macos", + "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" + ] + }, + "remotejdk11_macos_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_macos_aarch64", + "name": "remotejdk11_macos_aarch64", + "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" + ] + }, + "remotejdk11_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" + ] + }, + "remotejdk11_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" + ] + }, + "remotejdk11_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_win", + "name": "remotejdk11_win", + "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" + ] + }, + "remotejdk11_win_arm64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk11_win_arm64", + "name": "remotejdk11_win_arm64", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "remotejdk11_win_arm64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_win_arm64_for_testing", + "name": "remotejdk11_win_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "remotejdk11_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk11_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015", + "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-win_x64", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" + ] + }, + "remotejdk15_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk15_linux", + "name": "remotejdk15_linux", + "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk15_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk15_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk15_macos", + "name": "remotejdk15_macos", + "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk15_macos_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk15_macos_aarch64", + "name": "remotejdk15_macos_aarch64", + "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5", + "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz" + ] + }, + "remotejdk15_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5", + "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz" + ] + }, + "remotejdk15_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk15_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk15_win", + "name": "remotejdk15_win", + "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip" + ] + }, + "remotejdk15_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk15_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6", + "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip" + ] + }, + "remotejdk16_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk16_linux", + "name": "remotejdk16_linux", + "sha256": "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk16_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk16_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk16_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk16_macos", + "name": "remotejdk16_macos", + "sha256": "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk16_macos_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk16_macos_aarch64", + "name": "remotejdk16_macos_aarch64", + "sha256": "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk16_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk16_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk16_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk16_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk16_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk16_win", + "name": "remotejdk16_win", + "sha256": "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip" + ] + }, + "remotejdk16_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk16_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4", + "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip" + ] + }, + "remotejdk17_linux": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk17_linux", + "name": "remotejdk17_linux", + "sha256": "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk17_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk17_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk17_macos": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk17_macos", + "name": "remotejdk17_macos", + "sha256": "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk17_macos_aarch64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk17_macos_aarch64", + "name": "remotejdk17_macos_aarch64", + "sha256": "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk17_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk17_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk17_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk17_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk17_win": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk17_win", + "name": "remotejdk17_win", + "sha256": "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip" + ] + }, + "remotejdk17_win_arm64": { + "build_file": "@bazel_tools//tools/jdk:jdk.BUILD", + "generator_function": "maybe", + "generator_name": "remotejdk17_win_arm64", + "name": "remotejdk17_win_arm64", + "sha256": "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + "strip_prefix": "zulu17.30.15-ca-jdk17.0.1-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip" + ] + }, + "remotejdk17_win_arm64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_win_arm64_for_testing", + "name": "remotejdk17_win_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + "strip_prefix": "zulu17.30.15-ca-jdk17.0.1-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip" + ] + }, + "remotejdk17_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "name": "remotejdk17_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3", + "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip" + ] + }, + "rules_cc": { + "name": "rules_cc", + "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd", + "strip_prefix": "rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip", + "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip" + ] + }, + "rules_java": { + "generator_function": "dist_http_archive", + "generator_name": "rules_java", + "name": "rules_java", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "rules_nodejs-2.2.2.tar.gz": { + "name": "rules_nodejs-2.2.2.tar.gz", + "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz" + ] + }, + "rules_pkg": { + "generator_function": "dist_http_archive", + "generator_name": "rules_pkg", + "name": "rules_pkg", + "sha256": "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz" + ] + }, + "rules_pkg-0.4.0.tar.gz": { + "name": "rules_pkg-0.4.0.tar.gz", + "sha256": "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz" + ] + }, + "rules_proto": { + "generator_function": "dist_http_archive", + "generator_name": "rules_proto", + "name": "rules_proto", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "strip_prefix": "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "six": { + "build_file": "@com_github_grpc_grpc//third_party:six.BUILD", + "generator_function": "grpc_deps", + "generator_name": "six", + "name": "six", + "sha256": "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "urls": [ + "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz" + ] + }, + "upb": { + "generator_function": "grpc_deps", + "generator_name": "upb", + "name": "upb", + "sha256": "6a5f67874af66b239b709c572ac1a5a00fdb1b29beaf13c3e6f79b1ba10dc7c4", + "strip_prefix": "upb-2de300726a1ba2de9a468468dc5ff9ed17a3215f", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz", + "https://github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz" + ] + }, + "v1.41.0.tar.gz": { + "name": "v1.41.0.tar.gz", + "sha256": "e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.41.0.tar.gz", + "https://github.com/grpc/grpc/archive/v1.41.0.tar.gz" + ] + }, + "v1.5.0-4.zip": { + "name": "v1.5.0-4.zip", + "sha256": "d320d59b89a163c5efccbe4915ae6a49883ce653cdc670643dfa21c6063108e4", + "urls": [ + "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/v1.5.0-4.zip", + "https://github.com/luben/zstd-jni/archive/v1.5.0-4.zip" + ] + }, + "v3.13.0.tar.gz": { + "name": "v3.13.0.tar.gz", + "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz" + ] + }, + "zlib": { + "build_file": "@com_github_grpc_grpc//third_party:zlib.BUILD", + "generator_function": "grpc_deps", + "generator_name": "zlib", + "name": "zlib", + "sha256": "6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45", + "strip_prefix": "zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz", + "https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz" + ] + }, + "zstd-jni": { + "build_file": "//third_party:zstd-jni/zstd-jni.BUILD", + "generator_function": "dist_http_archive", + "generator_name": "zstd-jni", + "name": "zstd-jni", + "patch_args": [ + "-p1" + ], + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "patches": [ + "//third_party:zstd-jni/Native.java.patch" + ], + "sha256": "d320d59b89a163c5efccbe4915ae6a49883ce653cdc670643dfa21c6063108e4", + "strip_prefix": "zstd-jni-1.5.0-4", + "urls": [ + "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/v1.5.0-4.zip", + "https://github.com/luben/zstd-jni/archive/v1.5.0-4.zip" + ] + }, + "zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz": { + "name": "zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz", + "sha256": "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz" + ] + }, + "zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz": { + "name": "zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz", + "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz" + ] + }, + "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz": { + "name": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz", + "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz" + ] + }, + "zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz": { + "name": "zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz", + "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz" + ] + }, + "zulu11.50.19-ca-jdk11.0.12-win_x64.tar.gz": { + "name": "zulu11.50.19-ca-jdk11.0.12-win_x64.tar.gz", + "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip" + ] + }, + "zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip": { + "name": "zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "sha256": "811d7e7591bac4f081dfb00ba6bd15b6fc5969e1f89f0f327ef75147027c3877", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.30.15-ca-jdk17.0.1-win_aarch64.zip" + ] + } +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py new file mode 100755 index 000000000000..d409a32e1389 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +import sys +import json + +if len(sys.argv) != 2: + print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr) + print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr) + print("Hail Eris.", file=sys.stderr) + sys.exit(1) + +http_archives = [] + +# just the kw args are the dict { name, sha256, urls … } +def http_archive(**kw): + http_archives.append(kw) +# like http_file +def http_file(**kw): + http_archives.append(kw) + +# this is inverted from http_archive/http_file and bundles multiple archives +def _distdir_tar(**kw): + for archive_name in kw['archives']: + http_archives.append({ + "name": archive_name, + "sha256": kw['sha256'][archive_name], + "urls": kw['urls'][archive_name] + }) + +# TODO? +def git_repository(**kw): + print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +# execute the WORKSPACE like it was python code in this module, +# using all the function stubs from above. +exec(sys.stdin.read()) + +# transform to a dict with the names as keys +d = { el['name']: el for el in http_archives } + +def has_urls(el): + return ('url' in el and el['url']) or ('urls' in el and el['urls']) +def has_sha256(el): + return 'sha256' in el and el['sha256'] +bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values())) +if bad_archives: + print('Following bazel dependencies are missing url or sha256', file=sys.stderr) + print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr) + for el in bad_archives: + print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +with open(sys.argv[1], "w") as f: + print(json.dumps(d, sort_keys=True, indent=4), file=f) diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/actions_path.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/actions_path.patch new file mode 100644 index 000000000000..1fa1e5748333 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/actions_path.patch @@ -0,0 +1,41 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +index 6fff2af..7e2877e 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java +@@ -47,6 +47,16 @@ public final class PosixLocalEnvProvider implements LocalEnvProvider { + Map<String, String> env, BinTools binTools, String fallbackTmpDir) { + ImmutableMap.Builder<String, String> result = ImmutableMap.builder(); + result.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ result.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR +index 95642767c6..39d3c62461 100644 +--- a/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java +@@ -74,6 +74,16 @@ public final class XcodeLocalEnvProvider implements LocalEnvProvider { + + ImmutableMap.Builder<String, String> newEnvBuilder = ImmutableMap.builder(); + newEnvBuilder.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR"))); ++ ++ // In case we are running on NixOS. ++ // If bash is called with an unset PATH on this platform, ++ // it will set it to /no-such-path and default tools will be missings. ++ // See, https://github.com/NixOS/nixpkgs/issues/94222 ++ // So we ensure that minimal dependencies are present. ++ if (!env.containsKey("PATH")){ ++ newEnvBuilder.put("PATH", "@actionsPathPatch@"); ++ } ++ + String p = clientEnv.get("TMPDIR"); + if (Strings.isNullOrEmpty(p)) { + // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix new file mode 100644 index 000000000000..fca02e80ee50 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix @@ -0,0 +1,672 @@ +{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles +, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs +# this package (through the fixpoint glass) +, bazel_self +, lr, xe, zip, unzip, bash, writeCBin, coreutils +, which, gawk, gnused, gnutar, gnugrep, gzip, findutils +# updater +, python3, writeScript +# Apple dependencies +, cctools, libcxx, CoreFoundation, CoreServices, Foundation +# Allow to independently override the jdks used to build and run respectively +, buildJdk, runJdk +, runtimeShell +# Downstream packages for tests +, bazel-watcher +# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic). +# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers). +, enableNixHacks ? false +, gcc-unwrapped +, autoPatchelfHook +, file +, substituteAll +, writeTextFile +}: + +let + version = "6.3.2"; + sourceRoot = "."; + + src = fetchurl { + url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; + hash = "sha256-jNf+rFgZO+K8ukUbpmiKRoJNN8pjWf9Y4NROuY8EKUg="; + }; + + # Update with + # 1. export BAZEL_SELF=$(nix-build -A bazel_6) + # 2. update version and hash for sources above + # 3. `eval $(nix-build -A bazel_6.updater)` + # 4. add new dependencies from the dict in ./src-deps.json if required by failing build + srcDeps = lib.attrsets.attrValues srcDepsSet; + srcDepsSet = + let + srcs = lib.importJSON ./src-deps.json; + toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl { + urls = d.urls or [d.url]; + sha256 = d.sha256; + }); + in builtins.listToAttrs (map toFetchurl [ + srcs.desugar_jdk_libs + srcs.io_bazel_skydoc + srcs.bazel_skylib + srcs.bazelci_rules + srcs.io_bazel_rules_sass + srcs.platforms + srcs.remote_java_tools_for_testing + srcs."coverage_output_generator-v2.6.zip" + srcs.build_bazel_rules_nodejs + srcs.android_tools_for_testing + srcs.openjdk_linux_vanilla + srcs.bazel_toolchains + srcs.com_github_grpc_grpc + srcs.upb + srcs.com_google_protobuf + srcs.rules_pkg + srcs.rules_cc + srcs.rules_java + srcs.rules_proto + srcs.rules_nodejs + srcs.rules_license + srcs.com_google_absl + srcs.com_googlesource_code_re2 + srcs.com_github_cares_cares + srcs.com_envoyproxy_protoc_gen_validate + srcs.com_google_googleapis + srcs.bazel_gazelle + ]); + + distDir = runCommand "bazel-deps" {} '' + mkdir -p $out + for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done + ''; + + defaultShellUtils = + # Keep this list conservative. For more exotic tools, prefer to use + # @rules_nixpkgs to pull in tools from the nix repository. Example: + # + # WORKSPACE: + # + # nixpkgs_git_repository( + # name = "nixpkgs", + # revision = "def5124ec8367efdba95a99523dd06d918cb0ae8", + # ) + # + # # This defines an external Bazel workspace. + # nixpkgs_package( + # name = "bison", + # repositories = { "nixpkgs": "@nixpkgs//:default.nix" }, + # ) + # + # some/BUILD.bazel: + # + # genrule( + # ... + # cmd = "$(location @bison//:bin/bison) -other -args", + # tools = [ + # ... + # "@bison//:bin/bison", + # ], + # ) + [ + bash + coreutils + file + findutils + gawk + gnugrep + gnused + gnutar + gzip + python3 + unzip + which + zip + ]; + + defaultShellPath = lib.makeBinPath defaultShellUtils; + + platforms = lib.platforms.linux ++ lib.platforms.darwin; + + system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux"; + + # on aarch64 Darwin, `uname -m` returns "arm64" + arch = with stdenv.hostPlatform; if isDarwin && isAarch64 then "arm64" else parsed.cpu.name; + + bazelRC = writeTextFile { + name = "bazel-rc"; + text = '' + startup --server_javabase=${runJdk} + + # Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054 + # Most commands inherit from 'build' anyway. + build --distdir=${distDir} + fetch --distdir=${distDir} + query --distdir=${distDir} + + build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition + build --tool_java_runtime_version=local_jdk_11 + build --java_runtime_version=local_jdk_11 + + # load default location for the system wide configuration + try-import /etc/bazel.bazelrc + ''; + }; + +in +stdenv.mkDerivation rec { + pname = "bazel"; + inherit version; + + meta = with lib; { + homepage = "https://github.com/bazelbuild/bazel/"; + description = "Build tool that builds code quickly and reliably"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # source bundles dependencies as jars + ]; + license = licenses.asl20; + maintainers = lib.teams.bazel.members; + inherit platforms; + }; + + inherit src; + inherit sourceRoot; + patches = [ + # Force usage of the _non_ prebuilt java toolchain. + # the prebuilt one does not work in nix world. + ./java_toolchain.patch + + # On Darwin, the last argument to gcc is coming up as an empty string. i.e: '' + # This is breaking the build of any C target. This patch removes the last + # argument if it's found to be an empty string. + ../trim-last-argument-to-gcc-if-empty.patch + + # `java_proto_library` ignores `strict_proto_deps` + # https://github.com/bazelbuild/bazel/pull/16146 + ./strict_proto_deps.patch + + # On Darwin, using clang 6 to build fails because of a linker error (see #105573), + # but using clang 7 fails because libarclite_macosx.a cannot be found when linking + # the xcode_locator tool. + # This patch removes using the -fobjc-arc compiler option and makes the code + # compile without automatic reference counting. Caveat: this leaks memory, but + # we accept this fact because xcode_locator is only a short-lived process used during the build. + (substituteAll { + src = ./no-arc.patch; + multiBinPatch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "x86_64"; + }) + + # --experimental_strict_action_env (which may one day become the default + # see bazelbuild/bazel#2574) hardcodes the default + # action environment to a non hermetic value (e.g. "/usr/local/bin"). + # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries. + # So we are replacing this bazel paths by defaultShellPath, + # improving hermeticity and making it work in nixos. + (substituteAll { + src = ../strict_action_env.patch; + strictActionEnvPatch = defaultShellPath; + }) + + (substituteAll { + src = ./actions_path.patch; + actionsPathPatch = defaultShellPath; + }) + + # bazel reads its system bazelrc in /etc + # override this path to a builtin one + (substituteAll { + src = ../bazel_rc.patch; + bazelSystemBazelRCPath = bazelRC; + }) + ] ++ lib.optional enableNixHacks ./nix-hacks.patch; + + + # Additional tests that check bazel’s functionality. Execute + # + # nix-build . -A bazel_6.tests + # + # in the nixpkgs checkout root to exercise them locally. + passthru.tests = + let + runLocal = name: attrs: script: + let + attrs' = removeAttrs attrs [ "buildInputs" ]; + buildInputs = attrs.buildInputs or []; + in + runCommandCC name ({ + inherit buildInputs; + preferLocalBuild = true; + meta.platforms = platforms; + } // attrs') script; + + # bazel wants to extract itself into $install_dir/install every time it runs, + # so let’s do that only once. + extracted = bazelPkg: + let install_dir = + # `install_base` field printed by `bazel info`, minus the hash. + # yes, this path is kinda magic. Sorry. + "$HOME/.cache/bazel/_bazel_nixbld"; + in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } '' + export HOME=$(mktemp -d) + touch WORKSPACE # yeah, everything sucks + install_base="$(${bazelPkg}/bin/bazel info | grep install_base)" + # assert it’s actually below install_dir + [[ "$install_base" =~ ${install_dir} ]] \ + || (echo "oh no! $install_base but we are \ + trying to copy ${install_dir} to $out instead!"; exit 1) + cp -R ${install_dir} $out + ''; + + bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }: + let + be = extracted bazelPkg; + in runLocal name { inherit buildInputs; } ( + # skip extraction caching on Darwin, because nobody knows how Darwin works + (lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # set up home with pre-unpacked bazel + export HOME=$(mktemp -d) + mkdir -p ${be.install_dir} + cp -R ${be}/install ${be.install_dir} + + # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6 + # Bazel checks whether the mtime of the install dir files + # is >9 years in the future, otherwise it extracts itself again. + # see PosixFileMTime::IsUntampered in src/main/cpp/util + # What the hell bazel. + ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {} + '') + + + '' + # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609 + # about why to create a subdir for the workspace. + cp -r ${workspaceDir} wd && chmod u+w wd && cd wd + + ${bazelScript} + + touch $out + ''); + + bazelWithNixHacks = bazel_self.override { enableNixHacks = true; }; + + bazel-examples = fetchFromGitHub { + owner = "bazelbuild"; + repo = "examples"; + rev = "4183fc709c26a00366665e2d60d70521dc0b405d"; + sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k"; + }; + + in (lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + # `extracted` doesn’t work on darwin + shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; bazel = bazel_self;}; + }) // { + bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;}; + cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;}; + java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;}; + protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; }; + pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;}; + + bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; }; + protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; }; + + # downstream packages using buildBazelPackage + # fixed-output hashes of the fetch phase need to be spot-checked manually + downstream = recurseIntoAttrs ({ + inherit bazel-watcher; + }); + }; + + src_for_updater = stdenv.mkDerivation rec { + name = "updater-sources"; + inherit src; + nativeBuildInputs = [ unzip ]; + inherit sourceRoot; + installPhase = '' + runHook preInstall + + cp -r . "$out" + + runHook postInstall + ''; + }; + # update the list of workspace dependencies + passthru.updater = writeScript "update-bazel-deps.sh" '' + #!${runtimeShell} + (cd "${src_for_updater}" && + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + "$BAZEL_SELF"/bin/bazel \ + query 'kind(http_archive, //external:*) + kind(http_file, //external:*) + kind(distdir_tar, //external:*) + kind(git_repository, //external:*)' \ + --loading_phase_threads=1 \ + --output build) \ + | "${python3}"/bin/python3 "${./update-srcDeps.py}" \ + "${builtins.toString ./src-deps.json}" + ''; + + # Necessary for the tests to pass on Darwin with sandbox enabled. + # Bazel starts a local server and needs to bind a local address. + __darwinAllowLocalNetworking = true; + + postPatch = let + + darwinPatches = '' + bazelLinkFlags () { + eval set -- "$NIX_LDFLAGS" + local flag + for flag in "$@"; do + printf ' -Wl,%s' "$flag" + done + } + + # Disable Bazel's Xcode toolchain detection which would configure compilers + # and linkers from Xcode instead of from PATH + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails + export GCOV=${coreutils}/bin/false + + # Framework search paths aren't added by bintools hook + # https://github.com/NixOS/nixpkgs/pull/41914 + export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" + + # libcxx includes aren't added by libcxx hook + # https://github.com/NixOS/nixpkgs/pull/41589 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1" + + # don't use system installed Xcode to run clang, use Nix clang instead + sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \ + scripts/bootstrap/compile.sh \ + tools/osx/BUILD + + substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' "" + + # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead + sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc + + # clang installed from Xcode has a compatibility wrapper that forwards + # invocations of gcc to clang, but vanilla clang doesn't + sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + + sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + wrappers=( tools/cpp/osx_cc_wrapper.sh.tpl ) + for wrapper in "''${wrappers[@]}"; do + sed -i -e "s,/usr/bin/gcc,${stdenv.cc}/bin/clang,g" $wrapper + sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + sed -i -e "s,/usr/bin/xcrun install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + done + ''; + + genericPatches = '' + # md5sum is part of coreutils + sed -i 's|/sbin/md5|md5sum|g' \ + src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh + + # replace initial value of pythonShebang variable in BazelPythonSemantics.java + substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \ + --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\"" + + substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \ + --replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\"" + + # substituteInPlace is rather slow, so prefilter the files with grep + grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do + # If you add more replacements here, you must change the grep above! + # Only files containing /bin are taken into account. + substituteInPlace "$path" \ + --replace /bin/bash ${bash}/bin/bash \ + --replace "/usr/bin/env bash" ${bash}/bin/bash \ + --replace "/usr/bin/env python" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env \ + --replace /bin/true ${coreutils}/bin/true + done + + grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do + substituteInPlace "$path" \ + --replace "/usr/bin/env python2" ${python3.interpreter} \ + --replace "/usr/bin/env python3" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env + done + + # bazel test runner include references to /bin/bash + substituteInPlace tools/build_rules/test_rules.bzl \ + --replace /bin/bash ${bash}/bin/bash + + for i in $(find tools/cpp/ -type f) + do + substituteInPlace $i \ + --replace /bin/bash ${bash}/bin/bash + done + + # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. + substituteInPlace scripts/bootstrap/compile.sh \ + --replace /bin/bash ${bash}/bin/bash + + # add nix environment vars to .bazelrc + cat >> .bazelrc <<EOF + # Limit the resources Bazel is allowed to use during the build to 1/2 the + # available RAM and 3/4 the available CPU cores. This should help avoid + # overwhelming the build machine. + build --toolchain_resolution_debug=".*" + build --local_ram_resources=HOST_RAM*.5 + build --local_cpu_resources=HOST_CPUS*.75 + + build --distdir=${distDir} + fetch --distdir=${distDir} + build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')" + build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')" + build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')" + build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')" + build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" + build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')" + build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition + build --verbose_failures + build --curses=no + build --features=-layering_check + build --experimental_strict_java_deps=off + build --strict_proto_deps=off + EOF + + cat >> third_party/grpc/bazel_1.41.0.patch <<EOF + diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD + index 39ee9f97c6..9128d20c85 100644 + --- a/third_party/grpc/BUILD + +++ b/third_party/grpc/BUILD + @@ -28,7 +28,6 @@ licenses(["notice"]) + package( + default_visibility = ["//visibility:public"], + features = [ + - "layering_check", + "-parse_headers", + ], + ) + EOF + + # add the same environment vars to compile.sh + sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \ + -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \ + -e "/\$command \\\\$/a --tool_java_runtime_version=local_jdk_11 \\\\" \ + -e "/\$command \\\\$/a --java_runtime_version=local_jdk_11 \\\\" \ + -e "/\$command \\\\$/a --verbose_failures \\\\" \ + -e "/\$command \\\\$/a --curses=no \\\\" \ + -e "/\$command \\\\$/a --features=-layering_check \\\\" \ + -e "/\$command \\\\$/a --experimental_strict_java_deps=off \\\\" \ + -e "/\$command \\\\$/a --strict_proto_deps=off \\\\" \ + -i scripts/bootstrap/compile.sh + + # This is necessary to avoid: + # "error: no visible @interface for 'NSDictionary' declares the selector + # 'initWithContentsOfURL:error:'" + # This can be removed when the apple_sdk is upgraded beyond 10.13+ + sed -i '/initWithContentsOfURL:versionPlistUrl/ { + N + s/error:nil\];/\];/ + }' tools/osx/xcode_locator.m + + # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash + echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp + cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp + mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash + + patchShebangs . + ''; + in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + + genericPatches; + + buildInputs = [buildJdk] ++ defaultShellUtils; + + # when a command can’t be found in a bazel build, you might also + # need to add it to `defaultShellPath`. + nativeBuildInputs = [ + installShellFiles + makeWrapper + python3 + unzip + which + zip + python3.pkgs.absl-py # Needed to build fish completion + ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ]; + + # Bazel makes extensive use of symlinks in the WORKSPACE. + # This causes problems with infinite symlinks if the build output is in the same location as the + # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a + # subdirectory. + # Failing to do this causes "infinite symlink expansion detected" + preBuildPhases = ["preBuildPhase"]; + preBuildPhase = '' + mkdir bazel_src + shopt -s dotglob extglob + mv !(bazel_src) bazel_src + ''; + buildPhase = '' + runHook preBuild + + # Increasing memory during compilation might be necessary. + # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m" + + # If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md + # and `git rev-parse --short HEAD` which would result in + # "3.7.0- (@non-git)" due to non-git build and incomplete changelog. + # Actual bazel releases use scripts/release/common.sh which is based + # on branch/tag information which we don't have with tarball releases. + # Note that .bazelversion is always correct and is based on bazel-* + # executable name, version checks should work fine + export EMBED_LABEL="${version}- (@non-git)" + ${bash}/bin/bash ./bazel_src/compile.sh + ./bazel_src/scripts/generate_bash_completion.sh \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.bash \ + --prepend=./bazel_src/scripts/bazel-complete-header.bash \ + --prepend=./bazel_src/scripts/bazel-complete-template.bash + ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \ + --bazel=./bazel_src/output/bazel \ + --output=./bazel_src/output/bazel-complete.fish + + # need to change directory for bazel to find the workspace + cd ./bazel_src + # build execlog tooling + export HOME=$(mktemp -d) + ./output/bazel build src/tools/execlog:parser_deploy.jar + cd - + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel + # if it can’t find something in tools, it calls $out/bin/bazel-{version}-{os_arch} + # The binary _must_ exist with this naming if your project contains a .bazelversion + # file. + cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel + wrapProgram $out/bin/bazel $wrapperfile --suffix PATH : ${defaultShellPath} + mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch} + + mkdir $out/share + cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar + cat <<EOF > $out/bin/bazel-execlog + #!${runtimeShell} -e + ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@ + EOF + chmod +x $out/bin/bazel-execlog + + # shell completion files + installShellCompletion --bash \ + --name bazel.bash \ + ./bazel_src/output/bazel-complete.bash + installShellCompletion --zsh \ + --name _bazel \ + ./bazel_src/scripts/zsh_completion/_bazel + installShellCompletion --fish \ + --name bazel.fish \ + ./bazel_src/output/bazel-complete.fish + ''; + + # Install check fails on `aarch64-darwin` + # https://github.com/NixOS/nixpkgs/issues/145587 + doInstallCheck = stdenv.hostPlatform.system != "aarch64-darwin"; + installCheckPhase = '' + export TEST_TMPDIR=$(pwd) + + hello_test () { + $out/bin/bazel test \ + --test_output=errors \ + examples/cpp:hello-success_test \ + examples/java-native/src/test/java/com/example/myproject:hello + } + + cd ./bazel_src + + # If .bazelversion file is present in dist files and doesn't match `bazel` version + # running `bazel` command within bazel_src will fail. + # Let's remove .bazelversion within the test, if present it is meant to indicate bazel version + # to compile bazel with, not version of bazel to be built and tested. + rm -f .bazelversion + + # test whether $WORKSPACE_ROOT/tools/bazel works + + mkdir -p tools + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exit 1 + EOF + chmod +x tools/bazel + + # first call should fail if tools/bazel is used + ! hello_test + + cat > tools/bazel <<"EOF" + #!${runtimeShell} -e + exec "$BAZEL_REAL" "$@" + EOF + + # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch} + hello_test + + runHook postInstall + ''; + + # Save paths to hardcoded dependencies so Nix can detect them. + # This is needed because the templates get tar’d up into a .jar. + postFixup = '' + mkdir -p $out/nix-support + echo "${defaultShellPath}" >> $out/nix-support/depends + # The string literal specifying the path to the bazel-rc file is sometimes + # stored non-contiguously in the binary due to gcc optimisations, which leads + # Nix to miss the hash when scanning for dependencies + echo "${bazelRC}" >> $out/nix-support/depends + '' + lib.optionalString stdenv.isDarwin '' + echo "${cctools}" >> $out/nix-support/depends + ''; + + dontStrip = true; + dontPatchELF = true; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/java_toolchain.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/java_toolchain.patch new file mode 100644 index 000000000000..219f4e0b7035 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/java_toolchain.patch @@ -0,0 +1,33 @@ +diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools +--- a/tools/jdk/BUILD.tools ++++ b/tools/jdk/BUILD.tools +@@ -3,6 +3,7 @@ load( + "DEFAULT_TOOLCHAIN_CONFIGURATION", + "PREBUILT_TOOLCHAIN_CONFIGURATION", + "VANILLA_TOOLCHAIN_CONFIGURATION", ++ "NONPREBUILT_TOOLCHAIN_CONFIGURATION", + "bootclasspath", + "default_java_toolchain", + "java_runtime_files", +@@ -321,6 +322,21 @@ alias( + actual = ":toolchain", + ) + ++default_java_toolchain( ++ name = "nonprebuilt_toolchain", ++ configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION, ++ java_runtime = "@local_jdk//:jdk", ++) ++ ++default_java_toolchain( ++ name = "nonprebuilt_toolchain_java11", ++ configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION, ++ java_runtime = "@local_jdk//:jdk", ++ source_version = "11", ++ target_version = "11", ++) ++ ++ + RELEASES = (8, 9, 10, 11) + + [ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/nix-hacks.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/nix-hacks.patch new file mode 100644 index 000000000000..acae500d522c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/nix-hacks.patch @@ -0,0 +1,40 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +index 25fbdcac9d..49616d37df 100644 +--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java ++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +@@ -568,22 +568,7 @@ public final class RepositoryDelegatorFunction implements SkyFunction { + String content; + try { + content = FileSystemUtils.readContent(markerPath, StandardCharsets.UTF_8); +- String markerRuleKey = readMarkerFile(content, markerData); +- boolean verified = false; +- if (Preconditions.checkNotNull(ruleKey).equals(markerRuleKey)) { +- verified = handler.verifyMarkerData(rule, markerData, env); +- if (env.valuesMissing()) { +- return null; +- } +- } +- +- if (verified) { +- return new Fingerprint().addString(content).digestAndReset(); +- } else { +- // So that we are in a consistent state if something happens while fetching the repository +- markerPath.delete(); +- return null; +- } ++ return new Fingerprint().addString(content).digestAndReset(); + } catch (IOException e) { + throw new RepositoryFunctionException(e, Transience.TRANSIENT); + } +diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +index 1a45b8a3a2..a6b73213f6 100644 +--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java ++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +@@ -152,7 +152,6 @@ public class JavaSubprocessFactory implements SubprocessFactory { + ProcessBuilder builder = new ProcessBuilder(); + builder.command(params.getArgv()); + if (params.getEnv() != null) { +- builder.environment().clear(); + builder.environment().putAll(params.getEnv()); + } + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/no-arc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/no-arc.patch new file mode 100644 index 000000000000..e7a4498839dc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/no-arc.patch @@ -0,0 +1,42 @@ +diff --git a/tools/osx/BUILD b/tools/osx/BUILD +index 990afe3e8c..cd5b7b1b7a 100644 +--- a/tools/osx/BUILD ++++ b/tools/osx/BUILD +@@ -28,8 +28,8 @@ exports_files([ + ]) + + DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """ +- /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.13 -fobjc-arc -framework CoreServices \ +- -framework Foundation -arch arm64 -arch x86_64 -Wl,-no_adhoc_codesign -Wl,-no_uuid -o $@ $< && \ ++ /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.13 -framework CoreServices \ ++ -framework Foundation -arch @multiBinPatch@ -Wl,-no_uuid -o $@ $< && \ + env -i codesign --identifier $@ --force --sign - $@ + """ + +diff --git a/tools/osx/xcode_configure.bzl b/tools/osx/xcode_configure.bzl +index 2b819f07ec..a98ce37673 100644 +--- a/tools/osx/xcode_configure.bzl ++++ b/tools/osx/xcode_configure.bzl +@@ -127,7 +127,6 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label): + "macosx", + "clang", + "-mmacosx-version-min=10.13", +- "-fobjc-arc", + "-framework", + "CoreServices", + "-framework", +diff --git a/tools/osx/xcode_locator.m b/tools/osx/xcode_locator.m +index ed2ef87453..e0ce6dbdd1 100644 +--- a/tools/osx/xcode_locator.m ++++ b/tools/osx/xcode_locator.m +@@ -21,10 +21,6 @@ + // 6,6.4,6.4.1 = 6.4.1 + // 6.3,6.3.0 = 6.3 + +-#if !defined(__has_feature) || !__has_feature(objc_arc) +-#error "This file requires ARC support." +-#endif +- + #import <CoreServices/CoreServices.h> + #import <Foundation/Foundation.h> + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json new file mode 100644 index 000000000000..e407902f7949 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/src-deps.json @@ -0,0 +1,2247 @@ +{ + "1.25.0.zip": { + "name": "1.25.0.zip", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": { + "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "20211102.0.tar.gz": { + "name": "20211102.0.tar.gz", + "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4", + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz" + ] + }, + "2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz": { + "name": "2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + "sha256": "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0", + "urls": [ + "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + "https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz" + ] + }, + "4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz": { + "name": "4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz", + "sha256": "1e490b98005664d149b379a9529a6aa05932b8a11b76b4cd86f3d22d76346f47", + "urls": [ + "https://mirror.bazel.build/github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz", + "https://github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz" + ] + }, + "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip": { + "name": "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip" + ] + }, + "6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz": { + "name": "6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz", + "sha256": "ec76c5e79db59762776bece58b69507d095856c37b81fd35bfb0958e74b61d93", + "urls": [ + "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz", + "https://github.com/c-ares/c-ares/archive/6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz" + ] + }, + "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": { + "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": { + "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "a5477045acaa34586420942098f5fecd3570f577.tar.gz": { + "name": "a5477045acaa34586420942098f5fecd3570f577.tar.gz", + "sha256": "cf7f71eaff90b24c1a28b49645a9ff03a9a6c1e7134291ce70901cb63e7364b5", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz", + "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz" + ] + }, + "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz": { + "name": "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e", + "urls": [ + "https://mirror.bazel.build/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz", + "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz" + ] + }, + "android_tools": { + "generator_function": "maybe", + "generator_name": "android_tools", + "name": "android_tools", + "sha256": "5d0f140125afba82603ccd5050c78dd2e2863ca992a17f43f6df9a9119ffcb9b", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.27.2.tar" + }, + "android_tools_for_testing": { + "name": "android_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "5d0f140125afba82603ccd5050c78dd2e2863ca992a17f43f6df9a9119ffcb9b", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.27.2.tar" + }, + "android_tools_pkg-0.27.2.tar": { + "name": "android_tools_pkg-0.27.2.tar", + "sha256": "5d0f140125afba82603ccd5050c78dd2e2863ca992a17f43f6df9a9119ffcb9b", + "urls": [ + "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.27.2.tar" + ] + }, + "bazel-gazelle-v0.24.0.tar.gz": { + "name": "bazel-gazelle-v0.24.0.tar.gz", + "sha256": "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz" + ] + }, + "bazel-skylib-1.0.3.tar.gz": { + "name": "bazel-skylib-1.0.3.tar.gz", + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel_compdb": { + "generator_function": "grpc_deps", + "generator_name": "bazel_compdb", + "name": "bazel_compdb", + "sha256": "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4", + "strip_prefix": "bazel-compilation-database-0.4.5", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz", + "https://github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz" + ] + }, + "bazel_gazelle": { + "generator_function": "dist_http_archive", + "generator_name": "bazel_gazelle", + "name": "bazel_gazelle", + "sha256": "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz" + ] + }, + "bazel_skylib": { + "generator_function": "dist_http_archive", + "generator_name": "bazel_skylib", + "name": "bazel_skylib", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz" + ] + }, + "bazel_toolchains": { + "generator_function": "grpc_deps", + "generator_name": "bazel_toolchains", + "name": "bazel_toolchains", + "sha256": "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024", + "strip_prefix": "bazel-toolchains-4.1.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/4.1.0.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz" + ] + }, + "bazelci_rules": { + "generator_function": "dist_http_archive", + "generator_name": "bazelci_rules", + "name": "bazelci_rules", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + "strip_prefix": "bazelci_rules-1.0.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz", + "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz" + ] + }, + "bazelci_rules-1.0.0.tar.gz": { + "name": "bazelci_rules-1.0.0.tar.gz", + "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz", + "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz" + ] + }, + "boringssl": { + "generator_function": "grpc_deps", + "generator_name": "boringssl", + "name": "boringssl", + "sha256": "534fa658bd845fd974b50b10f444d392dfd0d93768c4a51b61263fd37d851c40", + "strip_prefix": "boringssl-b9232f9e27e5668bc0414879dcdedb2a59ea75f2", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz", + "https://github.com/google/boringssl/archive/b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz" + ] + }, + "build_bazel_apple_support": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_apple_support", + "name": "build_bazel_apple_support", + "sha256": "76df040ade90836ff5543888d64616e7ba6c3a7b33b916aa3a4b68f342d1b447", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.11.0/apple_support.0.11.0.tar.gz", + "https://github.com/bazelbuild/apple_support/releases/download/0.11.0/apple_support.0.11.0.tar.gz" + ] + }, + "build_bazel_rules_apple": { + "generator_function": "grpc_deps", + "generator_name": "build_bazel_rules_apple", + "name": "build_bazel_rules_apple", + "sha256": "0052d452af7742c8f3a4e0929763388a66403de363775db7e90adecb2ba4944b", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz", + "https://github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz" + ] + }, + "build_bazel_rules_nodejs": { + "generator_function": "dist_http_archive", + "generator_name": "build_bazel_rules_nodejs", + "name": "build_bazel_rules_nodejs", + "sha256": "0fad45a9bda7dc1990c47b002fd64f55041ea751fafc00cd34efb96107675778", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz" + ] + }, + "cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz": { + "name": "cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz", + "sha256": "5bc8365613fe2f8ce6cc33959b7667b13b7fe56cb9d16ba740c06e1a7c4242fc", + "urls": [ + "https://mirror.bazel.build/github.com/cncf/xds/archive/cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz", + "https://github.com/cncf/xds/archive/cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz" + ] + }, + "com_envoyproxy_protoc_gen_validate": { + "generator_function": "dist_http_archive", + "generator_name": "com_envoyproxy_protoc_gen_validate", + "name": "com_envoyproxy_protoc_gen_validate", + "patch_args": [ + "-p1" + ], + "patches": [ + "//third_party/protoc_gen_validate:protoc_gen_validate.patch" + ], + "sha256": "1e490b98005664d149b379a9529a6aa05932b8a11b76b4cd86f3d22d76346f47", + "strip_prefix": "protoc-gen-validate-4694024279bdac52b77e22dc87808bd0fd732b69", + "urls": [ + "https://mirror.bazel.build/github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz", + "https://github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz" + ] + }, + "com_github_cares_cares": { + "build_file": "@com_github_grpc_grpc//third_party:cares/cares.BUILD", + "generator_function": "grpc_deps", + "generator_name": "com_github_cares_cares", + "name": "com_github_cares_cares", + "sha256": "ec76c5e79db59762776bece58b69507d095856c37b81fd35bfb0958e74b61d93", + "strip_prefix": "c-ares-6654436a307a5a686b008c1d4c93b0085da6e6d8", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz", + "https://github.com/c-ares/c-ares/archive/6654436a307a5a686b008c1d4c93b0085da6e6d8.tar.gz" + ] + }, + "com_github_cncf_udpa": { + "generator_function": "dist_http_archive", + "generator_name": "com_github_cncf_udpa", + "name": "com_github_cncf_udpa", + "patch_args": [ + "-p1" + ], + "patches": [ + "//third_party/cncf_udpa:cncf_udpa_0.0.1.patch" + ], + "sha256": "5bc8365613fe2f8ce6cc33959b7667b13b7fe56cb9d16ba740c06e1a7c4242fc", + "strip_prefix": "xds-cb28da3451f158a947dfc45090fe92b07b243bc1", + "urls": [ + "https://mirror.bazel.build/github.com/cncf/xds/archive/cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz", + "https://github.com/cncf/xds/archive/cb28da3451f158a947dfc45090fe92b07b243bc1.tar.gz" + ] + }, + "com_github_google_benchmark": { + "generator_function": "grpc_deps", + "generator_name": "com_github_google_benchmark", + "name": "com_github_google_benchmark", + "sha256": "0b921a3bc39e35f4275c8dcc658af2391c150fb966102341287b0401ff2e6f21", + "strip_prefix": "benchmark-0baacde3618ca617da95375e0af13ce1baadea47", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/benchmark/archive/0baacde3618ca617da95375e0af13ce1baadea47.tar.gz", + "https://github.com/google/benchmark/archive/0baacde3618ca617da95375e0af13ce1baadea47.tar.gz" + ] + }, + "com_github_grpc_grpc": { + "generator_function": "dist_http_archive", + "generator_name": "com_github_grpc_grpc", + "name": "com_github_grpc_grpc", + "patch_args": [ + "-p1" + ], + "patches": [ + "//third_party/grpc:grpc_1.47.0.patch", + "//third_party/grpc:grpc_1.47.0.win_arm64.patch" + ], + "sha256": "271bdc890bf329a8de5b65819f0f9590a5381402429bca37625b63546ed19e54", + "strip_prefix": "grpc-1.47.0", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.47.0.tar.gz", + "https://github.com/grpc/grpc/archive/v1.47.0.tar.gz" + ] + }, + "com_github_libuv_libuv": { + "build_file": "@com_github_grpc_grpc//third_party:libuv.BUILD", + "generator_function": "grpc_deps", + "generator_name": "com_github_libuv_libuv", + "name": "com_github_libuv_libuv", + "sha256": "5ca4e9091f3231d8ad8801862dc4e851c23af89c69141d27723157776f7291e7", + "strip_prefix": "libuv-02a9e1be252b623ee032a3137c0b0c94afbe6809", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/libuv/libuv/archive/02a9e1be252b623ee032a3137c0b0c94afbe6809.tar.gz", + "https://github.com/libuv/libuv/archive/02a9e1be252b623ee032a3137c0b0c94afbe6809.tar.gz" + ] + }, + "com_google_absl": { + "generator_function": "dist_http_archive", + "generator_name": "com_google_absl", + "name": "com_google_absl", + "sha256": "dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4", + "strip_prefix": "abseil-cpp-20211102.0", + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz" + ] + }, + "com_google_googleapis": { + "generator_function": "dist_http_archive", + "generator_name": "com_google_googleapis", + "name": "com_google_googleapis", + "sha256": "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0", + "strip_prefix": "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92", + "urls": [ + "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + "https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz" + ] + }, + "com_google_googletest": { + "name": "com_google_googletest", + "sha256": "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2", + "strip_prefix": "googletest-release-1.12.1", + "urls": [ + "https://mirror.bazel.build/github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz", + "https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz" + ] + }, + "com_google_protobuf": { + "generator_function": "dist_http_archive", + "generator_name": "com_google_protobuf", + "name": "com_google_protobuf", + "patch_args": [ + "-p1" + ], + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "patches": [ + "//third_party/protobuf:3.19.6.patch" + ], + "sha256": "9a301cf94a8ddcb380b901e7aac852780b826595075577bb967004050c835056", + "strip_prefix": "protobuf-3.19.6", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz" + ] + }, + "com_google_testparameterinjector": { + "build_file_content": "\njava_library(\n name = \"testparameterinjector\",\n testonly = True,\n srcs = glob([\"src/main/**/*.java\"]),\n deps = [\n \"@org_snakeyaml//:snakeyaml\",\n \"@//third_party:auto_value\",\n \"@//third_party:guava\",\n \"@//third_party:junit4\",\n \"@//third_party/protobuf:protobuf_java\",\n ],\n visibility = [\"//visibility:public\"],\n)\n", + "name": "com_google_testparameterinjector", + "sha256": "562a0e87eb413a7dcad29ebc8d578f6f97503473943585b051c1398a58189b06", + "strip_prefix": "TestParameterInjector-1.0", + "urls": [ + "https://mirror.bazel.build/github.com/google/TestParameterInjector/archive/v1.0.tar.gz", + "https://github.com/google/TestParameterInjector/archive/v1.0.tar.gz" + ] + }, + "com_googlesource_code_re2": { + "generator_function": "grpc_deps", + "generator_name": "com_googlesource_code_re2", + "name": "com_googlesource_code_re2", + "sha256": "319a58a58d8af295db97dfeecc4e250179c5966beaa2d842a82f0a013b6a239b", + "strip_prefix": "re2-8e08f47b11b413302749c0d8b17a1c94777495d5", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz", + "https://github.com/google/re2/archive/8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz" + ] + }, + "coverage_output_generator-v2.6.zip": { + "name": "coverage_output_generator-v2.6.zip", + "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip" + ] + }, + "cython": { + "build_file": "@com_github_grpc_grpc//third_party:cython.BUILD", + "generator_function": "grpc_deps", + "generator_name": "cython", + "name": "cython", + "sha256": "bb72b2f0ef029472759c711f0a4bded6e15e3f9bda3797550cef3c1d87d02283", + "strip_prefix": "cython-0.29.26", + "urls": [ + "https://github.com/cython/cython/archive/0.29.26.tar.gz" + ] + }, + "desugar_jdk_libs": { + "generator_function": "dist_http_archive", + "generator_name": "desugar_jdk_libs", + "name": "desugar_jdk_libs", + "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb", + "strip_prefix": "desugar_jdk_libs-5847d6a06302136d95a14b4cbd4b55a9c9f1436e", + "urls": [ + "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip", + "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip" + ] + }, + "enum34": { + "build_file": "@com_github_grpc_grpc//third_party:enum34.BUILD", + "generator_function": "grpc_deps", + "generator_name": "enum34", + "name": "enum34", + "sha256": "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1", + "strip_prefix": "enum34-1.1.6", + "urls": [ + "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz" + ] + }, + "envoy_api": { + "generator_function": "grpc_deps", + "generator_name": "envoy_api", + "name": "envoy_api", + "sha256": "c5807010b67033330915ca5a20483e30538ae5e689aa14b3631d6284beca4630", + "strip_prefix": "data-plane-api-9c42588c956220b48eb3099d186487c2f04d32ec", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/9c42588c956220b48eb3099d186487c2f04d32ec.tar.gz", + "https://github.com/envoyproxy/data-plane-api/archive/9c42588c956220b48eb3099d186487c2f04d32ec.tar.gz" + ] + }, + "futures": { + "build_file": "@com_github_grpc_grpc//third_party:futures.BUILD", + "generator_function": "grpc_deps", + "generator_name": "futures", + "name": "futures", + "sha256": "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794", + "strip_prefix": "futures-3.3.0", + "urls": [ + "https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz" + ] + }, + "io_bazel_rules_go": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_go", + "name": "io_bazel_rules_go", + "sha256": "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz", + "https://github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz" + ] + }, + "io_bazel_rules_python": { + "generator_function": "grpc_deps", + "generator_name": "io_bazel_rules_python", + "name": "io_bazel_rules_python", + "patch_args": [ + "-p1" + ], + "patches": [ + "@com_github_grpc_grpc//third_party:rules_python.patch" + ], + "sha256": "954aa89b491be4a083304a2cb838019c8b8c3720a7abb9c4cb81ac7a24230cea", + "url": "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz" + }, + "io_bazel_rules_sass": { + "generator_function": "dist_http_archive", + "generator_name": "io_bazel_rules_sass", + "name": "io_bazel_rules_sass", + "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647", + "strip_prefix": "rules_sass-1.25.0", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip", + "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip" + ] + }, + "io_bazel_skydoc": { + "generator_function": "dist_http_archive", + "generator_name": "io_bazel_skydoc", + "name": "io_bazel_skydoc", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" + ] + }, + "io_opencensus_cpp": { + "generator_function": "grpc_deps", + "generator_name": "io_opencensus_cpp", + "name": "io_opencensus_cpp", + "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1", + "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz", + "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz" + ] + }, + "java_tools-v12.6.zip": { + "name": "java_tools-v12.6.zip", + "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip" + ] + }, + "java_tools_darwin_arm64-v12.6.zip": { + "name": "java_tools_darwin_arm64-v12.6.zip", + "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip" + ] + }, + "java_tools_darwin_x86_64-v12.6.zip": { + "name": "java_tools_darwin_x86_64-v12.6.zip", + "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip" + ] + }, + "java_tools_linux-v12.6.zip": { + "name": "java_tools_linux-v12.6.zip", + "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip" + ] + }, + "java_tools_windows-v12.6.zip": { + "name": "java_tools_windows-v12.6.zip", + "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip" + ] + }, + "microsoft-jdk-11.0.13.8.1-windows-aarch64.zip": { + "name": "microsoft-jdk-11.0.13.8.1-windows-aarch64.zip", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "nuget_python_i686_3.10.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python310.dll\",\n interface_library = \"libs/python310.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_i686_3.10.0", + "name": "nuget_python_i686_3.10.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "e115e102eb90ce160ab0ef7506b750a8d7ecc385bde0a496f02a54337a8bc333", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/pythonx86/3.10.0" + ] + }, + "nuget_python_i686_3.7.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python37.dll\",\n interface_library = \"libs/python37.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_i686_3.7.0", + "name": "nuget_python_i686_3.7.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "a8bb49fa1ca62ad55430fcafaca1b58015e22943e66b1a87d5e7cef2556c6a54", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/pythonx86/3.7.0" + ] + }, + "nuget_python_i686_3.8.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python38.dll\",\n interface_library = \"libs/python38.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_i686_3.8.0", + "name": "nuget_python_i686_3.8.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "87a6481f5eef30b42ac12c93f06f73bd0b8692f26313b76a6615d1641c4e7bca", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/pythonx86/3.8.0" + ] + }, + "nuget_python_i686_3.9.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python39.dll\",\n interface_library = \"libs/python39.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_i686_3.9.0", + "name": "nuget_python_i686_3.9.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "229abecbe49dc08fe5709e0b31e70edfb3b88f23335ebfc2904c44f940fd59b6", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/pythonx86/3.9.0" + ] + }, + "nuget_python_x86-64_3.10.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python310.dll\",\n interface_library = \"libs/python310.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_x86-64_3.10.0", + "name": "nuget_python_x86-64_3.10.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "4474c83c25625d93e772e926f95f4cd398a0abbb52793625fa30f39af3d2cc00", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/python/3.10.0" + ] + }, + "nuget_python_x86-64_3.7.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python37.dll\",\n interface_library = \"libs/python37.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_x86-64_3.7.0", + "name": "nuget_python_x86-64_3.7.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "66eb796a5bdb1e6787b8f655a1237a6b6964af2115b7627cf4f0032cf068b4b2", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/python/3.7.0" + ] + }, + "nuget_python_x86-64_3.8.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python38.dll\",\n interface_library = \"libs/python38.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_x86-64_3.8.0", + "name": "nuget_python_x86-64_3.8.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "96c61321ce90dd053c8a04f305a5f6cc6d91350b862db34440e4a4f069b708a0", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/python/3.8.0" + ] + }, + "nuget_python_x86-64_3.9.0": { + "build_file_content": "\ncc_import(\n name = \"python_full_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python39.dll\",\n interface_library = \"libs/python39.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n\ncc_import(\n name = \"python_limited_api\",\n hdrs = glob([\"**/*.h\"]),\n shared_library = \"python3.dll\",\n interface_library = \"libs/python3.lib\",\n visibility = [\"@upb//python:__pkg__\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "nuget_python_x86-64_3.9.0", + "name": "nuget_python_x86-64_3.9.0", + "patch_cmds": [ + "cp -r include/* ." + ], + "sha256": "6af58a733e7dfbfcdd50d55788134393d6ffe7ab8270effbf724bdb786558832", + "strip_prefix": "tools", + "type": "zip", + "urls": [ + "https://www.nuget.org/api/v2/package/python/3.9.0" + ] + }, + "opencensus_proto": { + "generator_function": "grpc_deps", + "generator_name": "opencensus_proto", + "name": "opencensus_proto", + "sha256": "b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0", + "strip_prefix": "opencensus-proto-0.3.0/src", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz", + "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz" + ] + }, + "openjdk11_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk11_darwin_aarch64_archive", + "name": "openjdk11_darwin_aarch64_archive", + "sha256": "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" + ] + }, + "openjdk11_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk11_darwin_archive", + "name": "openjdk11_darwin_archive", + "sha256": "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz" + ] + }, + "openjdk11_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk11_linux_archive", + "name": "openjdk11_linux_archive", + "sha256": "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz" + ] + }, + "openjdk11_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk11_windows_archive", + "name": "openjdk11_windows_archive", + "sha256": "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip" + ] + }, + "openjdk11_windows_arm64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk11_windows_arm64_archive", + "name": "openjdk11_windows_arm64_archive", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "openjdk17_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_darwin_aarch64_archive", + "name": "openjdk17_darwin_aarch64_archive", + "sha256": "515dd56ec99bb5ae8966621a2088aadfbe72631818ffbba6e4387b7ee292ab09", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz" + ] + }, + "openjdk17_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_darwin_archive", + "name": "openjdk17_darwin_archive", + "sha256": "e6317cee4d40995f0da5b702af3f04a6af2bbd55febf67927696987d11113b53", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz" + ] + }, + "openjdk17_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_linux_archive", + "name": "openjdk17_linux_archive", + "sha256": "20c91a922eec795f3181eaa70def8b99d8eac56047c9a14bfb257c85b991df1b", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz" + ] + }, + "openjdk17_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_windows_archive", + "name": "openjdk17_windows_archive", + "sha256": "9972c5b62a61b45785d3d956c559e079d9e91f144ec46225f5deeda214d48f27", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip" + ] + }, + "openjdk17_windows_arm64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk17_windows_arm64_archive", + "name": "openjdk17_windows_arm64_archive", + "sha256": "bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip" + ] + }, + "openjdk18_darwin_aarch64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk18_darwin_aarch64_archive", + "name": "openjdk18_darwin_aarch64_archive", + "sha256": "9595e001451e201fdf33c1952777968a3ac18fe37273bdeaea5b5ed2c4950432", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz" + ] + }, + "openjdk18_darwin_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk18_darwin_archive", + "name": "openjdk18_darwin_archive", + "sha256": "780a9aa4bda95a6793bf41d13f837c59ef915e9bfd0e0c5fd4c70e4cdaa88541", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz" + ] + }, + "openjdk18_linux_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk18_linux_archive", + "name": "openjdk18_linux_archive", + "sha256": "959a94ca4097dcaabc7886784cec10dfdf2b0a3bff890ea8943cc09c5fff29cb", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz" + ] + }, + "openjdk18_windows_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk18_windows_archive", + "name": "openjdk18_windows_archive", + "sha256": "6c75498163b047595386fdb909cb6d4e04282c3a81799743c5e1f9316391fe16", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip" + ] + }, + "openjdk18_windows_arm64_archive": { + "build_file_content": "\njava_runtime(name = 'runtime', srcs = glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n", + "generator_function": "dist_http_archive", + "generator_name": "openjdk18_windows_arm64_archive", + "name": "openjdk18_windows_arm64_archive", + "sha256": "9b52b259516e4140ee56b91f77750667bffbc543e78ad8c39082449d4c377b54", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip" + ] + }, + "openjdk_linux": { + "downloaded_file_path": "zulu-linux.tar.gz", + "name": "openjdk_linux", + "sha256": "65bfe4e0ffa74a680ee4410db46b17e30cd9397b664a92a886599fe1f3530969", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-linux_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689070.tar.gz" + ] + }, + "openjdk_linux_aarch64": { + "downloaded_file_path": "zulu-linux-aarch64.tar.gz", + "name": "openjdk_linux_aarch64", + "sha256": "6b245793087300db3ee82ab0d165614f193a73a60f2f011e347756c1e6ca5bac", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_minimal": { + "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz", + "name": "openjdk_linux_aarch64_minimal", + "sha256": "06f6520a877704c77614bcfc4f846cc7cbcbf5eaad149bf7f19f4f16e285c9de", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz" + ] + }, + "openjdk_linux_aarch64_vanilla": { + "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_linux_aarch64_vanilla", + "name": "openjdk_linux_aarch64_vanilla", + "sha256": "fc7c41a0005180d4ca471c90d01e049469e0614cf774566d4cf383caa29d1a97", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz" + ] + }, + "openjdk_linux_minimal": { + "downloaded_file_path": "zulu-linux-minimal.tar.gz", + "name": "openjdk_linux_minimal", + "sha256": "91f7d52f695c681d4e21499b4319d548aadef249a6b3053e306308992e1e29ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689068.tar.gz" + ] + }, + "openjdk_linux_ppc64le_vanilla": { + "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_linux_ppc64le_vanilla", + "name": "openjdk_linux_ppc64le_vanilla", + "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "openjdk_linux_s390x_vanilla": { + "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_linux_s390x_vanilla", + "name": "openjdk_linux_s390x_vanilla", + "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "openjdk_linux_vanilla": { + "downloaded_file_path": "zulu-linux-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_linux_vanilla", + "name": "openjdk_linux_vanilla", + "sha256": "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz" + ] + }, + "openjdk_macos_aarch64": { + "downloaded_file_path": "zulu-macos-aarch64.tar.gz", + "name": "openjdk_macos_aarch64", + "sha256": "a900ef793cb34b03ac5d93ea2f67291b6842e99d500934e19393a8d8f9bfa6ff", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-allmodules-1611665569.tar.gz" + ] + }, + "openjdk_macos_aarch64_minimal": { + "downloaded_file_path": "zulu-macos-aarch64-minimal.tar.gz", + "name": "openjdk_macos_aarch64_minimal", + "sha256": "f4f606926e6deeaa8b8397e299313d9df87642fe464b0ccf1ed0432aeb00640b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-minimal-1611665562.tar.gz" + ] + }, + "openjdk_macos_aarch64_vanilla": { + "downloaded_file_path": "zulu-macos-aarch64-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_macos_aarch64_vanilla", + "name": "openjdk_macos_aarch64_vanilla", + "sha256": "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" + ] + }, + "openjdk_macos_x86_64": { + "downloaded_file_path": "zulu-macos.tar.gz", + "name": "openjdk_macos_x86_64", + "sha256": "8e283cfd23c7555be8e17295ed76eb8f00324c88ab904b8de37bbe08f90e569b", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689066.tar.gz" + ] + }, + "openjdk_macos_x86_64_minimal": { + "downloaded_file_path": "zulu-macos-minimal.tar.gz", + "name": "openjdk_macos_x86_64_minimal", + "sha256": "1bacb1c07035d4066d79f0b65b4ea0ebd1954f3662bdfe3618da382ac8fd23a6", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689063.tar.gz" + ] + }, + "openjdk_macos_x86_64_vanilla": { + "downloaded_file_path": "zulu-macos-vanilla.tar.gz", + "generator_function": "dist_http_file", + "generator_name": "openjdk_macos_x86_64_vanilla", + "name": "openjdk_macos_x86_64_vanilla", + "sha256": "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz" + ] + }, + "openjdk_win": { + "downloaded_file_path": "zulu-win.zip", + "name": "openjdk_win", + "sha256": "8e1604b3a27dcf639bc6d1a73103f1211848139e4cceb081d0a74a99e1e6f995", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_arm64_vanilla": { + "downloaded_file_path": "zulu-win-arm64.zip", + "generator_function": "dist_http_file", + "generator_name": "openjdk_win_arm64_vanilla", + "name": "openjdk_win_arm64_vanilla", + "sha256": "bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip" + ] + }, + "openjdk_win_minimal": { + "downloaded_file_path": "zulu-win-minimal.zip", + "name": "openjdk_win_minimal", + "sha256": "b90a713c9c2d9ea23cad44d2c2dfcc9af22faba9bde55dedc1c3bb9f556ac1ae", + "urls": [ + "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip" + ] + }, + "openjdk_win_vanilla": { + "downloaded_file_path": "zulu-win-vanilla.zip", + "generator_function": "dist_http_file", + "generator_name": "openjdk_win_vanilla", + "name": "openjdk_win_vanilla", + "sha256": "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip" + ] + }, + "org_snakeyaml": { + "build_file_content": "\njava_library(\n name = \"snakeyaml\",\n srcs = glob([\"src/main/**/*.java\"]),\n visibility = [\n \"@io_bazel//src/main/java/com/google/devtools/build/docgen/release:__pkg__\",\n \"@com_google_testparameterinjector//:__pkg__\",\n ],\n)\n", + "name": "org_snakeyaml", + "sha256": "fd0e0cc6c5974fc8f08be3a15fb4a59954c7dd958b5b68186a803de6420b6e40", + "strip_prefix": "asomov-snakeyaml-b28f0b4d87c6", + "urls": [ + "https://mirror.bazel.build/bitbucket.org/asomov/snakeyaml/get/snakeyaml-1.28.tar.gz" + ] + }, + "platforms": { + "generator_function": "dist_http_archive", + "generator_name": "platforms", + "name": "platforms", + "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz" + ] + }, + "platforms-0.0.5.tar.gz": { + "name": "platforms-0.0.5.tar.gz", + "sha256": "379113459b0feaf6bfbb584a91874c065078aa673222846ac765f86661c27407", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.5/platforms-0.0.5.tar.gz" + ] + }, + "python-3.7.0": { + "build_file_content": "\ncc_library(\n name = \"python_headers\",\n hdrs = glob([\"**/Include/**/*.h\"]),\n strip_include_prefix = \"Python-3.7.0/Include\",\n visibility = [\"//visibility:public\"],\n)\n", + "generator_function": "grpc_extra_deps", + "generator_name": "python-3.7.0", + "name": "python-3.7.0", + "patch_cmds": [ + "echo '#define SIZEOF_WCHAR_T 4' > Python-3.7.0/Include/pyconfig.h" + ], + "sha256": "85bb9feb6863e04fb1700b018d9d42d1caac178559ffa453d7e6a436e259fd0d", + "urls": [ + "https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz" + ] + }, + "r8-8.0.40.jar": { + "name": "r8-8.0.40.jar", + "sha256": "ab1379835c7d3e5f21f80347c3c81e2f762e0b9b02748ae5232c3afa14adf702", + "urls": [ + "https://maven.google.com/com/android/tools/r8/8.0.40/r8-8.0.40.jar" + ] + }, + "remote_coverage_tools": { + "generator_function": "dist_http_archive", + "generator_name": "remote_coverage_tools", + "name": "remote_coverage_tools", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip" + ] + }, + "remote_java_tools": { + "generator_function": "maybe", + "generator_name": "remote_java_tools", + "name": "remote_java_tools", + "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip" + ] + }, + "remote_java_tools_darwin_arm64": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_darwin_arm64", + "name": "remote_java_tools_darwin_arm64", + "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip" + ] + }, + "remote_java_tools_darwin_arm64_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_darwin_arm64_for_testing", + "name": "remote_java_tools_darwin_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip" + ] + }, + "remote_java_tools_darwin_x86_64": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_darwin_x86_64", + "name": "remote_java_tools_darwin_x86_64", + "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip" + ] + }, + "remote_java_tools_darwin_x86_64_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_darwin_x86_64_for_testing", + "name": "remote_java_tools_darwin_x86_64_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip" + ] + }, + "remote_java_tools_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_for_testing", + "name": "remote_java_tools_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip" + ] + }, + "remote_java_tools_linux": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_linux", + "name": "remote_java_tools_linux", + "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip" + ] + }, + "remote_java_tools_linux_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_linux_for_testing", + "name": "remote_java_tools_linux_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip" + ] + }, + "remote_java_tools_test": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test", + "name": "remote_java_tools_test", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip" + ] + }, + "remote_java_tools_test_darwin_arm64": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_darwin_arm64", + "name": "remote_java_tools_test_darwin_arm64", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip" + ] + }, + "remote_java_tools_test_darwin_x86_64": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_darwin_x86_64", + "name": "remote_java_tools_test_darwin_x86_64", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip" + ] + }, + "remote_java_tools_test_linux": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_linux", + "name": "remote_java_tools_test_linux", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip" + ] + }, + "remote_java_tools_test_windows": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_test_windows", + "name": "remote_java_tools_test_windows", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip" + ] + }, + "remote_java_tools_windows": { + "generator_function": "maybe", + "generator_name": "remote_java_tools_windows", + "name": "remote_java_tools_windows", + "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip" + ] + }, + "remote_java_tools_windows_for_testing": { + "generator_function": "dist_http_archive", + "generator_name": "remote_java_tools_windows_for_testing", + "name": "remote_java_tools_windows_for_testing", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip" + ] + }, + "remotejdk11_linux": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux", + "name": "remotejdk11_linux", + "sha256": "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_aarch64", + "name": "remotejdk11_linux_aarch64", + "sha256": "fc7c41a0005180d4ca471c90d01e049469e0614cf774566d4cf383caa29d1a97", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_linux_aarch64_for_testing", + "name": "remotejdk11_linux_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "fc7c41a0005180d4ca471c90d01e049469e0614cf774566d4cf383caa29d1a97", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz" + ] + }, + "remotejdk11_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_linux_for_testing", + "name": "remotejdk11_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_ppc64le", + "name": "remotejdk11_linux_ppc64le", + "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "remotejdk11_linux_ppc64le_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_linux_ppc64le_for_testing", + "name": "remotejdk11_linux_ppc64le_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_linux_s390x", + "name": "remotejdk11_linux_s390x", + "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "remotejdk11_linux_s390x_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_linux_s390x_for_testing", + "name": "remotejdk11_linux_s390x_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" + ] + }, + "remotejdk11_macos": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_macos", + "name": "remotejdk11_macos", + "sha256": "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz" + ] + }, + "remotejdk11_macos_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_macos_aarch64", + "name": "remotejdk11_macos_aarch64", + "sha256": "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" + ] + }, + "remotejdk11_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_macos_aarch64_for_testing", + "name": "remotejdk11_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" + ] + }, + "remotejdk11_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_macos_for_testing", + "name": "remotejdk11_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz" + ] + }, + "remotejdk11_win": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_win", + "name": "remotejdk11_win", + "sha256": "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip" + ] + }, + "remotejdk11_win_arm64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 11,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk11_win_arm64", + "name": "remotejdk11_win_arm64", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "remotejdk11_win_arm64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_win_arm64_for_testing", + "name": "remotejdk11_win_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + }, + "remotejdk11_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk11_win_for_testing", + "name": "remotejdk11_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + "strip_prefix": "zulu11.56.19-ca-jdk11.0.15-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip" + ] + }, + "remotejdk17_linux": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_linux", + "name": "remotejdk17_linux", + "sha256": "20c91a922eec795f3181eaa70def8b99d8eac56047c9a14bfb257c85b991df1b", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz" + ] + }, + "remotejdk17_linux_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_linux_aarch64", + "name": "remotejdk17_linux_aarch64", + "sha256": "dbc6ae9163e7ff469a9ab1f342cd1bc1f4c1fb78afc3c4f2228ee3b32c4f3e43", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz" + ] + }, + "remotejdk17_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_linux_for_testing", + "name": "remotejdk17_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "20c91a922eec795f3181eaa70def8b99d8eac56047c9a14bfb257c85b991df1b", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz" + ] + }, + "remotejdk17_macos": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_macos", + "name": "remotejdk17_macos", + "sha256": "e6317cee4d40995f0da5b702af3f04a6af2bbd55febf67927696987d11113b53", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz" + ] + }, + "remotejdk17_macos_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_macos_aarch64", + "name": "remotejdk17_macos_aarch64", + "sha256": "515dd56ec99bb5ae8966621a2088aadfbe72631818ffbba6e4387b7ee292ab09", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz" + ] + }, + "remotejdk17_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_macos_aarch64_for_testing", + "name": "remotejdk17_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "515dd56ec99bb5ae8966621a2088aadfbe72631818ffbba6e4387b7ee292ab09", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz" + ] + }, + "remotejdk17_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_macos_for_testing", + "name": "remotejdk17_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "e6317cee4d40995f0da5b702af3f04a6af2bbd55febf67927696987d11113b53", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz" + ] + }, + "remotejdk17_win": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_win", + "name": "remotejdk17_win", + "sha256": "9972c5b62a61b45785d3d956c559e079d9e91f144ec46225f5deeda214d48f27", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip" + ] + }, + "remotejdk17_win_arm64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 17,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk17_win_arm64", + "name": "remotejdk17_win_arm64", + "sha256": "bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip" + ] + }, + "remotejdk17_win_arm64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_win_arm64_for_testing", + "name": "remotejdk17_win_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip" + ] + }, + "remotejdk17_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk17_win_for_testing", + "name": "remotejdk17_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "9972c5b62a61b45785d3d956c559e079d9e91f144ec46225f5deeda214d48f27", + "strip_prefix": "zulu17.38.21-ca-jdk17.0.5-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip" + ] + }, + "remotejdk18_linux": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_linux", + "name": "remotejdk18_linux", + "sha256": "959a94ca4097dcaabc7886784cec10dfdf2b0a3bff890ea8943cc09c5fff29cb", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk18_linux_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_linux_aarch64", + "name": "remotejdk18_linux_aarch64", + "sha256": "a1d5f78172f32f819d08e9043b0f82fa7af738b37c55c6ca8d6092c61d204d53", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz" + ] + }, + "remotejdk18_linux_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk18_linux_for_testing", + "name": "remotejdk18_linux_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "959a94ca4097dcaabc7886784cec10dfdf2b0a3bff890ea8943cc09c5fff29cb", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_x64.tar.gz" + ] + }, + "remotejdk18_macos": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_macos", + "name": "remotejdk18_macos", + "sha256": "780a9aa4bda95a6793bf41d13f837c59ef915e9bfd0e0c5fd4c70e4cdaa88541", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk18_macos_aarch64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_macos_aarch64", + "name": "remotejdk18_macos_aarch64", + "sha256": "9595e001451e201fdf33c1952777968a3ac18fe37273bdeaea5b5ed2c4950432", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk18_macos_aarch64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk18_macos_aarch64_for_testing", + "name": "remotejdk18_macos_aarch64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "9595e001451e201fdf33c1952777968a3ac18fe37273bdeaea5b5ed2c4950432", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_aarch64.tar.gz" + ] + }, + "remotejdk18_macos_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk18_macos_for_testing", + "name": "remotejdk18_macos_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "780a9aa4bda95a6793bf41d13f837c59ef915e9bfd0e0c5fd4c70e4cdaa88541", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-macosx_x64.tar.gz" + ] + }, + "remotejdk18_win": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_win", + "name": "remotejdk18_win", + "sha256": "6c75498163b047595386fdb909cb6d4e04282c3a81799743c5e1f9316391fe16", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip" + ] + }, + "remotejdk18_win_arm64": { + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_import\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"BUILD.bazel\"])\n\nDEPRECATION_MESSAGE = (\"Don't depend on targets in the JDK workspace;\" +\n \" use @bazel_tools//tools/jdk:current_java_runtime instead\" +\n \" (see https://github.com/bazelbuild/bazel/issues/5594)\")\n\nfilegroup(\n name = \"jni_header\",\n srcs = [\"include/jni.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-darwin\",\n srcs = [\"include/darwin/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-linux\",\n srcs = [\"include/linux/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-freebsd\",\n srcs = [\"include/freebsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-openbsd\",\n srcs = [\"include/openbsd/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jni_md_header-windows\",\n srcs = [\"include/win32/jni_md.h\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"java\",\n srcs = select({\n \":windows\": [\"bin/java.exe\"],\n \"//conditions:default\": [\"bin/java\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jar\",\n srcs = select({\n \":windows\": [\"bin/jar.exe\"],\n \"//conditions:default\": [\"bin/jar\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javac\",\n srcs = select({\n \":windows\": [\"bin/javac.exe\"],\n \"//conditions:default\": [\"bin/javac\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"javadoc\",\n srcs = select({\n \":windows\": [\"bin/javadoc.exe\"],\n \"//conditions:default\": [\"bin/javadoc\"],\n }),\n data = [\":jdk\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"xjc\",\n srcs = [\"bin/xjc\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"wsimport\",\n srcs = [\"bin/wsimport\"],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nBOOTCLASS_JARS = [\n \"rt.jar\",\n \"resources.jar\",\n \"jsse.jar\",\n \"jce.jar\",\n \"charsets.jar\",\n]\n\n# TODO(cushon): this isn't compatible with JDK 9\nfilegroup(\n name = \"bootclasspath\",\n srcs = [\"jre/lib/%s\" % jar for jar in BOOTCLASS_JARS],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-bin\",\n srcs = select({\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n \":windows\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n \"//conditions:default\": glob(\n [\"jre/bin/**\"],\n allow_empty = True,\n ),\n }),\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jre-lib\",\n srcs = glob(\n [\"jre/lib/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jre\",\n srcs = [\":jre-default\"],\n)\n\nfilegroup(\n name = \"jre-default\",\n srcs = [\n \":jre-bin\",\n \":jre-lib\",\n ],\n deprecation = DEPRECATION_MESSAGE,\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n#This folder holds security policies\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre-default\",\n ],\n version = 18,\n)\n\nconfig_setting(\n name = \"windows\",\n constraint_values = [\"@platforms//os:windows\"],\n visibility = [\"//visibility:private\"],\n)\n", + "generator_function": "maybe", + "generator_name": "remotejdk18_win_arm64", + "name": "remotejdk18_win_arm64", + "sha256": "9b52b259516e4140ee56b91f77750667bffbc543e78ad8c39082449d4c377b54", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip" + ] + }, + "remotejdk18_win_arm64_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk18_win_arm64_for_testing", + "name": "remotejdk18_win_arm64_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "9b52b259516e4140ee56b91f77750667bffbc543e78ad8c39082449d4c377b54", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip" + ] + }, + "remotejdk18_win_for_testing": { + "build_file": "@local_jdk//:BUILD.bazel", + "generator_function": "dist_http_archive", + "generator_name": "remotejdk18_win_for_testing", + "name": "remotejdk18_win_for_testing", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "6c75498163b047595386fdb909cb6d4e04282c3a81799743c5e1f9316391fe16", + "strip_prefix": "zulu18.28.13-ca-jdk18.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_x64.zip" + ] + }, + "rules_cc": { + "generator_function": "dist_http_archive", + "generator_name": "rules_cc", + "name": "rules_cc", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "58bff40957ace85c2de21ebfc72e53ed3a0d33af8cc20abd0ceec55c63be7de2", + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.2/rules_cc-0.0.2.tar.gz" + ] + }, + "rules_cc-0.0.2.tar.gz": { + "name": "rules_cc-0.0.2.tar.gz", + "sha256": "58bff40957ace85c2de21ebfc72e53ed3a0d33af8cc20abd0ceec55c63be7de2", + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.2/rules_cc-0.0.2.tar.gz" + ] + }, + "rules_java": { + "generator_function": "dist_http_archive", + "generator_name": "rules_java", + "name": "rules_java", + "patch_cmds": [ + "test -f BUILD && chmod u+w BUILD || true", + "echo >> BUILD", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598", + "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip", + "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip" + ] + }, + "rules_jvm_external": { + "generator_function": "grpc_extra_deps", + "generator_name": "rules_jvm_external", + "name": "rules_jvm_external", + "sha256": "f36441aa876c4f6427bfb2d1f2d723b48e9d930b62662bf723ddfb8fc80f0140", + "strip_prefix": "rules_jvm_external-4.1", + "urls": [ + "https://github.com/bazelbuild/rules_jvm_external/archive/4.1.zip" + ] + }, + "rules_license": { + "generator_function": "dist_http_archive", + "generator_name": "rules_license", + "name": "rules_license", + "sha256": "00ccc0df21312c127ac4b12880ab0f9a26c1cff99442dc6c5a331750360de3c3", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.3/rules_license-0.0.3.tar.gz", + "https://github.com/bazelbuild/rules_license/releases/download/0.0.3/rules_license-0.0.3.tar.gz" + ] + }, + "rules_license-0.0.3.tar.gz": { + "name": "rules_license-0.0.3.tar.gz", + "sha256": "00ccc0df21312c127ac4b12880ab0f9a26c1cff99442dc6c5a331750360de3c3", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.3/rules_license-0.0.3.tar.gz", + "https://github.com/bazelbuild/rules_license/releases/download/0.0.3/rules_license-0.0.3.tar.gz" + ] + }, + "rules_nodejs": { + "generator_function": "dist_http_archive", + "generator_name": "rules_nodejs", + "name": "rules_nodejs", + "sha256": "4d48998e3fa1e03c684e6bdf7ac98051232c7486bfa412e5b5475bbaec7bb257", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-core-5.5.0.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-core-5.5.0.tar.gz" + ] + }, + "rules_nodejs-5.5.0.tar.gz": { + "name": "rules_nodejs-5.5.0.tar.gz", + "sha256": "0fad45a9bda7dc1990c47b002fd64f55041ea751fafc00cd34efb96107675778", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz" + ] + }, + "rules_nodejs-core-5.5.0.tar.gz": { + "name": "rules_nodejs-core-5.5.0.tar.gz", + "sha256": "4d48998e3fa1e03c684e6bdf7ac98051232c7486bfa412e5b5475bbaec7bb257", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-core-5.5.0.tar.gz", + "https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-core-5.5.0.tar.gz" + ] + }, + "rules_pkg": { + "generator_function": "dist_http_archive", + "generator_name": "rules_pkg", + "name": "rules_pkg", + "sha256": "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz" + ] + }, + "rules_pkg-0.7.0.tar.gz": { + "name": "rules_pkg-0.7.0.tar.gz", + "sha256": "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz", + "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz" + ] + }, + "rules_proto": { + "generator_function": "dist_http_archive", + "generator_name": "rules_proto", + "name": "rules_proto", + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", + "strip_prefix": "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", + "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz" + ] + }, + "six": { + "build_file": "@com_github_grpc_grpc//third_party:six.BUILD", + "generator_function": "grpc_deps", + "generator_name": "six", + "name": "six", + "sha256": "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "urls": [ + "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz" + ] + }, + "upb": { + "generator_function": "dist_http_archive", + "generator_name": "upb", + "name": "upb", + "sha256": "cf7f71eaff90b24c1a28b49645a9ff03a9a6c1e7134291ce70901cb63e7364b5", + "strip_prefix": "upb-a5477045acaa34586420942098f5fecd3570f577", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz", + "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz" + ] + }, + "v1.47.0.tar.gz": { + "name": "v1.47.0.tar.gz", + "sha256": "271bdc890bf329a8de5b65819f0f9590a5381402429bca37625b63546ed19e54", + "urls": [ + "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.47.0.tar.gz", + "https://github.com/grpc/grpc/archive/v1.47.0.tar.gz" + ] + }, + "v1.5.2-3.zip": { + "name": "v1.5.2-3.zip", + "sha256": "366009a43cfada35015e4cc40a7efc4b7f017c6b8df5cac3f87d2478027b2056", + "urls": [ + "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/refs/tags/v1.5.2-3.zip", + "https://github.com/luben/zstd-jni/archive/refs/tags/v1.5.2-3.zip" + ] + }, + "v3.19.6.tar.gz": { + "name": "v3.19.6.tar.gz", + "sha256": "9a301cf94a8ddcb380b901e7aac852780b826595075577bb967004050c835056", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz" + ] + }, + "zlib": { + "build_file": "@com_github_grpc_grpc//third_party:zlib.BUILD", + "generator_function": "grpc_deps", + "generator_name": "zlib", + "name": "zlib", + "sha256": "ef47b0fbe646d69a2fc5ba012cb278de8e8946a8e9649f83a807cc05559f0eff", + "strip_prefix": "zlib-21767c654d31d2dccdde4330529775c6c5fd5389", + "urls": [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/21767c654d31d2dccdde4330529775c6c5fd5389.tar.gz", + "https://github.com/madler/zlib/archive/21767c654d31d2dccdde4330529775c6c5fd5389.tar.gz" + ] + }, + "zstd-jni": { + "build_file": "//third_party:zstd-jni/zstd-jni.BUILD", + "generator_function": "dist_http_archive", + "generator_name": "zstd-jni", + "name": "zstd-jni", + "patch_args": [ + "-p1" + ], + "patch_cmds": [ + "test -f BUILD.bazel && chmod u+w BUILD.bazel || true", + "echo >> BUILD.bazel", + "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel" + ], + "patch_cmds_win": [ + "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" + ], + "patches": [ + "//third_party:zstd-jni/Native.java.patch" + ], + "sha256": "366009a43cfada35015e4cc40a7efc4b7f017c6b8df5cac3f87d2478027b2056", + "strip_prefix": "zstd-jni-1.5.2-3", + "urls": [ + "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/refs/tags/v1.5.2-3.zip", + "https://github.com/luben/zstd-jni/archive/refs/tags/v1.5.2-3.zip" + ] + }, + "zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz": { + "name": "zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "sha256": "fc7c41a0005180d4ca471c90d01e049469e0614cf774566d4cf383caa29d1a97", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu-embedded/bin/zulu11.56.19-ca-jdk11.0.15-linux_aarch64.tar.gz" + ] + }, + "zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz": { + "name": "zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "sha256": "e064b61d93304012351242bf0823c6a2e41d9e28add7ea7f05378b7243d34247", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz" + ] + }, + "zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz": { + "name": "zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "sha256": "6bb0d2c6e8a29dcd9c577bbb2986352ba12481a9549ac2c0bcfd00ed60e538d2", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz" + ] + }, + "zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz": { + "name": "zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "sha256": "2614e5c5de8e989d4d81759de4c333aa5b867b17ab9ee78754309ba65c7f6f55", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_x64.tar.gz" + ] + }, + "zulu11.56.19-ca-jdk11.0.15-win_x64.zip": { + "name": "zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "sha256": "a106c77389a63b6bd963a087d5f01171bd32aa3ee7377ecef87531390dcb9050", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-win_x64.zip" + ] + }, + "zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz": { + "name": "zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz", + "sha256": "dbc6ae9163e7ff469a9ab1f342cd1bc1f4c1fb78afc3c4f2228ee3b32c4f3e43", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz" + ] + }, + "zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip": { + "name": "zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "sha256": "bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip" + ] + }, + "zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz": { + "name": "zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz", + "sha256": "a1d5f78172f32f819d08e9043b0f82fa7af738b37c55c6ca8d6092c61d204d53", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux_aarch64.tar.gz" + ] + }, + "zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip": { + "name": "zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip", + "sha256": "9b52b259516e4140ee56b91f77750667bffbc543e78ad8c39082449d4c377b54", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-win_aarch64.zip" + ] + } +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/strict_proto_deps.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/strict_proto_deps.patch new file mode 100644 index 000000000000..7362de839311 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/strict_proto_deps.patch @@ -0,0 +1,21 @@ +diff --git a/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl b/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl +index 63f68167e4..f106e64c9b 100644 +--- a/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl ++++ b/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl +@@ -114,6 +114,7 @@ def java_compile_for_protos(ctx, output_jar_suffix, source_jar = None, deps = [] + exports = exports, + output = output_jar, + output_source_jar = source_jar, ++ strict_deps = ctx.fragments.proto.strict_proto_deps(), + injecting_rule_kind = injecting_rule_kind, + javac_opts = java_toolchain.compatible_javacopts("proto"), + enable_jspecify = False, +@@ -140,7 +141,7 @@ bazel_java_proto_aspect = aspect( + attr_aspects = ["deps", "exports"], + required_providers = [ProtoInfo], + provides = [JavaInfo, JavaProtoAspectInfo], +- fragments = ["java"], ++ fragments = ["java", "proto"], + ) + + def bazel_java_proto_library_rule(ctx): diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/update-srcDeps.py new file mode 100755 index 000000000000..d409a32e1389 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_6/update-srcDeps.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +import sys +import json + +if len(sys.argv) != 2: + print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr) + print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr) + print("Hail Eris.", file=sys.stderr) + sys.exit(1) + +http_archives = [] + +# just the kw args are the dict { name, sha256, urls … } +def http_archive(**kw): + http_archives.append(kw) +# like http_file +def http_file(**kw): + http_archives.append(kw) + +# this is inverted from http_archive/http_file and bundles multiple archives +def _distdir_tar(**kw): + for archive_name in kw['archives']: + http_archives.append({ + "name": archive_name, + "sha256": kw['sha256'][archive_name], + "urls": kw['urls'][archive_name] + }) + +# TODO? +def git_repository(**kw): + print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +# execute the WORKSPACE like it was python code in this module, +# using all the function stubs from above. +exec(sys.stdin.read()) + +# transform to a dict with the names as keys +d = { el['name']: el for el in http_archives } + +def has_urls(el): + return ('url' in el and el['url']) or ('urls' in el and el['urls']) +def has_sha256(el): + return 'sha256' in el and el['sha256'] +bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values())) +if bad_archives: + print('Following bazel dependencies are missing url or sha256', file=sys.stderr) + print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr) + for el in bad_archives: + print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr) + sys.exit(1) + +with open(sys.argv[1], "w") as f: + print(json.dumps(d, sort_keys=True, indent=4), file=f) diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_darwin_sandbox.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_darwin_sandbox.patch new file mode 100644 index 000000000000..87e6c99287fb --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_darwin_sandbox.patch @@ -0,0 +1,11 @@ +diff -ru a/src/main/native/unix_jni_darwin.cc b/src/main/native/unix_jni_darwin.cc +--- a/src/main/native/unix_jni_darwin.cc 1980-01-01 00:00:00.000000000 -0500 ++++ b/src/main/native/unix_jni_darwin.cc 2021-11-27 20:35:29.000000000 -0500 +@@ -270,6 +270,7 @@ + } + + int portable_suspend_count() { ++ if (getenv("NIX_BUILD_TOP")) return 0; + static dispatch_once_t once_token; + static SuspendState suspend_state; + dispatch_once(&once_token, ^{ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch new file mode 100644 index 000000000000..a599ac3ec723 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_rc.patch @@ -0,0 +1,13 @@ +diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc +index 8f8f15685f..a7ae52d1e4 100644 +--- a/src/main/cpp/option_processor.cc ++++ b/src/main/cpp/option_processor.cc +@@ -56,7 +56,7 @@ OptionProcessor::OptionProcessor( + : workspace_layout_(workspace_layout), + startup_options_(std::move(default_startup_options)), + parse_options_called_(false), +- system_bazelrc_path_(BAZEL_SYSTEM_BAZELRC_PATH) {} ++ system_bazelrc_path_("@bazelSystemBazelRCPath@") {} + + OptionProcessor::OptionProcessor( + const WorkspaceLayout* workspace_layout, diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix new file mode 100644 index 000000000000..8c46b2456ee3 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix @@ -0,0 +1,37 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "bazel-buildtools"; + version = "6.3.3"; + + src = fetchFromGitHub { + owner = "bazelbuild"; + repo = "buildtools"; + rev = "v${version}"; + hash = "sha256-eGX1W3Nc26aw31dWm1hvcUzFh1efL4Vd86dK6Hs2BJc="; + }; + + vendorHash = "sha256-DigTREfI6I48wxRpGp/bfH1NbUZ4E1B5UTQXpI0LY1A="; + + preBuild = '' + rm -r warn/docs + ''; + + proxyVendor = true; + + doCheck = false; + + excludedPackages = [ "generatetables" ]; + + ldflags = [ "-s" "-w" "-X main.buildVersion=${version}" "-X main.buildScmRevision=${src.rev}" ]; + + meta = with lib; { + description = "Tools for working with Google's bazel buildtool. Includes buildifier, buildozer, and unused_deps"; + homepage = "https://github.com/bazelbuild/buildtools"; + changelog = "https://github.com/bazelbuild/buildtools/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; + [ elasticdog uri-canva marsam ] + ++ lib.teams.bazel.members; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/cpp-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/cpp-test.nix new file mode 100644 index 000000000000..2286ed690bdc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/cpp-test.nix @@ -0,0 +1,58 @@ +{ + bazel +, bazelTest +, bazel-examples +, stdenv +, darwin +, lib +, runLocal +, runtimeShell +, writeScript +, writeText +, distDir +}: + +let + + toolsBazel = writeScript "bazel" '' + #! ${runtimeShell} + + export CXX='${stdenv.cc}/bin/clang++' + export LD='${darwin.cctools}/bin/ld' + export LIBTOOL='${darwin.cctools}/bin/libtool' + export CC='${stdenv.cc}/bin/clang' + + # XXX: hack for macosX, this flags disable bazel usage of xcode + # See: https://github.com/bazelbuild/bazel/issues/4231 + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + exec "$BAZEL_REAL" "$@" + ''; + + workspaceDir = runLocal "our_workspace" {} ('' + cp -r ${bazel-examples}/cpp-tutorial/stage3 $out + find $out -type d -exec chmod 755 {} \; + '' + + (lib.optionalString stdenv.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '')); + + testBazel = bazelTest { + name = "bazel-test-cpp"; + inherit workspaceDir; + bazelPkg = bazel; + bazelScript = '' + ${bazel}/bin/bazel \ + build --verbose_failures \ + --distdir=${distDir} \ + --curses=no \ + --sandbox_debug \ + //... \ + '' + lib.optionalString (stdenv.isDarwin) '' + --cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \ + --linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \ + ''; + }; + +in testBazel diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix new file mode 100644 index 000000000000..e42e0cde7665 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix @@ -0,0 +1,65 @@ +{ + bazel +, bazelTest +, bazel-examples +, stdenv +, darwin +, lib +, openjdk8 +, jdk11_headless +, runLocal +, runtimeShell +, writeScript +, writeText +, distDir +}: + +let + + toolsBazel = writeScript "bazel" '' + #! ${runtimeShell} + + export CXX='${stdenv.cc}/bin/clang++' + export LD='${darwin.cctools}/bin/ld' + export LIBTOOL='${darwin.cctools}/bin/libtool' + export CC='${stdenv.cc}/bin/clang' + + # XXX: hack for macosX, this flags disable bazel usage of xcode + # See: https://github.com/bazelbuild/bazel/issues/4231 + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + exec "$BAZEL_REAL" "$@" + ''; + + workspaceDir = runLocal "our_workspace" {} ('' + cp -r ${bazel-examples}/java-tutorial $out + find $out -type d -exec chmod 755 {} \; + '' + + (lib.optionalString stdenv.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '')); + + testBazel = bazelTest { + name = "bazel-test-java"; + inherit workspaceDir; + bazelPkg = bazel; + buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ]; + bazelScript = '' + ${bazel}/bin/bazel \ + run \ + --distdir=${distDir} \ + --verbose_failures \ + --curses=no \ + --sandbox_debug \ + --strict_java_deps=off \ + //:ProjectRunner \ + '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' + --host_javabase='@local_jdk//:jdk' \ + --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \ + --javabase='@local_jdk//:jdk' \ + ''; + }; + +in testBazel + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch new file mode 100644 index 000000000000..95f07646802e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch @@ -0,0 +1,43 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +index 8e772005cd..6ffa1c919c 100644 +--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java ++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +@@ -432,25 +432,7 @@ public final class RepositoryDelegatorFunction implements SkyFunction { + String content; + try { + content = FileSystemUtils.readContent(markerPath, StandardCharsets.UTF_8); +- String markerRuleKey = readMarkerFile(content, markerData); +- boolean verified = false; +- if (Preconditions.checkNotNull(ruleKey).equals(markerRuleKey) +- && Objects.equals( +- markerData.get(MANAGED_DIRECTORIES_MARKER), +- this.markerData.get(MANAGED_DIRECTORIES_MARKER))) { +- verified = handler.verifyMarkerData(rule, markerData, env); +- if (env.valuesMissing()) { +- return null; +- } +- } +- +- if (verified) { +- return new Fingerprint().addString(content).digestAndReset(); +- } else { +- // So that we are in a consistent state if something happens while fetching the repository +- markerPath.delete(); +- return null; +- } ++ return new Fingerprint().addString(content).digestAndReset(); + } catch (IOException e) { + throw new RepositoryFunctionException(e, Transience.TRANSIENT); + } +diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +index c282d57ab6..f9b0c08627 100644 +--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java ++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java +@@ -146,7 +146,6 @@ public class JavaSubprocessFactory implements SubprocessFactory { + ProcessBuilder builder = new ProcessBuilder(); + builder.command(params.getArgv()); + if (params.getEnv() != null) { +- builder.environment().clear(); + builder.environment().putAll(params.getEnv()); + } + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix new file mode 100644 index 000000000000..ddb2efdbf8e8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix @@ -0,0 +1,187 @@ +{ + bazel +, bazelTest +, fetchFromGitHub +, fetchurl +, stdenv +, darwin +, lib +, openjdk8 +, jdk11_headless +, runLocal +, runtimeShell +, writeScript +, writeText +, distDir +}: + +let + com_google_protobuf = fetchFromGitHub { + owner = "protocolbuffers"; + repo = "protobuf"; + rev = "v3.13.0"; + sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd"; + }; + + bazel_skylib = fetchFromGitHub { + owner = "bazelbuild"; + repo = "bazel-skylib"; + rev = "2ec2e6d715e993d96ad6222770805b5bd25399ae"; + sha256 = "1z2r2vx6kj102zvp3j032djyv99ski1x1sl4i3p6mswnzrzna86s"; + }; + + rules_python = fetchFromGitHub { + owner = "bazelbuild"; + repo = "rules_python"; + rev = "c8c79aae9aa1b61d199ad03d5fe06338febd0774"; + sha256 = "1zn58wv5wcylpi0xj7riw34i1jjpqahanxx8y9srwrv0v93b6pqz"; + }; + + rules_proto = fetchFromGitHub { + owner = "bazelbuild"; + repo = "rules_proto"; + rev = "a0761ed101b939e19d83b2da5f59034bffc19c12"; + sha256 = "09lqfj5fxm1fywxr5w8pnpqd859gb6751jka9fhxjxjzs33glhqf"; + }; + + net_zlib = fetchurl rec { + url = "https://zlib.net/zlib-1.2.11.tar.gz"; + sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1"; + + passthru.sha256 = sha256; + }; + + WORKSPACE = writeText "WORKSPACE" '' + workspace(name = "our_workspace") + + load("//:proto-support.bzl", "protobuf_deps") + protobuf_deps() + load("@rules_proto//proto:repositories.bzl", "rules_proto_toolchains") + rules_proto_toolchains() + ''; + + protoSupport = writeText "proto-support.bzl" '' + """Load dependencies needed to compile the protobuf library as a 3rd-party consumer.""" + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + + def protobuf_deps(): + """Loads common dependencies needed to compile the protobuf library.""" + + if "zlib" not in native.existing_rules(): + # proto_library, cc_proto_library, and java_proto_library rules implicitly + # depend on @com_google_protobuf for protoc and proto runtimes. + # This statement defines the @com_google_protobuf repo. + native.local_repository( + name = "com_google_protobuf", + path = "${com_google_protobuf}", + ) + native.local_repository( + name = "bazel_skylib", + path = "${bazel_skylib}", + ) + native.local_repository( + name = "rules_proto", + path = "${rules_proto}", + ) + native.local_repository( + name = "rules_python", + path = "${rules_python}", + ) + + http_archive( + name = "zlib", + build_file = "@com_google_protobuf//:third_party/zlib.BUILD", + sha256 = "${net_zlib.sha256}", + strip_prefix = "zlib-1.2.11", + urls = ["file://${net_zlib}"], + ) + ''; + + personProto = writeText "person.proto" '' + syntax = "proto3"; + + package person; + + message Person { + string name = 1; + int32 id = 2; + string email = 3; + } + ''; + + personBUILD = writeText "BUILD" '' + load("@rules_proto//proto:defs.bzl", "proto_library") + + proto_library( + name = "person_proto", + srcs = ["person.proto"], + visibility = ["//visibility:public"], + ) + + java_proto_library( + name = "person_java_proto", + deps = [":person_proto"], + ) + + cc_proto_library( + name = "person_cc_proto", + deps = [":person_proto"], + ) + ''; + + toolsBazel = writeScript "bazel" '' + #! ${runtimeShell} + + export CXX='${stdenv.cc}/bin/clang++' + export LD='${darwin.cctools}/bin/ld' + export LIBTOOL='${darwin.cctools}/bin/libtool' + export CC='${stdenv.cc}/bin/clang' + + # XXX: hack for macosX, this flags disable bazel usage of xcode + # See: https://github.com/bazelbuild/bazel/issues/4231 + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + exec "$BAZEL_REAL" "$@" + ''; + + workspaceDir = runLocal "our_workspace" {} ('' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + touch $out/BUILD.bazel + cp ${protoSupport} $out/proto-support.bzl + mkdir $out/person + cp ${personProto} $out/person/person.proto + cp ${personBUILD} $out/person/BUILD.bazel + '' + + (lib.optionalString stdenv.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '')); + + testBazel = bazelTest { + name = "bazel-test-protocol-buffers"; + inherit workspaceDir; + bazelPkg = bazel; + buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ]; + bazelScript = '' + ${bazel}/bin/bazel \ + build \ + --distdir=${distDir} \ + --verbose_failures \ + --curses=no \ + --sandbox_debug \ + --strict_java_deps=off \ + --strict_proto_deps=off \ + //... \ + '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' + --host_javabase='@local_jdk//:jdk' \ + --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \ + --javabase='@local_jdk//:jdk' \ + '' + lib.optionalString (stdenv.isDarwin) '' + --cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \ + --linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \ + ''; + }; + +in testBazel diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix new file mode 100644 index 000000000000..d560b0af848c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix @@ -0,0 +1,83 @@ +{ + bazel +, bazelTest +, stdenv +, darwin +, lib +, runLocal +, runtimeShell +, writeScript +, writeText +, distDir +}: + +let + toolsBazel = writeScript "bazel" '' + #! ${runtimeShell} + + export CXX='${stdenv.cc}/bin/clang++' + export LD='${darwin.cctools}/bin/ld' + export LIBTOOL='${darwin.cctools}/bin/libtool' + export CC='${stdenv.cc}/bin/clang' + + # XXX: hack for macosX, this flags disable bazel usage of xcode + # See: https://github.com/bazelbuild/bazel/issues/4231 + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + exec "$BAZEL_REAL" "$@" + ''; + + WORKSPACE = writeText "WORKSPACE" '' + workspace(name = "our_workspace") + ''; + + pythonLib = writeText "lib.py" '' + def foo(): + return 43 + ''; + + pythonBin = writeText "bin.py" '' + from lib import foo + + assert foo() == 43 + ''; + + pythonBUILD = writeText "BUILD" '' + py_library( + name = "lib", + srcs = [ "lib.py" ], + ) + + py_binary( + name = "bin", + srcs = [ "bin.py" ], + deps = [ ":lib" ], + ) + ''; + + workspaceDir = runLocal "our_workspace" {} ('' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + mkdir $out/python + cp ${pythonLib} $out/python/lib.py + cp ${pythonBin} $out/python/bin.py + cp ${pythonBUILD} $out/python/BUILD.bazel + '' + + (lib.optionalString stdenv.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '')); + + testBazel = bazelTest { + name = "bazel-test-builtin-rules"; + inherit workspaceDir; + bazelPkg = bazel; + bazelScript = '' + ${bazel}/bin/bazel \ + run \ + --distdir=${distDir} \ + //python:bin + ''; + }; + +in testBazel diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix new file mode 100644 index 000000000000..fd94f97a7659 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/shebang-test.nix @@ -0,0 +1,49 @@ +{ + bazel +, bazelTest +, distDir +, extracted +, runLocal +, unzip +}: + +# Tests that all shebangs are patched appropriately. +# #!/usr/bin/... should be replaced by Nix store references. +# #!.../bin/env python should be replaced by Nix store reference to the python interpreter. + +let + + workspaceDir = runLocal "our_workspace" {} "mkdir $out"; + + testBazel = bazelTest { + name = "bazel-test-shebangs"; + inherit workspaceDir; + bazelPkg = bazel; + bazelScript = '' + set -ueo pipefail + FAIL= + check_shebangs() { + local dir="$1" + { grep -Re '#!/usr/bin' $dir && FAIL=1; } || true + { grep -Re '#![^[:space:]]*/bin/env' $dir && FAIL=1; } || true + } + BAZEL_EXTRACTED=${extracted bazel}/install + check_shebangs $BAZEL_EXTRACTED + while IFS= read -r -d "" zip; do + unzipped="./$zip/UNPACKED" + mkdir -p "$unzipped" + unzip -qq $zip -d "$unzipped" + check_shebangs "$unzipped" + rm -rf unzipped + done < <(find $BAZEL_EXTRACTED -type f -name '*.zip' -or -name '*.jar' -print0) + if [[ $FAIL = 1 ]]; then + echo "Found files in the bazel distribution with illegal shebangs." >&2 + echo "Replace those by explicit Nix store paths." >&2 + echo "Python scripts should not use \`bin/env python' but the Python interpreter's store path." >&2 + exit 1 + fi + ''; + buildInputs = [ unzip ]; + }; + +in testBazel diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch new file mode 100644 index 000000000000..1402c20f6bdb --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/strict_action_env.patch @@ -0,0 +1,13 @@ +diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +index a70b5559bc..10bdffe961 100644 +--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java ++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +@@ -466,7 +466,7 @@ public class BazelRuleClassProvider { + // Note that --action_env does not propagate to the host config, so it is not a viable + // workaround when a genrule is itself built in the host config (e.g. nested genrules). See + // #8536. +- return "/bin:/usr/bin:/usr/local/bin"; ++ return "@strictActionEnvPatch@"; + } + + String newPath = ""; diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/trim-last-argument-to-gcc-if-empty.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/trim-last-argument-to-gcc-if-empty.patch new file mode 100644 index 000000000000..b93b252f3638 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/trim-last-argument-to-gcc-if-empty.patch @@ -0,0 +1,37 @@ +From 177b4720d6fbaa7fdd17e5e11b2c79ac8f246786 Mon Sep 17 00:00:00 2001 +From: "Wael M. Nasreddine" <wael.nasreddine@gmail.com> +Date: Thu, 27 Jun 2019 21:08:51 -0700 +Subject: [PATCH] Trim last argument to gcc if empty, on Darwin + +On Darwin, the last argument to GCC is coming up as an empty string. +This is breaking the build of proto_library targets. However, I was not +able to reproduce with the example cpp project[0]. + +This commit removes the last argument if it's an empty string. This is +not a problem on Linux. + +[0]: https://github.com/bazelbuild/examples/tree/master/cpp-tutorial/stage3 +--- + tools/cpp/osx_cc_wrapper.sh.tpl | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/tools/cpp/osx_cc_wrapper.sh.tpl b/tools/cpp/osx_cc_wrapper.sh.tpl +index 4c85cd9b6b..6c611e3d25 100644 +--- a/tools/cpp/osx_cc_wrapper.sh.tpl ++++ b/tools/cpp/osx_cc_wrapper.sh.tpl +@@ -53,7 +53,11 @@ done + %{env} + + # Call the C++ compiler +-%{cc} "$@" ++if [[ ${*: -1} = "" ]]; then ++ %{cc} "${@:0:$#}" ++else ++ %{cc} "$@" ++fi + + function get_library_path() { + for libdir in ${LIB_DIRS}; do +-- +2.19.2 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py new file mode 100755 index 000000000000..4105aeeb11bc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 +import sys +import json + +if len(sys.argv) == 1: + print("usage: ./this-script WORKSPACE", file=sys.stderr) + print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr) + print("Hail Eris.", file=sys.stderr) + sys.exit(1) + +http_archives = [] + +# just the kw args are the dict { name, sha256, urls … } +def http_archive(**kw): + http_archives.append(kw) +# like http_file +def http_file(**kw): + http_archives.append(kw) + +# this is inverted from http_archive/http_file and bundles multiple archives +def distdir_tar(**kw): + for archive_name in kw['archives']: + http_archives.append({ + "name": archive_name, + "sha256": kw['sha256'][archive_name], + "urls": kw['urls'][archive_name] + }) + +# stubs for symbols we are not interested in +# might need to be expanded if new bazel releases add symbols to the workspace +def workspace(name): pass +def load(*args): pass +def bind(**kw): pass +def list_source_repository(**kw): pass +def new_local_repository(**kw): pass +def local_repository(**kw): pass +DOC_VERSIONS = [] +def stardoc_repositories(**kw): pass +def skydoc_repositories(**kw): pass +def rules_sass_dependencies(**kw): pass +def node_repositories(**kw): pass +def sass_repositories(**kw): pass +def register_execution_platforms(*args): pass +def rbe_autoconfig(*args, **kw): pass +def rules_pkg_dependencies(*args, **kw): pass +def winsdk_configure(*args, **kw): pass +def register_local_rc_exe_toolchains(*args, **kw): pass +def register_toolchains(*args, **kw): pass +def debian_deps(): pass +def grpc_deps(): pass +def grpc_extra_deps(): pass +def bazel_skylib_workspace(): pass + +# execute the WORKSPACE like it was python code in this module, +# using all the function stubs from above. +with open(sys.argv[1]) as f: + exec(f.read()) + +# transform to a dict with the names as keys +d = { el['name']: el for el in http_archives } + +print(json.dumps(d, sort_keys=True, indent=4)) diff --git a/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix new file mode 100644 index 000000000000..880184880db1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix @@ -0,0 +1,62 @@ +{ lib, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, pkg-config +, grpc +, protobuf +, openssl +, nlohmann_json +, gtest +, spdlog +, c-ares +, zlib +, sqlite +, re2 +}: + +stdenv.mkDerivation rec { + pname = "bear"; + version = "3.1.3"; + + src = fetchFromGitHub { + owner = "rizsotto"; + repo = pname; + rev = version; + hash = "sha256-1nZPzgLWcmaRkOUXdm16IW2Nw/p1w8GBGEfZX/v+En0="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ + grpc + protobuf + openssl + nlohmann_json + gtest + spdlog + c-ares + zlib + sqlite + re2 + ]; + + patches = [ + # Default libexec would be set to /nix/store/*-bear//nix/store/*-bear/libexec/... + ./no-double-relative.patch + ]; + + meta = with lib; { + broken = stdenv.isDarwin; + description = "Tool that generates a compilation database for clang tooling"; + longDescription = '' + Note: the bear command is very useful to generate compilation commands + e.g. for YouCompleteMe. You just enter your development nix-shell + and run `bear make`. It's not perfect, but it gets a long way. + ''; + homepage = "https://github.com/rizsotto/Bear"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ babariviere qyliss ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bear/no-double-relative.patch b/nixpkgs/pkgs/development/tools/build-managers/bear/no-double-relative.patch new file mode 100644 index 000000000000..e8087feb1afb --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bear/no-double-relative.patch @@ -0,0 +1,27 @@ +diff --git a/source/config.h.in b/source/config.h.in +index 6b659c2..f7bdf22 100644 +--- a/source/config.h.in ++++ b/source/config.h.in +@@ -108,8 +108,8 @@ namespace cmd { + } + + namespace wrapper { +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/wrapper"; +- constexpr char DEFAULT_DIR_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/wrapper.d"; ++ constexpr char DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/wrapper"; ++ constexpr char DEFAULT_DIR_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/wrapper.d"; + + constexpr char FLAG_VERBOSE[] = "--verbose"; + constexpr char FLAG_DESTINATION[] = "--destination"; +@@ -134,9 +134,9 @@ namespace cmd { + // And use the `libexec.so` path default value with a single path, + // that matches both. (The match can be achieved by the $LIB token + // expansion from the dynamic loader. See `man ld.so` for more.) +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/$LIB/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; ++ constexpr char DEFAULT_PATH[] = "$LIB/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; + #else +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; ++ constexpr char DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; + #endif + constexpr char KEY_REPORTER[] = "INTERCEPT_REPORT_COMMAND"; + constexpr char KEY_DESTINATION[] = "INTERCEPT_REPORT_DESTINATION"; diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix new file mode 100644 index 000000000000..62389d622ce8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix @@ -0,0 +1,72 @@ +{ stdenv +, fetchurl +, autoPatchelfHook +, installShellFiles +, makeWrapper +, jre +, lib +, zlib +}: + +stdenv.mkDerivation rec { + pname = "bloop"; + version = "1.5.8"; + + platform = + if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux" + else if stdenv.isDarwin && stdenv.isx86_64 then "x86_64-apple-darwin" + else throw "unsupported platform"; + + bloop-bash = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bash-completions"; + sha256 = "sha256-2mt+zUEJvQ/5ixxFLZ3Z0m7uDSj/YE9sg/uNMjamvdE="; + }; + + bloop-fish = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/fish-completions"; + sha256 = "sha256-eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4="; + }; + + bloop-zsh = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/zsh-completions"; + sha256 = "sha256-WNMsPwBfd5EjeRbRtc06lCEVI2FVoLfrqL82OR0G7/c="; + }; + + bloop-binary = fetchurl rec { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}"; + sha256 = + if stdenv.isLinux && stdenv.isx86_64 then "sha256-KqfXNk89VHhRbTK0kBiO02q/sfp3bs674lU3gUpwAi0=" + else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-1MmX7icqUJgU5y9vYSE4nMzJfLH1SJvYJ24kw697HuY=" + else throw "unsupported platform"; + }; + + dontUnpack = true; + nativeBuildInputs = [ installShellFiles makeWrapper ] + ++ lib.optional stdenv.isLinux autoPatchelfHook; + buildInputs = [ stdenv.cc.cc.lib zlib ]; + propagatedBuildInputs = [ jre ]; + + installPhase = '' + runHook preInstall + + install -D -m 0755 ${bloop-binary} $out/.bloop-wrapped + + makeWrapper $out/.bloop-wrapped $out/bin/bloop + + #Install completions + installShellCompletion --name bloop --bash ${bloop-bash} + installShellCompletion --name _bloop --zsh ${bloop-zsh} + installShellCompletion --name bloop.fish --fish ${bloop-fish} + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://scalacenter.github.io/bloop/"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.asl20; + description = "A Scala build server and command-line tool to make the compile and test developer workflows fast and productive in a build-tool-agnostic way"; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ kubukoz tomahna ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/bootstrap-fix.patch b/nixpkgs/pkgs/development/tools/build-managers/bmake/bootstrap-fix.patch new file mode 100644 index 000000000000..9b1267257ad1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/bootstrap-fix.patch @@ -0,0 +1,10 @@ +--- bmake/make-bootstrap.sh.in.orig 2019-02-19 10:55:21.733606117 -0800 ++++ bmake/make-bootstrap.sh.in 2019-02-19 10:56:02.150771541 -0800 +@@ -4,6 +4,7 @@ + + srcdir=@srcdir@ + ++prefix="@prefix@" + DEFAULT_SYS_PATH="@default_sys_path@" + + case "@use_meta@" in diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix new file mode 100644 index 000000000000..4373e534bc58 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix @@ -0,0 +1,108 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, getopt +, ksh +, tzdata +, pkgsMusl # for passthru.tests +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "bmake"; + version = "20230723"; + + src = fetchurl { + url = "http://www.crufty.net/ftp/pub/sjg/bmake-${finalAttrs.version}.tar.gz"; + hash = "sha256-xCoNlRuiP3ZlMxMJ+74h7cARNqI8uUFoULQxW+X7WQQ="; + }; + + patches = [ + # make bootstrap script aware of the prefix in /nix/store + ./bootstrap-fix.patch + # preserve PATH from build env in unit tests + ./fix-unexport-env-test.patch + # Always enable ksh test since it checks in a impure location /bin/ksh + ./unconditional-ksh-test.patch + # decouple tests from build phase + ./dont-test-while-installing.diff + ]; + + # Make tests work with musl + # * Disable deptgt-delete_on_error test (alpine does this too) + # * Disable shell-ksh test (ksh doesn't compile with musl) + # * Fix test failing due to different strerror(3) output for musl and glibc + postPatch = lib.optionalString (stdenv.hostPlatform.libc == "musl") '' + sed -i unit-tests/Makefile \ + -e '/deptgt-delete_on_error/d' \ + -e '/shell-ksh/d' + substituteInPlace unit-tests/opt-chdir.exp --replace "File name" "Filename" + ''; + + nativeBuildInputs = [ getopt ]; + + # The generated makefile is a small wrapper for calling ./boot-strap with a + # given op. On a case-insensitive filesystem this generated makefile clobbers + # a distinct, shipped, Makefile and causes infinite recursion during tests + # which eventually fail with "fork: Resource temporarily unavailable" + configureFlags = [ + "--without-makefile" + ]; + + buildPhase = '' + runHook preBuild + + ./boot-strap --prefix=$out -o . op=build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + ./boot-strap --prefix=$out -o . op=install + + runHook postInstall + ''; + + doCheck = true; + + nativeCheckInputs = [ + tzdata + ] ++ lib.optionals (stdenv.hostPlatform.libc != "musl") [ + ksh + ]; + + # Disabled tests: + # opt-chdir: ofborg complains about it somehow + # opt-keep-going-indirect: not yet known + # varmod-localtime: musl doesn't support TZDIR and this test relies on impure, + # implicit paths + env.BROKEN_TESTS = builtins.concatStringsSep " " [ + "opt-chdir" + "opt-keep-going-indirect" + "varmod-localtime" + ]; + + checkPhase = '' + runHook preCheck + + ./boot-strap -o . op=test + + runHook postCheck + ''; + + setupHook = ./setup-hook.sh; + + passthru.tests.bmakeMusl = pkgsMusl.bmake; + + meta = { + homepage = "http://www.crufty.net/help/sjg/bmake.html"; + description = "Portable version of NetBSD 'make'"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ thoughtpolice AndersonTorres ]; + platforms = lib.platforms.unix; + broken = stdenv.isAarch64; # failure on gnulib-tests + }; +}) +# TODO: report the quirks and patches to bmake devteam (especially the Musl one) diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/dont-test-while-installing.diff b/nixpkgs/pkgs/development/tools/build-managers/bmake/dont-test-while-installing.diff new file mode 100644 index 000000000000..ab9399920c24 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/dont-test-while-installing.diff @@ -0,0 +1,21 @@ +diff -Naur bmake-old/boot-strap bmake-new/boot-strap +--- bmake-old/boot-strap 2023-06-27 18:02:19.000000000 -0300 ++++ bmake-new/boot-strap 2023-07-23 22:31:02.334720661 -0300 +@@ -413,9 +413,6 @@ + [ -s make-bootstrap.sh ] || op_configure + chmod 755 make-bootstrap.sh || exit 1 + ./make-bootstrap.sh || exit 1 +- case "$op" in +- build) op_test;; +- esac + } + + op_test() { +@@ -434,7 +431,6 @@ + } + + op_install() { +- op_test + case "$INSTALL_PREFIX,$INSTALL_BIN,$prefix" in + ,$HOST_TARGET/bin,*/$HOST_TARGET) + INSTALL_PREFIX=`dirname $prefix` diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/fix-unexport-env-test.patch b/nixpkgs/pkgs/development/tools/build-managers/bmake/fix-unexport-env-test.patch new file mode 100644 index 000000000000..fbf7225a6d6f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/fix-unexport-env-test.patch @@ -0,0 +1,13 @@ +--- bmake/unit-tests/unexport-env.mk.orig 2021-05-27 14:44:45.263392298 +0200 ++++ bmake/unit-tests/unexport-env.mk 2021-05-27 14:46:46.188881996 +0200 +@@ -4,8 +4,8 @@ + FILTER_CMD= grep ^UT_ + .include "export.mk" + +-# an example of setting up a minimal environment. +-PATH= /bin:/usr/bin:/sbin:/usr/sbin ++# preserve PATH so commands used in the "all" target are still available ++PATH := ${PATH} + + # now clobber the environment to just PATH and UT_TEST + UT_TEST= unexport-env diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/bmake/setup-hook.sh new file mode 100644 index 000000000000..a36d024b111e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/setup-hook.sh @@ -0,0 +1,122 @@ +# shellcheck shell=bash disable=SC2086,SC2154,SC2206 + +addMakeFlags() { + export prefix="$out" + export MANDIR="${!outputMan}/share/man" + export MANTARGET=man + export BINOWN= + export STRIP_FLAG= +} + +bmakeBuildPhase() { + runHook preBuild + + local flagsArray=( + ${enableParallelBuilding:+-j${NIX_BUILD_CORES}} + SHELL="$SHELL" + $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} + $buildFlags ${buildFlagsArray+"${buildFlagsArray[@]}"} + ) + + echoCmd 'build flags' "${flagsArray[@]}" + bmake ${makefile:+-f $makefile} "${flagsArray[@]}" + + runHook postBuild +} + +bmakeCheckPhase() { + runHook preCheck + + if [ -z "${checkTarget:-}" ]; then + #TODO(@oxij): should flagsArray influence make -n? + if bmake -n ${makefile:+-f $makefile} check >/dev/null 2>&1; then + checkTarget="check" + elif bmake -n ${makefile:+-f $makefile} test >/dev/null 2>&1; then + checkTarget="test" + fi + fi + + if [ -z "${checkTarget:-}" ]; then + echo "no test target found in bmake, doing nothing" + else + local flagsArray=( + ${enableParallelChecking:+-j${NIX_BUILD_CORES}} + SHELL="$SHELL" + # Old bash empty array hack + $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} + ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"} + ${checkTarget} + ) + + echoCmd 'check flags' "${flagsArray[@]}" + bmake ${makefile:+-f $makefile} "${flagsArray[@]}" + fi + + runHook postCheck +} + +bmakeInstallPhase() { + runHook preInstall + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + local flagsArray=( + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} + SHELL="$SHELL" + # Old bash empty array hack + $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} + $installFlags ${installFlagsArray+"${installFlagsArray[@]}"} + ${installTargets:-install} + ) + + echoCmd 'install flags' "${flagsArray[@]}" + bmake ${makefile:+-f $makefile} "${flagsArray[@]}" + + runHook postInstall +} + +bmakeDistPhase() { + runHook preDist + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + # Old bash empty array hack + local flagsArray=( + $distFlags ${distFlagsArray+"${distFlagsArray[@]}"} ${distTarget:-dist} + ) + + echo 'dist flags: %q' "${flagsArray[@]}" + bmake ${makefile:+-f $makefile} "${flagsArray[@]}" + + if [ "${dontCopyDist:-0}" != 1 ]; then + mkdir -p "$out/tarballs" + + # Note: don't quote $tarballs, since we explicitly permit + # wildcards in there. + cp -pvd ${tarballs:-*.tar.gz} "$out/tarballs" + fi + + runHook postDist +} + +preConfigureHooks+=(addMakeFlags) + +if [ -z "${dontUseBmakeBuild-}" ] && [ -z "${buildPhase-}" ]; then + buildPhase=bmakeBuildPhase +fi + +if [ -z "${dontUseBmakeCheck-}" ] && [ -z "${checkPhase-}" ]; then + checkPhase=bmakeCheckPhase +fi + +if [ -z "${dontUseBmakeInstall-}" ] && [ -z "${installPhase-}" ]; then + installPhase=bmakeInstallPhase +fi + +if [ -z "${dontUseBmakeDist-}" ] && [ -z "${distPhase-}" ]; then + distPhase=bmakeDistPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch b/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch new file mode 100644 index 000000000000..117b85da16d1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch @@ -0,0 +1,12 @@ +--- bmake/unit-tests/Makefile.orig 2021-07-04 19:13:09.068094922 +0200 ++++ bmake/unit-tests/Makefile 2021-07-04 19:13:14.630080696 +0200 +@@ -295,9 +295,7 @@ + TESTS+= sh-single-line + TESTS+= shell-csh + TESTS+= shell-custom +-.if exists(/bin/ksh) + TESTS+= shell-ksh +-.endif + TESTS+= shell-sh + TESTS+= suff-add-later + TESTS+= suff-clear-regular diff --git a/nixpkgs/pkgs/development/tools/build-managers/bob/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bob/default.nix new file mode 100644 index 000000000000..2a8a1eda465a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bob/default.nix @@ -0,0 +1,29 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "bob"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "benchkram"; + repo = pname; + rev = version; + hash = "sha256-zmWfOLBb+GWw9v6LdCC7/WaP1Wz7UipPwqkmI1+rG8Q="; + }; + + ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + + vendorHash = "sha256-S1XUgjdSVTWXehOLCxXcvj0SH12cxqvYadVlCw/saF4="; + + excludedPackages = [ "example/server-db" "test/e2e" "tui-example" ]; + + # tests require network access + doCheck = false; + + meta = with lib; { + description = "A build system for microservices"; + homepage = "https://bob.build"; + license = licenses.asl20; + maintainers = with maintainers; [ zuzuleinen ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/boot/builder.sh b/nixpkgs/pkgs/development/tools/build-managers/boot/builder.sh new file mode 100644 index 000000000000..e007cbac9582 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/boot/builder.sh @@ -0,0 +1,14 @@ +if [ -e .attrs.sh ]; then source .attrs.sh; fi +source $stdenv/setup + +boot_bin=$out/bin/boot + +mkdir -pv $(dirname $boot_bin) +cp -v $src $boot_bin +chmod -v 755 $boot_bin + +patchShebangs $boot_bin + +sed -i \ + -e "s;\${BOOT_JAVA_COMMAND:-java};\${BOOT_JAVA_COMMAND:-${jdk}/bin/java};g" \ + $boot_bin diff --git a/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix b/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix new file mode 100644 index 000000000000..1590906206c1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchurl, jdk }: + +stdenv.mkDerivation rec { + version = "2.7.2"; + pname = "boot"; + + src = fetchurl { + url = "https://github.com/boot-clj/boot-bin/releases/download/${version}/boot.sh"; + sha256 = "1hqp3xxmsj5vkym0l3blhlaq9g3w0lhjgmp37g6y3rr741znkk8c"; + }; + + inherit jdk; + + builder = ./builder.sh; + + propagatedBuildInputs = [ jdk ]; + + meta = with lib; { + description = "Build tooling for Clojure"; + homepage = "https://boot-clj.github.io/"; + license = licenses.epl10; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ ragge ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix b/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix new file mode 100644 index 000000000000..d283e1e321db --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/buck/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv, fetchFromGitHub, jdk8, ant, python3, watchman, bash, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "buck"; + version = "2022.05.05.01"; + + src = fetchFromGitHub { + owner = "facebook"; + repo = pname; + rev = "v${version}"; + sha256 = "15v4sk1l43pgd5jxr5lxnh0ks6vb3xk5253n66s7vvsnph48j14q"; + }; + + patches = [ ./pex-mtime.patch ]; + + postPatch = '' + grep -l -r '/bin/bash' --null | xargs -0 sed -i -e "s!/bin/bash!${bash}/bin/bash!g" + ''; + + nativeBuildInputs = [ makeWrapper python3 jdk8 ant watchman ]; + + buildPhase = '' + # Set correct version, see https://github.com/facebook/buck/issues/2607 + echo v${version} > .buckrelease + + ant + + PYTHONDONTWRITEBYTECODE=true ./bin/buck build -c buck.release_version=${version} buck + ''; + + installPhase = '' + install -D -m755 buck-out/gen/*/programs/buck.pex $out/bin/buck + wrapProgram $out/bin/buck \ + --prefix PATH : "${lib.makeBinPath [ jdk8 watchman python3 ]}" + ''; + + meta = with lib; { + homepage = "https://buck.build/"; + description = "A high-performance build tool"; + maintainers = [ maintainers.jgertm maintainers.marsam ]; + license = licenses.asl20; + platforms = platforms.all; + # https://github.com/facebook/buck/issues/2666 + broken = stdenv.isDarwin && stdenv.isAarch64; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/buck/pex-mtime.patch b/nixpkgs/pkgs/development/tools/build-managers/buck/pex-mtime.patch new file mode 100644 index 000000000000..b8726e64a604 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/buck/pex-mtime.patch @@ -0,0 +1,13 @@ +diff --git a/third-party/py/pex/pex/common.py b/third-party/py/pex/pex/common.py +index 76459ce23..eff411b20 100644 +--- a/third-party/py/pex/pex/common.py ++++ b/third-party/py/pex/pex/common.py +@@ -328,4 +328,7 @@ class Chroot(object): + def zip(self, filename, mode='wb'): + with contextlib.closing(zipfile.ZipFile(filename, mode)) as zf: + for f in sorted(self.files()): +- zf.write(os.path.join(self.chroot, f), arcname=f, compress_type=zipfile.ZIP_DEFLATED) ++ path = os.path.join(self.chroot, f) ++ instant = 615532801 ++ os.utime(path, (instant, instant)) ++ zf.write(path, arcname=f, compress_type=zipfile.ZIP_DEFLATED) diff --git a/nixpkgs/pkgs/development/tools/build-managers/buck2/default.nix b/nixpkgs/pkgs/development/tools/build-managers/buck2/default.nix new file mode 100644 index 000000000000..829cf2bb89b0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/buck2/default.nix @@ -0,0 +1,120 @@ +{ fetchurl, lib, stdenv, zstd +, testers, buck2 # for passthru.tests +}: + +# NOTE (aseipp): buck2 uses a precompiled binary build for good reason — the +# upstream codebase extensively uses unstable `rustc` nightly features, and as a +# result can't be built upstream in any sane manner. it is only ever tested and +# integrated against a single version of the compiler, which produces all usable +# binaries. you shouldn't try to workaround this or get clever and think you can +# patch it to work; just accept it for now. it is extremely unlikely buck2 will +# build with a stable compiler anytime soon; see related upstream issues: +# +# - NixOS/nixpkgs#226677 +# - NixOS/nixpkgs#232471 +# - facebook/buck2#265 +# - facebook/buck2#322 +# +# worth noting: it *is* possible to build buck2 from source using +# buildRustPackage, and it works fine, but only if you are using flakes and can +# import `rust-overlay` from somewhere else to vendor your compiler. See +# nixos/nixpkgs#226677 for more information about that. + +# NOTE (aseipp): this expression is mostly automated, and you are STRONGLY +# RECOMMENDED to use to nix-update for updating this expression when new +# releases come out, which runs the sibling `update.sh` script. +# +# from the root of the nixpkgs git repository, run: +# +# nix-shell maintainers/scripts/update.nix \ +# --argstr commit true \ +# --argstr package buck2 + +let + + # build hashes, which correspond to the hashes of the precompiled binaries + # procued by GitHub Actions. this also includes the hash for a download of a + # compatible buck2-prelude + buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); + + # our version of buck2; this should be a git tag + version = "2023-09-01"; + + # the platform-specific, statically linked binary — which is also + # zstd-compressed + src = + let + suffix = { + # map our platform name to the rust toolchain suffix + # NOTE (aseipp): must be synchronized with update.sh! + x86_64-darwin = "x86_64-apple-darwin"; + aarch64-darwin = "aarch64-apple-darwin"; + x86_64-linux = "x86_64-unknown-linux-musl"; + aarch64-linux = "aarch64-unknown-linux-musl"; + }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + name = "buck2-${version}-${suffix}.zst"; + hash = buildHashes."${stdenv.hostPlatform.system}"; + url = "https://github.com/facebook/buck2/releases/download/${version}/buck2-${suffix}.zst"; + in fetchurl { inherit name url hash; }; + + # compatible version of buck2 prelude; this is exported via passthru.prelude + # for downstream consumers to use when they need to automate any kind of + # tooling + prelude-src = + let + prelude-hash = "3526cf5512668040e011d67e1e272da588264f3b"; + name = "buck2-prelude-${version}.tar.gz"; + hash = buildHashes."_prelude"; + url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz"; + in fetchurl { inherit name url hash; }; + +in stdenv.mkDerivation { + pname = "buck2"; + version = "unstable-${version}"; # TODO (aseipp): kill 'unstable' once a non-prerelease is made + inherit src; + + nativeBuildInputs = [ zstd ]; + + doCheck = true; + dontConfigure = true; + dontStrip = true; + + unpackPhase = "unzstd ${src} -o ./buck2"; + buildPhase = "chmod +x ./buck2"; + checkPhase = "./buck2 --version"; + installPhase = '' + mkdir -p $out/bin + install -D buck2 $out/bin/buck2 + ''; + + passthru = { + prelude = prelude-src; + + updateScript = ./update.sh; + tests = testers.testVersion { + package = buck2; + + # NOTE (aseipp): the buck2 --version command doesn't actually print out + # the given version tagged in the release, but a hash, but not the git + # hash; the entire version logic is bizarrely specific to buck2, and needs + # to be reworked the open source build to behave like expected. in the + # mean time, it *does* always print out 'buck2 <hash>...' so we can just + # match on "buck2" + version = "buck2"; + }; + }; + + meta = with lib; { + description = "Fast, hermetic, multi-language build system"; + homepage = "https://buck2.build"; + changelog = "https://github.com/facebook/buck2/releases/tag/${version}"; + license = with licenses; [ asl20 /* or */ mit ]; + mainProgram = "buck2"; + maintainers = with maintainers; [ thoughtpolice ]; + platforms = [ + "x86_64-linux" "aarch64-linux" + "x86_64-darwin" "aarch64-darwin" + ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/buck2/hashes.json b/nixpkgs/pkgs/development/tools/build-managers/buck2/hashes.json new file mode 100644 index 000000000000..16575e64ca2e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/buck2/hashes.json @@ -0,0 +1,7 @@ +{ "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" +, "_prelude": "sha256-0ib3TuGLNy23wRHySOySBIc5ZHtM/vfb6GWmrq63v2o=" +, "x86_64-linux": "sha256-Xykduicmmugp7iLyTm4r4JGp6k0IX2czTJq9Y1CkvRw=" +, "x86_64-darwin": "sha256-v9a0WAlSUEpXsZouILEI4Pk0x/4MaVDgKVUzu26CIC8=" +, "aarch64-linux": "sha256-3S2eih5sFUMFQD4QlBVONm7n3CFNkJHiK4xBjHjXvPs=" +, "aarch64-darwin": "sha256-xGNaZayKVa1PToPNUPROV/UYRdw51xai60emNEC1lZ4=" +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/buck2/update.sh b/nixpkgs/pkgs/development/tools/build-managers/buck2/update.sh new file mode 100755 index 000000000000..179ab6f3601d --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/buck2/update.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env nix-shell +#!nix-shell -I nixpkgs=./. -i bash -p curl jq nix-prefetch common-updater-scripts nix coreutils +# shellcheck shell=bash +set -euo pipefail + +VERSION=$(curl -s https://api.github.com/repos/facebook/buck2/releases \ + | jq -r 'sort_by(.created_at) | reverse | + (map + (select ((.prerelease == true) and (.name != "latest"))) | + first + ) | .name') +PRELUDE_HASH=$(curl -sLo - "https://github.com/facebook/buck2/releases/download/${VERSION}/prelude_hash") +PRELUDE_DL_URL="https://github.com/facebook/buck2-prelude/archive/${PRELUDE_HASH}.tar.gz" + +echo "Latest buck2 prerelease: $VERSION" +echo "Compatible buck2-prelude hash: $PRELUDE_HASH" + +ARCHS=( + "x86_64-linux:x86_64-unknown-linux-musl" + "x86_64-darwin:x86_64-apple-darwin" + "aarch64-linux:aarch64-unknown-linux-musl" + "aarch64-darwin:aarch64-apple-darwin" +) + +NFILE=pkgs/development/tools/build-managers/buck2/default.nix +HFILE=pkgs/development/tools/build-managers/buck2/hashes.json +rm -f "$HFILE" && touch "$HFILE" + +PRELUDE_SHA256HASH="$(nix-prefetch-url --type sha256 "$PRELUDE_DL_URL")" +PRELUDE_SRIHASH="$(nix hash to-sri --type sha256 "$PRELUDE_SHA256HASH")" + +printf "{ \"_comment\": \"@generated by pkgs/development/tools/build-managers/buck2/update.sh\"\n" >> "$HFILE" +printf ", \"_prelude\": \"$PRELUDE_SRIHASH\"\n" >> "$HFILE" + +for arch in "${ARCHS[@]}"; do + IFS=: read -r arch_name arch_target <<< "$arch" + sha256hash="$(nix-prefetch-url --type sha256 "https://github.com/facebook/buck2/releases/download/${VERSION}/buck2-${arch_target}.zst")" + srihash="$(nix hash to-sri --type sha256 "$sha256hash")" + echo ", \"$arch_name\": \"$srihash\"" >> "$HFILE" +done +echo "}" >> "$HFILE" + +sed -i \ + '0,/version\s*=\s*".*";/s//version = "'"$VERSION"'";/' \ + "$NFILE" + +sed -i \ + '0,/prelude-hash\s*=\s*".*";/s//prelude-hash = "'"$PRELUDE_HASH"'";/' \ + "$NFILE" + +echo "Done; wrote $HFILE and updated version in $NFILE." diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/bdep.nix b/nixpkgs/pkgs/development/tools/build-managers/build2/bdep.nix new file mode 100644 index 000000000000..5fe7e50e4b65 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/bdep.nix @@ -0,0 +1,50 @@ +{ lib, stdenv +, build2 +, fetchurl +, libbpkg +, libbutl +, libodb +, libodb-sqlite +, enableShared ? !stdenv.hostPlatform.isStatic +, enableStatic ? !enableShared +}: + +stdenv.mkDerivation rec { + pname = "bdep"; + version = "0.15.0"; + + outputs = [ "out" "doc" "man" ]; + src = fetchurl { + url = "https://pkg.cppget.org/1/alpha/build2/bdep-${version}.tar.gz"; + sha256 = "sha256-dZldNVeQJWim3INBtOaPYP8yQMH3sjBzCLEHemvdxnU="; + }; + + strictDeps = true; + nativeBuildInputs = [ + build2 + ]; + buildInputs = [ + libbpkg + libbutl + libodb + libodb-sqlite + ]; + + build2ConfigureFlags = [ + "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}" + ]; + + meta = with lib; { + description = "build2 project dependency manager"; + # https://build2.org/bdep/doc/bdep.xhtml + longDescription = '' + The build2 project dependency manager is used to manage the dependencies + of a project during development. + ''; + homepage = "https://build2.org/"; + changelog = "https://git.build2.org/cgit/bdep/tree/NEWS"; + license = licenses.mit; + maintainers = with maintainers; [ r-burns ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/bootstrap.nix b/nixpkgs/pkgs/development/tools/build-managers/build2/bootstrap.nix new file mode 100644 index 000000000000..ecb352def6ab --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/bootstrap.nix @@ -0,0 +1,54 @@ +{ lib, stdenv +, fetchurl +, pkgs +, buildPackages +, fixDarwinDylibNames +}: +stdenv.mkDerivation rec { + pname = "build2-bootstrap"; + version = "0.15.0"; + src = fetchurl { + url = "https://download.build2.org/${version}/build2-toolchain-${version}.tar.xz"; + sha256 = "1i1p52fr5sjs5yz6hqhljwhc148mvs4fyq0cf7wjg5pbv9wzclji"; + }; + patches = [ + # Pick up sysdirs from NIX_LDFLAGS + ./nix-ldflags-sysdirs.patch + ]; + + sourceRoot = "build2-toolchain-${version}/build2"; + makefile = "bootstrap.gmake"; + enableParallelBuilding = true; + + setupHook = ./setup-hook.sh; + + strictDeps = true; + + propagatedBuildInputs = lib.optionals stdenv.targetPlatform.isDarwin [ + fixDarwinDylibNames + + # Build2 needs to use lld on Darwin because it creates thin archives when it detects `llvm-ar`, + # which ld64 does not support. + (lib.getBin buildPackages.llvmPackages_16.lld) + ]; + + doCheck = true; + checkPhase = '' + runHook preCheck + build2/b-boot --version + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + install -D build2/b-boot $out/bin/b + runHook postInstall + ''; + + postFixup = '' + substituteInPlace $out/nix-support/setup-hook \ + --subst-var-by isTargetDarwin '${toString stdenv.targetPlatform.isDarwin}' + ''; + + inherit (pkgs.build2) passthru; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/bpkg.nix b/nixpkgs/pkgs/development/tools/build-managers/build2/bpkg.nix new file mode 100644 index 000000000000..b244d92d3a1e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/bpkg.nix @@ -0,0 +1,79 @@ +{ lib, stdenv +, build2 +, fetchpatch +, fetchurl +, git +, libbpkg +, libbutl +, libodb +, libodb-sqlite +, openssl +, enableShared ? !stdenv.hostPlatform.isStatic +, enableStatic ? !enableShared +}: + +stdenv.mkDerivation rec { + pname = "bpkg"; + version = "0.15.0"; + + outputs = [ "out" "doc" "man" ]; + + src = fetchurl { + url = "https://pkg.cppget.org/1/alpha/build2/bpkg-${version}.tar.gz"; + sha256 = "sha256-3F4Pv8YX++cNa6aKhPM67mrt/5oE1IeoZUSmljHqBfI="; + }; + + patches = [ + # Patch git tests for git v2.38+ + # Remove when bumping to v0.16.0 or greater + (fetchpatch { + url = "https://github.com/build2/bpkg/commit/a97b12a027546b37f66d3e08064f92f5539cf79.patch"; + sha256 = "sha256-x5iJQXt84XyjZYdAmYO4FymSV2vi7nfIoeMOxFm/2eQ="; + }) + ]; + + strictDeps = true; + nativeBuildInputs = [ + build2 + ]; + buildInputs = [ + build2 + libbpkg + libbutl + libodb + libodb-sqlite + ]; + nativeCheckInputs = [ + git + openssl + ]; + + doCheck = !stdenv.isDarwin; # tests hang + + # Failing test + postPatch = '' + rm tests/rep-create.testscript + ''; + + build2ConfigureFlags = [ + "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}" + ]; + + postInstall = lib.optionalString stdenv.isDarwin '' + install_name_tool -add_rpath '${lib.getLib build2}/lib' "''${!outputBin}/bin/bpkg" + ''; + + meta = with lib; { + description = "build2 package dependency manager"; + # https://build2.org/bpkg/doc/bpkg.xhtml + longDescription = '' + The build2 package dependency manager is used to manipulate build + configurations, packages, and repositories. + ''; + homepage = "https://build2.org/"; + changelog = "https://git.build2.org/cgit/bpkg/tree/NEWS"; + license = licenses.mit; + maintainers = with maintainers; [ r-burns ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/default.nix b/nixpkgs/pkgs/development/tools/build-managers/build2/default.nix new file mode 100644 index 000000000000..85804b90decc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/default.nix @@ -0,0 +1,112 @@ +{ stdenv, lib +, build2 +, fetchurl +, fixDarwinDylibNames +, libbutl +, libpkgconf +, buildPackages +, enableShared ? !stdenv.hostPlatform.isStatic +, enableStatic ? !enableShared +}: +let + configSharedStatic = enableShared: enableStatic: + if enableShared && enableStatic then "both" + else if enableShared then "shared" + else if enableStatic then "static" + else throw "neither shared nor static libraries requested"; +in +stdenv.mkDerivation rec { + pname = "build2"; + version = "0.15.0"; + + outputs = [ "out" "dev" "doc" "man" ]; + + setupHook = ./setup-hook.sh; + + src = fetchurl { + url = "https://pkg.cppget.org/1/alpha/build2/build2-${version}.tar.gz"; + sha256 = "07369gw6zlad6nk29564kj17yp145l3dzbgrx04pyiyl1s84aa1r"; + }; + + patches = [ + # Remove any build/host config entries which refer to nix store paths + ./remove-config-store-paths.patch + # Pick up sysdirs from NIX_LDFLAGS + ./nix-ldflags-sysdirs.patch + + ./remove-const-void-param.patch + ]; + + strictDeps = true; + nativeBuildInputs = [ + build2 + ]; + disallowedReferences = [ + build2 + libbutl.dev + libpkgconf.dev + ]; + buildInputs = [ + libbutl + libpkgconf + ]; + + # Build2 uses @rpath on darwin + # https://github.com/build2/build2/issues/166 + # N.B. this only adjusts the install_name after all libraries are installed; + # packages containing multiple interdependent libraries may have + # LC_LOAD_DYLIB entries containing @rpath, requiring manual fixup + propagatedBuildInputs = lib.optionals stdenv.targetPlatform.isDarwin [ + fixDarwinDylibNames + + # Build2 needs to use lld on Darwin because it creates thin archives when it detects `llvm-ar`, + # which ld64 does not support. + (lib.getBin buildPackages.llvmPackages_16.lld) + ]; + + postPatch = '' + patchShebangs --build tests/bash/testscript + ''; + + build2ConfigureFlags = [ + "config.bin.lib=${configSharedStatic enableShared enableStatic}" + "config.cc.poptions+=-I${lib.getDev libpkgconf}/include/pkgconf" + "config.build2.libpkgconf=true" + ]; + + postInstall = lib.optionalString stdenv.isDarwin '' + install_name_tool -add_rpath "''${!outputLib}/lib" "''${!outputBin}/bin/b" + ''; + + postFixup = '' + substituteInPlace $dev/nix-support/setup-hook \ + --subst-var-by isTargetDarwin '${toString stdenv.targetPlatform.isDarwin}' + ''; + + passthru = { + bootstrap = build2; + inherit configSharedStatic; + }; + + meta = with lib; { + homepage = "https://www.build2.org/"; + description = "build2 build system"; + license = licenses.mit; + longDescription = '' + build2 is an open source (MIT), cross-platform build toolchain + that aims to approximate Rust Cargo's convenience for developing + and packaging C/C++ projects while providing more depth and + flexibility, especially in the build system. + + build2 is a hierarchy of tools consisting of a general-purpose + build system, package manager (for package consumption), and + project manager (for project development). It is primarily aimed + at C/C++ projects as well as mixed-language projects involving + one of these languages (see bash and rust modules, for example). + ''; + changelog = "https://git.build2.org/cgit/build2/tree/NEWS"; + platforms = platforms.all; + maintainers = with maintainers; [ hiro98 r-burns ]; + mainProgram = "b"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch b/nixpkgs/pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch new file mode 100644 index 000000000000..4a1013f16e01 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch @@ -0,0 +1,42 @@ +diff --git a/libbuild2/cc/common.cxx b/libbuild2/cc/common.cxx +index f848003c..0f14f9a5 100644 +--- a/libbuild2/cc/common.cxx ++++ b/libbuild2/cc/common.cxx +@@ -966,6 +966,17 @@ namespace build2 + void + msvc_extract_library_search_dirs (const strings&, dir_paths&); // msvc.cxx + ++ static strings split (const string& s, const char delim) { ++ stringstream ss (s); ++ string item; ++ strings result; ++ ++ while (getline (ss, item, delim)) { ++ result.push_back (item); ++ } ++ return result; ++ } ++ + dir_paths common:: + extract_library_search_dirs (const scope& bs) const + { +@@ -987,8 +998,19 @@ namespace build2 + msvc_extract_library_search_dirs (v, r); + else + gcc_extract_library_search_dirs (v, r); ++ + }; + ++ // NIX_LDFLAGS are implicitly used when linking, ++ // so its -L flags effectively specify system dirs. ++ // However, they are only enabled when actually linking and are thus ++ // not detected by build2, so we need to manually pick them up here. ++ if (auto s = getenv ("NIX_LDFLAGS")) { ++ // TODO: do we need more robust args splitting here? e.g. shlex.split ++ auto args = split (s.value (), ' '); ++ gcc_extract_library_search_dirs (args, r); ++ } ++ + // Note that the compiler mode options are in sys_lib_dirs. + // + if (auto l = bs[c_loptions]) extract (*l, c_loptions); diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch b/nixpkgs/pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch new file mode 100644 index 000000000000..b5b80fae4d07 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch @@ -0,0 +1,16 @@ +--- a/libbuild2/buildfile ++++ b/libbuild2/buildfile +@@ -83,9 +83,13 @@ config/cxx{host-config}: config/in{host-config} + # want it). + # + build2_config = $regex.replace_lines( \ ++ $regex.replace_lines( \ + $config.save(), \ + '^( *(#|(config\.(test[. ]|dist\.|install\.chroot|config\.hermetic))).*|)$', \ + [null], \ ++ return_lines), \ ++ '^.*'$getenv(NIX_STORE)'/[a-z0-9]{32}-.*$', \ ++ [null], \ + return_lines) + + # Also preserve config.version. diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/remove-const-void-param.patch b/nixpkgs/pkgs/development/tools/build-managers/build2/remove-const-void-param.patch new file mode 100644 index 000000000000..d74b9fe5a0c4 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/remove-const-void-param.patch @@ -0,0 +1,11 @@ +--- a/libbuild2/cc/pkgconfig-libpkgconf.cxx ++++ b/libbuild2/cc/pkgconfig-libpkgconf.cxx +@@ -84,7 +84,7 @@ namespace build2 + static bool + pkgconf_error_handler (const char* msg, + const pkgconf_client_t*, +- const void*) ++ void*) + { + error << runtime_error (msg); // Sanitize the message (trailing dot). + return true; diff --git a/nixpkgs/pkgs/development/tools/build-managers/build2/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/build2/setup-hook.sh new file mode 100644 index 000000000000..1259fabc0548 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/build2/setup-hook.sh @@ -0,0 +1,91 @@ +build2ConfigurePhase() { + runHook preConfigure + + local flagsArray=( + "config.c=$CC" + "config.cxx=$CXX" + "config.cc.coptions+=-O2" + "config.cc.poptions+=-DNDEBUG" + "config.install.root=$prefix" + "config.install.bin=${!outputBin}/bin" + "config.install.doc=${!outputDoc}/share/doc/${shareDocName}" + "config.install.exec_root=${!outputBin}" + "config.install.include=${!outputInclude}/include" + "config.install.lib=${!outputLib}/lib" + "config.install.libexec=${!outputLib}/libexec" + "config.install.man=${!outputDoc}/share/man" + "config.install.sbin=${!outputBin}/sbin" + "config.install.bin.mode=755" + $build2ConfigureFlags "${build2ConfigureFlagsArray[@]}" + ) + + if [ -n "@isTargetDarwin@" ]; then + flagsArray+=("config.bin.ld=ld64-lld") + flagsArray+=("config.cc.loptions+=-fuse-ld=lld") + flagsArray+=("config.cc.loptions+=-headerpad_max_install_names") + fi + + echo 'configure flags' "${flagsArray[@]}" + + b configure "${flagsArray[@]}" + + runHook postConfigure +} + +build2BuildPhase() { + runHook preBuild + + local flagsArray=( + $build2BuildFlags "${build2BuildFlagsArray[@]}" + ) + + echo 'build flags' "${flagsArray[@]}" + b "${flagsArray[@]}" + + runHook postBuild +} + +build2CheckPhase() { + runHook preCheck + + local flagsArray=( + $build2CheckFlags "${build2CheckFlags[@]}" + ) + + echo 'check flags' "${flagsArray[@]}" + + b test ${build2Dir:-.} "${flagsArray[@]}" + + runHook postCheck +} + +build2InstallPhase() { + runHook preInstall + + local flagsArray=( + $build2InstallFlags "${build2InstallFlagsArray[@]}" + ${installTargets:-} + ) + + echo 'install flags' "${flagsArray[@]}" + b install "${flagsArray[@]}" + + runHook postInstall +} + +if [ -z "${dontUseBuild2Configure-}" -a -z "${configurePhase-}" ]; then + setOutputFlags= + configurePhase=build2ConfigurePhase +fi + +if [ -z "${dontUseBuild2Build-}" -a -z "${buildPhase-}" ]; then + buildPhase=build2BuildPhase +fi + +if [ -z "${dontUseBuild2Check-}" -a -z "${checkPhase-}" ]; then + checkPhase=build2CheckPhase +fi + +if [ -z "${dontUseBuild2Install-}" -a -z "${installPhase-}" ]; then + installPhase=build2InstallPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/001-search-path.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/001-search-path.diff new file mode 100644 index 000000000000..04ab0847a707 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/001-search-path.diff @@ -0,0 +1,95 @@ +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index b9381c3d7d..5e944640b5 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -26,9 +26,6 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst + # synchronized + list(APPEND CMAKE_SYSTEM_PREFIX_PATH +- # Standard +- /usr/local /usr / +- + # CMake install location + "${_CMAKE_INSTALL_DIR}" + ) +@@ -47,48 +44,49 @@ endif() + + # Non "standard" but common install prefixes + list(APPEND CMAKE_SYSTEM_PREFIX_PATH +- /usr/X11R6 +- /usr/pkg +- /opt + ) + + # List common include file locations not under the common prefixes. ++if(DEFINED ENV{NIX_CC} ++ AND IS_DIRECTORY "$ENV{NIX_CC}" ++ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc" ++ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc-dev") ++ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc" _nix_cmake_libc) ++ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc-dev" _nix_cmake_libc_dev) ++else() ++ set(_nix_cmake_libc @libc_lib@) ++ set(_nix_cmake_libc_dev @libc_dev@) ++endif() ++ + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +- # X11 +- /usr/include/X11 ++ "${_nix_cmake_libc_dev}/include" + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH +- # X11 +- /usr/lib/X11 ++ "${_nix_cmake_libc}/lib" + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ "${_nix_cmake_libc}/lib" + ) + +-if(CMAKE_SYSROOT_COMPILE) +- set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}") +-else() +- set(_cmake_sysroot_compile "${CMAKE_SYSROOT}") +-endif() +- + # Default per-language values. These may be later replaced after + # parsing the implicit directory information from compiler output. + set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ "${_nix_cmake_libc_dev}/include" + ) + set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ "${_nix_cmake_libc_dev}/include" + ) + set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ "${_nix_cmake_libc_dev}/include" + ) + +-unset(_cmake_sysroot_compile) ++unset(_nix_cmake_libc) ++unset(_nix_cmake_libc_dev) + + # Reminder when adding new locations computed from environment variables + # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst +diff --git a/Modules/Platform/WindowsPaths.cmake b/Modules/Platform/WindowsPaths.cmake +index b9e2f17979..ab517cd4a7 100644 +--- a/Modules/Platform/WindowsPaths.cmake ++++ b/Modules/Platform/WindowsPaths.cmake +@@ -70,7 +70,7 @@ endif() + + if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") + # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set) +- list(APPEND CMAKE_SYSTEM_PREFIX_PATH /) ++ # list(APPEND CMAKE_SYSTEM_PREFIX_PATH /) + endif() + + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/002-application-services.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/002-application-services.diff new file mode 100644 index 000000000000..56f7cd266b7a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/002-application-services.diff @@ -0,0 +1,39 @@ +diff -Naur cmake-3.25.1-old/Source/CMakeLists.txt cmake-3.25.1-new/Source/CMakeLists.txt +--- cmake-3.25.1-old/Source/CMakeLists.txt 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Source/CMakeLists.txt 2022-12-19 01:00:08.412064304 -0300 +@@ -916,7 +916,6 @@ + # On Apple we need CoreFoundation and CoreServices + if(APPLE) + target_link_libraries(CMakeLib PUBLIC "-framework CoreFoundation") +- target_link_libraries(CMakeLib PUBLIC "-framework CoreServices") + endif() + + if(WIN32 AND NOT UNIX) +diff -Naur cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx +--- cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx 2022-12-19 01:00:56.065135169 -0300 +@@ -56,10 +56,6 @@ + + #if !defined(CMAKE_BOOTSTRAP) && defined(__APPLE__) + # include <CoreFoundation/CoreFoundation.h> +-# if !TARGET_OS_IPHONE +-# define HAVE_APPLICATION_SERVICES +-# include <ApplicationServices/ApplicationServices.h> +-# endif + #endif + + #if !defined(CMAKE_BOOTSTRAP) +diff -Naur cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt +--- cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt 2022-12-19 01:01:43.392205981 -0300 +@@ -2041,10 +2041,6 @@ + ADD_CUSTOM_TARGET(run_all_tests) + ENDIF(ENABLE_TEST) + +-# We need CoreServices on Mac OS. +-IF(APPLE) +- LIST(APPEND ADDITIONAL_LIBS "-framework CoreServices") +-ENDIF(APPLE) + + add_subdirectory(libarchive) + IF(0) # CMake does not build libarchive's command-line tools. diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff new file mode 100644 index 000000000000..6607a9c6ed1f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/003-libuv-application-services.diff @@ -0,0 +1,55 @@ +diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt +index 7625cf65d9..167903e309 100644 +--- a/Utilities/cmlibuv/CMakeLists.txt ++++ b/Utilities/cmlibuv/CMakeLists.txt +@@ -193,6 +193,22 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + src/unix/kqueue.c + src/unix/proctitle.c + ) ++ ++ include(CheckIncludeFile) ++ ++ check_include_file("ApplicationServices/ApplicationServices.h" HAVE_ApplicationServices) ++ if (HAVE_ApplicationServices) ++ list(APPEND uv_defines ++ HAVE_APPLICATIONSERVICES_APPLICATIONSERVICES_H=1 ++ ) ++ endif() ++ ++ check_include_file("CoreServices/CoreServices.h" HAVE_CoreServices) ++ if (HAVE_CoreServices) ++ list(APPEND uv_defines ++ HAVE_CORESERVICES_CORESERVICES_H=1 ++ ) ++ endif() + endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +diff --git a/Utilities/cmlibuv/src/unix/fsevents.c b/Utilities/cmlibuv/src/unix/fsevents.c +index a51f29b3f6..3f6bf01968 100644 +--- a/Utilities/cmlibuv/src/unix/fsevents.c ++++ b/Utilities/cmlibuv/src/unix/fsevents.c +@@ -21,7 +21,7 @@ + #include "uv.h" + #include "internal.h" + +-#if TARGET_OS_IPHONE || MAC_OS_X_VERSION_MAX_ALLOWED < 1070 ++#if !HAVE_CORESERVICES_CORESERVICES_H || MAC_OS_X_VERSION_MAX_ALLOWED < 1070 + + /* iOS (currently) doesn't provide the FSEvents-API (nor CoreServices) */ + /* macOS prior to 10.7 doesn't provide the full FSEvents API so use kqueue */ +@@ -39,7 +39,7 @@ int uv__fsevents_close(uv_fs_event_t* handle) { + void uv__fsevents_loop_delete(uv_loop_t* loop) { + } + +-#else /* TARGET_OS_IPHONE */ ++#else /* !HAVE_CORESERVICES_CORESERVICES_H */ + + #include "darwin-stub.h" + +@@ -920,4 +920,4 @@ int uv__fsevents_close(uv_fs_event_t* handle) { + return 0; + } + +-#endif /* TARGET_OS_IPHONE */ ++#endif /* !HAVE_CORESERVICES_CORESERVICES_H */ diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/004-cygwin.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/004-cygwin.diff new file mode 100644 index 000000000000..982aba17e874 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/004-cygwin.diff @@ -0,0 +1,274 @@ +--- cmake-3.2.2/Source/cmFileCommand.cxx 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/ccmFileCommand.cxx 2015-06-10 11:02:27.345598700 +0200 +@@ -1179,7 +1179,7 @@ + MatchProperties CollectMatchProperties(const char* file) + { + // Match rules are case-insensitive on some platforms. +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + std::string lower = cmSystemTools::LowerCase(file); + const char* file_to_match = lower.c_str(); + #else +--- cmake-3.2.2/Source/cmInstallCommand.cxx 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/cmInstallCommand.cxx 2015-06-10 11:04:19.257935200 +0200 +@@ -1138,7 +1138,7 @@ + { + literal_args += " REGEX \""; + // Match rules are case-insensitive on some platforms. +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + std::string regex = cmSystemTools::LowerCase(args[i]); + #else + std::string regex = args[i]; +--- cmake-3.2.2/Source/kwsys/Glob.cxx 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/kwsys/Glob.cxx 2015-06-10 11:05:51.602674000 +0200 +@@ -37,7 +37,7 @@ + #include <string.h> + namespace KWSYS_NAMESPACE + { +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + // On Windows and apple, no difference between lower and upper case + # define KWSYS_GLOB_CASE_INDEPENDENT + #endif +--- cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-06-10 11:13:00.308303500 +0200 +@@ -911,7 +911,7 @@ + // Hide implementation details in an anonymous namespace. + namespace { + // ***************************************************************************** +-#if defined(__linux) || defined(__APPLE__) ++#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) + int LoadLines( + FILE *file, + kwsys_stl::vector<kwsys_stl::string> &lines) +@@ -947,7 +947,7 @@ + return nRead; + } + +-# if defined(__linux) ++# if defined(__linux) || defined(__CYGWIN__) + // ***************************************************************************** + int LoadLines( + const char *fileName, +@@ -986,7 +986,7 @@ + } + #endif + +-#if defined(__linux) ++#if defined(__linux) || defined(__CYGWIN__) + // **************************************************************************** + template<typename T> + int GetFieldsFromFile( +@@ -3132,7 +3132,6 @@ + pos = buffer.find("processor\t",pos+1); + } + +-#ifdef __linux + // Find the largest physical id. + int maxId = -1; + kwsys_stl::string idc = +@@ -3165,14 +3164,6 @@ + atoi(this->ExtractValueFromCpuInfoFile(buffer,"ncpus active").c_str()); + } + +-#else // __CYGWIN__ +- // does not have "physical id" entries, neither "cpu cores" +- // this has to be fixed for hyper-threading. +- kwsys_stl::string cpucount = +- this->ExtractValueFromCpuInfoFile(buffer,"cpu count"); +- this->NumberOfPhysicalCPU= +- this->NumberOfLogicalCPU = atoi(cpucount.c_str()); +-#endif + // gotta have one, and if this is 0 then we get a / by 0n + // better to have a bad answer than a crash + if(this->NumberOfPhysicalCPU <= 0) +@@ -3370,7 +3361,7 @@ + GlobalMemoryStatusEx(&statex); + return statex.ullTotalPhys/1024; + # endif +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + SystemInformation::LongLong memTotal=0; + int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal); + if (ierr) +@@ -3501,7 +3492,7 @@ + GlobalMemoryStatusEx(&statex); + return (statex.ullTotalPhys - statex.ullAvailPhys)/1024; + # endif +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + const char *names[3]={"MemTotal:","MemFree:",NULL}; + SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)}; + int ierr=GetFieldsFromFile("/proc/meminfo",names,values); +@@ -3560,7 +3551,7 @@ + return -2; + } + return pmc.WorkingSetSize/1024; +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + SystemInformation::LongLong memUsed=0; + int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed); + if (ierr) +@@ -3612,7 +3603,7 @@ + { + #if defined(_WIN32) + return GetCurrentProcessId(); +-#elif defined(__linux) || defined(__APPLE__) ++#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) + return getpid(); + #else + return -1; +--- cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-06-10 11:21:58.980443200 +0200 +@@ -93,19 +93,12 @@ + # if defined(_MSC_VER) && _MSC_VER >= 1800 + # define KWSYS_WINDOWS_DEPRECATED_GetVersionEx + # endif +-#elif defined (__CYGWIN__) +-# include <windows.h> +-# undef _WIN32 + #endif + + #if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H + extern char **environ; + #endif + +-#ifdef __CYGWIN__ +-# include <sys/cygwin.h> +-#endif +- + // getpwnam doesn't exist on Windows and Cray Xt3/Catamount + // same for TIOCGWINSZ + #if defined(_WIN32) || defined (__LIBCATAMOUNT__) +@@ -1148,15 +1141,7 @@ + { + return false; + } +-#if defined(__CYGWIN__) +- // Convert filename to native windows path if possible. +- char winpath[MAX_PATH]; +- if(SystemTools::PathCygwinToWin32(filename.c_str(), winpath)) +- { +- return (GetFileAttributesA(winpath) != INVALID_FILE_ATTRIBUTES); +- } +- return access(filename.c_str(), R_OK) == 0; +-#elif defined(_WIN32) ++#if defined(_WIN32) + return (GetFileAttributesW( + SystemTools::ConvertToWindowsExtendedPath(filename).c_str()) + != INVALID_FILE_ATTRIBUTES); +@@ -1190,28 +1175,6 @@ + } + + //---------------------------------------------------------------------------- +-#ifdef __CYGWIN__ +-bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path) +-{ +- SystemToolsTranslationMap::iterator i = +- SystemTools::Cyg2Win32Map->find(path); +- +- if (i != SystemTools::Cyg2Win32Map->end()) +- { +- strncpy(win32_path, i->second.c_str(), MAX_PATH); +- } +- else +- { +- if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0) +- { +- win32_path[0] = 0; +- } +- SystemToolsTranslationMap::value_type entry(path, win32_path); +- SystemTools::Cyg2Win32Map->insert(entry); +- } +- return win32_path[0] != 0; +-} +-#endif + + bool SystemTools::Touch(const kwsys_stl::string& filename, bool create) + { +@@ -4307,7 +4270,7 @@ + + bool SystemTools::FileIsFullPath(const char* in_name, size_t len) + { +-#if defined(_WIN32) || defined(__CYGWIN__) ++#if defined(_WIN32) + // On Windows, the name must be at least two characters long. + if(len < 2) + { +@@ -5078,9 +5041,6 @@ + static unsigned int SystemToolsManagerCount; + SystemToolsTranslationMap *SystemTools::TranslationMap; + SystemToolsTranslationMap *SystemTools::LongPathMap; +-#ifdef __CYGWIN__ +-SystemToolsTranslationMap *SystemTools::Cyg2Win32Map; +-#endif + + // SystemToolsManager manages the SystemTools singleton. + // SystemToolsManager should be included in any translation unit +@@ -5126,9 +5086,6 @@ + // Allocate the translation map first. + SystemTools::TranslationMap = new SystemToolsTranslationMap; + SystemTools::LongPathMap = new SystemToolsTranslationMap; +-#ifdef __CYGWIN__ +- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap; +-#endif + + // Add some special translation paths for unix. These are not added + // for windows because drive letters need to be maintained. Also, +@@ -5183,9 +5140,6 @@ + { + delete SystemTools::TranslationMap; + delete SystemTools::LongPathMap; +-#ifdef __CYGWIN__ +- delete SystemTools::Cyg2Win32Map; +-#endif + } + + +--- cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-06-10 11:24:24.271286600 +0200 +@@ -298,15 +298,6 @@ + static bool FileExists(const kwsys_stl::string& filename); + + /** +- * Converts Cygwin path to Win32 path. Uses dictionary container for +- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll +- * for actual translation. Returns true on success, else false. +- */ +-#ifdef __CYGWIN__ +- static bool PathCygwinToWin32(const char *path, char *win32_path); +-#endif +- +- /** + * Return file length + */ + static unsigned long FileLength(const kwsys_stl::string& filename); +@@ -942,9 +933,6 @@ + */ + static SystemToolsTranslationMap *TranslationMap; + static SystemToolsTranslationMap *LongPathMap; +-#ifdef __CYGWIN__ +- static SystemToolsTranslationMap *Cyg2Win32Map; +-#endif + friend class SystemToolsManager; + }; + +--- cmake-3.2.2/Modules/FindCurses.cmake 2015-04-13 19:09:00.000000000 +0200 ++++ cmake-3.2.2/Modules/FindCurses.cmake 2015-06-10 12:10:19.682030300 +0200 +@@ -60,15 +60,6 @@ + if(CURSES_NCURSES_LIBRARY AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES)) + set(CURSES_USE_NCURSES TRUE) + endif() +-# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html +-# cygwin ncurses stopped providing curses.h symlinks see above +-# message. Cygwin is an ncurses package, so force ncurses on +-# cygwin if the curses.h is missing +-if(CYGWIN) +- if(NOT EXISTS /usr/include/curses.h) +- set(CURSES_USE_NCURSES TRUE) +- endif() +-endif() + + + # Not sure the logic is correct here. diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff new file mode 100644 index 000000000000..76aa91cff92c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/005-remove-systemconfiguration-dep.diff @@ -0,0 +1,67 @@ +--- a/Utilities/cmcurl/CMakeLists.txt ++++ b/Utilities/cmcurl/CMakeLists.txt +@@ -391,13 +391,6 @@ if(ENABLE_IPV6 AND NOT WIN32) + + if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT ENABLE_ARES) + set(use_core_foundation ON) +- +- find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration") +- if(NOT SYSTEMCONFIGURATION_FRAMEWORK) +- message(FATAL_ERROR "SystemConfiguration framework not found") +- endif() +- +- list(APPEND CURL_LIBS "-framework SystemConfiguration") + endif() + endif() + +--- a/Utilities/cmcurl/lib/curl_setup.h ++++ b/Utilities/cmcurl/lib/curl_setup.h +@@ -257,11 +257,7 @@ + * performing this task will result in a synthesized IPv6 address. + */ + #if defined(__APPLE__) && !defined(USE_ARES) +-#include <TargetConditionals.h> + #define USE_RESOLVE_ON_IPS 1 +-# if defined(TARGET_OS_OSX) && TARGET_OS_OSX +-# define CURL_OSX_CALL_COPYPROXIES 1 +-# endif + #endif + + #ifdef USE_LWIPSOCK +--- a/Utilities/cmcurl/lib/hostip.c ++++ b/Utilities/cmcurl/lib/hostip.c +@@ -68,10 +68,6 @@ + #include "curl_memory.h" + #include "memdebug.h" + +-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES) +-#include <SystemConfiguration/SCDynamicStoreCopySpecific.h> +-#endif +- + #if defined(CURLRES_SYNCH) && \ + defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP) + /* alarm-based timeouts can only be used with all the dependencies satisfied */ +@@ -661,23 +657,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data, + return CURLRESOLV_ERROR; + } + +-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES) +- { +- /* +- * The automagic conversion from IPv4 literals to IPv6 literals only +- * works if the SCDynamicStoreCopyProxies system function gets called +- * first. As Curl currently doesn't support system-wide HTTP proxies, we +- * therefore don't use any value this function might return. +- * +- * This function is only available on a macOS and is not needed for +- * IPv4-only builds, hence the conditions above. +- */ +- CFDictionaryRef dict = SCDynamicStoreCopyProxies(NULL); +- if(dict) +- CFRelease(dict); +- } +-#endif +- + #ifndef USE_RESOLVE_ON_IPS + /* First check if this is an IPv4 address string */ + if(Curl_inet_pton(AF_INET, hostname, &in) > 0) diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff b/nixpkgs/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff new file mode 100644 index 000000000000..dc10e6b34231 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/006-darwin-always-set-runtime-c-flag.diff @@ -0,0 +1,14 @@ +Revert of commit 1af23c4de2c7d58c06171d70b37794b5c860d5f4. +--- b/Modules/Platform/Darwin.cmake ++++ a/Modules/Platform/Darwin.cmake +@@ -47,9 +47,7 @@ + set(CMAKE_SHARED_MODULE_SUFFIX ".so") + set(CMAKE_MODULE_EXISTS 1) + set(CMAKE_DL_LIBS "") ++set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") +-if(NOT "${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5") +- set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") +-endif() + + foreach(lang C CXX OBJC OBJCXX) + set(CMAKE_${lang}_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ") diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh new file mode 100644 index 000000000000..94d1b7b53556 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/check-pc-files-hook.sh @@ -0,0 +1,18 @@ +cmakePcfileCheckPhase() { + while IFS= read -rd $'\0' file; do + grepout=$(grep --line-number '}//nix/store' "$file" || true) + if [ -n "$grepout" ]; then + { + echo "Broken paths found in a .pc file! $file" + echo "The following lines have issues (specifically '//' in paths)." + echo "$grepout" + echo "It is very likely that paths are being joined improperly." + echo 'ex: "${prefix}/@CMAKE_INSTALL_LIBDIR@" should be "@CMAKE_INSTALL_FULL_LIBDIR@"' + echo "Please see https://github.com/NixOS/nixpkgs/issues/144170 for more details." + exit 1 + } 1>&2 + fi + done < <(find "${!outputDev}" -iname "*.pc" -print0) +} + +postFixupHooks+=(cmakePcfileCheckPhase) diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix new file mode 100644 index 000000000000..00715130a000 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix @@ -0,0 +1,173 @@ +{ lib +, stdenv +, fetchurl +, buildPackages +, bzip2 +, curlMinimal +, expat +, libarchive +, libuv +, ncurses +, openssl +, pkg-config +, ps +, rhash +, sphinx +, texinfo +, xz +, zlib +, isBootstrap ? false +, useOpenSSL ? !isBootstrap +, useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin) +, uiToolkits ? [] # can contain "ncurses" and/or "qt5" +, buildDocs ? !(isBootstrap || (uiToolkits == [])) +, darwin +, libsForQt5 +}: + +let + inherit (darwin.apple_sdk.frameworks) SystemConfiguration; + inherit (libsForQt5) qtbase wrapQtAppsHook; + cursesUI = lib.elem "ncurses" uiToolkits; + qt5UI = lib.elem "qt5" uiToolkits; +in +# Accepts only "ncurses" and "qt5" as possible uiToolkits +assert lib.subtractLists [ "ncurses" "qt5" ] uiToolkits == []; +# Minimal, bootstrap cmake does not have toolkits +assert isBootstrap -> (uiToolkits == []); +stdenv.mkDerivation (finalAttrs: { + pname = "cmake" + + lib.optionalString isBootstrap "-boot" + + lib.optionalString cursesUI "-cursesUI" + + lib.optionalString qt5UI "-qt5UI"; + version = "3.26.4"; + + src = fetchurl { + url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz"; + hash = "sha256-MTtogMKRvU/jHAqlHW5iZZKCpSHmlfMNXMDSWrvVwgg="; + }; + + patches = [ + # Don't search in non-Nix locations such as /usr, but do search in our libc. + ./001-search-path.diff + # Don't depend on frameworks. + ./002-application-services.diff + # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d + ./003-libuv-application-services.diff + ] + ++ lib.optional stdenv.isCygwin ./004-cygwin.diff + # Derived from https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51 + ++ lib.optional (stdenv.isDarwin && isBootstrap) ./005-remove-systemconfiguration-dep.diff + # On Darwin, always set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG. + ++ lib.optional stdenv.isDarwin ./006-darwin-always-set-runtime-c-flag.diff; + + outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" "info" ]; + setOutputFlags = false; + + setupHooks = [ + ./setup-hook.sh + ./check-pc-files-hook.sh + ]; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + nativeBuildInputs = finalAttrs.setupHooks ++ [ + pkg-config + ] + ++ lib.optionals buildDocs [ texinfo ] + ++ lib.optionals qt5UI [ wrapQtAppsHook ]; + + buildInputs = lib.optionals useSharedLibraries [ + bzip2 + curlMinimal + expat + libarchive + xz + zlib + libuv + rhash + ] + ++ lib.optional useOpenSSL openssl + ++ lib.optional cursesUI ncurses + ++ lib.optional qt5UI qtbase + ++ lib.optional (stdenv.isDarwin && !isBootstrap) SystemConfiguration; + + propagatedBuildInputs = lib.optional stdenv.isDarwin ps; + + preConfigure = '' + fixCmakeFiles . + substituteInPlace Modules/Platform/UnixPaths.cmake \ + --subst-var-by libc_bin ${lib.getBin stdenv.cc.libc} \ + --subst-var-by libc_dev ${lib.getDev stdenv.cc.libc} \ + --subst-var-by libc_lib ${lib.getLib stdenv.cc.libc} + # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake + configureFlags="--parallel=''${NIX_BUILD_CORES:-1} CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD $configureFlags" + ''; + + configureFlags = [ + "CXXFLAGS=-Wno-elaborated-enum-base" + "--docdir=share/doc/${finalAttrs.pname}-${finalAttrs.version}" + ] ++ (if useSharedLibraries + then [ "--no-system-jsoncpp" "--system-libs" ] + else [ "--no-system-libs" ]) # FIXME: cleanup + ++ lib.optional qt5UI "--qt-gui" + ++ lib.optionals buildDocs [ + "--sphinx-build=${sphinx}/bin/sphinx-build" + "--sphinx-info" + "--sphinx-man" + ] + # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568 + ++ lib.optionals stdenv.hostPlatform.is32bit [ + "CFLAGS=-D_FILE_OFFSET_BITS=64" + "CXXFLAGS=-D_FILE_OFFSET_BITS=64" + ] + ++ [ + "--" + # We should set the proper `CMAKE_SYSTEM_NAME`. + # http://www.cmake.org/Wiki/CMake_Cross_Compiling + # + # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and + # strip. Otherwise they are taken to be relative to the source root of the + # package being built. + "-DCMAKE_CXX_COMPILER=${stdenv.cc.targetPrefix}c++" + "-DCMAKE_C_COMPILER=${stdenv.cc.targetPrefix}cc" + "-DCMAKE_AR=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar" + "-DCMAKE_RANLIB=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib" + "-DCMAKE_STRIP=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip" + + "-DCMAKE_USE_OPENSSL=${if useOpenSSL then "ON" else "OFF"}" + # Avoid depending on frameworks. + "-DBUILD_CursesDialog=${if cursesUI then "ON" else "OFF"}" + ]; + + # make install attempts to use the just-built cmake + preInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed -i 's|bin/cmake|${buildPackages.cmakeMinimal}/bin/cmake|g' Makefile + ''; + + dontUseCmakeConfigure = true; + enableParallelBuilding = true; + + # This isn't an autoconf configure script; triples are passed via + # CMAKE_SYSTEM_NAME, etc. + configurePlatforms = [ ]; + + doCheck = false; # fails + + meta = { + homepage = "https://cmake.org/"; + description = "Cross-platform, open-source build system generator"; + longDescription = '' + CMake is an open-source, cross-platform family of tools designed to build, + test and package software. CMake is used to control the software + compilation process using simple platform and compiler independent + configuration files, and generate native makefiles and workspaces that can + be used in the compiler environment of your choice. + ''; + changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor finalAttrs.version}/release/${lib.versions.majorMinor finalAttrs.version}.html"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ ttuegel lnl7 AndersonTorres ]; + platforms = lib.platforms.all; + broken = (qt5UI && stdenv.isDarwin); + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh new file mode 100755 index 000000000000..b28ed42b6896 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -0,0 +1,184 @@ +addCMakeParams() { + addToSearchPath CMAKE_PREFIX_PATH $1 +} + +fixCmakeFiles() { + # Replace occurences of /usr and /opt by /var/empty. + echo "fixing cmake files..." + find "$1" \( -type f -name "*.cmake" -o -name "*.cmake.in" -o -name CMakeLists.txt \) -print | + while read fn; do + sed -e 's^/usr\([ /]\|$\)^/var/empty\1^g' -e 's^/opt\([ /]\|$\)^/var/empty\1^g' < "$fn" > "$fn.tmp" + mv "$fn.tmp" "$fn" + done +} + +cmakeConfigurePhase() { + runHook preConfigure + + # default to CMake defaults if unset + : ${cmakeBuildDir:=build} + + export CTEST_OUTPUT_ON_FAILURE=1 + if [ -n "${enableParallelChecking-1}" ]; then + export CTEST_PARALLEL_LEVEL=$NIX_BUILD_CORES + fi + + if [ -z "${dontFixCmake-}" ]; then + fixCmakeFiles . + fi + + if [ -z "${dontUseCmakeBuildDir-}" ]; then + mkdir -p "$cmakeBuildDir" + cd "$cmakeBuildDir" + : ${cmakeDir:=..} + else + : ${cmakeDir:=.} + fi + + if [ -z "${dontAddPrefix-}" ]; then + cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags" + fi + + # We should set the proper `CMAKE_SYSTEM_NAME`. + # http://www.cmake.org/Wiki/CMake_Cross_Compiling + # + # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and + # strip. Otherwise they are taken to be relative to the source root of the + # package being built. + cmakeFlags="-DCMAKE_CXX_COMPILER=$CXX $cmakeFlags" + cmakeFlags="-DCMAKE_C_COMPILER=$CC $cmakeFlags" + cmakeFlags="-DCMAKE_AR=$(command -v $AR) $cmakeFlags" + cmakeFlags="-DCMAKE_RANLIB=$(command -v $RANLIB) $cmakeFlags" + cmakeFlags="-DCMAKE_STRIP=$(command -v $STRIP) $cmakeFlags" + + # on macOS we want to prefer Unix-style headers to Frameworks + # because we usually do not package the framework + cmakeFlags="-DCMAKE_FIND_FRAMEWORK=LAST $cmakeFlags" + + # we never want to use the global macOS SDK + cmakeFlags="-DCMAKE_OSX_SYSROOT= $cmakeFlags" + + # correctly detect our clang compiler + cmakeFlags="-DCMAKE_POLICY_DEFAULT_CMP0025=NEW $cmakeFlags" + + # This installs shared libraries with a fully-specified install + # name. By default, cmake installs shared libraries with just the + # basename as the install name, which means that, on Darwin, they + # can only be found by an executable at runtime if the shared + # libraries are in a system path or in the same directory as the + # executable. This flag makes the shared library accessible from its + # nix/store directory. + cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=${!outputLib}/lib $cmakeFlags" + + # The docdir flag needs to include PROJECT_NAME as per GNU guidelines, + # try to extract it from CMakeLists.txt. + if [[ -z "$shareDocName" ]]; then + local cmakeLists="${cmakeDir}/CMakeLists.txt" + if [[ -f "$cmakeLists" ]]; then + local shareDocName="$(grep --only-matching --perl-regexp --ignore-case '\bproject\s*\(\s*"?\K([^[:space:]")]+)' < "$cmakeLists" | head -n1)" + fi + # The argument sometimes contains garbage or variable interpolation. + # When that is the case, let’s fall back to the derivation name. + if [[ -z "$shareDocName" ]] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_+-]'; then + if [[ -n "${pname-}" ]]; then + shareDocName="$pname" + else + shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')" + fi + fi + fi + + # This ensures correct paths with multiple output derivations + # It requires the project to use variables from GNUInstallDirs module + # https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html + cmakeFlags="-DCMAKE_INSTALL_BINDIR=${!outputBin}/bin $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_SBINDIR=${!outputBin}/sbin $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputInclude}/include $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_OLDINCLUDEDIR=${!outputInclude}/include $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_MANDIR=${!outputMan}/share/man $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_INFODIR=${!outputInfo}/share/info $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_DOCDIR=${!outputDoc}/share/doc/${shareDocName} $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_LIBEXECDIR=${!outputLib}/libexec $cmakeFlags" + cmakeFlags="-DCMAKE_INSTALL_LOCALEDIR=${!outputLib}/share/locale $cmakeFlags" + + # Don’t build tests when doCheck = false + if [ -z "${doCheck-}" ]; then + cmakeFlags="-DBUILD_TESTING=OFF $cmakeFlags" + fi + + # Always build Release, to ensure optimisation flags + cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} $cmakeFlags" + + # Disable user package registry to avoid potential side effects + # and unecessary attempts to access non-existent home folder + # https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#disabling-the-package-registry + cmakeFlags="-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON $cmakeFlags" + cmakeFlags="-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF $cmakeFlags" + cmakeFlags="-DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF $cmakeFlags" + + if [ "${buildPhase-}" = ninjaBuildPhase ]; then + cmakeFlags="-GNinja $cmakeFlags" + fi + + echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}" + + cmake "$cmakeDir" $cmakeFlags "${cmakeFlagsArray[@]}" + + if ! [[ -v enableParallelBuilding ]]; then + enableParallelBuilding=1 + echo "cmake: enabled parallel building" + fi + + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "cmake: enabled parallel installing" + fi + + runHook postConfigure +} + +if [ -z "${dontUseCmakeConfigure-}" -a -z "${configurePhase-}" ]; then + setOutputFlags= + configurePhase=cmakeConfigurePhase +fi + +addEnvHooks "$targetOffset" addCMakeParams + +makeCmakeFindLibs(){ + isystem_seen= + iframework_seen= + for flag in ${NIX_CFLAGS_COMPILE-} ${NIX_LDFLAGS-}; do + if test -n "$isystem_seen" && test -d "$flag"; then + isystem_seen= + export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag}" + elif test -n "$iframework_seen" && test -d "$flag"; then + iframework_seen= + export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag}" + else + isystem_seen= + iframework_seen= + case $flag in + -I*) + export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag:2}" + ;; + -L*) + export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH-}${CMAKE_LIBRARY_PATH:+:}${flag:2}" + ;; + -F*) + export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag:2}" + ;; + -isystem) + isystem_seen=1 + ;; + -iframework) + iframework_seen=1 + ;; + esac + fi + done +} + +# not using setupHook, because it could be a setupHook adding additional +# include flags to NIX_CFLAGS_COMPILE +postHooks+=(makeCmakeFindLibs) diff --git a/nixpkgs/pkgs/development/tools/build-managers/colormake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/colormake/default.nix new file mode 100644 index 000000000000..251268a449d4 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/colormake/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, perl }: + +stdenv.mkDerivation { + pname = "colormake"; + version = "2.1.0"; + + buildInputs = [ perl ]; + + src = fetchFromGitHub { + owner = "pagekite"; + repo = "Colormake"; + rev = "66544f40d"; + sha256 = "8e714c5540305d169989d9387dbac47b8b9fb2cfb424af7bcd412bfe684dc6d7"; + }; + + installPhase = '' + mkdir -p $out/bin + cp -fa colormake.pl colormake colormake-short clmake clmake-short $out/bin + ''; + + meta = with lib; { + description = "Simple wrapper around make to colorize the output"; + homepage = "https://bre.klaki.net/programs/colormake/"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ bhipple ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix new file mode 100644 index 000000000000..9ea57a27f027 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix @@ -0,0 +1,117 @@ +{ lib +, stdenv +, fetchFromGitHub +, git +, pkg-config +, python3 +, zlib +}: + +python3.pkgs.buildPythonApplication rec { + pname = "conan"; + version = "2.0.5"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "conan-io"; + repo = "conan"; + rev = "refs/tags/${version}"; + hash = "sha256-+ohUOQ9WBER/X0TDklf/qZCm9LhM1I1QRmED4FnkweM="; + }; + + nativeBuildInputs = with python3.pkgs; [ + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = with python3.pkgs; [ + bottle + colorama + python-dateutil + distro + fasteners + jinja2 + patch-ng + pluginbase + pygments + pyjwt + pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152 + pyyaml + requests + tqdm + urllib3 + ] ++ lib.optionals stdenv.isDarwin [ + idna + cryptography + pyopenssl + ]; + + pythonRelaxDeps = [ + # This can be removed once conan is updated to 2.0.7+ + "PyYAML" + ]; + + nativeCheckInputs = [ + git + pkg-config + zlib + ] ++ (with python3.pkgs; [ + mock + parameterized + pytest-xdist + pytestCheckHook + webtest + ]); + + __darwinAllowLocalNetworking = true; + + pythonImportsCheck = [ + "conan" + ]; + + pytestFlagsArray = [ + "-n" + "$NIX_BUILD_CORES" + ]; + + disabledTests = [ + # Tests require network access + "TestFTP" + ] ++ lib.optionals stdenv.isDarwin [ + # Rejects paths containing nix + "test_conditional_os" + # Requires Apple Clang + "test_detect_default_compilers" + "test_detect_default_in_mac_os_using_gcc_as_default" + # Incompatible with darwin.xattr and xcbuild from nixpkgs + "test_dot_files" + "test_xcrun" + "test_xcrun_in_required_by_tool_requires" + "test_xcrun_in_tool_requires" + ]; + + disabledTestPaths = [ + # Requires cmake, meson, autotools, apt-get, etc. + "conans/test/functional/command/new_test.py" + "conans/test/functional/command/test_install_deploy.py" + "conans/test/functional/graph/test_transitive_build_scripts.py" + "conans/test/functional/layout/test_editable_cmake_components.py" + "conans/test/functional/layout/test_editable_cmake.py" + "conans/test/functional/layout/test_in_subfolder.py" + "conans/test/functional/layout/test_source_folder.py" + "conans/test/functional/toolchains/" + "conans/test/functional/tools_versions_test.py" + "conans/test/functional/tools/scm/test_git.py" + "conans/test/functional/tools/system/package_manager_test.py" + "conans/test/functional/util/test_cmd_args_to_string.py" + "conans/test/integration/command_v2/list_test.py" + "conans/test/unittests/tools/env/test_env_files.py" + ]; + + meta = with lib; { + description = "Decentralized and portable C/C++ package manager"; + homepage = "https://conan.io"; + changelog = "https://github.com/conan-io/conan/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ HaoZeke ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/corrosion/default.nix b/nixpkgs/pkgs/development/tools/build-managers/corrosion/default.nix new file mode 100644 index 000000000000..97b967d4a2b3 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/corrosion/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, cargo +, cmake +, rustPlatform +, rustc +, libiconv +}: + +stdenv.mkDerivation rec { + pname = "corrosion"; + version = "0.4.3"; + + src = fetchFromGitHub { + owner = "corrosion-rs"; + repo = "corrosion"; + rev = "v${version}"; + hash = "sha256-Bvx4Jvd/l1EHB3eoBEizuT4Lou4Ev+CPA7D7iWIe+No="; + }; + + cargoRoot = "generator"; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "${src.name}/${cargoRoot}"; + name = "${pname}-${version}"; + hash = "sha256-0n45edWVSaYQS+S0H4p55d+ZgD6liHn6iBd3qCtjAh8="; + }; + + buildInputs = lib.optional stdenv.isDarwin libiconv; + + nativeBuildInputs = [ + cmake + rustPlatform.cargoSetupHook + cargo + rustc + ]; + + meta = with lib; { + description = "Tool for integrating Rust into an existing CMake project"; + homepage = "https://github.com/corrosion-rs/corrosion"; + changelog = "https://github.com/corrosion-rs/corrosion/blob/${src.rev}/RELEASES.md"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile b/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile new file mode 100644 index 000000000000..ddb13a65c165 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'drake' diff --git a/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile.lock b/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile.lock new file mode 100644 index 000000000000..466133010e04 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/drake/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + comp_tree (1.1.3) + drake (0.9.2.0.3.1) + comp_tree (>= 1.1.3) + +PLATFORMS + ruby + +DEPENDENCIES + drake + +BUNDLED WITH + 2.1.4 diff --git a/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix new file mode 100644 index 000000000000..2f753c82521e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/drake/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerApp, bundlerUpdateScript }: + +bundlerApp { + pname = "drake"; + gemdir = ./.; + exes = [ "drake" ]; + + passthru.updateScript = bundlerUpdateScript "drake"; + + meta = with lib; { + description = "A branch of Rake supporting automatic parallelizing of tasks"; + homepage = "http://quix.github.io/rake/"; + maintainers = with maintainers; [ romildo manveru nicknovitski ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/drake/gemset.nix b/nixpkgs/pkgs/development/tools/build-managers/drake/gemset.nix new file mode 100644 index 000000000000..09b3bc7ec061 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/drake/gemset.nix @@ -0,0 +1,23 @@ +{ + comp_tree = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dj9lkfxcczn67l1j12dcxswrfxxd1zgxa344zk6vqs2gwwhy9m9"; + type = "gem"; + }; + version = "1.1.3"; + }; + drake = { + dependencies = ["comp_tree"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09gkmdshwdmdnkdxi03dv4rk1dip0wdv6dx14wscrmi0jyk86yag"; + type = "gem"; + }; + version = "0.9.2.0.3.1"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix b/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix new file mode 100644 index 000000000000..789cc3fcabe1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix @@ -0,0 +1,156 @@ +{ lib, stdenv, fetchFromGitHub, curl, libevent, rsync, ldc, dcompiler ? ldc }: + +assert dcompiler != null; + +stdenv.mkDerivation rec { + pname = "dub"; + version = "1.30.0"; + + enableParallelBuilding = true; + + src = fetchFromGitHub { + owner = "dlang"; + repo = "dub"; + rev = "v${version}"; + sha256 = "sha256-iVl7bjblvIxvrUX7Phq6h4AIAmZjNVkGYYFA1hhsE7c="; + }; + + dubvar = "\\$DUB"; + postPatch = '' + patchShebangs test + + + # Can be removed with https://github.com/dlang/dub/pull/1368 + substituteInPlace test/fetchzip.sh \ + --replace "dub remove" "\"${dubvar}\" remove" + ''; + + nativeBuildInputs = [ dcompiler libevent rsync ]; + buildInputs = [ curl ]; + + buildPhase = '' + for dc_ in dmd ldmd2 gdmd; do + echo "... check for D compiler $dc_ ..." + dc=$(type -P $dc_ || echo "") + if [ ! "$dc" == "" ]; then + break + fi + done + if [ "$dc" == "" ]; then + exit "Error: could not find D compiler" + fi + echo "$dc_ found and used as D compiler to build $pname" + $dc ./build.d + ./build + ''; + + doCheck = !stdenv.isDarwin; + + checkPhase = '' + export DUB=$NIX_BUILD_TOP/source/bin/dub + export PATH=$PATH:$NIX_BUILD_TOP/source/bin/ + export DC=${dcompiler.out}/bin/${if dcompiler.pname=="ldc" then "ldc2" else dcompiler.pname} + echo "DC out --> $DC" + export HOME=$TMP + + rm -rf test/issue502-root-import + rm test/issue674-concurrent-dub.sh + rm test/issue672-upgrade-optional.sh + rm test/issue990-download-optional-selected.sh + rm test/issue877-auto-fetch-package-on-run.sh + rm test/issue1037-better-dependency-messages.sh + rm test/issue1416-maven-repo-pkg-supplier.sh + rm test/issue1180-local-cache-broken.sh + rm test/issue1574-addcommand.sh + rm test/issue1524-maven-upgrade-dependency-tree.sh + rm test/issue1773-lint.sh + + rm test/ddox.sh + rm test/fetchzip.sh + rm test/feat663-search.sh + rm -rf test/git-dependency + rm test/interactive-remove.sh + rm test/timeout.sh + rm test/version-spec.sh + rm test/0-init-multi.sh + rm test/0-init-multi-json.sh + rm test/4-describe-data-1-list.sh + rm test/4-describe-data-3-zero-delim.sh + rm test/4-describe-import-paths.sh + rm test/4-describe-string-import-paths.sh + rm test/4-describe-json.sh + rm test/5-convert-stdout.sh + rm test/issue1003-check-empty-ld-flags.sh + rm test/issue103-single-file-package.sh + rm test/issue1040-run-with-ver.sh + rm test/issue1091-bogus-rebuild.sh + rm test/issue1194-warn-wrong-subconfig.sh + rm test/issue1277.sh + rm test/issue1372-ignore-files-in-hidden-dirs.sh + rm test/issue1447-build-settings-vars.sh + rm test/issue1531-toolchain-requirements.sh + rm test/issue346-redundant-flags.sh + rm test/issue361-optional-deps.sh + rm test/issue564-invalid-upgrade-dependency.sh + rm test/issue586-subpack-dep.sh + rm test/issue616-describe-vs-generate-commands.sh + rm test/issue686-multiple-march.sh + rm test/issue813-fixed-dependency.sh + rm test/issue813-pure-sub-dependency.sh + rm test/issue820-extra-fields-after-convert.sh + rm test/issue923-subpackage-deps.sh + rm test/single-file-sdl-default-name.sh + rm test/subpackage-common-with-sourcefile-globbing.sh + rm test/issue934-path-dep.sh + rm -r test/issue2258-dynLib-exe-dep # requires files below + rm -r test/1-dynLib-simple + rm -r test/1-exec-simple-package-json + rm -r test/1-exec-simple + rm -r test/1-staticLib-simple + rm -r test/2-dynLib-dep + rm -r test/2-staticLib-dep + rm -r test/2-dynLib-with-staticLib-dep + rm -r test/2-sourceLib-dep/ + rm -r test/3-copyFiles + rm -r test/custom-source-main-bug487 + rm -r test/custom-unittest + rm -r test/issue1262-version-inheritance-diamond + rm -r test/issue1003-check-empty-ld-flags + rm -r test/ignore-hidden-1 + rm -r test/ignore-hidden-2 + rm -r test/issue1427-betterC + rm -r test/issue130-unicode-* + rm -r test/issue1262-version-inheritance + rm -r test/issue1372-ignore-files-in-hidden-dirs + rm -r test/issue1350-transitive-none-deps + rm -r test/issue1775 + rm -r test/issue1447-build-settings-vars + rm -r test/issue1408-inherit-linker-files + rm -r test/issue1551-var-escaping + rm -r test/issue754-path-selection-fail + rm -r test/issue1788-incomplete-string-import-override + rm -r test/subpackage-ref + rm -r test/issue777-bogus-path-dependency + rm -r test/issue959-path-based-subpack-dep + rm -r test/issue97-targettype-none-nodeps + rm -r test/issue97-targettype-none-onerecipe + rm -r test/path-subpackage-ref + rm -r test/sdl-package-simple + rm -r test/dpath-variable # requires execution of dpath-variable.sh + + ./test/run-unittest.sh + ''; + + installPhase = '' + mkdir -p $out/bin + cp bin/dub $out/bin + ''; + + meta = with lib; { + description = "Package and build manager for D applications and libraries"; + homepage = "https://code.dlang.org/"; + license = licenses.mit; + maintainers = with maintainers; [ ThomasMader ]; + platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/ekam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/ekam/default.nix new file mode 100644 index 000000000000..9247a2b21302 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/ekam/default.nix @@ -0,0 +1,67 @@ +{ lib, stdenv, fetchFromGitHub, capnproto }: + +stdenv.mkDerivation { + pname = "ekam"; + version = "unstable-2021-09-18"; + + src = fetchFromGitHub { + owner = "capnproto"; + repo = "ekam"; + rev = "77c338f8bd8f4a2ce1e6199b2a52363f1fccf388"; + sha256 = "0q4bizlb1ykzdp4ca0kld6xm5ml9q866xrj3ijffcnyiyqr51qr8"; + }; + + # The capnproto *source* is required to build ekam. + # https://github.com/capnproto/ekam/issues/5 + # + # Specifically, the git version of the source is required, as + # capnproto release tarballs do not include ekam rule files. + postUnpack = '' + mkdir -p $sourceRoot/deps + cp -r ${capnproto.src} $sourceRoot/deps/capnproto + ''; + + postPatch = '' + # A single capnproto test file expects to be able to write to + # /var/tmp. We change it to use /tmp because /var is not available + # under nix-build. + substituteInPlace deps/capnproto/c++/src/kj/filesystem-disk-test.c++ \ + --replace "/var/tmp" "/tmp" + ''; + + # NIX_ENFORCE_PURITY prevents ld from linking against anything outside + # of the nix store -- but ekam builds capnp locally and links against it, + # so that causes the build to fail. So, we turn this off. + # + # See: https://nixos.wiki/wiki/Development_environment_with_nix-shell#Troubleshooting + preBuild = '' + unset NIX_ENFORCE_PURITY + ''; + + makeFlags = [ + "PARALLEL=$(NIX_BUILD_CORES)" + ]; + + installPhase = '' + mkdir $out + cp -r bin $out + + # Remove capnproto tools; there's a separate nix package for that. + rm $out/bin/capnp* + # Don't distribute ekam-bootstrap, which is not needed outside this build. + rm $out/bin/ekam-bootstrap + ''; + + meta = with lib; { + description = ''Build system ("make" in reverse)''; + longDescription = '' + Ekam ("make" spelled backwards) is a build system which automatically + figures out what to build and how to build it purely based on the + source code. No separate "makefile" is needed. + ''; + homepage = "https://github.com/capnproto/ekam"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.garrison ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/fac/default.nix b/nixpkgs/pkgs/development/tools/build-managers/fac/default.nix new file mode 100644 index 000000000000..c5253edb53e9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/fac/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv, rustPlatform, fetchCrate, git, CoreServices }: + +rustPlatform.buildRustPackage rec { + pname = "fac-build"; + version = "0.5.4"; + + src = fetchCrate { + inherit version; + crateName = "fac"; + sha256 = "sha256-+JJVuKUdnjJoQJ4a2EE0O6jZdVoFxPwbPgfD2LfiDPI="; + }; + + + buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; + cargoSha256 = "sha256-XT4FQVE+buORuZAFZK5Qnf/Fl3QSvw4SHUuCzWhxUdk="; + + # fac includes a unit test called ls_files_works which assumes it's + # running in a git repo. Nix's sandbox runs cargo build outside git, + # so this test won't work. + checkFlagsArray = [ "--skip=ls_files_works" ]; + + # fac calls git at runtime, expecting it to be in the PATH, + # so we need to patch it to call git by absolute path instead. + postPatch = '' + substituteInPlace src/git.rs \ + --replace 'std::process::Command::new("git")' \ + 'std::process::Command::new("${git}/bin/git")' + substituteInPlace tests/lib.rs \ + --replace 'std::process::Command::new("git")' \ + 'std::process::Command::new("${git}/bin/git")' + ''; + + meta = with lib; { + broken = (stdenv.isLinux && stdenv.isAarch64); + description = '' + A build system that uses ptrace to handle dependencies automatically + ''; + longDescription = '' + Fac is a general-purpose build system inspired by make that utilizes + ptrace to ensure that all dependences are enumerated and that all + source files are added to a (git) repo. An important feature of fac + is that it automatically handles dependencies, rather than either + complaining about them or giving an incorrect build. Currently, fac + only runs on linux systems, but on those systems it is incredibly + easy to use! + ''; + homepage = "https://physics.oregonstate.edu/~roundyd/fac"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ dpercy ]; + mainProgram = "fac"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix new file mode 100644 index 000000000000..508a821d7495 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix @@ -0,0 +1,10 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix args { + # Note: Please use the recommended version for Chromium, e.g.: + # https://git.archlinux.org/svntogit/packages.git/tree/trunk/chromium-gn-version.sh?h=packages/gn + rev = "fd3d768bcfd44a8d9639fe278581bd9851d0ce3a"; + revNum = "1718"; # git describe HEAD --match initial-commit | cut -d- -f3 + version = "2020-03-09"; + sha256 = "1asc14y8by7qcn10vbk467hvx93s30pif8r0brissl0sihsaqazr"; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/generic.nix b/nixpkgs/pkgs/development/tools/build-managers/gn/generic.nix new file mode 100644 index 000000000000..4214bb822b99 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gn/generic.nix @@ -0,0 +1,60 @@ +{ stdenv, lib, fetchgit, darwin, writeText +, ninja, python3 +, ... +}: + +{ rev, revNum, version, sha256 }: + +let + revShort = builtins.substring 0 7 rev; + lastCommitPosition = writeText "last_commit_position.h" '' + #ifndef OUT_LAST_COMMIT_POSITION_H_ + #define OUT_LAST_COMMIT_POSITION_H_ + + #define LAST_COMMIT_POSITION_NUM ${revNum} + #define LAST_COMMIT_POSITION "${revNum} (${revShort})" + + #endif // OUT_LAST_COMMIT_POSITION_H_ + ''; + +in stdenv.mkDerivation { + pname = "gn-unstable"; + inherit version; + + src = fetchgit { + # Note: The TAR-Archives (+archive/${rev}.tar.gz) are not deterministic! + url = "https://gn.googlesource.com/gn"; + inherit rev sha256; + }; + + nativeBuildInputs = [ ninja python3 ]; + buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ + libobjc + cctools + + # frameworks + ApplicationServices + Foundation + AppKit + ]); + + buildPhase = '' + python build/gen.py --no-last-commit-position + ln -s ${lastCommitPosition} out/last_commit_position.h + ninja -j $NIX_BUILD_CORES -C out gn + ''; + + installPhase = '' + install -vD out/gn "$out/bin/gn" + ''; + + setupHook = ./setup-hook.sh; + + meta = with lib; { + description = "A meta-build system that generates build files for Ninja"; + homepage = "https://gn.googlesource.com/gn"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = with maintainers; [ stesie matthewbauer primeos ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/rev1924.nix b/nixpkgs/pkgs/development/tools/build-managers/gn/rev1924.nix new file mode 100644 index 000000000000..1b17328f2e09 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gn/rev1924.nix @@ -0,0 +1,8 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix args { + rev = "24e2f7df92641de0351a96096fb2c490b2436bb8"; + revNum = "1924"; # git describe HEAD --match initial-commit | cut -d- -f3 + version = "2021-08-08"; + sha256 = "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh new file mode 100644 index 000000000000..850f18948cad --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gn/setup-hook.sh @@ -0,0 +1,14 @@ +gnConfigurePhase() { + runHook preConfigure + + echo "gn flags: $gnFlags ${gnFlagsArray[@]}" + + gn gen out/Release --args="$gnFlags ${gnFlagsArray[@]}" + cd out/Release/ + + runHook postConfigure +} + +if [ -z "${dontUseGnConfigure-}" -a -z "${configurePhase-}" ]; then + configurePhase=gnConfigurePhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/0001-No-impure-bin-sh.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/0001-No-impure-bin-sh.patch new file mode 100644 index 000000000000..58ee2d6fe09b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/0001-No-impure-bin-sh.patch @@ -0,0 +1,35 @@ +From e00a5257a6ca5fedbf68b09eee7df3502971a057 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> +Date: Sat, 24 Apr 2021 10:11:40 +0200 +Subject: [PATCH 1/2] No impure bin sh + +default_shell is used to populuate default shell used to execute jobs. +Unless SHELL is set to a different value this would be /bin/sh. +Our stdenv provides sh in form of bash anyway. Having this value not +hard-coded has some advantages: + +- It would ensure that on all systems it uses sh from its PATH rather + than /bin/sh, which helps as different systems might have different + shells there (bash vs. dash) +- In the past I had issues with LD_PRELOAD with BEAR, where /bin/sh + used a different glibc than BEAR which came from my development shell. +--- + src/job.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/job.c b/src/job.c +index ae1f18b..6b4ddb3 100644 +--- a/src/job.c ++++ b/src/job.c +@@ -77,7 +77,7 @@ char * vms_strsignal (int status); + + #else + +-const char *default_shell = "/bin/sh"; ++const char *default_shell = "sh"; + int batch_mode_shell = 0; + + #endif +-- +2.31.1 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/0002-remove-impure-dirs.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/0002-remove-impure-dirs.patch new file mode 100644 index 000000000000..e62aee7d9993 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/0002-remove-impure-dirs.patch @@ -0,0 +1,40 @@ +From 795d63d3c8b5c0dbb7e544954f75507b371b7228 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> +Date: Sat, 24 Apr 2021 10:20:16 +0200 +Subject: [PATCH 2/2] remove impure dirs + +--- + src/read.c | 3 --- + src/remake.c | 2 -- + 2 files changed, 5 deletions(-) + +diff --git a/src/read.c b/src/read.c +index fa197fb..defacfb 100644 +--- a/src/read.c ++++ b/src/read.c +@@ -109,9 +109,6 @@ static const char *default_include_directories[] = + #endif + INCLUDEDIR, + #ifndef _AMIGA +- "/usr/gnu/include", +- "/usr/local/include", +- "/usr/include", + #endif + 0 + }; +diff --git a/src/remake.c b/src/remake.c +index fb237c5..94bff7d 100644 +--- a/src/remake.c ++++ b/src/remake.c +@@ -1601,8 +1601,6 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr) + static const char *dirs[] = + { + #ifndef _AMIGA +- "/lib", +- "/usr/lib", + #endif + #if defined(WINDOWS32) && !defined(LIBDIR) + /* +-- +2.31.1 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix new file mode 100644 index 000000000000..21e9abd04f20 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/default.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, fetchurl, guileSupport ? false, pkg-config ? null , guile ? null }: + +assert guileSupport -> ( pkg-config != null && guile != null ); + +stdenv.mkDerivation rec { + pname = "gnumake"; + version = "4.2.1"; + + src = fetchurl { + url = "mirror://gnu/make/make-${version}.tar.bz2"; + sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn"; + }; + + patchFlags = [ "-p0" ]; + patches = [ + # Purity: don't look for library dependencies (of the form `-lfoo') in /lib + # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for + # included Makefiles, don't look in /usr/include and friends. + ./impure-dirs.patch + ./pselect.patch + # Fix support for glibc 2.27's glob, inspired by http://www.linuxfromscratch.org/lfs/view/8.2/chapter05/make.html + ./glibc-2.27-glob.patch + ./glibc-2.33-glob.patch + ]; + + nativeBuildInputs = lib.optionals guileSupport [ pkg-config ]; + buildInputs = lib.optionals guileSupport [ guile ]; + + configureFlags = lib.optional guileSupport "--with-guile" + + # Make uses this test to decide whether it should keep track of + # subseconds. Apple made this possible with APFS and macOS 10.13. + # However, we still support macOS 10.11 and 10.12. Binaries built + # in Nixpkgs will be unable to use futimens to set mtime less than + # a second. So, tell Make to ignore nanoseconds in mtime here by + # overriding the autoconf test for the struct. + # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion. + ++ lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no"; + + outputs = [ "out" "man" "info" ]; + + meta = with lib; { + description = "A tool to control the generation of non-source files from sources"; + longDescription = '' + Make is a tool which controls the generation of executables and + other non-source files of a program from the program's source files. + + Make gets its knowledge of how to build your program from a file + called the makefile, which lists each of the non-source files and + how to compute it from other files. When you write a program, you + should write a makefile for it, so that it is possible to use Make + to build and install the program. + ''; + homepage = "https://www.gnu.org/software/make/"; + + license = licenses.gpl3Plus; + maintainers = [ maintainers.vrthra ]; + mainProgram = "make"; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch new file mode 100644 index 000000000000..186212d0d298 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch @@ -0,0 +1,32 @@ +diff -Naur glob/glob.c glob/glob.c +--- glob/glob.c 2013-10-20 13:14:38.000000000 -0400 ++++ glob/glob.c 2018-03-16 14:32:38.483496170 -0400 +@@ -208,28 +208,9 @@ + #endif /* __GNU_LIBRARY__ || __DJGPP__ */ + + +-#if !defined __alloca && !defined __GNU_LIBRARY__ +- +-# ifdef __GNUC__ +-# undef alloca +-# define alloca(n) __builtin_alloca (n) +-# else /* Not GCC. */ +-# ifdef HAVE_ALLOCA_H + # include <alloca.h> +-# else /* Not HAVE_ALLOCA_H. */ +-# ifndef _AIX +-# ifdef WINDOWS32 +-# include <malloc.h> +-# else +-extern char *alloca (); +-# endif /* WINDOWS32 */ +-# endif /* Not _AIX. */ +-# endif /* sparc or HAVE_ALLOCA_H. */ +-# endif /* GCC. */ +- + # define __alloca alloca + +-#endif + + #ifndef __GNU_LIBRARY__ + # define __stat stat diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.33-glob.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.33-glob.patch new file mode 100644 index 000000000000..d3e424d1c499 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.33-glob.patch @@ -0,0 +1,17 @@ +diff --git glob/glob.c glob/glob.c +index 924f2b3..d4ef0c5 100644 +--- glob/glob.c ++++ glob/glob.c +@@ -212,8 +212,8 @@ my_realloc (p, n) + # define __alloca alloca + + +-#ifndef __GNU_LIBRARY__ + # define __stat stat ++#ifndef __GNU_LIBRARY__ + # ifdef STAT_MACROS_BROKEN + # undef S_ISDIR + # endif +-- +2.31.1 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs.patch new file mode 100644 index 000000000000..f6646f1d0126 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs.patch @@ -0,0 +1,34 @@ +diff -rc read.c read.c +*** read.c 2006-03-17 15:24:20.000000000 +0100 +--- read.c 2007-05-24 17:16:31.000000000 +0200 +*************** +*** 99,107 **** +--- 99,109 ---- + #endif + INCLUDEDIR, + #ifndef _AMIGA ++ #if 0 + "/usr/gnu/include", + "/usr/local/include", + "/usr/include", ++ #endif + #endif + 0 + }; +diff -rc reremake.c +*** remake.c 2006-03-20 03:36:37.000000000 +0100 +--- remake.c 2007-05-24 17:06:54.000000000 +0200 +*************** +*** 1452,1460 **** +--- 1452,1462 ---- + static char *dirs[] = + { + #ifndef _AMIGA ++ #if 0 + "/lib", + "/usr/lib", + #endif ++ #endif + #if defined(WINDOWS32) && !defined(LIBDIR) + /* + * This is completely up to the user at product install time. Just define diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/pselect.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/pselect.patch new file mode 100644 index 000000000000..5a03acb2f7ca --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/4.2/pselect.patch @@ -0,0 +1,170 @@ +From b552b05251980f693c729e251f93f5225b400714 Mon Sep 17 00:00:00 2001 +From: Paul Smith <psmith@gnu.org> +Date: Sat, 3 Jun 2017 16:20:51 -0400 +Subject: [SV 51159] Use a non-blocking read with pselect to avoid hangs. + +* posixos.c (set_blocking): Set blocking on a file descriptor. +(jobserver_setup): Set non-blocking on the jobserver read side. +(jobserver_parse_auth): Ditto. +(jobserver_acquire_all): Set blocking to avoid a busy-wait loop. +(jobserver_acquire): If the non-blocking read() returns without +taking a token then try again. +--- + posixos.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 71 insertions(+), 26 deletions(-) + +diff --git posixos.c posixos.c +index e642d7f..dbafa51 100644 +--- posixos.c ++++ posixos.c +@@ -62,6 +62,24 @@ make_job_rfd (void) + #endif + } + ++static void ++set_blocking (int fd, int blocking) ++{ ++ // If we're not using pselect() don't change the blocking ++#ifdef HAVE_PSELECT ++ int flags; ++ EINTRLOOP (flags, fcntl (fd, F_GETFL)); ++ if (flags >= 0) ++ { ++ int r; ++ flags = blocking ? (flags & ~O_NONBLOCK) : (flags | O_NONBLOCK); ++ EINTRLOOP (r, fcntl (fd, F_SETFL, flags)); ++ if (r < 0) ++ pfatal_with_name ("fcntl(O_NONBLOCK)"); ++ } ++#endif ++} ++ + unsigned int + jobserver_setup (int slots) + { +@@ -86,6 +104,9 @@ jobserver_setup (int slots) + pfatal_with_name (_("init jobserver pipe")); + } + ++ /* When using pselect() we want the read to be non-blocking. */ ++ set_blocking (job_fds[0], 0); ++ + return 1; + } + +@@ -121,6 +142,9 @@ jobserver_parse_auth (const char *auth) + return 0; + } + ++ /* When using pselect() we want the read to be non-blocking. */ ++ set_blocking (job_fds[0], 0); ++ + return 1; + } + +@@ -169,7 +193,10 @@ jobserver_acquire_all (void) + { + unsigned int tokens = 0; + +- /* Close the write side, so the read() won't hang. */ ++ /* Use blocking reads to wait for all outstanding jobs. */ ++ set_blocking (job_fds[0], 1); ++ ++ /* Close the write side, so the read() won't hang forever. */ + close (job_fds[1]); + job_fds[1] = -1; + +@@ -236,18 +263,12 @@ jobserver_pre_acquire (void) + unsigned int + jobserver_acquire (int timeout) + { +- sigset_t empty; +- fd_set readfds; + struct timespec spec; + struct timespec *specp = NULL; +- int r; +- char intake; ++ sigset_t empty; + + sigemptyset (&empty); + +- FD_ZERO (&readfds); +- FD_SET (job_fds[0], &readfds); +- + if (timeout) + { + /* Alarm after one second (is this too granular?) */ +@@ -256,28 +277,52 @@ jobserver_acquire (int timeout) + specp = &spec; + } + +- r = pselect (job_fds[0]+1, &readfds, NULL, NULL, specp, &empty); +- +- if (r == -1) ++ while (1) + { +- /* Better be SIGCHLD. */ +- if (errno != EINTR) +- pfatal_with_name (_("pselect jobs pipe")); +- return 0; +- } ++ fd_set readfds; ++ int r; ++ char intake; + +- if (r == 0) +- /* Timeout. */ +- return 0; ++ FD_ZERO (&readfds); ++ FD_SET (job_fds[0], &readfds); + +- /* The read FD is ready: read it! */ +- EINTRLOOP (r, read (job_fds[0], &intake, 1)); +- if (r < 0) +- pfatal_with_name (_("read jobs pipe")); ++ r = pselect (job_fds[0]+1, &readfds, NULL, NULL, specp, &empty); ++ if (r < 0) ++ switch (errno) ++ { ++ case EINTR: ++ /* SIGCHLD will show up as an EINTR. */ ++ return 0; ++ ++ case EBADF: ++ /* Someone closed the jobs pipe. ++ That shouldn't happen but if it does we're done. */ ++ O (fatal, NILF, _("job server shut down")); + +- /* What does it mean if read() returns 0? It shouldn't happen because only +- the master make can reap all the tokens and close the write side...?? */ +- return r > 0; ++ default: ++ pfatal_with_name (_("pselect jobs pipe")); ++ } ++ ++ if (r == 0) ++ /* Timeout. */ ++ return 0; ++ ++ /* The read FD is ready: read it! This is non-blocking. */ ++ EINTRLOOP (r, read (job_fds[0], &intake, 1)); ++ ++ if (r < 0) ++ { ++ /* Someone sniped our token! Try again. */ ++ if (errno == EAGAIN) ++ continue; ++ ++ pfatal_with_name (_("read jobs pipe")); ++ } ++ ++ /* read() should never return 0: only the master make can reap all the ++ tokens and close the write side...?? */ ++ return r > 0; ++ } + } + + #else +-- +cgit v1.0-41-gc330 + diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix new file mode 100644 index 000000000000..774ea50f8623 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, fetchurl +, guileSupport ? false, guile +# avoid guile depend on bootstrap to prevent dependency cycles +, inBootstrap ? false +, pkg-config +, gnumake +}: + +let + guileEnabled = guileSupport && !inBootstrap; +in + +stdenv.mkDerivation rec { + pname = "gnumake"; + version = "4.4.1"; + + src = fetchurl { + url = "mirror://gnu/make/make-${version}.tar.gz"; + sha256 = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M="; + }; + + # to update apply these patches with `git am *.patch` to https://git.savannah.gnu.org/git/make.git + patches = [ + # Replaces /bin/sh with sh, see patch file for reasoning + ./0001-No-impure-bin-sh.patch + # Purity: don't look for library dependencies (of the form `-lfoo') in /lib + # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for + # included Makefiles, don't look in /usr/include and friends. + ./0002-remove-impure-dirs.patch + ]; + + nativeBuildInputs = lib.optionals guileEnabled [ pkg-config ]; + buildInputs = lib.optionals guileEnabled [ guile ]; + + configureFlags = lib.optional guileEnabled "--with-guile" + + # Make uses this test to decide whether it should keep track of + # subseconds. Apple made this possible with APFS and macOS 10.13. + # However, we still support macOS 10.11 and 10.12. Binaries built + # in Nixpkgs will be unable to use futimens to set mtime less than + # a second. So, tell Make to ignore nanoseconds in mtime here by + # overriding the autoconf test for the struct. + # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion. + ++ lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no"; + + outputs = [ "out" "man" "info" ]; + separateDebugInfo = true; + + passthru.tests = { + # make sure that the override doesn't break bootstrapping + gnumakeWithGuile = gnumake.override { guileSupport = true; }; + }; + + meta = with lib; { + description = "A tool to control the generation of non-source files from sources"; + longDescription = '' + Make is a tool which controls the generation of executables and + other non-source files of a program from the program's source files. + + Make gets its knowledge of how to build your program from a file + called the makefile, which lists each of the non-source files and + how to compute it from other files. When you write a program, you + should write a makefile for it, so that it is possible to use Make + to build and install the program. + ''; + homepage = "https://www.gnu.org/software/make/"; + + license = licenses.gpl3Plus; + maintainers = [ maintainers.vrthra ]; + mainProgram = "make"; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/goredo/default.nix b/nixpkgs/pkgs/development/tools/build-managers/goredo/default.nix new file mode 100644 index 000000000000..d7ddc7ae1f9c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/goredo/default.nix @@ -0,0 +1,59 @@ +{ buildGoModule +, fetchurl +, lib +, zstd +, sharness +, python3 +, perl +}: + +buildGoModule rec { + pname = "goredo"; + version = "1.30.0"; + + src = fetchurl { + url = "http://www.goredo.cypherpunks.ru/download/${pname}-${version}.tar.zst"; + hash = "sha256-glsg2q8jFd4z6CuKzlZ3afJx/S7Aw6LCxFAS/uHLlUg="; + }; + + patches = [ ./fix-tests.diff ]; + + nativeBuildInputs = [ zstd ]; + + nativeCheckInputs = lib.optionals doCheck [ python3 perl ]; + + inherit (sharness) SHARNESS_TEST_SRCDIR; + + vendorSha256 = null; + + modRoot = "./src"; + subPackages = [ "." ]; + + postBuild = '' + ( cd $GOPATH/bin; ./goredo -symlinks ) + cd .. + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + export PATH=$GOPATH/bin:$PATH + (cd t; prove -f .) + runHook postCheck + ''; + + postInstall = '' + mkdir -p "$out/share/info" + cp goredo.info "$out/share/info" + ''; + + outputs = [ "out" "info" ]; + + meta = with lib; { + outputsToInstall = [ "out" ]; + description = "djb's redo, a system for building files from source files. Written in Go"; + homepage = "https://www.goredo.cypherpunks.ru"; + license = licenses.gpl3; + maintainers = [ maintainers.spacefrogg ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/goredo/fix-tests.diff b/nixpkgs/pkgs/development/tools/build-managers/goredo/fix-tests.diff new file mode 100644 index 000000000000..3c4ce641ac56 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/goredo/fix-tests.diff @@ -0,0 +1,21 @@ +diff '--color=auto' -ru goredo-1.30.0/t/goredo-double-consideration.t goredo-1.30.0.new/t/goredo-double-consideration.t +--- goredo-1.30.0/t/goredo-double-consideration.t 2023-01-18 13:16:01.000000000 +0100 ++++ goredo-1.30.0.new/t/goredo-double-consideration.t 2023-03-11 16:15:19.434788789 +0100 +@@ -17,7 +17,7 @@ + redo-stamp <"\$3" + EOF + cat > version.do <<EOF +-git rev-parse --short HEAD > "\$3" ++echo 012345 > "\$3" + redo-always + redo-stamp <"\$3" + EOF +diff '--color=auto' -ru goredo-1.30.0/t/redo-sh.tests/clean.do goredo-1.30.0.new/t/redo-sh.tests/clean.do +--- goredo-1.30.0/t/redo-sh.tests/clean.do 2023-01-18 13:16:01.000000000 +0100 ++++ goredo-1.30.0.new/t/redo-sh.tests/clean.do 2023-03-11 16:09:47.304372011 +0100 +@@ -1,4 +1,4 @@ + for f in * ; do + [ -d $f ] || continue +- find $f ! -name test -delete ++ find $f ! -name test -delete || true + done diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix new file mode 100644 index 000000000000..9cdfb27c8893 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix @@ -0,0 +1,97 @@ +{ stdenv +, lib +, fetchFromGitHub +, gnat +, which +, xmlada # for src +}: + +let + version = "23.0.0"; + + gprConfigKbSrc = fetchFromGitHub { + name = "gprconfig-kb-${version}-src"; + owner = "AdaCore"; + repo = "gprconfig_kb"; + rev = "v${version}"; + sha256 = "1rhskq4r2plf3ia67k08misygnpr9knzw3kp3kyv5778lra8y6s2"; + }; +in + +stdenv.mkDerivation { + pname = "gprbuild-boot"; + inherit version; + + src = fetchFromGitHub { + name = "gprbuild-${version}"; + owner = "AdaCore"; + repo = "gprbuild"; + rev = "v${version}"; + sha256 = "1ciaq4nh98vd7r5i11v353c1ms9s5yph0yxk4fkryc6bvkm4666x"; + }; + + nativeBuildInputs = [ + gnat + which + ]; + + postPatch = '' + # The Makefile uses gprbuild to build gprbuild which + # we can't do at this point, delete it to prevent the + # default phases from failing. + rm Makefile + + # make sure bootstrap script runs + patchShebangs --build bootstrap.sh + ''; + + # This setupHook populates GPR_PROJECT_PATH which is used by + # gprbuild to find dependencies. It works quite similar to + # the pkg-config setupHook in the sense that it also splits + # dependencies into GPR_PROJECT_PATH and GPR_PROJECT_PATH_FOR_BUILD, + # but gprbuild itself doesn't support this, so we'll need to + # introducing a wrapper for it in the future remains TODO. + # For the moment this doesn't matter since we have no situation + # were gprbuild is used to build something used at build time. + setupHooks = [ + ./gpr-project-path-hook.sh + ] ++ lib.optionals stdenv.targetPlatform.isDarwin [ + # This setupHook replaces the paths of shared libraries starting + # with @rpath with the absolute paths on Darwin, so that the + # binaries can be run without additional setup. + ./gpr-project-darwin-rpath-hook.sh + ]; + + installPhase = '' + runHook preInstall + + ./bootstrap.sh \ + --with-xmlada=${xmlada.src} \ + --with-kb=${gprConfigKbSrc} \ + --prefix=$out + + # Install custom compiler description which can detect nixpkgs' + # GNAT wrapper as a proper Ada compiler. The default compiler + # description expects the runtime library to be installed in + # the same prefix which isn't the case for nixpkgs. As a + # result, it would detect the unwrapped GNAT as a proper + # compiler which is unable to produce working binaries. + # + # Our compiler description is very similar to the upstream + # GNAT description except that we use a symlink in $out/nix-support + # created by the cc-wrapper to find the associated runtime + # libraries and use gnatmake instead of gnatls to find GNAT's + # bin directory. + install -m644 ${./nixpkgs-gnat.xml} $out/share/gprconfig/nixpkgs-gnat.xml + + runHook postInstall + ''; + + meta = with lib; { + description = "Multi-language extensible build tool"; + homepage = "https://github.com/AdaCore/gprbuild"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.sternenseemann ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix new file mode 100644 index 000000000000..5b3d45bf62d5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, gprbuild-boot +, which +, gnat +, xmlada +}: + +stdenv.mkDerivation { + pname = "gprbuild"; + + # See ./boot.nix for an explanation of the gprbuild setupHook, + # our custom knowledge base entry and the situation wrt a + # (future) gprbuild wrapper. + inherit (gprbuild-boot) + version + src + setupHooks + meta + ; + + nativeBuildInputs = [ + gnat + gprbuild-boot + which + ]; + + propagatedBuildInputs = [ + xmlada + ]; + + makeFlags = [ + "ENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "no" else "yes"}" + "PROCESSORS=$(NIX_BUILD_CORES)" + # confusingly, for gprbuild --target is autoconf --host + "TARGET=${stdenv.hostPlatform.config}" + "prefix=${placeholder "out"}" + ] ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ + "LIBRARY_TYPE=relocatable" + ]; + + # Fixes gprbuild being linked statically always + patches = lib.optional (!stdenv.hostPlatform.isStatic) (fetchpatch { + name = "gprbuild-relocatable-build.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/relocatable-build.patch?h=gprbuild&id=1d4e8a5cb982e79135a0aaa3ef87654bed1fe4f0"; + sha256 = "1r3xsp1pk9h666mm8mdravkybmd5gv2f751x2ffb1kxnwq1rwiyn"; + }); + + buildFlags = [ "all" "libgpr.build" ]; + + installFlags = [ "all" "libgpr.install" ]; + + # link gprconfig_kb db from gprbuild-boot into build dir, + # the install process copies its contents to $out + preInstall = '' + ln -sf ${gprbuild-boot}/share/gprconfig share/gprconfig + ''; + + # no need for the install script + postInstall = '' + rm $out/doinstall + ''; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-darwin-rpath-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-darwin-rpath-hook.sh new file mode 100644 index 000000000000..73be2eb5960a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-darwin-rpath-hook.sh @@ -0,0 +1,10 @@ +fixGprProjectDarwinRpath() { + for f in $(find $out -type f -executable); do + install_name_tool -id $f $f || true + for rpath in $(otool -L $f | grep @rpath | awk '{print $1}'); do + install_name_tool -change $rpath ${!outputLib}/lib/$(basename $rpath) $f || true + done + done +} + +preFixupPhases+=" fixGprProjectDarwinRpath" diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh new file mode 100644 index 000000000000..f98b2ab9e58d --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh @@ -0,0 +1,8 @@ +addAdaObjectsPath() { + local role_post + getHostRoleEnvHook + + addToSearchPath "GPR_PROJECT_PATH${role_post}" "$1/share/gpr" +} + +addEnvHooks "$targetOffset" addAdaObjectsPath diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml new file mode 100644 index 000000000000..ead88dc365c1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" ?> +<gprconfig> + <!-- This differs from the default GNAT compiler description + in the following ways: + + * gnatmake is used over gnatls to detect the GNAT version + since the latter is not part of the wrapper. + * to find the runtime libraries, we rely on the symlink + ../nix-support/gprconfig-gnat-unwrapped which is a + gprconfig-specific addition to the cc-wrapper we employ + for Ada compilers (which is only GNAT at the moment). + + For documentation on this file format and its use refer to + https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/companion_tools.html#the-gprconfig-knowledge-base + --> + <compiler_description> + <!-- We would like to name this something different, so users + of gprconfig know this is something custom, nixpkgs-related, + but unfortunately the knowledge base depends on the name of + the compiler for e. g. linker settings. + --> + <name>GNAT</name> + <executable prefix="1">(.*-.*-.*)?gnatmake</executable> + <version> + <external>${PREFIX}gnatmake -v</external> + <grep regexp="^GNATMAKE.+?(\d+(\.\d+)?)" group="1"></grep> + </version> + <languages>Ada</languages> + <variable name="gcc_version"> + <external>${PREFIX}gcc -v</external> + <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> + </variable> + <!-- The ada runtime libraries and objects are only part of the unwrapped + GNAT derivation. We can't symlink them into the wrapper derivation + (at least not the canonical location) since that screws with linking + against libraries distributed with gcc. + + As a workaround, we create a symlink to the unwrapped GNAT's "out" + output in the cc-wrapper which we can read into a variable here and + use to find GNAT's Ada runtime. + --> + <variable name="gnat_unwrapped"> + <external>readlink -n ${PATH}/../nix-support/gprconfig-gnat-unwrapped</external> + </variable> + <runtimes default="default,kernel,native"> + <directory group="default" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory> + <directory group="default" contents="^rts-">$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory> + <directory group="2" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory> + <directory group="1" >$gnat_unwrapped/$TARGET/lib/gnat/(.*)/adalib/</directory> + </runtimes> + <target> + <external>${PREFIX}gcc -dumpmachine</external> + <grep regexp="[^\r\n]+"></grep> + </target> + </compiler_description> +</gprconfig> diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix new file mode 100644 index 000000000000..b0b5e10729bf --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix @@ -0,0 +1,150 @@ +{ jdk8, jdk11, jdk17 }: + +rec { + gen = + + { version, nativeVersion, sha256, + + # The default JDK/JRE that will be used for derived Gradle packages. + # A current LTS version of a JDK is a good choice. + defaultJava ? jdk8, + + # The platforms supported by this Gradle package. + # Gradle Native-Platform ships some binaries that + # are compatible only with specific platforms. + # As of 2022-04 this affects platform compatibility + # of multiple Gradle releases, so this is used as default. + # See https://github.com/gradle/native-platform#supported-platforms + platforms ? [ + "aarch64-darwin" + "aarch64-linux" + "i686-windows" + "x86_64-cygwin" + "x86_64-darwin" + "x86_64-linux" + "x86_64-windows" + ] + }: + + { lib, stdenv, fetchurl, makeWrapper, unzip, ncurses5, ncurses6, + + # The JDK/JRE used for running Gradle. + java ? defaultJava, + + # Additional JDK/JREs to be registered as toolchains. + # See https://docs.gradle.org/current/userguide/toolchains.html + javaToolchains ? [ ] + }: + + stdenv.mkDerivation rec { + pname = "gradle"; + inherit version; + + src = fetchurl { + inherit sha256; + url = + "https://services.gradle.org/distributions/gradle-${version}-bin.zip"; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper unzip ]; + buildInputs = [ java ]; + + installPhase = with builtins; + let + toolchain = rec { + prefix = x: "JAVA_TOOLCHAIN_NIX_${toString x}"; + varDefs = (lib.imap0 (i: x: "${prefix i} ${x}") javaToolchains); + varNames = lib.imap0 (i: x: prefix i) javaToolchains; + property = " -Porg.gradle.java.installations.fromEnv='${ + concatStringsSep "," varNames + }'"; + }; + varDefs = concatStringsSep "\n" (map (x: " --set ${x} \\") + ([ "JAVA_HOME ${java}" ] ++ toolchain.varDefs)); + in '' + mkdir -pv $out/lib/gradle/ + cp -rv lib/ $out/lib/gradle/ + + gradle_launcher_jar=$(echo $out/lib/gradle/lib/gradle-launcher-*.jar) + test -f $gradle_launcher_jar + makeWrapper ${java}/bin/java $out/bin/gradle \ + ${varDefs} + --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain${toolchain.property}" + ''; + + dontFixup = !stdenv.isLinux; + + fixupPhase = let arch = if stdenv.is64bit then "amd64" else "i386"; + in '' + for variant in "" "-ncurses5" "-ncurses6"; do + mkdir "patching$variant" + pushd "patching$variant" + jar xf $out/lib/gradle/lib/native-platform-linux-${arch}$variant-${nativeVersion}.jar + patchelf \ + --set-rpath "${stdenv.cc.cc.lib}/lib64:${lib.makeLibraryPath [ stdenv.cc.cc ncurses5 ncurses6 ]}" \ + net/rubygrapefruit/platform/linux-${arch}$variant/libnative-platform*.so + jar cf native-platform-linux-${arch}$variant-${nativeVersion}.jar . + mv native-platform-linux-${arch}$variant-${nativeVersion}.jar $out/lib/gradle/lib/ + popd + done + + # The scanner doesn't pick up the runtime dependency in the jar. + # Manually add a reference where it will be found. + mkdir $out/nix-support + echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies + # Gradle will refuse to start without _both_ 5 and 6 versions of ncurses. + echo ${ncurses5} >> $out/nix-support/manual-runtime-dependencies + echo ${ncurses6} >> $out/nix-support/manual-runtime-dependencies + ''; + + meta = with lib; { + inherit platforms; + description = "Enterprise-grade build system"; + longDescription = '' + Gradle is a build system which offers you ease, power and freedom. + You can choose the balance for yourself. It has powerful multi-project + build support. It has a layer on top of Ivy that provides a + build-by-convention integration for Ivy. It gives you always the choice + between the flexibility of Ant and the convenience of a + build-by-convention behavior. + ''; + homepage = "https://www.gradle.org/"; + changelog = "https://docs.gradle.org/${version}/release-notes.html"; + downloadPage = "https://gradle.org/next-steps/?version=${version}"; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; + license = licenses.asl20; + maintainers = with maintainers; [ lorenzleutgeb liff ]; + mainProgram = "gradle"; + }; + }; + + # NOTE: Default JDKs that are hardcoded below must be LTS versions + # and respect the compatibility matrix at + # https://docs.gradle.org/current/userguide/compatibility.html + + gradle_8 = gen { + version = "8.3"; + nativeVersion = "0.22-milestone-24"; + sha256 = "09cjyss4bcnig1wzhxpwyn4kznkawzaha7fy0jg5nqzw2ysma62r"; + defaultJava = jdk17; + }; + + gradle_7 = gen { + version = "7.6.2"; + nativeVersion = "0.22-milestone-24"; + sha256 = "1b7riri2ysr1bvfskmmb8phfx8c2b719kqhf189fvrszw63na6x0"; + defaultJava = jdk17; + }; + + gradle_6 = gen { + version = "6.9.4"; + nativeVersion = "0.22-milestone-20"; + sha256 = "16iqh4bn7ndch51h2lgkdqyyhnd91fdfjx55fa3z3scdacl0491y"; + defaultJava = jdk11; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh b/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh new file mode 100755 index 000000000000..0d6b78a66525 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-prefetch curl jq + +# Generates Gradle release specs from GitHub Releases. +# +# As of 2021-11, this script has very poor error handling, +# it is expected to be run by maintainers as one-off job +# only. +# +# NOTE: The earliest Gradle release that has a +# corresponding entry as GitHub Release is 6.8-rc-1. + +for v in $(curl -s "https://api.github.com/repos/gradle/gradle/releases" | jq -r '.[].tag_name' | sort -n -r) +do + # Tag names and download filenames are not the same, + # we modify the tag name slightly to translate it + # to the naming scheme of download filenames. + # This translation assumes a tag naming scheme. + # As of 2021-11 it works from 6.8-rc-1 to 7.3-rc-3. + + # Remove first letter (assumed to be "v"). + v=${v:1} + + # To lower case. + v=${v,,} + + # Add dash after "rc". + v=${v/-rc/-rc-} + + # Remove trailing ".0" + v=${v%.0} + + # Remove trailing ".0" for release candidates. + v=${v/.0-rc/-rc} + + f="gradle-${v}-spec.nix" + + if [[ -n "$1" && "$1" != "$v" ]] + then + echo "$v SKIP (nomatch)" + continue + elif [ "$1" == "" ] && [ -f "$f" ] + then + echo "$v SKIP (exists)" + continue + fi + + url="https://services.gradle.org/distributions/gradle-${v}-bin.zip" + read -d "\n" gradle_hash gradle_path < <(nix-prefetch-url --print-path $url) + + # Prefix and suffix for "native-platform" dependency. + gradle_native_prefix="gradle-$v/lib/native-platform-" + gradle_native_suffix=".jar" + tmp=$(mktemp) + zipinfo -1 "$gradle_path" "$gradle_native_prefix*$gradle_native_suffix" > $tmp + gradle_native=$(cat $tmp | head -n1) + gradle_native=${gradle_native#"$gradle_native_prefix"} + gradle_native=${gradle_native%"$gradle_native_suffix"} + + # Supported architectures + #grep -Pho "(linux|osx)-\w+" $tmp | sort | uniq + rm -f $tmp + + echo -e "{\\n version = \"$v\";\\n nativeVersion = \"$gradle_native\";\\n sha256 = \"$gradle_hash\";\\n}" > $f + + echo "$v DONE" +done diff --git a/nixpkgs/pkgs/development/tools/build-managers/gup/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gup/default.nix new file mode 100644 index 000000000000..c051b34dea35 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gup/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, nix-update-source, lib, python3 +, which, runtimeShell, pychecker ? null }: +stdenv.mkDerivation rec { + version = "0.8.4"; + src = fetchFromGitHub { + owner = "timbertson"; + repo = "gup"; + rev = "version-${version}"; + sha256 = "0b8q9mrr7b9silwc4mp733j1z18g4lp6ppdi8p2rxzgb2fb4bkvp"; + }; + pname = "gup"; + nativeBuildInputs = [ python3 which pychecker ]; + buildInputs = [ python3 ]; + strictDeps = true; + SKIP_PYCHECKER = pychecker == null; + buildPhase = "make python"; + installPhase = '' + mkdir $out + cp -r python/bin $out/bin + ''; + passthru.updateScript = [ + runtimeShell + "-c" + '' + set -e + echo + cd ${toString ./.} + ${nix-update-source}/bin/nix-update-source \ + --prompt version \ + --replace-attr version \ + --set owner timbertson \ + --set repo gup \ + --set type fetchFromGitHub \ + --set rev 'version-{version}' \ + --modify-nix default.nix + '' + ]; + meta = { + inherit (src.meta) homepage; + description = "A better make, inspired by djb's redo"; + license = lib.licenses.lgpl2Plus; + maintainers = [ lib.maintainers.timbertson ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix new file mode 100644 index 000000000000..6320646974ad --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/icmake/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv, fetchFromGitLab, makeWrapper, gcc, ncurses }: + +stdenv.mkDerivation rec { + pname = "icmake"; + version = "9.03.01"; + + src = fetchFromGitLab { + sha256 = "05r0a69w0hv2qhjpb2bxd0lmp2vv5r2d4iggg6ly4miam0i318jy"; + rev = version; + repo = "icmake"; + owner = "fbb-git"; + }; + + + setSourceRoot = '' + sourceRoot=$(echo */icmake) + ''; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ gcc ]; + + preConfigure = '' + patchShebangs ./ + substituteInPlace INSTALL.im --replace "usr/" "" + ''; + + buildPhase = '' + ./icm_prepare $out + ./icm_bootstrap x + ''; + + installPhase = '' + ./icm_install all / + + wrapProgram $out/bin/icmbuild \ + --prefix PATH : ${ncurses}/bin + ''; + + meta = with lib; { + description = "A program maintenance (make) utility using a C-like grammar"; + homepage = "https://fbb-git.gitlab.io/icmake/"; + license = licenses.gpl3; + maintainers = with maintainers; [ pSub ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix new file mode 100644 index 000000000000..2a40c5970984 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix @@ -0,0 +1,115 @@ +{ lib, stdenv, fetchurl, bison, buildPackages, pkgsBuildTarget }: + +let + mkJam = { pname, version, src, meta ? { } }: stdenv.mkDerivation { + inherit pname version src; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ bison ]; + + # Jambase expects ar to have flags. + preConfigure = '' + export AR="$AR rc" + ''; + + # When cross-compiling, we need to set the preprocessor macros + # OSMAJOR/OSMINOR/OSPLAT to the values from the target platform, not the + # host platform. This looks a little ridiculous because the vast majority of + # build tools don't embed target-specific information into their binary, but + # in this case we behave more like a compiler than a make(1)-alike. + postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) '' + cat >>jam.h <<EOF + #undef OSMAJOR + #undef OSMINOR + #undef OSPLAT + $( + ${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}cc -E -dM jam.h \ + | grep -E '^#define (OSMAJOR|OSMINOR|OSPLAT) ' + ) + EOF + ''; + + LOCATE_TARGET = "bin.unix"; + + buildPhase = '' + runHook preBuild + make $makeFlags jam0 + ./jam0 -j$NIX_BUILD_CORES -sCC=${buildPackages.stdenv.cc.targetPrefix}cc jambase.c + ./jam0 -j$NIX_BUILD_CORES + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/doc/jam + cp bin.unix/jam $out/bin/jam + cp *.html $out/doc/jam + runHook postInstall + ''; + + enableParallelBuilding = true; + + meta = with lib; { + license = licenses.free; + mainProgram = "jam"; + platforms = platforms.unix; + } // meta; + }; +in +{ + jam = let + pname = "jam"; + version = "2.6.1"; + + base = mkJam { + inherit pname version; + + src = fetchurl { + url = "https://swarm.workshop.perforce.com/projects/perforce_software-jam/download/main/${pname}-${version}.tar"; + sha256 = "19xkvkpycxfsncxvin6yqrql3x3z9ypc1j8kzls5k659q4kv5rmc"; + }; + + meta = with lib; { + description = "Just Another Make"; + homepage = "https://www.perforce.com/resources/documentation/jam"; + maintainers = with maintainers; [ impl orivej ]; + }; + }; + in base.overrideAttrs (oldAttrs: { + makeFlags = (oldAttrs.makeFlags or []) ++ [ + "CC=${buildPackages.stdenv.cc.targetPrefix}cc" + ]; + }); + + ftjam = let + pname = "ftjam"; + version = "2.5.2"; + + base = mkJam { + inherit pname version; + + src = fetchurl { + url = "https://downloads.sourceforge.net/project/freetype/${pname}/${version}/${pname}-${version}.tar.bz2"; + hash = "sha256-6JdzUAqSkS3pGOn+v/q+S2vOedaa8ZRDX04DK4ptZqM="; + }; + + meta = with lib; { + description = "FreeType's enhanced, backwards-compatible Jam clone"; + homepage = "https://freetype.org/jam/"; + maintainers = with maintainers; [ AndersonTorres impl ]; + }; + }; + in base.overrideAttrs (oldAttrs: { + postPatch = (oldAttrs.postPatch or "") + '' + substituteInPlace Jamfile --replace strip ${stdenv.cc.targetPrefix}strip + ''; + + # Doesn't understand how to cross compile once bootstrapped, so we'll just + # use the Makefile for the bootstrapping portion. + configurePlatforms = [ "build" "target" ]; + configureFlags = (oldAttrs.configureFlags or []) ++ [ + "CC=${buildPackages.stdenv.cc.targetPrefix}cc" + "--host=${stdenv.buildPlatform.config}" + ]; + }); +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix b/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix new file mode 100644 index 000000000000..ed5923e74d0a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/kati/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "kati-unstable"; + version = "2019-09-23"; + + src = fetchFromGitHub { + owner = "google"; + repo = "kati"; + rev = "9da3296746a0cd55b38ebebf91e7f57105a4c36f"; + sha256 = "0s5dfhgpcbx12b1fqmm8p0jpvrhgrnl9qywv1ksbwhw3pfp7j866"; + }; + + patches = [ ./version.patch ]; + + installPhase = '' + install -D ckati $out/bin/ckati + ''; + + meta = with lib; { + description = "An experimental GNU make clone"; + homepage = "https://github.com/google/kati"; + platforms = platforms.all; + license = licenses.asl20; + maintainers = with maintainers; [ danielfullmer ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/kati/version.patch b/nixpkgs/pkgs/development/tools/build-managers/kati/version.patch new file mode 100644 index 000000000000..1821ac6bbb73 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/kati/version.patch @@ -0,0 +1,19 @@ +diff --git a/Makefile.ckati b/Makefile.ckati +index e4067bb..15518f3 100644 +--- a/Makefile.ckati ++++ b/Makefile.ckati +@@ -102,14 +102,8 @@ $(KATI_CXX_TEST_EXES): $(KATI_BIN_PATH)/%: $(KATI_INTERMEDIATES_PATH)/%.o + $(KATI_LD) $^ -o $@ $(KATI_LIBS) + + # Rule to generate version.cc +-KATI_GIT_DIR := $(shell git -C $(KATI_SRC_PATH) rev-parse --show-toplevel) +-ifneq ($(KATI_GIT_DIR),) +-KATI_VERSION_DEPS := $(KATI_GIT_DIR)/.git/HEAD $(KATI_GIT_DIR)/.git/index +-KATI_VERSION := $(shell git -C $(KATI_GIT_DIR) rev-parse HEAD) +-else + KATI_VERSION_DEPS := + KATI_VERSION := unknown +-endif + $(KATI_INTERMEDIATES_PATH)/version.cc: $(KATI_VERSION_DEPS) + @mkdir -p $(dir $@) + echo '// +build ignore' > $@ diff --git a/nixpkgs/pkgs/development/tools/build-managers/knit/default.nix b/nixpkgs/pkgs/development/tools/build-managers/knit/default.nix new file mode 100644 index 000000000000..df2898239b78 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/knit/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "knit"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "zyedidia"; + repo = "knit"; + rev = "v${version}"; + hash = "sha256-zxwEJnQZpOEJhV7jx2ClS3XmMfGBiq8AHR26TOIBJVw="; + }; + + vendorHash = "sha256-+IZFydwchHIMIvYmIgZ0uJKjW4aVBFuj3SQk58I0z/g="; + + subPackages = [ + "cmd/knit" + ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/zyedidia/knit/info.Version=${version}" + ]; + + meta = with lib; { + description = "A simple and flexible build tool using Lua, similar to make/mk"; + homepage = "https://github.com/zyedidia/knit"; + changelog = "https://github.com/zyedidia/knit/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ DrSensor ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix new file mode 100644 index 000000000000..168b4688343c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix @@ -0,0 +1,63 @@ +{ lib, stdenv, fetchurl, makeWrapper +, coreutils, jdk, rlwrap, gnupg }: + +stdenv.mkDerivation rec { + pname = "leiningen"; + version = "2.10.0"; + + src = fetchurl { + url = "https://codeberg.org/leiningen/leiningen/raw/tag/${version}/bin/lein-pkg"; + hash = "sha256-sXV86UHky/Fcv2Sbe09BM2XmEtqJLSKEHsFyg5G7Zq8="; + }; + + # Check https://codeberg.org/leiningen/leiningen/releases to get the URL for the new version + jarsrc = fetchurl { + url = "https://codeberg.org/attachments/43cebda5-a7c2-405b-b641-5143a00051b5"; + hash = "sha256-0nKZutNAdawoZNC9BVn4NcbixHbAsKKDvL21dP2tuzQ="; + }; + + JARNAME = "${pname}-${version}-standalone.jar"; + + dontUnpack = true; + + nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ jdk ]; + + # the jar is not in share/java, because it's a standalone jar and should + # never be picked up by set-java-classpath.sh + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share + cp -v $src $out/bin/lein + cp -v $jarsrc $out/share/$JARNAME + + runHook postInstall + ''; + + fixupPhase = '' + runHook preFixup + + chmod +x $out/bin/lein + patchShebangs $out/bin/lein + substituteInPlace $out/bin/lein \ + --replace 'LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar' "LEIN_JAR=$out/share/$JARNAME" + wrapProgram $out/bin/lein \ + --prefix PATH ":" "${lib.makeBinPath [ rlwrap coreutils ]}" \ + --set LEIN_GPG ${gnupg}/bin/gpg \ + --set JAVA_CMD ${jdk}/bin/java + + runHook postFixup + ''; + + meta = { + homepage = "https://leiningen.org/"; + description = "Project automation for Clojure"; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.epl10; + platforms = jdk.meta.platforms; + maintainers = with lib.maintainers; [ ]; + mainProgram = "lein"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix new file mode 100644 index 000000000000..2fdf1418f8ff --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix @@ -0,0 +1,30 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "mage"; + version = "1.15.0"; + + src = fetchFromGitHub { + owner = "magefile"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-aZPv3+F4VMiThjR0nFP+mKQLI9zKj2jaOawClROnT34="; + }; + + vendorHash = null; + + doCheck = false; + + ldflags = [ + "-X github.com/magefile/mage/mage.commitHash=v${version}" + "-X github.com/magefile/mage/mage.gitTag=v${version}" + "-X github.com/magefile/mage/mage.timestamp=1970-01-01T00:00:00Z" + ]; + + meta = with lib; { + description = "A Make/Rake-like Build Tool Using Go"; + homepage = "https://magefile.org/"; + license = licenses.asl20; + maintainers = with maintainers; [ swdunlop ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch new file mode 100644 index 000000000000..0a2eda9de9ac --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch @@ -0,0 +1,21 @@ +diff -Naur meson-0.60.2-old/mesonbuild/dependencies/boost.py meson-0.60.2-new/mesonbuild/dependencies/boost.py +--- meson-0.60.2-old/mesonbuild/dependencies/boost.py 2021-11-02 16:58:07.000000000 -0300 ++++ meson-0.60.2-new/mesonbuild/dependencies/boost.py 2021-12-12 19:21:27.895705897 -0300 +@@ -682,16 +682,7 @@ + else: + tmp = [] # type: T.List[Path] + +- # Add some default system paths +- tmp += [Path('/opt/local')] +- tmp += [Path('/usr/local/opt/boost')] +- tmp += [Path('/usr/local')] +- tmp += [Path('/usr')] +- +- # Cleanup paths +- tmp = [x for x in tmp if x.is_dir()] +- tmp = [x.resolve() for x in tmp] +- roots += tmp ++ # Remove such spurious, non-explicit "system" paths for Nix&Nixpkgs + + self.check_and_set_roots(roots, use_system=True) + diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch new file mode 100644 index 000000000000..f1e3c76e8b53 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch @@ -0,0 +1,20 @@ +diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py +index 4176b9a03..faaabf616 100644 +--- a/mesonbuild/scripts/depfixer.py ++++ b/mesonbuild/scripts/depfixer.py +@@ -336,6 +336,15 @@ class Elf(DataSizes): + if not new_rpath: + self.remove_rpath_entry(entrynum) + else: ++ # Clear old rpath to avoid stale references, ++ # not heeding the warning above about de-duplication ++ # since it does not seem to cause issues for us ++ # and not doing so trips up Nix’s reference checker. ++ # See https://github.com/NixOS/nixpkgs/pull/46020 ++ # and https://github.com/NixOS/nixpkgs/issues/95163 ++ self.bf.seek(rp_off) ++ self.bf.write(b'\0'*len(old_rpath)) ++ + self.bf.seek(rp_off) + self.bf.write(new_rpath) + self.bf.write(b'\0') diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix new file mode 100644 index 000000000000..aa09a5d2358e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix @@ -0,0 +1,148 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, installShellFiles +, ninja +, pkg-config +, python3 +, zlib +, coreutils +, substituteAll +, Foundation +, OpenGL +, AppKit +, Cocoa +, libxcrypt +}: + +python3.pkgs.buildPythonApplication rec { + pname = "meson"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "mesonbuild"; + repo = "meson"; + rev = "refs/tags/${version}"; + hash = "sha256-bJAmkE+sL9DqKpcjZdBf4/z9lz+m/o0Z87hlAwbVbTY="; + }; + + patches = [ + # Meson is currently inspecting fewer variables than autoconf does, which + # makes it harder for us to use setup hooks, etc. Taken from + # https://github.com/mesonbuild/meson/pull/6827 + ./more-env-vars.patch + + # Unlike libtool, vanilla Meson does not pass any information + # about the path library will be installed to to g-ir-scanner, + # breaking the GIR when path other than ${!outputLib}/lib is used. + # We patch Meson to add a --fallback-library-path argument with + # library install_dir to g-ir-scanner. + ./gir-fallback-path.patch + + # In common distributions, RPATH is only needed for internal libraries so + # meson removes everything else. With Nix, the locations of libraries + # are not as predictable, therefore we need to keep them in the RPATH. + # At the moment we are keeping the paths starting with /nix/store. + # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634 + (substituteAll { + src = ./fix-rpath.patch; + inherit (builtins) storeDir; + }) + + # When Meson removes build_rpath from DT_RUNPATH entry, it just writes + # the shorter NUL-terminated new rpath over the old one to reduce + # the risk of potentially breaking the ELF files. + # But this can cause much bigger problem for Nix as it can produce + # cut-in-half-by-\0 store path references. + # Let’s just clear the whole rpath and hope for the best. + ./clear-old-rpath.patch + + # Patch out default boost search paths to avoid impure builds on + # unsandboxed non-NixOS builds, see: + # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 + ./boost-Do-not-add-system-paths-on-nix.patch + + # Nixpkgs cctools does not have bitcode support. + ./disable-bitcode.patch + + # Fix passing multiple --define-variable arguments to pkg-config. + # https://github.com/mesonbuild/meson/pull/10670 + (fetchpatch { + url = "https://github.com/mesonbuild/meson/commit/d5252c5d4cf1c1931fef0c1c98dd66c000891d21.patch"; + sha256 = "GiUNVul1N5Fl8mfqM7vA/r1FdKqImiDYLXMVDt77gvw="; + excludes = [ + "docs/yaml/objects/dep.yaml" + ]; + }) + ]; + + setupHook = ./setup-hook.sh; + + nativeCheckInputs = [ ninja pkg-config ]; + checkInputs = [ zlib ] + ++ lib.optionals stdenv.isDarwin [ Foundation OpenGL AppKit Cocoa ]; + checkPhase = '' + runHook preCheck + + patchShebangs 'test cases' + substituteInPlace 'test cases/native/8 external program shebang parsing/script.int.in' \ + --replace /usr/bin/env ${coreutils}/bin/env + # requires git, creating cyclic dependency + rm -r 'test cases/common/66 vcstag' + # requires glib, creating cyclic dependency + rm -r 'test cases/linuxlike/6 subdir include order' + rm -r 'test cases/linuxlike/9 compiler checks with dependencies' + # requires static zlib, see #66461 + rm -r 'test cases/linuxlike/14 static dynamic linkage' + # Nixpkgs cctools does not have bitcode support. + rm -r 'test cases/osx/7 bitcode' + HOME="$TMPDIR" python ./run_project_tests.py + + runHook postCheck + ''; + + postFixup = '' + pushd $out/bin + # undo shell wrapper as meson tools are called with python + for i in *; do + mv ".$i-wrapped" "$i" + done + popd + + # Do not propagate Python + rm $out/nix-support/propagated-build-inputs + + substituteInPlace "$out/share/bash-completion/completions/meson" \ + --replace "python3 -c " "${python3.interpreter} -c " + ''; + + buildInputs = lib.optionals (python3.pythonOlder "3.9") [ + libxcrypt + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --zsh data/shell-completions/zsh/_meson + installShellCompletion --bash data/shell-completions/bash/meson + ''; + + meta = with lib; { + homepage = "https://mesonbuild.com"; + description = "An open source, fast and friendly build system made in Python"; + longDescription = '' + Meson is an open source build system meant to be both extremely fast, and, + even more importantly, as user friendly as possible. + + The main design point of Meson is that every moment a developer spends + writing or debugging build definitions is a second wasted. So is every + second spent waiting for the build system to actually start compiling + code. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ mbe AndersonTorres ]; + inherit (python3.meta) platforms; + }; +} +# TODO: a more Nixpkgs-tailoired test suite diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/disable-bitcode.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/disable-bitcode.patch new file mode 100644 index 000000000000..a72997c10439 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/disable-bitcode.patch @@ -0,0 +1,24 @@ +--- a/mesonbuild/compilers/mixins/clang.py ++++ b/mesonbuild/compilers/mixins/clang.py +@@ -56,10 +56,6 @@ class ClangCompiler(GnuLikeCompiler): + {OptionKey('b_colorout'), OptionKey('b_lto_threads'), OptionKey('b_lto_mode'), OptionKey('b_thinlto_cache'), + OptionKey('b_thinlto_cache_dir')}) + +- # TODO: this really should be part of the linker base_options, but +- # linkers don't have base_options. +- if isinstance(self.linker, AppleDynamicLinker): +- self.base_options.add(OptionKey('b_bitcode')) + # All Clang backends can also do LLVM IR + self.can_compile_suffixes.add('ll') + +--- a/mesonbuild/linkers/linkers.py ++++ b/mesonbuild/linkers/linkers.py +@@ -785,7 +785,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): + return self._apply_prefix('-headerpad_max_install_names') + + def bitcode_args(self) -> T.List[str]: +- return self._apply_prefix('-bitcode_bundle') ++ raise MesonException('Nixpkgs cctools does not support bitcode bundles') + + def fatal_warnings(self) -> T.List[str]: + return self._apply_prefix('-fatal_warnings') diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/emulator-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/meson/emulator-hook.sh new file mode 100644 index 000000000000..4f08087cf5f5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/emulator-hook.sh @@ -0,0 +1,5 @@ +add_meson_exe_wrapper_cross_flag() { + mesonFlagsArray+=(--cross-file=@crossFile@) +} + +preConfigureHooks+=(add_meson_exe_wrapper_cross_flag) diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch new file mode 100644 index 000000000000..29bec7903ca9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch @@ -0,0 +1,24 @@ +--- a/mesonbuild/backend/backends.py ++++ b/mesonbuild/backend/backends.py +@@ -723,6 +723,21 @@ + @staticmethod + def get_rpath_dirs_from_link_args(args: T.List[str]) -> T.Set[str]: + dirs: T.Set[str] = set() ++ ++ nix_ldflags = os.environ.get('NIX_LDFLAGS', '').split() ++ next_is_path = False ++ # Try to add rpaths set by user or ld-wrapper so that they are not removed. ++ # Based on https://github.com/NixOS/nixpkgs/blob/69711a2f5ffe8cda208163be5258266172ff527f/pkgs/build-support/bintools-wrapper/ld-wrapper.sh#L148-L177 ++ for flag in nix_ldflags: ++ if flag == '-rpath' or flag == '-L': ++ next_is_path = True ++ elif next_is_path or flag.startswith('-L/'): ++ if flag.startswith('-L/'): ++ flag = flag[2:] ++ if flag.startswith('@storeDir@'): ++ dirs.add(flag) ++ next_is_path = False ++ + # Match rpath formats: + # -Wl,-rpath= + # -Wl,-rpath, diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch new file mode 100644 index 000000000000..e6d740265277 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch @@ -0,0 +1,21 @@ +diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py +index 1c6952df7..9466a0b7d 100644 +--- a/mesonbuild/modules/gnome.py ++++ b/mesonbuild/modules/gnome.py +@@ -923,6 +923,16 @@ class GnomeModule(ExtensionModule): + if fatal_warnings: + scan_command.append('--warn-error') + ++ if len(set(girtarget.get_custom_install_dir()[0] for girtarget in girtargets if girtarget.get_custom_install_dir())) > 1: ++ raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets]))) ++ ++ if girtargets[0].get_custom_install_dir(): ++ fallback_libpath = girtargets[0].get_custom_install_dir()[0] ++ else: ++ fallback_libpath = None ++ if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/": ++ scan_command += ['--fallback-library-path=' + fallback_libpath] ++ + generated_files = [f for f in libsources if isinstance(f, (GeneratedList, CustomTarget, CustomTargetIndex))] + + scan_target = self._make_gir_target(state, girfile, scan_command, generated_files, depends, kwargs) diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch new file mode 100644 index 000000000000..e4ad43550423 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch @@ -0,0 +1,12 @@ +diff -Naur meson-0.60.2-old/mesonbuild/environment.py meson-0.60.2-new/mesonbuild/environment.py +--- meson-0.60.2-old/mesonbuild/environment.py 2021-11-02 16:58:13.000000000 -0300 ++++ meson-0.60.2-new/mesonbuild/environment.py 2021-12-12 17:44:00.350499307 -0300 +@@ -68,7 +68,7 @@ + # compiling we fall back on the unprefixed host version. This + # allows native builds to never need to worry about the 'BUILD_*' + # ones. +- ([var_name + '_FOR_BUILD'] if is_cross else [var_name]), ++ [var_name + '_FOR_BUILD'] + ([] if is_cross else [var_name]), + # Always just the unprefixed host versions + [var_name] + )[for_machine] diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh new file mode 100644 index 000000000000..6305a405af21 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh @@ -0,0 +1,42 @@ +mesonConfigurePhase() { + runHook preConfigure + + if [ -z "${dontAddPrefix-}" ]; then + mesonFlags="--prefix=$prefix $mesonFlags" + fi + + # See multiple-outputs.sh and meson’s coredata.py + mesonFlags="\ + --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \ + --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \ + --includedir=${!outputInclude}/include \ + --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \ + --localedir=${!outputLib}/share/locale \ + -Dauto_features=${mesonAutoFeatures:-enabled} \ + -Dwrap_mode=${mesonWrapMode:-nodownload} \ + $mesonFlags" + + mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-plain} $mesonFlags" + + echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}" + + meson setup build $mesonFlags "${mesonFlagsArray[@]}" + cd build + + if ! [[ -v enableParallelBuilding ]]; then + enableParallelBuilding=1 + echo "meson: enabled parallel building" + fi + + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "meson: enabled parallel installing" + fi + + runHook postConfigure +} + +if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then + setOutputFlags= + configurePhase=mesonConfigurePhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix new file mode 100644 index 000000000000..59ceeb8761a6 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv, fetchurl, jre, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "mill"; + version = "0.11.2"; + + src = fetchurl { + url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly"; + hash = "sha256-7RYMj/vfyzBQhZUpWzEaZYN27ZhYCRyKhQUhlH8tE0U="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + # this is mostly downloading a pre-built artifact + preferLocal = true; + + installPhase = '' + runHook preInstall + install -Dm555 "$src" "$out/bin/.mill-wrapped" + # can't use wrapProgram because it sets --argv0 + makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" \ + --prefix PATH : "${jre}/bin" \ + --set JAVA_HOME "${jre}" + runHook postInstall + ''; + + doInstallCheck = true; + # The default release is a script which will do an impure download + # just ensure that the application can run without network + installCheckPhase = '' + $out/bin/mill --help > /dev/null + ''; + + meta = with lib; { + homepage = "https://com-lihaoyi.github.io/mill/"; + license = licenses.mit; + description = "A build tool for Scala, Java and more"; + longDescription = '' + Mill is a build tool borrowing ideas from modern tools like Bazel, to let you build + your projects in a way that's simple, fast, and predictable. Mill has built in + support for the Scala programming language, and can serve as a replacement for + SBT, but can also be extended to support any other language or platform via + modules (written in Java or Scala) or through an external subprocesses. + ''; + maintainers = with maintainers; [ scalavision zenithal ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix b/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix new file mode 100644 index 000000000000..c1bd29124c6c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix @@ -0,0 +1,44 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, darwin +, stdenv +, openssl +, pkg-config +}: + +rustPlatform.buildRustPackage rec { + pname = "moon"; + version = "1.13.3"; + + src = fetchFromGitHub { + owner = "moonrepo"; + repo = pname; + rev = "v${version}"; + hash = "sha256-br3MRV2QTDHkRUdmv9s09aiPNfQtpwGBpS4Uk5tNbg8="; + }; + + cargoHash = "sha256-2YsAVgBL3QUKCa5BN9KOWgBwITigDmifI+GhLj5j2W4="; + + env = { + RUSTFLAGS = "-C strip=symbols"; + OPENSSL_NO_VENDOR = 1; + }; + + buildInputs = [ openssl ] ++ + lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; + nativeBuildInputs = [ pkg-config ]; + + # Some tests fail, because test using internet connection and install NodeJS by example + doCheck = false; + + meta = with lib; { + description = "A task runner and repo management tool for the web ecosystem, written in Rust"; + homepage = "https://github.com/moonrepo/moon"; + license = licenses.mit; + maintainers = with maintainers; [ flemzord ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/create-deps.sh b/nixpkgs/pkgs/development/tools/build-managers/msbuild/create-deps.sh new file mode 100755 index 000000000000..c9bd4ba7eb6a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/create-deps.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p jq -p xmlstarlet -p curl +set -euo pipefail + +cat << EOL +{ fetchurl }: [ +EOL + +mapfile -t repos < <( + xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config | + while IFS= read index + do + curl --compressed -fsL "$index" | \ + jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"' + done + ) + +find .packages fake-home/.nuget/packages -name \*.nupkg -printf '%P\n' | sort -u | + while IFS= read file + do + packagedir=$(dirname $file) + version=$(basename $packagedir) + package=$(dirname $packagedir) + + found=false + for repo in "${repos[@]}" + do + url="$repo$package/$version/$package.$version.nupkg" + if curl -fsL "$url" -o /dev/null + then + found=true + break + fi + done + + if ! $found + then + echo "couldn't find $package $version" >&2 + exit 1 + fi + + sha256=$(nix-prefetch-url "$url" 2>/dev/null) + cat << EOL + { + name = "$package"; + version = "$version"; + src = fetchurl { + url = "$url"; + sha256 = "$sha256"; + }; + } +EOL + done + +cat << EOL +] +EOL diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix new file mode 100644 index 000000000000..83cdcead353f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix @@ -0,0 +1,162 @@ +{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnetCorePackages, writeText, roslyn }: + +let + + dotnet-sdk = dotnetCorePackages.sdk_6_0; + + xplat = fetchurl { + url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip"; + sha256 = "1wnzbdpk4s9bmawlh359ak2b8zi0sgx1qvcjnvfncr1wsck53v7q"; + }; + + deps = map (package: package.src) + (import ./deps.nix { inherit fetchurl; }); + + nuget-config = writeText "NuGet.config" '' + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <packageSources> + <clear /> + </packageSources> + </configuration> + ''; + + inherit (stdenv.hostPlatform.extensions) sharedLibrary; + +in + +stdenv.mkDerivation rec { + pname = "msbuild"; + version = "16.10.1+xamarinxplat.2021.05.26.14.00"; + + src = fetchurl { + url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz"; + sha256 = "05ghqqkdj4s3d0xkp7mkdzjig5zj3k6ajx71j0g2wv6rdbvg6899"; + }; + + nativeBuildInputs = [ + dotnet-sdk + mono + unzip + makeWrapper + ]; + + buildInputs = [ + dotnetPackages.Nuget + glibcLocales + ]; + + # https://github.com/NixOS/nixpkgs/issues/38991 + # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) + LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux + "${glibcLocales}/lib/locale/locale-archive"; + + postPatch = '' + # not patchShebangs, there is /bin/bash in the body of the script as well + substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell} + + patchShebangs eng/*.sh mono/build/*.sh + + sed -i -e "/<\/projectImportSearchPaths>/a <property name=\"MSBuildExtensionsPath\" value=\"$out/lib/mono/xbuild\"/>" \ + src/MSBuild/app.config + + # license check is case sensitive + mv LICENSE license.bak && mv license.bak license + ''; + + buildPhase = '' + # nuget would otherwise try to base itself in /homeless-shelter + export HOME=$(pwd)/fake-home + + cp ${nuget-config} NuGet.config + nuget sources Add -Name nixos -Source $(pwd)/nixos + + for package in ${toString deps}; do + nuget add $package -Source nixos + done + + mkdir -p artifacts + unzip ${xplat} -d artifacts + mv artifacts/msbuild artifacts/mono-msbuild + chmod +x artifacts/mono-msbuild/MSBuild.dll + + # The provided libhostfxr.dylib is for x86_64-darwin, so we remove it + rm artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.dylib + + ln -s $(find ${dotnet-sdk} -name libhostfxr${sharedLibrary}) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ + + # overwrite the file + echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh + echo "#!${stdenv.shell}" > mono/build/get_sdk_files.sh + + # Prevent msbuild from downloading a new libhostfxr + echo "#!${stdenv.shell}" > mono/build/extract_and_copy_hostfxr.sh + + mkdir -p mono/dotnet-overlay/msbuild-bin + cp ${dotnet-sdk}/sdk/*/{Microsoft.NETCoreSdk.BundledVersions.props,RuntimeIdentifierGraph.json} mono/dotnet-overlay/msbuild-bin + + # DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa + # TODO there are some (many?) failing tests + ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true + patchShebangs stage1/mono-msbuild/msbuild + ''; + + installPhase = '' + stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO + + ln -s ${roslyn}/lib/dotnet/microsoft.net.compilers.toolset/*/tasks/net472 $out/lib/mono/msbuild/Current/bin/Roslyn + + makeWrapper ${mono}/bin/mono $out/bin/msbuild \ + --set-default MONO_GC_PARAMS "nursery-size=64m" \ + --add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll" + + ln -s $(find ${dotnet-sdk} -name libhostfxr${sharedLibrary}) $out/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ + ''; + + doInstallCheck = true; + + # https://docs.microsoft.com/cs-cz/visualstudio/msbuild/walkthrough-creating-an-msbuild-project-file-from-scratch?view=vs-2019 + installCheckPhase = '' + cat > Helloworld.cs <<EOF +using System; + +class HelloWorld +{ + static void Main() + { +#if DebugConfig + Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION"); +#endif + + Console.WriteLine("Hello, world!"); + } +} +EOF + + cat > Helloworld.csproj <<EOF +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Compile Include="Helloworld.cs" /> + </ItemGroup> + <Target Name="Build"> + <Csc Sources="@(Compile)"/> + </Target> +</Project> +EOF + + $out/bin/msbuild Helloworld.csproj -t:Build + ${mono}/bin/mono Helloworld.exe | grep "Hello, world!" + ''; + + meta = with lib; { + description = "Mono version of Microsoft Build Engine, the build platform for .NET, and Visual Studio"; + homepage = "https://github.com/mono/msbuild"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryNativeCode # dependencies + ]; + license = licenses.mit; + maintainers = with maintainers; [ jdanek ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix new file mode 100644 index 000000000000..4a006428a505 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix @@ -0,0 +1,1842 @@ +{ fetchurl }: [ + { + name = "benchmarkdotnet"; + version = "0.12.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet/0.12.1/benchmarkdotnet.0.12.1.nupkg"; + sha256 = "0whk81a0v70lkhcd9yffls6vnqnc63hw6jfx8mr7iqp02jbrb15w"; + }; + } + { + name = "benchmarkdotnet.annotations"; + version = "0.12.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet.annotations/0.12.1/benchmarkdotnet.annotations.0.12.1.nupkg"; + sha256 = "061v8zdp69a80vb9gf5n8di2qqz6bwj2215shgsw40i0s8j3flw3"; + }; + } + { + name = "commandlineparser"; + version = "2.4.3"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/commandlineparser/2.4.3/commandlineparser.2.4.3.nupkg"; + sha256 = "1aca3q25n3dg55v4j3kzlzfzd5k2jpy6zhp8x7g74pdfdqzrhg55"; + }; + } + { + name = "fsharp.net.sdk"; + version = "1.0.4-bundled-0100"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg"; + sha256 = "06hydwby6pzqzzcxmz4z8v5hiiylhzldl7ggfvr4c5xhpb6bcl78"; + }; + } + { + name = "iced"; + version = "1.4.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/iced/1.4.0/iced.1.4.0.nupkg"; + sha256 = "1l8l20clb56vfsjcpspz0z4f3gy3mr2nwilbb8wjlr5fhx6g23n9"; + }; + } + { + name = "illink.tasks"; + version = "0.1.6-prerelease.20175.2"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/7d9f5c21-0d79-403f-bfe3-9a4506529760/nuget/v3/flat2/illink.tasks/0.1.6-prerelease.20175.2/illink.tasks.0.1.6-prerelease.20175.2.nupkg"; + sha256 = "0s4fk48m255n3figh0nnw8cp40qk33khq56sjqnippbk8n6w487z"; + }; + } + { + name = "jnm2.referenceassemblies.net35"; + version = "1.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/jnm2.referenceassemblies.net35/1.0.1/jnm2.referenceassemblies.net35.1.0.1.nupkg"; + sha256 = "10dplszwicqnjyxbxkyc3cs0kzqvcrf73pmbxxd0rmqnakz23a7c"; + }; + } + { + name = "largeaddressaware"; + version = "1.0.5"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/largeaddressaware/1.0.5/largeaddressaware.1.0.5.nupkg"; + sha256 = "0hsjh3m3wr5bfy82bzn606iin35ps03lzfrn3hvjgcn1w68d6291"; + }; + } + { + name = "microbuild.core"; + version = "0.2.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg"; + sha256 = "0q4s45jskbyxfx4ay6znnvv94zma2wd85b8rwmwszd2nb0xl3194"; + }; + } + { + name = "microbuild.core.sentinel"; + version = "1.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg"; + sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i"; + }; + } + { + name = "microsoft.bcl.asyncinterfaces"; + version = "1.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg"; + sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; + }; + } + { + name = "microsoft.build"; + version = "14.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg"; + sha256 = "1zamn3p8xxi0wsjlpln0y71ncb977f3fp08mvaz4wmbmi76nr0rz"; + }; + } + { + name = "microsoft.build.centralpackageversions"; + version = "2.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg"; + sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k"; + }; + } + { + name = "microsoft.build.framework"; + version = "14.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg"; + sha256 = "0r7y1i7dbr3pb53fdrh268hyi627w85nzv2iblwyg8dzkfxraafd"; + }; + } + { + name = "microsoft.build.framework"; + version = "15.5.180"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg"; + sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z"; + }; + } + { + name = "microsoft.build.nugetsdkresolver"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.9.1-rc.8/microsoft.build.nugetsdkresolver.5.9.1-rc.8.nupkg"; + sha256 = "1dgxkal27rqlnz0ppbmbg4v7yla5wb9s2djk5cb6bpsqy2ngd88d"; + }; + } + { + name = "microsoft.build.tasks.git"; + version = "1.1.0-beta-20206-02"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg"; + sha256 = "1gwlhvqlkvs5c7qjky726alf71xflbh3x970g3dypfczi0y6gccx"; + }; + } + { + name = "microsoft.build.utilities.core"; + version = "14.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg"; + sha256 = "0351nsnx12nzkss6vaqwwh7d7car7hrgyh0vyd4bl83c4x3ls1kb"; + }; + } + { + name = "microsoft.build.utilities.core"; + version = "15.5.180"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg"; + sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630"; + }; + } + { + name = "microsoft.codeanalysis.analyzers"; + version = "2.6.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/2.6.1/microsoft.codeanalysis.analyzers.2.6.1.nupkg"; + sha256 = "1plk343h9fyxg08b9bcnlqyaq00cbnc1v73pj9nbcyphmgf5bqfp"; + }; + } + { + name = "microsoft.codeanalysis.build.tasks"; + version = "3.9.0-5.21112.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.build.tasks/3.9.0-5.21112.8/microsoft.codeanalysis.build.tasks.3.9.0-5.21112.8.nupkg"; + sha256 = "18wvmkpvp1yq288xryap3v07clhs36xiw6vyk4j59i2aqnjjnmc7"; + }; + } + { + name = "microsoft.codeanalysis.common"; + version = "2.10.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/2.10.0/microsoft.codeanalysis.common.2.10.0.nupkg"; + sha256 = "1l690xqrhmkasns5ghz0vqj8n2xyl5yrwan5gs52hwfxdwahqaaj"; + }; + } + { + name = "microsoft.codeanalysis.csharp"; + version = "2.10.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.csharp/2.10.0/microsoft.codeanalysis.csharp.2.10.0.nupkg"; + sha256 = "0saabsr81crawdzs2cnzyjp5cgg2hk5k6q7n0i0pxghswb0m4dxk"; + }; + } + { + name = "microsoft.codecoverage"; + version = "16.6.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codecoverage/16.6.1/microsoft.codecoverage.16.6.1.nupkg"; + sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl"; + }; + } + { + name = "microsoft.diagnostics.netcore.client"; + version = "0.2.61701"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.netcore.client/0.2.61701/microsoft.diagnostics.netcore.client.0.2.61701.nupkg"; + sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1"; + }; + } + { + name = "microsoft.diagnostics.runtime"; + version = "1.1.57604"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.runtime/1.1.57604/microsoft.diagnostics.runtime.1.1.57604.nupkg"; + sha256 = "1gm9gsg3h9ipcvwzp7jfns030c4b6l4cpkpyx9ccphlax9mvmfsi"; + }; + } + { + name = "microsoft.diagnostics.tracing.traceevent"; + version = "2.0.49"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.tracing.traceevent/2.0.49/microsoft.diagnostics.tracing.traceevent.2.0.49.nupkg"; + sha256 = "08ww98l9a4cx52h3y8w1x5vzl4jf02a66wf9z1j2py406wjifja9"; + }; + } + { + name = "microsoft.dotnet.arcade.sdk"; + version = "5.0.0-beta.21226.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/5.0.0-beta.21226.1/microsoft.dotnet.arcade.sdk.5.0.0-beta.21226.1.nupkg"; + sha256 = "1d7pczd99cladgmblq8g1dqw88n3aqg7rf8bpsabqrjjrz0pfi43"; + }; + } + { + name = "microsoft.dotnet.msbuildsdkresolver"; + version = "5.0.300-servicing.21267.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2/microsoft.dotnet.msbuildsdkresolver/5.0.300-servicing.21267.11/microsoft.dotnet.msbuildsdkresolver.5.0.300-servicing.21267.11.nupkg"; + sha256 = "1jgg2akhpgfndqfdcyvm7b83nxva9h86nivc7p6dw8rcvazffbp5"; + }; + } + { + name = "microsoft.dotnet.platformabstractions"; + version = "2.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.dotnet.platformabstractions/2.1.0/microsoft.dotnet.platformabstractions.2.1.0.nupkg"; + sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy"; + }; + } + { + name = "microsoft.dotnet.signtool"; + version = "5.0.0-beta.21226.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.signtool/5.0.0-beta.21226.1/microsoft.dotnet.signtool.5.0.0-beta.21226.1.nupkg"; + sha256 = "1jd3648n3i9i1njx8wb9g8i29s3n5srx3whdhvrkwjm9g5n11gbj"; + }; + } + { + name = "microsoft.net.build.extensions"; + version = "3.1.400-preview.20365.20"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg"; + sha256 = "1vmcj7p7jsr1lbkbxqqjsixkaxdazr5nwhhp1q402dgky9cayhd5"; + }; + } + { + name = "microsoft.net.compilers.toolset"; + version = "3.9.0-5.21112.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/3.9.0-5.21112.8/microsoft.net.compilers.toolset.3.9.0-5.21112.8.nupkg"; + sha256 = "1drcxgay9ylhs6dr3alnxr4lfapzlr86w3mpwp0gn58mfj5m0g1h"; + }; + } + { + name = "microsoft.netcore.platforms"; + version = "1.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }; + } + { + name = "microsoft.netcore.platforms"; + version = "1.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }; + } + { + name = "microsoft.netcore.targets"; + version = "1.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }; + } + { + name = "microsoft.netcore.targets"; + version = "1.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }; + } + { + name = "microsoft.netframework.referenceassemblies"; + version = "1.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg"; + sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; + }; + } + { + name = "microsoft.netframework.referenceassemblies.net45"; + version = "1.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg"; + sha256 = "1ipafi0zjrnzsfmwsisgp8z6m26cbw7vb3jj501nvz3v97b7d7lv"; + }; + } + { + name = "microsoft.netframework.referenceassemblies.net472"; + version = "1.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg"; + sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc"; + }; + } + { + name = "microsoft.net.sdk"; + version = "3.1.400-preview.20365.20"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg"; + sha256 = "02ann6rsnc6wl84wsk2fz7dpxcp5sq0b6jm3vv23av4b1f86f82y"; + }; + } + { + name = "microsoft.net.sdk.publish"; + version = "3.1.300-servicing.20216.7"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg"; + sha256 = "1xivqihp2zrkmd4f65fgh9hn9ix75sqklbnanqlfk9dq67wscp41"; + }; + } + { + name = "microsoft.net.sdk.razor"; + version = "3.1.6"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg"; + sha256 = "1vw0zi0lq52frivq8mgfvm79rfx0v492q6fci1jls1zwwjk0v9ia"; + }; + } + { + name = "microsoft.net.sdk.web"; + version = "3.1.300-servicing.20216.7"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg"; + sha256 = "001jd2iwww0vb5x5dii915z82syh1aj48n62bn8zi1d3chwacr51"; + }; + } + { + name = "microsoft.net.sdk.web.projectsystem"; + version = "3.1.300-servicing.20216.7"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg"; + sha256 = "0601mix6l18h8afxxgdbbv695d0sjskady209z52sf4bvf4h4kal"; + }; + } + { + name = "microsoft.net.test.sdk"; + version = "16.6.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.test.sdk/16.6.1/microsoft.net.test.sdk.16.6.1.nupkg"; + sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv"; + }; + } + { + name = "microsoft.sourcelink.azurerepos.git"; + version = "1.1.0-beta-20206-02"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg"; + sha256 = "00hfjh8d3z5np51qgr1s3q4j7bl34mfiypf7nbxcmxa7cyj0rg65"; + }; + } + { + name = "microsoft.sourcelink.common"; + version = "1.1.0-beta-20206-02"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg"; + sha256 = "1qv0k0apxv3j1pccki2rzakjfb0868hmg0968da0639f75s3glr9"; + }; + } + { + name = "microsoft.sourcelink.github"; + version = "1.1.0-beta-20206-02"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg"; + sha256 = "0q1mgjjkwxvzn5v29pqiyg0j0jwi5qc0q04za9k1x138kliq2iba"; + }; + } + { + name = "microsoft.symboluploader.build.task"; + version = "1.1.145102"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.symboluploader.build.task/1.1.145102/microsoft.symboluploader.build.task.1.1.145102.nupkg"; + sha256 = "1nmd0cgj3kp2n1k8bzvvq7cfbpbrvk1k6mx9lpnzh1bv7v67rvm2"; + }; + } + { + name = "microsoft.visualstudio.sdk.embedinteroptypes"; + version = "15.0.15"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg"; + sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd"; + }; + } + { + name = "microsoft.visualstudio.setup.configuration.interop"; + version = "1.16.30"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg"; + sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; + }; + } + { + name = "microsoft.web.xdt"; + version = "3.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.web.xdt/3.0.0/microsoft.web.xdt.3.0.0.nupkg"; + sha256 = "18biff0hglccy34909zm9hc4lr9p8n2p155snq1dddp0av6m448n"; + }; + } + { + name = "microsoft.win32.primitives"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }; + } + { + name = "microsoft.win32.primitives"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }; + } + { + name = "microsoft.win32.registry"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg"; + sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; + }; + } + { + name = "netstandard.library"; + version = "1.6.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg"; + sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; + }; + } + { + name = "newtonsoft.json"; + version = "11.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/11.0.1/newtonsoft.json.11.0.1.nupkg"; + sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; + }; + } + { + name = "newtonsoft.json"; + version = "9.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }; + } + { + name = "nuget.build.tasks"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks/5.9.1-rc.8/nuget.build.tasks.5.9.1-rc.8.nupkg"; + sha256 = "0610dh53gqmzbl70jxmn9jbvl0lv70qanis1q20rxnnyq6s2xb75"; + }; + } + { + name = "nuget.build.tasks.pack"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks.pack/5.9.1-rc.8/nuget.build.tasks.pack.5.9.1-rc.8.nupkg"; + sha256 = "10qkdv165vz71z8ir3161ggaarbqk51gwg8n51iwxa5inz4y22lj"; + }; + } + { + name = "nuget.commandline"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg"; + sha256 = "03ik0rcdl7vdwxa9fx5cgl98yzb45swr08jmrnjk1ympjqvf94s1"; + }; + } + { + name = "nuget.commands"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.commands/5.9.1-rc.8/nuget.commands.5.9.1-rc.8.nupkg"; + sha256 = "0rdziczdkrqwl6wjqs4w29c460kc69v9z2pghqjlkag25c7hqwlr"; + }; + } + { + name = "nuget.common"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg"; + sha256 = "056b1h4fvik6z2qc2s6qzz0s4acbipc50af14fbr7hd9h2fxya4c"; + }; + } + { + name = "nuget.configuration"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg"; + sha256 = "0x8vigf0sfp6kf1i98xcr4k84vci596x16hmajdm0zgv3p1w2kvk"; + }; + } + { + name = "nuget.credentials"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.credentials/5.9.1-rc.8/nuget.credentials.5.9.1-rc.8.nupkg"; + sha256 = "128vsgz4rfrp17ys7vbc978y6inmvki93mswm82qvphxymsyrc6v"; + }; + } + { + name = "nuget.dependencyresolver.core"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg"; + sha256 = "1q9a97s1z3a6fb4p82ag2lqnzl53895prbqwlbvckdw9c3rpz3gc"; + }; + } + { + name = "nuget.frameworks"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg"; + sha256 = "1n3mp9ns79yq4dwgj7h2av3b485mzgsw0qlj8z7p47krwlzp5hiv"; + }; + } + { + name = "nuget.librarymodel"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg"; + sha256 = "0sy8422c94wcg8ka85lnawq26mpixl79avk9m6y44lshrpga5v4v"; + }; + } + { + name = "nuget.packagemanagement"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packagemanagement/5.9.1-rc.8/nuget.packagemanagement.5.9.1-rc.8.nupkg"; + sha256 = "0mcxdqq3hfhxyn99pp5b5x2cd8rrmw6z616cbd9y0s9j0i6hm4pg"; + }; + } + { + name = "nuget.packaging"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg"; + sha256 = "0x9c3v741nn6m2xgidna88fa4xj5avhv6asj73hqv4pzpdprlrhv"; + }; + } + { + name = "nuget.projectmodel"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg"; + sha256 = "1xjh7isw467nkc7dkfj3wlw69vi2cns66z152jrzjdmxmia3i3pv"; + }; + } + { + name = "nuget.protocol"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg"; + sha256 = "1rnrxzaciqhhgwd4by0dhkvfrm1h161vvmkvlcwaz2589sqq2dzq"; + }; + } + { + name = "nuget.resolver"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.resolver/5.9.1-rc.8/nuget.resolver.5.9.1-rc.8.nupkg"; + sha256 = "0q6dqg0d5f9y7ynwqmzkzwl6yan94azvm0cd385k210y8wn4364v"; + }; + } + { + name = "nuget.versioning"; + version = "5.9.1-rc.8"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg"; + sha256 = "1vv7z122ilsk2rsvjm6j3hpifb45g8wa1mgnq1kwi9k8b2dbb6vv"; + }; + } + { + name = "perfolizer"; + version = "0.2.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/perfolizer/0.2.1/perfolizer.0.2.1.nupkg"; + sha256 = "012aqqi3y3nfikqmn26yajpwd52c04zlzp0p91iyslw7mf26qncy"; + }; + } + { + name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }; + } + { + name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }; + } + { + name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }; + } + { + name = "runtime.native.system"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }; + } + { + name = "runtime.native.system"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }; + } + { + name = "runtime.native.system.io.compression"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }; + } + { + name = "runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }; + } + { + name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }; + } + { + name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }; + } + { + name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }; + } + { + name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }; + } + { + name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }; + } + { + name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }; + } + { + name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }; + } + { + name = "shouldly"; + version = "3.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/shouldly/3.0.0/shouldly.3.0.0.nupkg"; + sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3"; + }; + } + { + name = "sn"; + version = "1.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/sn/1.0.0/sn.1.0.0.nupkg"; + sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs"; + }; + } + { + name = "system.appcontext"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg"; + sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; + }; + } + { + name = "system.appcontext"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg"; + sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; + }; + } + { + name = "system.buffers"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }; + } + { + name = "system.buffers"; + version = "4.4.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.4.0/system.buffers.4.4.0.nupkg"; + sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; + }; + } + { + name = "system.buffers"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.0/system.buffers.4.5.0.nupkg"; + sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; + }; + } + { + name = "system.buffers"; + version = "4.5.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }; + } + { + name = "system.collections"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }; + } + { + name = "system.collections"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }; + } + { + name = "system.collections.concurrent"; + version = "4.0.12"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + }; + } + { + name = "system.collections.concurrent"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }; + } + { + name = "system.collections.immutable"; + version = "1.2.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg"; + sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; + }; + } + { + name = "system.collections.immutable"; + version = "1.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg"; + sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; + }; + } + { + name = "system.collections.immutable"; + version = "5.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg"; + sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; + }; + } + { + name = "system.collections.nongeneric"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg"; + sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; + }; + } + { + name = "system.configuration.configurationmanager"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg"; + sha256 = "0pav0n21ghf2ax6fiwjbng29f27wkb4a2ddma0cqx04s97yyk25d"; + }; + } + { + name = "system.console"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.0.0/system.console.4.0.0.nupkg"; + sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; + }; + } + { + name = "system.console"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.3.0/system.console.4.3.0.nupkg"; + sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; + }; + } + { + name = "system.diagnostics.debug"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }; + } + { + name = "system.diagnostics.debug"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }; + } + { + name = "system.diagnostics.diagnosticsource"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }; + } + { + name = "system.diagnostics.fileversioninfo"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.fileversioninfo/4.3.0/system.diagnostics.fileversioninfo.4.3.0.nupkg"; + sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7"; + }; + } + { + name = "system.diagnostics.process"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg"; + sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; + }; + } + { + name = "system.diagnostics.stacktrace"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.stacktrace/4.3.0/system.diagnostics.stacktrace.4.3.0.nupkg"; + sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd"; + }; + } + { + name = "system.diagnostics.tools"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }; + } + { + name = "system.diagnostics.tracesource"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg"; + sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; + }; + } + { + name = "system.diagnostics.tracing"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }; + } + { + name = "system.diagnostics.tracing"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }; + } + { + name = "system.dynamic.runtime"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }; + } + { + name = "system.globalization"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }; + } + { + name = "system.globalization"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }; + } + { + name = "system.globalization.calendars"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }; + } + { + name = "system.io"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }; + } + { + name = "system.io"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }; + } + { + name = "system.io.compression"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }; + } + { + name = "system.io.compression.zipfile"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg"; + sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; + }; + } + { + name = "system.io.filesystem"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }; + } + { + name = "system.io.filesystem"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }; + } + { + name = "system.io.filesystem.primitives"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }; + } + { + name = "system.io.filesystem.primitives"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }; + } + { + name = "system.linq"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }; + } + { + name = "system.linq"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }; + } + { + name = "system.linq.expressions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }; + } + { + name = "system.management"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/4.5.0/system.management.4.5.0.nupkg"; + sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr"; + }; + } + { + name = "system.memory"; + version = "4.5.3"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.3/system.memory.4.5.3.nupkg"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }; + } + { + name = "system.memory"; + version = "4.5.4"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }; + } + { + name = "system.net.http"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.0/system.net.http.4.3.0.nupkg"; + sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; + }; + } + { + name = "system.net.primitives"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }; + } + { + name = "system.net.sockets"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; + sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; + }; + } + { + name = "system.numerics.vectors"; + version = "4.4.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }; + } + { + name = "system.numerics.vectors"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }; + } + { + name = "system.objectmodel"; + version = "4.0.12"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }; + } + { + name = "system.objectmodel"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }; + } + { + name = "system.private.datacontractserialization"; + version = "4.1.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg"; + sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; + }; + } + { + name = "system.reflection"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }; + } + { + name = "system.reflection"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }; + } + { + name = "system.reflection.emit"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }; + } + { + name = "system.reflection.emit"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }; + } + { + name = "system.reflection.emit.ilgeneration"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }; + } + { + name = "system.reflection.emit.lightweight"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }; + } + { + name = "system.reflection.emit.lightweight"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }; + } + { + name = "system.reflection.extensions"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }; + } + { + name = "system.reflection.extensions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }; + } + { + name = "system.reflection.metadata"; + version = "1.6.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg"; + sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; + }; + } + { + name = "system.reflection.metadata"; + version = "5.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + }; + } + { + name = "system.reflection.primitives"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }; + } + { + name = "system.reflection.primitives"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }; + } + { + name = "system.reflection.typeextensions"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }; + } + { + name = "system.resources.extensions"; + version = "4.6.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg"; + sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j"; + }; + } + { + name = "system.resources.reader"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg"; + sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril"; + }; + } + { + name = "system.resources.resourcemanager"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }; + } + { + name = "system.resources.resourcemanager"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }; + } + { + name = "system.runtime"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }; + } + { + name = "system.runtime"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }; + } + { + name = "system.runtime.compilerservices.unsafe"; + version = "5.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg"; + sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; + }; + } + { + name = "system.runtime.extensions"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }; + } + { + name = "system.runtime.extensions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }; + } + { + name = "system.runtime.handles"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }; + } + { + name = "system.runtime.handles"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }; + } + { + name = "system.runtime.interopservices"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }; + } + { + name = "system.runtime.interopservices"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }; + } + { + name = "system.runtime.interopservices.runtimeinformation"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }; + } + { + name = "system.runtime.interopservices.runtimeinformation"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }; + } + { + name = "system.runtime.numerics"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }; + } + { + name = "system.runtime.serialization.primitives"; + version = "4.1.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }; + } + { + name = "system.runtime.serialization.xml"; + version = "4.1.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg"; + sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk"; + }; + } + { + name = "system.security.accesscontrol"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg"; + sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; + }; + } + { + name = "system.security.accesscontrol"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.7.0/system.security.accesscontrol.4.7.0.nupkg"; + sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; + }; + } + { + name = "system.security.cryptography.algorithms"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }; + } + { + name = "system.security.cryptography.encoding"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }; + } + { + name = "system.security.cryptography.primitives"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }; + } + { + name = "system.security.cryptography.x509certificates"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }; + } + { + name = "system.security.permissions"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/4.7.0/system.security.permissions.4.7.0.nupkg"; + sha256 = "13f366sj36jwbvld957gk2q64k2xbj48r8b0k9avrri2nlq1fs04"; + }; + } + { + name = "system.security.principal.windows"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg"; + sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; + }; + } + { + name = "system.security.principal.windows"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg"; + sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; + }; + } + { + name = "system.text.encoding"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }; + } + { + name = "system.text.encoding"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }; + } + { + name = "system.text.encoding.codepages"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg"; + sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; + }; + } + { + name = "system.text.encoding.codepages"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.3.0/system.text.encoding.codepages.4.3.0.nupkg"; + sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv"; + }; + } + { + name = "system.text.encoding.extensions"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }; + } + { + name = "system.text.encoding.extensions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }; + } + { + name = "system.text.encodings.web"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg"; + sha256 = "0sd3bihfar5rwm6nib4lhyys306nkm02qvk6p6sgzmnlfmma2wn3"; + }; + } + { + name = "system.text.json"; + version = "4.7.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/4.7.0/system.text.json.4.7.0.nupkg"; + sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr"; + }; + } + { + name = "system.text.regularexpressions"; + version = "4.1.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }; + } + { + name = "system.text.regularexpressions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }; + } + { + name = "system.threading"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }; + } + { + name = "system.threading"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }; + } + { + name = "system.threading.tasks"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }; + } + { + name = "system.threading.tasks"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }; + } + { + name = "system.threading.tasks.dataflow"; + version = "4.9.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg"; + sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5"; + }; + } + { + name = "system.threading.tasks.extensions"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }; + } + { + name = "system.threading.tasks.extensions"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }; + } + { + name = "system.threading.tasks.extensions"; + version = "4.5.2"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg"; + sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; + }; + } + { + name = "system.threading.tasks.parallel"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg"; + sha256 = "114wdg32hr46dfsnns3pgs67kcha5jn47p5gg0mhxfn5vrkr2p75"; + }; + } + { + name = "system.threading.tasks.parallel"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.3.0/system.threading.tasks.parallel.4.3.0.nupkg"; + sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh"; + }; + } + { + name = "system.threading.thread"; + version = "4.0.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + }; + } + { + name = "system.threading.thread"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; + sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; + }; + } + { + name = "system.threading.timer"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg"; + sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; + }; + } + { + name = "system.threading.timer"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg"; + sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; + }; + } + { + name = "system.valuetuple"; + version = "4.5.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; + sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; + }; + } + { + name = "system.xml.readerwriter"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }; + } + { + name = "system.xml.readerwriter"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }; + } + { + name = "system.xml.xdocument"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }; + } + { + name = "system.xml.xmldocument"; + version = "4.0.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg"; + sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; + }; + } + { + name = "system.xml.xmldocument"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.3.0/system.xml.xmldocument.4.3.0.nupkg"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }; + } + { + name = "system.xml.xmlserializer"; + version = "4.0.11"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg"; + sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; + }; + } + { + name = "system.xml.xpath"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg"; + sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; + }; + } + { + name = "system.xml.xpath.xdocument"; + version = "4.3.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath.xdocument/4.3.0/system.xml.xpath.xdocument.4.3.0.nupkg"; + sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn"; + }; + } + { + name = "vswhere"; + version = "2.6.7"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/vswhere/2.6.7/vswhere.2.6.7.nupkg"; + sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk"; + }; + } + { + name = "xlifftasks"; + version = "1.0.0-beta.20502.2"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/xlifftasks/1.0.0-beta.20502.2/xlifftasks.1.0.0-beta.20502.2.nupkg"; + sha256 = "17k3dagcxhblzjbh00jsvc150rn7xqp3s3fw2qp1pyjj204y8a90"; + }; + } + { + name = "xunit"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit/2.4.1/xunit.2.4.1.nupkg"; + sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; + }; + } + { + name = "xunit.abstractions"; + version = "2.0.3"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg"; + sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; + }; + } + { + name = "xunit.analyzers"; + version = "0.10.0"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg"; + sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; + }; + } + { + name = "xunit.assert"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg"; + sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; + }; + } + { + name = "xunit.core"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.core/2.4.1/xunit.core.2.4.1.nupkg"; + sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; + }; + } + { + name = "xunit.extensibility.core"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg"; + sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; + }; + } + { + name = "xunit.extensibility.execution"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg"; + sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; + }; + } + { + name = "xunit.runner.console"; + version = "2.4.1"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg"; + sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13"; + }; + } + { + name = "xunit.runner.visualstudio"; + version = "2.4.3"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.visualstudio/2.4.3/xunit.runner.visualstudio.2.4.3.nupkg"; + sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3"; + }; + } +] diff --git a/nixpkgs/pkgs/development/tools/build-managers/muon/default.nix b/nixpkgs/pkgs/development/tools/build-managers/muon/default.nix new file mode 100644 index 000000000000..c3be1a4bc535 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/muon/default.nix @@ -0,0 +1,138 @@ +{ lib +, stdenv +, fetchFromSourcehut +, fetchurl +, curl +, libarchive +, libpkgconf +, pkgconf +, python3 +, samurai +, scdoc +, zlib +, embedSamurai ? false +, buildDocs ? true +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "muon" + + lib.optionalString embedSamurai "-embedded-samurai"; + version = "0.2.0"; + + src = fetchFromSourcehut { + name = "muon-src"; + owner = "~lattis"; + repo = "muon"; + rev = finalAttrs.version; + hash = "sha256-ZHWyUV/BqM3ihauXDqDVkZURDDbBiRcEzptyGQmw94I="; + }; + + outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" ]; + + nativeBuildInputs = [ + pkgconf + samurai + ] + ++ lib.optionals buildDocs [ + (python3.withPackages (ps: [ ps.pyyaml ])) + scdoc + ]; + + buildInputs = [ + curl + libarchive + libpkgconf + samurai + zlib + ]; + + strictDeps = true; + + postUnpack = let + # URLs manually extracted from subprojects directory + meson-docs-wrap = fetchurl { + name = "meson-docs-wrap"; + url = "https://mochiro.moe/wrap/meson-docs-1.0.1-19-gdd8d4ee22.tar.gz"; + hash = "sha256-jHSPdLFR5jUeds4e+hLZ6JOblor5iuCV5cIwoc4K9gI="; + }; + + samurai-wrap = fetchurl { + name = "samurai-wrap"; + url = "https://mochiro.moe/wrap/samurai-1.2-32-g81cef5d.tar.gz"; + hash = "sha256-aPMAtScqweGljvOLaTuR6B0A0GQQQrVbRviXY4dpCoc="; + }; + in '' + pushd $sourceRoot/subprojects + ${lib.optionalString buildDocs "tar xvf ${meson-docs-wrap}"} + ${lib.optionalString embedSamurai "tar xvf ${samurai-wrap}"} + popd + ''; + + postPatch = '' + patchShebangs bootstrap.sh + '' + + lib.optionalString buildDocs '' + patchShebangs subprojects/meson-docs/docs/genrefman.py + ''; + + # tests try to access "~" + postConfigure = '' + export HOME=$(mktemp -d) + ''; + + buildPhase = let + muonBool = lib.mesonBool; + muonEnable = lib.mesonEnable; + + cmdlineForMuon = lib.concatStringsSep " " [ + (muonBool "static" stdenv.targetPlatform.isStatic) + (muonEnable "docs" buildDocs) + (muonEnable "samurai" embedSamurai) + ]; + cmdlineForSamu = "-j$NIX_BUILD_CORES"; + in '' + runHook preBuild + + ./bootstrap.sh stage-1 + + ./stage-1/muon setup ${cmdlineForMuon} stage-2 + samu ${cmdlineForSamu} -C stage-2 + + stage-2/muon setup -Dprefix=$out ${cmdlineForMuon} stage-3 + samu ${cmdlineForSamu} -C stage-3 + + runHook postBuild + ''; + + # tests are failing because they don't find Python + doCheck = false; + + checkPhase = '' + runHook preCheck + + ./stage-3/muon -C stage-3 test + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + stage-3/muon -C stage-3 install + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://muon.build/"; + description = "An implementation of Meson build system in C99"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + broken = stdenv.isDarwin; # typical `ar failure` + }; +}) +# TODO LIST: +# 1. automate sources acquisition (especially wraps) +# 2. setup hook +# 3. tests diff --git a/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix b/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix new file mode 100644 index 000000000000..7c2c79bf9e92 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix @@ -0,0 +1,107 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, asciidoc +, docbook_xml_dtd_45 +, docbook_xsl +, installShellFiles +, libxslt +, python3 +, re2c +, buildPackages +, buildDocs ? true +}: + +stdenv.mkDerivation rec { + pname = "ninja"; + version = "1.11.1"; + + src = fetchFromGitHub { + owner = "ninja-build"; + repo = "ninja"; + rev = "v${version}"; + hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; + }; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + nativeBuildInputs = [ + python3 + re2c + installShellFiles + ] + ++ lib.optionals buildDocs [ + asciidoc + docbook_xml_dtd_45 + docbook_xsl + libxslt.bin + ]; + + patches = lib.optionals stdenv.is32bit [ + # Otherwise ninja may fail on some files in a larger FS. + (fetchpatch { + name = "stat64.patch"; + url = "https://github.com/ninja-build/ninja/commit/7bba11ae704efc84cac5fde5e9be53f653f237d1.diff"; + hash = "sha256-tINS57xLh1lwnYFWCQs5OudfgtIShaOh5zbmv7w5BnQ="; + }) + ]; + + postPatch = '' + # write rebuild args to file after bootstrap + substituteInPlace configure.py --replace "subprocess.check_call(rebuild_args)" "open('rebuild_args','w').write(rebuild_args[0])" + ''; + + buildPhase = '' + runHook preBuild + + # for list of env vars + # see https://github.com/ninja-build/ninja/blob/v1.11.1/configure.py#L264 + CXX="$CXX_FOR_BUILD" \ + AR="$AR_FOR_BUILD" \ + CFLAGS="$CFLAGS_FOR_BUILD" \ + CXXFLAGS="$CXXFLAGS_FOR_BUILD" \ + LDFLAGS="$LDFLAGS_FOR_BUILD" \ + python configure.py --bootstrap + python configure.py + + source rebuild_args + '' + lib.optionalString buildDocs '' + # "./ninja -vn manual" output copied here to support cross compilation. + asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc + xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html + '' + '' + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm555 -t $out/bin ninja + installShellCompletion --name ninja \ + --bash misc/bash-completion \ + --zsh misc/zsh-completion + '' + lib.optionalString buildDocs '' + install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html + '' + '' + + runHook postInstall + ''; + + setupHook = ./setup-hook.sh; + + meta = with lib; { + description = "Small build system with a focus on speed"; + longDescription = '' + Ninja is a small build system with a focus on speed. It differs from + other build systems in two major respects: it is designed to have its + input files generated by a higher-level build system, and it is designed + to run builds as fast as possible. + ''; + homepage = "https://ninja-build.org/"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice bjornfor orivej ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh new file mode 100644 index 000000000000..7fa5e4675f39 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh @@ -0,0 +1,86 @@ +ninjaBuildPhase() { + runHook preBuild + + local buildCores=1 + + # Parallel building is enabled by default. + if [ "${enableParallelBuilding-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + + local flagsArray=( + -j$buildCores + $ninjaFlags "${ninjaFlagsArray[@]}" + ) + + echoCmd 'build flags' "${flagsArray[@]}" + TERM=dumb ninja "${flagsArray[@]}" + + runHook postBuild +} + +ninjaCheckPhase() { + runHook preCheck + + if [ -z "${checkTarget:-}" ]; then + if ninja -t query test >/dev/null 2>&1; then + checkTarget=test + fi + fi + + if [ -z "${checkTarget:-}" ]; then + echo "no test target found in ninja, doing nothing" + else + local buildCores=1 + + if [ "${enableParallelChecking-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + + local flagsArray=( + -j$buildCores + $ninjaFlags "${ninjaFlagsArray[@]}" + $checkTarget + ) + + echoCmd 'check flags' "${flagsArray[@]}" + TERM=dumb ninja "${flagsArray[@]}" + fi + + runHook postCheck +} + +ninjaInstallPhase() { + runHook preInstall + + local buildCores=1 + + # Parallel building is enabled by default. + if [ "${enableParallelInstalling-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + + # shellcheck disable=SC2086 + local flagsArray=( + -j$buildCores + $ninjaFlags "${ninjaFlagsArray[@]}" + ${installTargets:-install} + ) + + echoCmd 'install flags' "${flagsArray[@]}" + TERM=dumb ninja "${flagsArray[@]}" + + runHook postInstall +} + +if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then + buildPhase=ninjaBuildPhase +fi + +if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then + checkPhase=ninjaCheckPhase +fi + +if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then + installPhase=ninjaInstallPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix new file mode 100644 index 000000000000..9d1305f77675 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtscript }: + +stdenv.mkDerivation rec { + pname = "qbs"; + + version = "1.24.1"; + + src = fetchFromGitHub { + owner = "qbs"; + repo = "qbs"; + rev = "v${version}"; + sha256 = "sha256-nL7UZh29Oecu3RvXYg5xsin2IvPWpApleLH37sEdSAI="; + }; + + nativeBuildInputs = [ qmake ]; + + dontWrapQtApps = true; + + qmakeFlags = [ "QBS_INSTALL_PREFIX=$(out)" "qbs.pro" ]; + + buildInputs = [ qtbase qtscript ]; + + meta = with lib; { + description = "A tool that helps simplify the build process for developing projects across multiple platforms"; + homepage = "https://wiki.qt.io/Qbs"; + license = licenses.lgpl3; + maintainers = with maintainers; [ expipiplus1 ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile b/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile new file mode 100644 index 000000000000..bd1ff6faa65c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'rake' diff --git a/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile.lock b/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile.lock new file mode 100644 index 000000000000..a8c82c508bd9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rake/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + rake (13.0.6) + +PLATFORMS + ruby + +DEPENDENCIES + rake + +BUNDLED WITH + 2.4.6 diff --git a/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix new file mode 100644 index 000000000000..d2f0a264ba74 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rake/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerApp, bundlerUpdateScript }: + +bundlerApp { + pname = "rake"; + gemdir = ./.; + exes = [ "rake" ]; + + passthru.updateScript = bundlerUpdateScript "rake"; + + meta = with lib; { + description = "A software task management and build automation tool"; + homepage = "https://github.com/ruby/rake"; + license = with licenses; mit; + maintainers = with maintainers; [ manveru nicknovitski ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/rake/gemset.nix b/nixpkgs/pkgs/development/tools/build-managers/rake/gemset.nix new file mode 100644 index 000000000000..b389469840d0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rake/gemset.nix @@ -0,0 +1,12 @@ +{ + rake = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + type = "gem"; + }; + version = "13.0.6"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar/default.nix new file mode 100644 index 000000000000..2bdafa5fcfb0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitHub, erlang }: + +stdenv.mkDerivation rec { + pname = "rebar"; + version = "2.6.4"; + + src = fetchFromGitHub { + owner = "rebar"; + repo = "rebar"; + rev = version; + sha256 = "sha256-okvG7X2uHtZ1p+HUoFOmslrWvYjk0QWBAvAMAW2E40c="; + }; + + buildInputs = [ erlang ]; + + buildPhase = "escript bootstrap"; + installPhase = '' + mkdir -p $out/bin + cp rebar $out/bin/rebar + ''; + + meta = { + homepage = "https://github.com/rebar/rebar"; + description = "Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases"; + + longDescription = '' + rebar is a self-contained Erlang script, so it's easy to + distribute or even embed directly in a project. Where possible, + rebar uses standard Erlang/OTP conventions for project + structures, thus minimizing the amount of build configuration + work. rebar also provides dependency management, enabling + application writers to easily re-use common libraries from a + variety of locations (git, hg, etc). + ''; + + platforms = lib.platforms.unix; + license = lib.licenses.asl20; + maintainers = lib.teams.beam.members; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix new file mode 100644 index 000000000000..b39a9537ee4c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix @@ -0,0 +1,143 @@ +{ lib, stdenv, fetchFromGitHub, fetchgit, + fetchHex, erlang, makeWrapper, + writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }: + +let + version = "3.22.1"; + owner = "erlang"; + deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchgit fetchHex; }; + rebar3 = stdenv.mkDerivation rec { + pname = "rebar3"; + inherit version erlang; + + # How to obtain `sha256`: + # nix-prefetch-url --unpack https://github.com/erlang/rebar3/archive/${version}.tar.gz + src = fetchFromGitHub { + inherit owner; + repo = pname; + rev = version; + sha256 = "bSsDNuwG3LLvBS7P/Ft0rpM/atwy36JonwP0fPRsEis="; + }; + + buildInputs = [ erlang ]; + + postPatch = '' + mkdir -p _checkouts _build/default/lib/ + + ${toString (lib.mapAttrsToList (k: v: '' + cp -R --no-preserve=mode ${v} _checkouts/${k} + '') deps)} + + # Bootstrap script expects the dependencies in _build/default/lib + # TODO: Make it accept checkouts? + for i in _checkouts/* ; do + ln -s $(pwd)/$i $(pwd)/_build/default/lib/ + done + ''; + + buildPhase = '' + HOME=. escript bootstrap + ''; + + checkPhase = '' + HOME=. escript ./rebar3 ct + ''; + + doCheck = true; + + installPhase = '' + mkdir -p $out/bin + cp rebar3 $out/bin/rebar3 + ''; + + meta = { + homepage = "https://github.com/rebar/rebar3"; + description = "Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases"; + + longDescription = '' + rebar is a self-contained Erlang script, so it's easy to distribute or + even embed directly in a project. Where possible, rebar uses standard + Erlang/OTP conventions for project structures, thus minimizing the amount + of build configuration work. rebar also provides dependency management, + enabling application writers to easily re-use common libraries from a + variety of locations (hex.pm, git, hg, and so on). + ''; + + platforms = lib.platforms.unix; + maintainers = lib.teams.beam.members; + license = lib.licenses.asl20; + }; + + passthru.updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -ox errexit + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + git + gnused + nix + (rebar3WithPlugins { globalPlugins = [rebar3-nix]; }) + ] + } + latest=$(list-git-tags | sed -n '/[\d\.]\+/p' | sort -V | tail -1) + if [ "$latest" != "${version}" ]; then + nixpkgs="$(git rev-parse --show-toplevel)" + nix_path="$nixpkgs/pkgs/development/tools/build-managers/rebar3" + update-source-version rebar3 "$latest" --version-key=version --print-changes --file="$nix_path/default.nix" + tmpdir=$(mktemp -d) + cp -R $(nix-build $nixpkgs --no-out-link -A rebar3.src)/* "$tmpdir" + (cd "$tmpdir" && rebar3 as test nix lock -o "$nix_path/rebar-deps.nix") + else + echo "rebar3 is already up-to-date" + fi + ''; + }; + + # Alias rebar3 so we can use it as default parameter below + _rebar3 = rebar3; + + rebar3WithPlugins = { plugins ? [ ], globalPlugins ? [ ], rebar3 ? _rebar3 }: + let + pluginLibDirs = map (p: "${p}/lib/erlang/lib") (lib.unique (plugins ++ globalPlugins)); + globalPluginNames = lib.unique (map (p: p.packageName) globalPlugins); + rebar3Patched = (rebar3.overrideAttrs (old: { + + # skip-plugins.patch is necessary because otherwise rebar3 will always + # try to fetch plugins if they are not already present in _build. + # + # global-deps.patch makes it possible to use REBAR_GLOBAL_PLUGINS to + # instruct rebar3 to always load a certain plugin. It is necessary since + # REBAR_GLOBAL_CONFIG_DIR doesn't seem to work for this. + patches = [ ./skip-plugins.patch ./global-plugins.patch ]; + + # our patches cause the tests to fail + doCheck = false; + })); + in stdenv.mkDerivation { + pname = "rebar3-with-plugins"; + inherit (rebar3) version; + nativeBuildInputs = [ erlang makeWrapper ]; + unpackPhase = "true"; + + # Here we extract the rebar3 escript (like `rebar3_prv_local_install.erl`) and + # add plugins to the code path. + + installPhase = '' + erl -noshell -eval ' + {ok, Escript} = escript:extract("${rebar3Patched}/bin/rebar3", []), + {archive, Archive} = lists:keyfind(archive, 1, Escript), + {ok, _} = zip:extract(Archive, [{cwd, "'$out/lib'"}]), + init:stop(0) + ' + cp ${./rebar_ignore_deps.erl} rebar_ignore_deps.erl + erlc -o $out/lib/rebar/ebin rebar_ignore_deps.erl + mkdir -p $out/bin + makeWrapper ${erlang}/bin/erl $out/bin/rebar3 \ + --set REBAR_GLOBAL_PLUGINS "${toString globalPluginNames} rebar_ignore_deps" \ + --suffix-each ERL_LIBS ":" "$out/lib ${toString pluginLibDirs}" \ + --add-flags "+sbtu +A1 -noshell -boot start_clean -s rebar3 main -extra" + ''; + }; +in { inherit rebar3 rebar3WithPlugins; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/global-plugins.patch b/nixpkgs/pkgs/development/tools/build-managers/rebar3/global-plugins.patch new file mode 100644 index 000000000000..80207c197d82 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/global-plugins.patch @@ -0,0 +1,14 @@ +diff --git a/apps/rebar/src/rebar_plugins.erl b/apps/rebar/src/rebar_plugins.erl +index 469be42e..3a901cbe 100644 +--- a/apps/rebar/src/rebar_plugins.erl ++++ b/apps/rebar/src/rebar_plugins.erl +@@ -31,7 +31,8 @@ project_plugins_install(State) -> + top_level_install(State) -> + Profiles = rebar_state:current_profiles(State), + lists:foldl(fun(Profile, StateAcc) -> +- Plugins = rebar_state:get(State, {plugins, Profile}, []), ++ Plugins = rebar_state:get(State, {plugins, Profile}, []) ++ ++ [list_to_atom(P) || P <- string:lexemes(os:getenv("REBAR_GLOBAL_PLUGINS", ""), " ")], + handle_plugins(Profile, Plugins, StateAcc) + end, State, Profiles). + diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix new file mode 100644 index 000000000000..7f6be584098d --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix @@ -0,0 +1,18 @@ +# Generated by rebar3_nix +let fetchOnly = { src, ... }: src; +in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }: +let + self = packages // (overrides self packages); + packages = with self; { + meck = builder { + name = "meck"; + version = "0.8.13"; + src = fetchHex { + pkg = "meck"; + version = "0.8.13"; + sha256 = "sha256-008BPBVttRrVfMVWiRuXIOahwd9f4uFa+ZnITWzr6xo="; + }; + beamDeps = [ ]; + }; + }; +in self diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar_ignore_deps.erl b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar_ignore_deps.erl new file mode 100644 index 000000000000..3e0ae67c4539 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar_ignore_deps.erl @@ -0,0 +1,43 @@ +%% This module, when loaded as a plugin, overrides the default `install_deps` +%% provider and erases the dependencies from the rebar3 state, when +%% REBAR_IGNORE_DEPS is true. + +-module(rebar_ignore_deps). + +-export([init/1, do/1, format_error/1]). + +init(State0) -> + case os:getenv("REBAR_IGNORE_DEPS", "") of + "" -> + {ok, State0}; + _ -> + do_init(State0) + end. + +do_init(State0) -> + State1 = rebar_state:allow_provider_overrides(State0, true), + Provider = providers:create( + [ + {name, install_deps}, %% override the default install_deps provider + {module, ?MODULE}, + {bare, false}, + {deps, [app_discovery]}, + {example, undefined}, + {opts, []}, + {short_desc, ""}, + {desc, ""} + ]), + State2 = rebar_state:add_provider(State1, Provider), + {ok, rebar_state:allow_provider_overrides(State2, false)}. + +do(State0) -> + io:format("Ignoring deps...~n"), + Profiles = rebar_state:current_profiles(State0), + State = lists:foldl(fun(P, Acc0) -> + Acc = rebar_state:set(Acc0, {deps, P}, []), + rebar_state:set(Acc, {parsed_deps, P}, []) + end, State0, Profiles), + {ok, State}. + +format_error(Reason) -> + io_lib:format("~p", [Reason]). diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/skip-plugins.patch b/nixpkgs/pkgs/development/tools/build-managers/rebar3/skip-plugins.patch new file mode 100644 index 000000000000..80394f495e83 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/skip-plugins.patch @@ -0,0 +1,80 @@ +diff --git a/apps/rebar/src/rebar_plugins.erl b/apps/rebar/src/rebar_plugins.erl +index cd5f377c..469be42e 100644 +--- a/apps/rebar/src/rebar_plugins.erl ++++ b/apps/rebar/src/rebar_plugins.erl +@@ -108,41 +108,9 @@ handle_plugins(Profile, Plugins, State, Upgrade) -> + State3 = rebar_state:set(State2, deps_dir, DepsDir), + rebar_state:lock(State3, Locks). + +-handle_plugin(Profile, Plugin, State, SrcPlugins, Upgrade) -> ++handle_plugin(_Profile, Plugin, State, _SrcPlugins, _Upgrade) -> + try +- %% Inject top-level src plugins as project apps, so that they get skipped +- %% by the installation as already seen +- ProjectApps = rebar_state:project_apps(State), +- State0 = rebar_state:project_apps(State, SrcPlugins), +- %% We however have to pick the deps of top-level apps and promote them +- %% directly to make sure they are installed if they were not also at the top level +- TopDeps = top_level_deps(State, SrcPlugins), +- %% Install the plugins +- {Apps, State1} = rebar_prv_install_deps:handle_deps_as_profile(Profile, State0, [Plugin|TopDeps], Upgrade), +- {no_cycle, Sorted} = rebar_prv_install_deps:find_cycles(SrcPlugins++Apps), +- ToBuild = rebar_prv_install_deps:cull_compile(Sorted, []), +- %% Return things to normal +- State2 = rebar_state:project_apps(State1, ProjectApps), +- +- %% Add already built plugin deps to the code path +- ToBuildPaths = [rebar_app_info:ebin_dir(A) || A <- ToBuild], +- PreBuiltPaths = [Ebin || A <- Sorted, +- Ebin <- [rebar_app_info:ebin_dir(A)], +- not lists:member(Ebin, ToBuildPaths)], +- code:add_pathsa(PreBuiltPaths), +- +- %% Build plugin and its deps +- build_plugins(ToBuild, Sorted, State2), +- +- %% Add newly built deps and plugin to code path +- State3 = rebar_state:update_all_plugin_deps(State2, Sorted), +- NewCodePaths = [rebar_app_info:ebin_dir(A) || A <- ToBuild], +- +- %% Store plugin code paths so we can remove them when compiling project apps +- State4 = rebar_state:update_code_paths(State3, all_plugin_deps, PreBuiltPaths++NewCodePaths), +- rebar_paths:set_paths([plugins], State4), +- +- {plugin_providers(Plugin), State4} ++ {plugin_providers(Plugin), State} + catch + ?WITH_STACKTRACE(C,T,S) + ?DEBUG("~p ~p ~p", [C, T, S]), +@@ -150,15 +118,6 @@ handle_plugin(Profile, Plugin, State, SrcPlugins, Upgrade) -> + {[], State} + end. + +-build_plugins(MustBuildApps, AllApps, State) -> +- State1 = rebar_state:deps_to_build(State, MustBuildApps), +- State2 = rebar_state:all_deps(State1, AllApps), +- State3 = rebar_state:set(State2, deps_dir, ?DEFAULT_PLUGINS_DIR), +- {Args, Extra} = rebar_state:command_parsed_args(State), +- State4 = rebar_state:command_parsed_args(State3, {[{deps_only, true}|Args], Extra}), +- rebar_prv_compile:do(State4), +- ok. +- + plugin_providers({Plugin, _, _, _}) when is_atom(Plugin) -> + validate_plugin(Plugin); + plugin_providers({Plugin, _, _}) when is_atom(Plugin) -> +@@ -251,15 +210,6 @@ prepare_plugin(AppInfo) -> + false -> rebar_app_info:valid(Relocated, undefined) % force revalidation + end. + +-top_level_deps(State, Apps) -> +- CurrentProfiles = rebar_state:current_profiles(State), +- Keys = lists:append([[{plugins, P}, {deps, P}] || P <- CurrentProfiles]), +- RawDeps = lists:foldl(fun(App, Acc) -> +- %% Only support the profiles we would with regular plugins? +- lists:append([rebar_app_info:get(App, Key, []) || Key <- Keys]) ++ Acc +- end, [], Apps), +- rebar_utils:tup_dedup(RawDeps). +- + needs_rebuild(AppInfo) -> + %% if source files are newer than built files then the code was edited + %% and can't be considered valid -- force a rebuild. diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix new file mode 100644 index 000000000000..22841cb20d17 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -0,0 +1,73 @@ +{ stdenv, lib, python3, fetchFromGitHub, which, coreutils +, perl, installShellFiles, gnumake42 +, doCheck ? true +}: stdenv.mkDerivation rec { + + pname = "redo-apenwarr"; + version = "0.42d"; + + src = fetchFromGitHub rec { + owner = "apenwarr"; + repo = "redo"; + rev = "${repo}-${version}"; + sha256 = "/QIMXpVhVLAIJa3LiOlRKzbUztIWZygkWZUKN4Nrh+M="; + }; + + postPatch = '' + + patchShebangs minimal/do + + '' + lib.optionalString doCheck '' + unset CC CXX + + substituteInPlace minimal/do.test \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" + + substituteInPlace t/105-sympath/all.do \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" + + substituteInPlace t/all.do \ + --replace "/bin/ls" "ls" + + substituteInPlace t/110-compile/hello.o.do \ + --replace "/usr/include" "${lib.getDev stdenv.cc.libc}/include" + + substituteInPlace t/200-shell/nonshelltest.do \ + --replace "/usr/bin/env perl" "${perl}/bin/perl" + + ''; + + inherit doCheck; + + checkTarget = "test"; + + outputs = [ "out" "man" ]; + + installFlags = [ + "PREFIX=$(out)" + "DESTDIR=/" + ]; + + nativeBuildInputs = [ + python3 + (with python3.pkgs; [ beautifulsoup4 markdown ]) + which + installShellFiles + gnumake42 # fails with make 4.4 + ]; + + postInstall = '' + installShellCompletion --bash contrib/bash_completion.d/redo + ''; + + meta = with lib; { + description = "Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo"; + homepage = "https://github.com/apenwarr/redo"; + maintainers = with maintainers; [ + andrewchambers + ck3d + ]; + license = licenses.asl20; + platforms = python3.meta.platforms; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile b/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile new file mode 100644 index 000000000000..5a1dd74c5b84 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile @@ -0,0 +1,10 @@ +CFLAGS ?= -Os + +all: redo links + +links: + sh links.do + +install: + mkdir -p "$(out)/bin" + cp --no-dereference redo redo-* "$(out)/bin" diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix new file mode 100644 index 000000000000..14d33cba0395 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + pname = "redo-c"; + version = "0.3"; + + src = fetchFromGitHub { + owner = "leahneukirchen"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-oZcaBgESIaD7/SUBE7luh7axucKTEzXPVkQAQs2NCXE="; + }; + + postPatch = '' + cp '${./Makefile}' Makefile + ''; + + meta = with lib; { + description = "An implementation of the redo build system in portable C with zero dependencies"; + homepage = "https://github.com/leahneukirchen/redo-c"; + license = licenses.cc0; + platforms = platforms.all; + maintainers = with maintainers; [ ck3d ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix new file mode 100644 index 000000000000..093a825723c0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchurl, makeWrapper, coreutils }: + +stdenv.mkDerivation { + version = "4.0.4"; + pname = "redo-sh"; + + src = fetchurl { + url = "http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz"; + sha256 = "0d3hz3vy5qmjr9r4f8a5cx9hikpzs8h8f0fsl3dpbialf4wck24g"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + sourceRoot = "."; + installPhase = '' + mkdir -p "$out/share" + mv man "$out/share" + mv bin "$out" + for p in $out/bin/*; do + wrapProgram "$p" --prefix PATH : "$out/bin:${coreutils}/bin" + done + ''; + + meta = with lib; { + description = "Redo implementation in Bourne Shell"; + homepage = "http://news.dieweltistgarnichtso.net/bin/redo-sh.html"; + license = licenses.agpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ sternenseemann ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo/default.nix new file mode 100644 index 000000000000..f16e91d3bfb1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo/default.nix @@ -0,0 +1,29 @@ +{lib, stdenv, fetchurl, perl }: + +stdenv.mkDerivation rec { + pname = "redo"; + version = "1.4"; + src = fetchurl { + url = "https://jdebp.eu./Repository/freebsd/${pname}-${version}.tar.gz"; + sha256 = "1c8gr5h77v4fw78zkhbm9z9adqs3kd7xvxwnmci2zvlf4bqqk4jv"; + }; + + nativeBuildInputs = [ perl /* for pod2man */ ]; + + sourceRoot = "."; + + buildPhase = '' + ./package/compile + ''; + installPhase = '' + ./package/export $out/ + ''; + + meta = { + homepage = "https://jdebp.eu./Softwares/redo/"; + description = "A system for building target files from source files"; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.vrthra ]; + platforms = lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix new file mode 100644 index 000000000000..f2589c1e75c6 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix @@ -0,0 +1,40 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, readline +, guileSupport ? false +, guile +}: + +stdenv.mkDerivation rec { + pname = "remake"; + remakeVersion = "4.3"; + dbgVersion = "1.6"; + version = "${remakeVersion}+dbg-${dbgVersion}"; + + src = fetchurl { + url = "mirror://sourceforge/project/bashdb/remake/${version}/remake-${remakeVersion}+dbg-${dbgVersion}.tar.gz"; + sha256 = "11vvch8bi0yhjfz7gn92b3xmmm0cgi3qfiyhbnnj89frkhbwd87n"; + }; + + patches = [ + ./glibc-2.27-glob.patch + ]; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ readline ] + ++ lib.optionals guileSupport [ guile ]; + + # make check fails, see https://github.com/rocky/remake/issues/117 + + meta = { + homepage = "https://bashdb.sourceforge.net/remake/"; + license = lib.licenses.gpl3Plus; + description = "GNU Make with comprehensible tracing and a debugger"; + platforms = with lib.platforms; linux ++ darwin; + maintainers = with lib.maintainers; [ bjornfor shamilton ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch b/nixpkgs/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch new file mode 100644 index 000000000000..ef876e2fb237 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch @@ -0,0 +1,34 @@ +diff --git a/glob/glob.c b/glob/glob.c +index f3911bcd861..6cb76e8e162 100644 +--- a/glob/glob.c ++++ b/glob/glob.c +@@ -208,29 +208,8 @@ my_realloc (p, n) + #endif /* __GNU_LIBRARY__ || __DJGPP__ */ + + +-#if !defined __alloca && !defined __GNU_LIBRARY__ +- +-# ifdef __GNUC__ +-# undef alloca +-# define alloca(n) __builtin_alloca (n) +-# else /* Not GCC. */ +-# ifdef HAVE_ALLOCA_H +-# include <alloca.h> +-# else /* Not HAVE_ALLOCA_H. */ +-# ifndef _AIX +-# ifdef WINDOWS32 +-# include <malloc.h> +-# else +-extern char *alloca (); +-# endif /* WINDOWS32 */ +-# endif /* Not _AIX. */ +-# endif /* sparc or HAVE_ALLOCA_H. */ +-# endif /* GCC. */ +- + # define __alloca alloca + +-#endif +- + #ifndef __GNU_LIBRARY__ + # define __stat stat + # ifdef STAT_MACROS_BROKEN diff --git a/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix new file mode 100644 index 000000000000..206038c0b6e6 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchFromGitHub +, rocmUpdateScript +, cmake +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "rocm-cmake"; + version = "5.4.4"; + + src = fetchFromGitHub { + owner = "RadeonOpenCompute"; + repo = "rocm-cmake"; + rev = "rocm-${finalAttrs.version}"; + hash = "sha256-JarQqiiZ36WV1d6vyQD546GN1EtoKLcdvcZsG3QWD2Y="; + }; + + nativeBuildInputs = [ cmake ]; + + passthru.updateScript = rocmUpdateScript { + name = finalAttrs.pname; + owner = finalAttrs.src.owner; + repo = finalAttrs.src.repo; + }; + + meta = with lib; { + description = "CMake modules for common build tasks for the ROCm stack"; + homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"; + license = licenses.mit; + maintainers = teams.rocm.members; + platforms = platforms.unix; + broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/samurai/default.nix b/nixpkgs/pkgs/development/tools/build-managers/samurai/default.nix new file mode 100644 index 000000000000..675160751d1e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/samurai/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +}: + +stdenv.mkDerivation rec { + pname = "samurai"; + version = "1.2"; + + src = fetchFromGitHub { + owner = "michaelforney"; + repo = pname; + rev = version; + hash = "sha256-RPY3MFlnSDBZ5LOkdWnMiR/CZIBdqIFo9uLU+SAKPBI="; + }; + + makeFlags = [ "DESTDIR=" "PREFIX=${placeholder "out"}" ]; + + patches = [ + # NULL pointer dereference in writefile() in util.c; remove this at the next + # release + (fetchpatch { + name = "CVE-2021-30218.patch"; + url = "https://github.com/michaelforney/samurai/commit/e84b6d99c85043fa1ba54851ee500540ec206918.patch"; + sha256 = "sha256-hyndwj6st4rwOJ35Iu0qL12dR5E6CBvsulvR27PYKMw="; + }) + # NULL pointer dereference in printstatus() in build.c; remove this at the + # next release + (fetchpatch { + name = "CVE-2021-30219.patch"; + url = "https://github.com/michaelforney/samurai/commit/d2af3bc375e2a77139c3a28d6128c60cd8d08655.patch"; + sha256 = "sha256-rcdwKjHeq5Oaga9wezdHSg/7ljkynfbnkBc2ciMW5so="; + }) + ]; + + meta = with lib; { + description = "ninja-compatible build tool written in C"; + longDescription = '' + samurai is a ninja-compatible build tool with a focus on simplicity, + speed, and portability. + + It is written in C99, requires various POSIX.1-2008 interfaces, and + nowadays implements ninja build language through version 1.9.0 except for + Microsoft (R) Visual C++ (TM) dependency handling (deps = msvc). + + It is feature-complete (but not bug-compatible) and supports most of the + same options as ninja, using the same format for .ninja_log and + .ninja_deps as the original ninja tool, currently version 5 and 4 + respectively. + ''; + homepage = "https://github.com/michaelforney/samurai"; + license = with licenses; [ mit asl20 ]; # see LICENSE + maintainers = with maintainers; [ dtzWill AndersonTorres ]; + mainProgram = "samu"; + platforms = platforms.all; + }; +} + diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix new file mode 100644 index 000000000000..c608a2e241af --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix @@ -0,0 +1,78 @@ +{ lib, stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript +, common-updater-scripts, cacert, git, nixfmt, nix, jq, coreutils, gnused }: + +stdenv.mkDerivation rec { + pname = "sbt-extras"; + rev = "6918a7d323874cbc8d59d353f1ac8f105bb79b81"; + version = "2023-08-28"; + + src = fetchFromGitHub { + owner = "paulp"; + repo = "sbt-extras"; + inherit rev; + sha256 = "awRkk9mir/lcpPUEDnNeDSe+aynYKwKQd066cws5nhU="; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + substituteInPlace bin/sbt --replace 'declare java_cmd="java"' 'declare java_cmd="${jdk}/bin/java"' + + install bin/sbt $out/bin + + wrapProgram $out/bin/sbt --prefix PATH : ${lib.makeBinPath [ which curl ]} + + runHook postInstall + ''; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/sbt -h >/dev/null + ''; + + passthru.updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -xo errexit + PATH=${ + lib.makeBinPath [ + common-updater-scripts + curl + cacert + git + nixfmt + nix + jq + coreutils + gnused + ] + } + oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')" + latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')" + if [ ! "null" = "$latestSha" ]; then + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix" + latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')" + update-source-version ${pname} "$latestSha" --version-key=rev + update-source-version ${pname} "$latestDate" --ignore-same-hash + nixfmt "$default_nix" + else + echo "${pname} is already up-to-date" + fi + ''; + + meta = { + description = + "A more featureful runner for sbt, the simple/scala/standard build tool"; + homepage = "https://github.com/paulp/sbt-extras"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ nequissimus puffnfresh ]; + mainProgram = "sbt"; + platforms = lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix new file mode 100644 index 000000000000..8165313ab8c8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix @@ -0,0 +1,53 @@ +{ lib +, stdenv +, fetchurl +, jre +, autoPatchelfHook +, zlib +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "sbt"; + version = "1.9.4"; + + src = fetchurl { + url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz"; + hash = "sha256-aL0CJcKdo5ss+yW2dwqRn2nkdiG7JQESFSdC1/KauHA="; + }; + + postPatch = '' + echo -java-home ${jre.home} >>conf/sbtopts + ''; + + nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; + + buildInputs = lib.optionals stdenv.isLinux [ + stdenv.cc.cc # libstdc++.so.6 + zlib + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/sbt $out/bin + cp -ra . $out/share/sbt + ln -sT ../share/sbt/bin/sbt $out/bin/sbt + ln -sT ../share/sbt/bin/sbtn-x86_64-${ + if (stdenv.isDarwin) then "apple-darwin" else "pc-linux" + } $out/bin/sbtn + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://www.scala-sbt.org/"; + license = licenses.bsd3; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; + description = "A build tool for Scala, Java and more"; + maintainers = with maintainers; [ nequissimus kashw2 ]; + platforms = platforms.unix; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/scala-native.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/scala-native.nix new file mode 100644 index 000000000000..caa9feebb519 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/scala-native.nix @@ -0,0 +1,14 @@ +{ lib, sbt, makeWrapper, boehmgc, libunwind, re2, llvmPackages, zlib }: + +sbt.overrideAttrs(previousAttrs: { + nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ makeWrapper ]; + + postFixup = (previousAttrs.postFixup or "") + '' + wrapProgram $out/bin/sbt \ + --set CLANG_PATH "${llvmPackages.clang}/bin/clang" \ + --set CLANGPP_PATH "${llvmPackages.clang}/bin/clang" \ + --set CPATH "${lib.makeSearchPathOutput "dev" "include" [ re2 zlib boehmgc libunwind llvmPackages.libcxxabi llvmPackages.libcxx ]}/c++/v1" \ + --set LIBRARY_PATH "${lib.makeLibraryPath [ re2 zlib boehmgc libunwind llvmPackages.libcxxabi llvmPackages.libcxx ]}" \ + --set NIX_CFLAGS_LINK "-lc++abi -lc++" + ''; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix new file mode 100644 index 000000000000..1ea575013bb0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix @@ -0,0 +1,80 @@ +{ stdenv +, coreutils +, lib +, installShellFiles +, zlib +, autoPatchelfHook +, fetchurl +, makeWrapper +, callPackage +, jre +}: + +let + pname = "scala-cli"; + sources = lib.importJSON ./sources.json; + inherit (sources) version assets; + + platforms = builtins.attrNames assets; +in +stdenv.mkDerivation { + inherit pname version; + nativeBuildInputs = [ installShellFiles makeWrapper ] + ++ lib.optional stdenv.isLinux autoPatchelfHook; + buildInputs = + assert lib.assertMsg (lib.versionAtLeast jre.version "17.0.0") '' + scala-cli requires Java 17 or newer, but ${jre.name} is ${jre.version} + ''; + [ coreutils zlib stdenv.cc.cc ]; + src = + let + asset = assets."${stdenv.hostPlatform.system}" or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); + in + fetchurl { + url = "https://github.com/Virtuslab/scala-cli/releases/download/v${version}/${asset.asset}"; + sha256 = asset.sha256; + }; + unpackPhase = '' + runHook preUnpack + gzip -d < $src > scala-cli + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + install -Dm755 scala-cli $out/bin/.scala-cli-wrapped + makeWrapper $out/bin/.scala-cli-wrapped $out/bin/scala-cli \ + --set JAVA_HOME ${jre.home} \ + --argv0 "$out/bin/scala-cli" + runHook postInstall + ''; + + # We need to call autopatchelf before generating completions + dontAutoPatchelf = true; + + postFixup = lib.optionalString stdenv.isLinux '' + autoPatchelf $out + '' + '' + # hack to ensure the completion function looks right + # as $0 is used to generate the compdef directive + mkdir temp + cp $out/bin/.scala-cli-wrapped temp/scala-cli + PATH="./temp:$PATH" + + installShellCompletion --cmd scala-cli \ + --bash <(scala-cli completions bash) \ + --zsh <(scala-cli completions zsh) + ''; + + meta = with lib; { + homepage = "https://scala-cli.virtuslab.org"; + downloadPage = "https://github.com/VirtusLab/scala-cli/releases/v${version}"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.asl20; + description = "Command-line tool to interact with the Scala language"; + maintainers = [ maintainers.kubukoz ]; + inherit platforms; + }; + + passthru.updateScript = callPackage ./update.nix { } { inherit platforms pname version; }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json new file mode 100644 index 000000000000..f248e9c1123b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json @@ -0,0 +1,21 @@ +{ + "version": "1.0.4", + "assets": { + "aarch64-darwin": { + "asset": "scala-cli-aarch64-apple-darwin.gz", + "sha256": "1gqnsm8pcwrk1v1v4xaj0j0w5xsmh3xv61h6sv72297illxxkbgq" + }, + "aarch64-linux": { + "asset": "scala-cli-aarch64-pc-linux.gz", + "sha256": "124xqn18xyn35pg18p0rz40d8vjgijp6sc6wg4i81ih2mrxqxsbc" + }, + "x86_64-darwin": { + "asset": "scala-cli-x86_64-apple-darwin.gz", + "sha256": "0r581a1zzlk7qbcsfbv79asj5y56zzx9249h099k29rbdjc3ya26" + }, + "x86_64-linux": { + "asset": "scala-cli-x86_64-pc-linux.gz", + "sha256": "018cmr71qhdqvmprrfb8clsj718gfkdvyw48dqkf2jsafq0kglk2" + } + } +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/update.nix b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/update.nix new file mode 100644 index 000000000000..fd79a1cf3a8b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/update.nix @@ -0,0 +1,37 @@ +{ lib, curl, writeShellScript, jq, gnused, git, nix, coreutils }: { platforms, pname, version }: + +writeShellScript "${pname}-update-script" '' + set -o errexit + PATH=${lib.makeBinPath [ curl jq gnused git nix coreutils ]} + + latest_version=$(curl -s "https://api.github.com/repos/VirtusLab/scala-cli/releases?per_page=1" | jq ".[0].tag_name" --raw-output | sed 's/^v//') + + if [[ "${version}" = "$latest_version" ]]; then + echo "The new version same as the old version." + exit 0 + fi + + nixpkgs=$(git rev-parse --show-toplevel) + sources_json="$nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json" + + platform_assets=() + + for platform in ${lib.concatStringsSep " " platforms}; do + asset=$(jq ".assets.\"$platform\".asset" --raw-output < $sources_json) + release_asset_url="https://github.com/Virtuslab/scala-cli/releases/download/v$latest_version/$asset" + + asset_hash=$(nix-prefetch-url "$release_asset_url") + + asset_object=$(jq --compact-output --null-input \ + --arg asset "$asset" \ + --arg sha256 "$asset_hash" \ + --arg platform "$platform" \ + '{asset: $asset, sha256: $sha256, platform: $platform}') + platform_assets+=($asset_object) + done + + printf '%s\n' "''${platform_assets[@]}" | \ + jq -s "map ( { (.platform): . | del(.platform) }) | add" | \ + jq --arg version $latest_version \ + '{ version: $version, assets: . }' > $sources_json +'' diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix new file mode 100644 index 000000000000..5b0aff8072c8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix @@ -0,0 +1,62 @@ +{ version, sha256 }: + +{ fetchurl, python, lib }: + +python.pkgs.buildPythonApplication rec { + pname = "scons"; + inherit version; + + src = fetchurl { + url = + if lib.versionAtLeast version "4.3.0" then + "mirror://sourceforge/project/scons/scons/${version}/SCons-${version}.tar.gz" + else + "mirror://sourceforge/scons/scons-${version}.tar.gz"; + inherit sha256; + }; + + setupHook = ./setup-hook.sh; + + patches = lib.optionals (lib.versionAtLeast version "4.3.0") [ + ./env.patch + ]; + + postPatch = lib.optionalString (lib.versionAtLeast version "4.0.0") '' + substituteInPlace setup.cfg \ + --replace "build/dist" "dist" + '' + lib.optionalString (lib.versionAtLeast version "4.1.0") '' + substituteInPlace setup.cfg \ + --replace "build/doc/man/" "" + ''; + + # The release tarballs don't contain any tests (runtest.py and test/*): + doCheck = lib.versionOlder version "4.0.0"; + + postInstall = lib.optionalString (lib.versionAtLeast version "4.1.0") '' + mkdir -p "$out/share/man/man1" + mv "$out/"*.1 "$out/share/man/man1/" + ''; + + passthru = { + # expose the used python version so tools using this (and extensing scos with other python modules) + # can use the exact same python version. + inherit python; + }; + + meta = with lib; { + description = "An improved, cross-platform substitute for Make"; + longDescription = '' + SCons is an Open Source software construction tool. Think of + SCons as an improved, cross-platform substitute for the classic + Make utility with integrated functionality similar to + autoconf/automake and compiler caches such as ccache. In short, + SCons is an easier, more reliable and faster way to build + software. + ''; + homepage = "https://scons.org/"; + changelog = "https://raw.githubusercontent.com/SConsProject/scons/rel_${version}/src/CHANGES.txt"; + license = licenses.mit; + platforms = platforms.all; + maintainers = [ ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix new file mode 100644 index 000000000000..f338d346a701 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix @@ -0,0 +1,20 @@ +{ callPackage, python2, python3 }: + +let + mkScons = args: callPackage (import ./common.nix args) { + python = python3; + }; +in { + scons_3_1_2 = (mkScons { + version = "3.1.2"; + sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq"; + }); + scons_4_1_0 = mkScons { + version = "4.1.0"; + sha256 = "11axk03142ziax6i3wwy9qpqp7r3i7h5jg9y2xzph9i15rv8vlkj"; + }; + scons_latest = mkScons { + version = "4.5.2"; + sha256 = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI="; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/env.patch b/nixpkgs/pkgs/development/tools/build-managers/scons/env.patch new file mode 100644 index 000000000000..95615016aed9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/env.patch @@ -0,0 +1,9 @@ +diff --git a/SCons/Platform/posix.py b/SCons/Platform/posix.py +index 4c9f8f9ba..d68da1b08 100644 +--- a/SCons/Platform/posix.py ++++ b/SCons/Platform/posix.py +@@ -30,0 +31 @@ selection method. ++import os +@@ -87 +88 @@ def generate(env): +- env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin' ++ env['ENV']['PATH'] = os.environ["PATH"] diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh new file mode 100644 index 000000000000..67358ee843d1 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/setup-hook.sh @@ -0,0 +1,85 @@ +sconsBuildPhase() { + runHook preBuild + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then + buildFlags="${prefixKey:-prefix=}$prefix $buildFlags" + fi + + local flagsArray=( + ${enableParallelBuilding:+-j${NIX_BUILD_CORES}} + $sconsFlags ${sconsFlagsArray[@]} + $buildFlags ${buildFlagsArray[@]} + ) + + echoCmd 'build flags' "${flagsArray[@]}" + scons "${flagsArray[@]}" + + runHook postBuild +} + +sconsInstallPhase() { + runHook preInstall + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then + installFlags="${prefixKey:-prefix=}$prefix $installFlags" + fi + + local flagsArray=( + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} + $sconsFlags ${sconsFlagsArray[@]} + $installFlags ${installFlagsArray[@]} + ${installTargets:-install} + ) + + echoCmd 'install flags' "${flagsArray[@]}" + scons "${flagsArray[@]}" + + runHook postInstall +} + +sconsCheckPhase() { + runHook preCheck + + if [ -z "${checkTarget:-}" ]; then + if scons -n check >/dev/null 2>&1; then + checkTarget=check + elif scons -n test >/dev/null 2>&1; then + checkTarget=test + fi + fi + + if [ -z "${checkTarget:-}" ]; then + echo "no check/test target found, doing nothing" + else + local flagsArray=( + ${enableParallelChecking:+-j${NIX_BUILD_CORES}} + $sconsFlags ${sconsFlagsArray[@]} + ${checkFlagsArray[@]} + ) + + echoCmd 'check flags' "${flagsArray[@]}" + scons "${flagsArray[@]}" + fi + + runHook postCheck +} + +if [ -z "${buildPhase-}" ]; then + buildPhase=sconsBuildPhase +fi + +if [ -z "${dontUseSconsInstall-}" -a -z "${installPhase-}" ]; then + installPhase=sconsInstallPhase +fi + +if [ -z "${checkPhase-}" ]; then + checkPhase=sconsCheckPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/shards/default.nix b/nixpkgs/pkgs/development/tools/build-managers/shards/default.nix new file mode 100644 index 000000000000..a7ba17b24b11 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/shards/default.nix @@ -0,0 +1,45 @@ +{ lib +, fetchFromGitHub +, crystal +}: + +let + generic = + { version, hash }: + + crystal.buildCrystalPackage { + pname = "shards"; + inherit version; + + src = fetchFromGitHub { + owner = "crystal-lang"; + repo = "shards"; + rev = "v${version}"; + inherit hash; + }; + + # we cannot use `make` or `shards` here as it would introduce a cyclical dependency + format = "crystal"; + shardsFile = ./shards.nix; + crystalBinaries.shards.src = "./src/shards.cr"; + + # tries to execute git which fails spectacularly + doCheck = false; + + meta = with lib; { + description = "Dependency manager for the Crystal language"; + license = licenses.asl20; + maintainers = with maintainers; [ peterhoeg ]; + inherit (crystal.meta) homepage platforms; + }; + }; + +in +rec { + shards_0_17 = generic { + version = "0.17.3"; + hash = "sha256-vgcMB/vp685YwYI9XtJ5cTEjdnYaZY9aOMUnJBJaQoU="; + }; + + shards = shards_0_17; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/shards/shards.nix b/nixpkgs/pkgs/development/tools/build-managers/shards/shards.nix new file mode 100644 index 000000000000..95250acf1945 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/shards/shards.nix @@ -0,0 +1,8 @@ +{ + molinillo = { + owner = "crystal-lang"; + repo = "crystal-molinillo"; + rev = "v0.2.0"; + sha256 = "0pzi8pbrjn03zgk3kbha2kqqq0crmr8gy98dr05kisafvbghzwnh"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix new file mode 100644 index 000000000000..902508129cb2 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix @@ -0,0 +1,81 @@ +{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, sqlite, pcre }: + +let + fuse = if stdenv.isDarwin then macfuse-stubs else fuse3; +in stdenv.mkDerivation rec { + pname = "tup"; + version = "0.7.11"; + outputs = [ "bin" "man" "out" ]; + + src = fetchFromGitHub { + owner = "gittup"; + repo = "tup"; + rev = "v${version}"; + hash = "sha256-Q2Y5ErcfhLChi9Wezn8+7eNXYX2UXW1fBOqEclmgzOo="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ fuse pcre sqlite ]; + + patches = [ ./fusermount-setuid.patch ]; + + configurePhase = '' + substituteInPlace src/tup/link.sh --replace '`git describe' '`echo ${version}' + + for f in Tupfile Tuprules.tup src/tup/server/Tupfile build.sh; do + substituteInPlace "$f" \ + --replace "pkg-config" "${stdenv.cc.targetPrefix}pkg-config" \ + --replace "pcre-config" "${stdenv.cc.targetPrefix}pkg-config libpcre" + done + + cat << EOF > tup.config + CONFIG_CC=${stdenv.cc.targetPrefix}cc + CONFIG_AR=${stdenv.cc.targetPrefix}ar + CONFIG_TUP_USE_SYSTEM_SQLITE=y + EOF + ''; + + # Regular tup builds require fusermount to have suid, which nix cannot + # currently provide in a build environment, so we bootstrap and use 'tup + # generate' instead + buildPhase = '' + runHook preBuild + ./build.sh + ./build/tup init + ./build/tup generate script.sh + ./script.sh + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + install -D tup -t $bin/bin/ + install -D tup.1 -t $man/share/man/man1/ + runHook postInstall + ''; + + setupHook = ./setup-hook.sh; + + meta = with lib; { + description = "A fast, file-based build system"; + longDescription = '' + Tup is a file-based build system for Linux, OSX, and Windows. It inputs a list + of file changes and a directed acyclic graph (DAG), then processes the DAG to + execute the appropriate commands required to update dependent files. Updates are + performed with very little overhead since tup implements powerful build + algorithms to avoid doing unnecessary work. This means you can stay focused on + your project rather than on your build system. + ''; + homepage = "https://gittup.org/tup/"; + license = licenses.gpl2; + maintainers = with maintainers; [ ehmry ]; + platforms = platforms.unix; + + # TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions. + # Probably MacOS SDK 10.13 or later. Check the current version in + # ../../../../os-specific/darwin/apple-sdk/default.nix + # + # https://github.com/gittup/tup/commit/3697c74 + broken = stdenv.isDarwin; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch b/nixpkgs/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch new file mode 100644 index 000000000000..34b77ab8659a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch @@ -0,0 +1,31 @@ +# Tup needs a setuid fusermount which may be outside $PATH. + +diff --git a/src/tup/server/fuse_server.c b/src/tup/server/fuse_server.c +index d4ab648d..2dc9294b 100644 +--- a/src/tup/server/fuse_server.c ++++ b/src/tup/server/fuse_server.c +@@ -105,16 +105,21 @@ static void *fuse_thread(void *arg) + #if defined(__linux__) + static int os_unmount(void) + { +- int rc; + #ifdef FUSE3 +- rc = system("fusermount3 -u -z " TUP_MNT); ++#define FUSERMOUNT "fusermount3" + #else +- rc = system("fusermount -u -z " TUP_MNT); ++#define FUSERMOUNT "fusermount" + #endif ++ int rc; ++ const char *cmd = (access("/run/wrappers/bin/" FUSERMOUNT, X_OK) == 0) ++ ? "/run/wrappers/bin/" FUSERMOUNT " -u -z " TUP_MNT ++ : FUSERMOUNT " -u -z " TUP_MNT; ++ rc = system(cmd); + if(rc == -1) { + perror("system"); + } + return rc; ++#undef FUSERMOUNT + } + #elif defined(__APPLE__) + static int os_unmount(void) diff --git a/nixpkgs/pkgs/development/tools/build-managers/tup/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/tup/setup-hook.sh new file mode 100644 index 000000000000..6116e207ac43 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/tup/setup-hook.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +tupConfigurePhase() { + runHook preConfigure + + echo -n CONFIG_TUP_ARCH= >> tup.config + case "$system" in + "i686-*") echo i386 >> tup.config;; + "x86_64-*") echo x86_64 >> tup.config;; + "powerpc-*") echo powerpc >> tup.config;; + "powerpc64-*") echo powerpc64 >> tup.config;; + "ia64-*") echo ia64 >> tup.config;; + "alpha-*") echo alpha >> tup.config;; + "sparc-*") echo sparc >> tup.config;; + "aarch64-*") echo arm64 >> tup.config;; + "arm*") echo arm >> tup.config;; + esac + + echo "${tupConfig-}" >> tup.config + + tup init + tup generate --verbose tupBuild.sh + + runHook postConfigure +} + +if [ -z "${dontUseTupConfigure-}" -a -z "${configurePhase-}" ]; then + configurePhase=tupConfigurePhase +fi + + +tupBuildPhase() { + runHook preBuild + + pushd . + ./tupBuild.sh + popd + + runHook postBuild +} + +if [ -z "${dontUseTupBuild-}" -a -z "${buildPhase-}" ]; then + buildPhase=tupBuildPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/turtle-build/default.nix b/nixpkgs/pkgs/development/tools/build-managers/turtle-build/default.nix new file mode 100644 index 000000000000..25a8266f85e0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/turtle-build/default.nix @@ -0,0 +1,26 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "turtle-build"; + version = "0.4.6"; + + src = fetchFromGitHub { + owner = "raviqqe"; + repo = "turtle-build"; + rev = "v${version}"; + hash = "sha256-7XorSt2LFWYNdvCot+I7Uh6S1mhRbD7PkWkvYdIbjKs="; + }; + + cargoHash = "sha256-TebXKOgBdf/ZFITQu5OuusytDJKEkGzRD7fLhk1uh8Y="; + + meta = with lib; { + description = "Ninja-compatible build system for high-level programming languages written in Rust"; + homepage = "https://github.com/raviqqe/turtle-build"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "turtle"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix new file mode 100644 index 000000000000..de4022ed7d70 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchFromGitLab +, callPackage +, ensureNewerSourcesForZipFilesHook +, python3 +# optional list of extra waf tools, e.g. `[ "doxygen" "pytest" ]` +, extraTools ? [] +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "waf"; + version = "2.0.26"; + + src = fetchFromGitLab { + owner = "ita1024"; + repo = "waf"; + rev = "waf-${finalAttrs.version}"; + hash = "sha256-AXDMWlwivJ0Xot6iwuIIlbV2Anz6ieghyOI9jA4yrko="; + }; + + nativeBuildInputs = [ + ensureNewerSourcesForZipFilesHook + python3 + ]; + + buildInputs = [ + # waf executable uses `#!/usr/bin/env python` + python3 + ]; + + strictDeps = true; + + configurePhase = '' + runHook preConfigure + + python waf-light configure + + runHook postConfigure + ''; + + buildPhase = let + extraToolsList = + lib.optionalString (extraTools != []) + "--tools=\"${lib.concatStringsSep "," extraTools}\""; + in + '' + runHook preBuild + + python waf-light build ${extraToolsList} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -D waf $out/bin/waf + + runHook postInstall + ''; + + passthru = { + inherit python3 extraTools; + hook = callPackage ./hook.nix { + waf = finalAttrs.finalPackage; + }; + }; + + meta = { + homepage = "https://waf.io"; + description = "The meta build system"; + changelog = "https://gitlab.com/ita1024/waf/blob/${finalAttrs.version}/ChangeLog"; + license = lib.licenses.bsd3; + mainProgram = "waf"; + maintainers = with lib.maintainers; [ AndersonTorres vrthra ]; + inherit (python3.meta) platforms; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix b/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix new file mode 100644 index 000000000000..ac497d227831 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix @@ -0,0 +1,24 @@ +{ lib +, stdenv +, pkgs +, makeSetupHook +, waf +}: + +makeSetupHook { + name = "waf-setup-hook"; + + substitutions = { + # Sometimes the upstream provides its own waf file; in order to honor it, + # waf is not inserted into propagatedBuildInputs, rather it is inserted + # directly + inherit waf; + wafCrossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) + ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"''; + }; + + meta = { + description = "A setup hook for using Waf in Nixpkgs"; + inherit (waf.meta) maintainers platforms broken; + }; +} ./setup-hook.sh diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh new file mode 100644 index 000000000000..d3e2bf97e682 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh @@ -0,0 +1,94 @@ +# shellcheck shell=bash disable=SC2206 + +wafConfigurePhase() { + runHook preConfigure + + if ! [ -f "${wafPath:=./waf}" ]; then + echo "copying waf to $wafPath..." + cp @waf@/bin/waf "$wafPath" + fi + + if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then + local prefixFlag="${prefixKey:---prefix=}$prefix" + fi + + if [ -n "${PKG_CONFIG}" ]; then + export PKGCONFIG="${PKG_CONFIG}" + fi + + local flagsArray=( + $prefixFlag + $wafConfigureFlags "${wafConfigureFlagsArray[@]}" + ${wafConfigureTargets:-configure} + ) + + if [ -z "${dontAddWafCrossFlags:-}" ]; then + flagsArray+=(@wafCrossFlags@) + fi + + echoCmd 'waf configure flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + if ! [[ -v enableParallelBuilding ]]; then + enableParallelBuilding=1 + echo "waf: enabled parallel building" + fi + + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "waf: enabled parallel installing" + fi + + runHook postConfigure +} + +wafBuildPhase () { + runHook preBuild + + # set to empty if unset + : "${wafFlags=}" + + local flagsArray=( + ${enableParallelBuilding:+-j ${NIX_BUILD_CORES}} + $wafFlags ${wafFlagsArray[@]} + $wafBuildFlags ${wafBuildFlagsArray[@]} + ${wafBuildTargets:-build} + ) + + echoCmd 'waf build flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + runHook postBuild +} + +wafInstallPhase() { + runHook preInstall + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + local flagsArray=( + ${enableParallelInstalling:+-j ${NIX_BUILD_CORES}} + $wafFlags ${wafFlagsArray[@]} + $wafInstallFlags ${wafInstallFlagsArray[@]} + ${wafInstallTargets:-install} + ) + + echoCmd 'waf install flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + runHook postInstall +} + +if [ -z "${dontUseWafConfigure-}" ] && [ -z "${configurePhase-}" ]; then + configurePhase=wafConfigurePhase +fi + +if [ -z "${dontUseWafBuild-}" ] && [ -z "${buildPhase-}" ]; then + buildPhase=wafBuildPhase +fi + +if [ -z "${dontUseWafInstall-}" ] && [ -z "${installPhase-}" ]; then + installPhase=wafInstallPhase +fi diff --git a/nixpkgs/pkgs/development/tools/build-managers/xmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/xmake/default.nix new file mode 100644 index 000000000000..fc092b52f589 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/xmake/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, lua +, readline +, ncurses +, lz4 +, tbox +, xmake-core-sv +}: + +stdenv.mkDerivation rec { + pname = "xmake"; + version = "2.8.2"; + + src = fetchurl { + url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz"; + hash = "sha256-rA0wiL2kZs+rOSCLXAaX50epK9aL+We4FYgr2/TxRKo="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + lua + lua.pkgs.cjson + readline + ncurses + lz4 + tbox + xmake-core-sv + ]; + + strictDeps = true; + + configureFlags = [ "--external=y" ]; + + meta = with lib; { + description = "A cross-platform build utility based on Lua"; + homepage = "https://xmake.io"; + license = licenses.asl20; + platforms = lua.meta.platforms; + maintainers = with maintainers; [ rewine ]; + }; +} + |