diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
39 files changed, 584 insertions, 278 deletions
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 index 3f43cad17c4..49f8435b377 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, coreutils, makeWrapper }: -let version = "1.9.6"; in +let version = "1.9.15"; in stdenv.mkDerivation { pname = "ant"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; - sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4"; + sha256 = "0yfx5qsvrg12lar4908ndbnlpppy7g7qk8ay41y4sz9g873v07mr"; }; contrib = fetchurl { diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix index f06467867ce..b0411090fbe 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, coreutils, makeWrapper }: -let version = "1.10.2"; in +let version = "1.10.8"; in stdenv.mkDerivation { pname = "ant"; @@ -10,12 +10,12 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; - sha256 = "0662qammjvibh9kgkxzadkayfn2r7iwnagbwaw28crqqclrb2rp1"; + sha256 = "0zh94csb2hl6ir2ccn18ps506mjgh3mffnrb8wpsmp1x5fcykha5"; }; contrib = fetchurl { url = "mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2"; - sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1"; + sha256 = "1l8say86bz9gxp4yy777z7nm4j6m905pg342li1aphc14p5grvwn"; }; installPhase = 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 index d615657ebeb..9910256afc0 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix @@ -64,7 +64,7 @@ buildBazelPackage rec { sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker ''; - sha256 = "0rfjyvw370yn4rp1f2772b2h3jbycymdw26zx38krzy5zq0iajyp"; + sha256 = "1m7fmb03lirffxx04ck73bn5zwaji7zdwhlqq8s1c6pgp755d3vi"; }; buildAttrs = { diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix index 6d4ba50a9fb..c507169cf37 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix @@ -236,6 +236,8 @@ stdenv.mkDerivation rec { fetch --experimental_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' @@ -245,6 +247,8 @@ stdenv.mkDerivation rec { # 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' \\\\" \ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix index 19d33235a34..ad6e9ee4456 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix @@ -417,6 +417,8 @@ stdenv.mkDerivation rec { 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' @@ -426,6 +428,8 @@ stdenv.mkDerivation rec { # 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' \\\\" \ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix index eff8aede6c1..8dcdc71415f 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix @@ -417,6 +417,8 @@ stdenv.mkDerivation rec { 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' @@ -426,6 +428,8 @@ stdenv.mkDerivation rec { # 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' \\\\" \ diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix index 77caa232562..0bfc9071d7e 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix @@ -1,4 +1,4 @@ -{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub +{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, installShellFiles , runCommand, runCommandCC, makeWrapper, recurseIntoAttrs # this package (through the fixpoint glass) , bazel_self @@ -25,11 +25,11 @@ }: let - version = "3.2.0"; + version = "3.3.1"; src = fetchurl { url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; - sha256 = "1ylbfdcb6rhnc3sr292c6shl754i0h0i050f4gr4bppn6sa15v24"; + sha256 = "0ir796kl8r9hpr3li26qsdy1z2lx2bv82zmk4a2s7q64clyg9wg0"; }; # Update with `eval $(nix-build -A bazel.updater)`, @@ -53,8 +53,8 @@ let else srcs."java_tools_javac11_linux-v8.0.zip") srcs."coverage_output_generator-v2.1.zip" srcs.build_bazel_rules_nodejs - srcs."android_tools_pkg-0.16.0.tar.gz" - srcs."3.1.0.tar.gz" + srcs."android_tools_pkg-0.19.0rc1.tar.gz" + srcs."bazel-toolchains-3.1.0.tar.gz" srcs.rules_pkg srcs.rules_cc srcs.rules_java @@ -419,10 +419,18 @@ stdenv.mkDerivation rec { # 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' @@ -432,6 +440,8 @@ stdenv.mkDerivation rec { # 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' \\\\" \ @@ -465,6 +475,7 @@ stdenv.mkDerivation rec { # when a command can’t be found in a bazel build, you might also # need to add it to `defaultShellPath`. nativeBuildInputs = [ + installShellFiles zip python3 unzip @@ -507,9 +518,15 @@ stdenv.mkDerivation rec { mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch} # shell completion files - mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions - mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel - cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/ + 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/scripts/fish/completions/bazel.fish ''; doInstallCheck = true; diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json index 786a31c9bb3..4007a77b065 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json @@ -7,6 +7,14 @@ "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" + ] + }, "2d4c9528e0f453b5950eeaeac11d8d09f5a504d4.tar.gz": { "name": "2d4c9528e0f453b5950eeaeac11d8d09f5a504d4.tar.gz", "sha256": "c00ceec469dbcf7929972e3c79f20c14033824538038a554952f5c31d8832f96", @@ -15,14 +23,6 @@ "https://github.com/bazelbuild/bazel-skylib/archive/2d4c9528e0f453b5950eeaeac11d8d09f5a504d4.tar.gz" ] }, - "3.1.0.tar.gz": { - "name": "3.1.0.tar.gz", - "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2", - "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.1.0.tar.gz", - "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz" - ] - }, "46993efdd33b73649796c5fc5c9efb193ae19d51.zip": { "name": "46993efdd33b73649796c5fc5c9efb193ae19d51.zip", "sha256": "66184688debeeefcc2a16a2f80b03f514deac8346fe888fb7e691a52c023dd88", @@ -65,14 +65,22 @@ "patch_cmds_win": [ "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force" ], - "sha256": "e2cbd43a9d23aa32197c29d689a7e017f205acb07053f5dd584f500a1a9d4361", - "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.16.0.tar.gz" + "sha256": "761e997a9055fe5e2b70aba8d64e78d4c2113feafaa8ac81909cb63e403f3087", + "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc1.tar.gz" }, - "android_tools_pkg-0.16.0.tar.gz": { - "name": "android_tools_pkg-0.16.0.tar.gz", - "sha256": "e2cbd43a9d23aa32197c29d689a7e017f205acb07053f5dd584f500a1a9d4361", + "android_tools_pkg-0.19.0rc1.tar.gz": { + "name": "android_tools_pkg-0.19.0rc1.tar.gz", + "sha256": "761e997a9055fe5e2b70aba8d64e78d4c2113feafaa8ac81909cb63e403f3087", "urls": [ - "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.16.0.tar.gz" + "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc1.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": { @@ -114,10 +122,19 @@ "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2", "strip_prefix": "bazel-toolchains-3.1.0", "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/3.1.0.tar.gz", + "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" + ] + }, "build_bazel_rules_nodejs": { "name": "build_bazel_rules_nodejs", "sha256": "b6670f9f43faa66e3009488bbd909bc7bc46a5a9661a33f6bc578068d1837f37", @@ -126,14 +143,6 @@ "https://github.com/bazelbuild/rules_nodejs/releases/download/1.3.0/rules_nodejs-1.3.0.tar.gz" ] }, - "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz": { - "name": "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz", - "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7", - "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz", - "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz" - ] - }, "com_google_googletest": { "name": "com_google_googletest", "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb", @@ -201,11 +210,11 @@ }, "io_bazel_skydoc": { "name": "io_bazel_skydoc", - "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7", - "strip_prefix": "skydoc-c7bbde2950769aac9a99364b0926230060a3ce04", + "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1", + "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd", "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz", - "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz" + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz", + "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz" ] }, "java_tools_javac11_darwin-v8.0.zip": { @@ -337,6 +346,15 @@ "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%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, "openjdk_linux_vanilla": { "downloaded_file_path": "zulu-linux-vanilla.tar.gz", "name": "openjdk_linux_vanilla", @@ -589,6 +607,24 @@ "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_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%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz", + "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz" + ] + }, "remotejdk11_macos_for_testing": { "build_file": "@local_jdk//:BUILD.bazel", "name": "remotejdk11_macos_for_testing", diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix index 004d0f732ff..dd9bc4016f5 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "bazel-buildtools"; - version = "2.2.1"; + version = "3.3.0"; goPackagePath = "github.com/bazelbuild/buildtools"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "bazelbuild"; repo = "buildtools"; rev = version; - sha256 = "165jvn7r7bxivb8mpvp6dni5a5ns9a3vm6y5clyxdbjhfkll8wra"; + sha256 = "0g411gjbm02qd5b50iy6kk81kx2n5zw5x1m6i6g7nrmh38p3pn9k"; }; goDeps = ./deps.nix; @@ -24,6 +24,5 @@ buildGoPackage rec { homepage = "https://github.com/bazelbuild/buildtools"; license = licenses.asl20; maintainers = with maintainers; [ elasticdog uri-canva marsam ]; - platforms = platforms.all; }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py index e57dc05bb72..52d40e0f94e 100755 --- a/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py @@ -35,6 +35,7 @@ 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 diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix index 51ca62d0520..c3049edee64 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix @@ -1,78 +1,92 @@ -{ stdenv, lib, fetchurl, coursier, python, makeWrapper }: - -let - baseName = "bloop"; - version = "1.3.4"; - nailgunCommit = "d7ed5db"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py - - client = stdenv.mkDerivation { - name = "${baseName}-client-${version}"; - - src = fetchurl { - url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py"; - sha256 = "0lrj25m0nvphz2i5mqjwccpyrd7gn8a5k22k5khrpdh6ldxqis8a"; - }; - - phases = [ "installPhase" ]; +{ stdenv +, fetchurl +, coursier +, autoPatchelfHook +, installShellFiles +, jre +, lib +, zlib +}: + +stdenv.mkDerivation rec { + pname = "bloop"; + version = "1.4.4"; + + bloop-coursier-channel = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json"; + sha256 = "1pyf559bpnsmvca4kw36nb9lwkwa9q0ghrpa117s96dhvrp3i2bv"; + }; - installPhase = ''cp $src $out''; + bloop-bash = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bash-completions"; + sha256 = "1ldxlqv353gvhdn4yq7z506ywvnjv6fjsi8wigwhzg89876pwsys"; }; - server = stdenv.mkDerivation { - name = "${baseName}-server-${version}"; - buildCommand = '' - mkdir -p $out/bin + bloop-fish = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/fish-completions"; + sha256 = "1pa8h81l2498q8dbd83fzipr99myjwxpy8xdgzhvqzdmfv6aa4m0"; + }; - export COURSIER_CACHE=$(pwd) - ${coursier}/bin/coursier bootstrap ch.epfl.scala:bloop-frontend_2.12:${version} \ - -r "bintray:scalameta/maven" \ - -r "bintray:scalacenter/releases" \ - -r "https://oss.sonatype.org/content/repositories/staging" \ - --deterministic \ - -f --main bloop.Server -o $out/bin/blp-server - ''; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = "1z33ip6hgfwiixm2gimz819p5cnxn1fmxb3ryyf77jzwsx7py718"; + bloop-zsh = fetchurl { + url = "https://github.com/scalacenter/bloop/releases/download/v${version}/zsh-completions"; + sha256 = "1xzg0qfkjdmzm3mvg82mc4iia8cl7b6vbl8ng4ir2xsz00zjrlsq"; }; - zsh = stdenv.mkDerivation { - name = "${baseName}-zshcompletion-${version}"; + bloop-coursier = stdenv.mkDerivation rec { + name = "${pname}-coursier-${version}"; - src = fetchurl { - url = "https://raw.githubusercontent.com/scalacenter/bloop/v${version}/etc/zsh/_bloop"; - sha256 = "09qq5888vaqlqan2jbs2qajz2c3ff13zj8r0x2pcxsqmvlqr02hp"; - }; + 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"; phases = [ "installPhase" ]; + installPhase = '' + export COURSIER_CACHE=$(pwd) + export COURSIER_JVM_CACHE=$(pwd) - installPhase = ''cp $src $out''; - }; -in -stdenv.mkDerivation { - name = "${baseName}-${version}"; + mkdir channel + ln -s ${bloop-coursier-channel} channel/bloop.json + ${coursier}/bin/coursier install --install-dir $out --install-platform ${platform} --default-channels=false --channel channel --only-prebuilt=true bloop + + # Remove binary part of the coursier launcher script to make derivation output hash stable + sed -i '5,$ d' $out/bloop + ''; - buildInputs = [ makeWrapper ]; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = if stdenv.isLinux && stdenv.isx86_64 then "0hf0priy93zqba78a9nvbgl3mzwlc4jz43gz7cv2cdkj6x0lp0y1" + else if stdenv.isDarwin && stdenv.isx86_64 then "0g2rnmlfnqymji4f4rn0kaz7hipgv3bakdpn08600gg1f3s8gabw" + else throw "unsupported platform"; + }; - phases = [ "installPhase" ]; + dontUnpack = true; + nativeBuildInputs = [ autoPatchelfHook installShellFiles ]; + buildInputs = [ stdenv.cc.cc.lib zlib ]; + propagatedBuildInputs = [ jre ]; installPhase = '' + export COURSIER_CACHE=$(pwd) + export COURSIER_JVM_CACHE=$(pwd) + mkdir -p $out/bin - mkdir -p $out/share/zsh/site-functions + cp ${bloop-coursier}/bloop $out/bloop + cp ${bloop-coursier}/.bloop.aux $out/.bloop.aux + ln -s $out/bloop $out/bin/bloop - ln -s ${server}/bin/blp-server $out/blp-server - ln -s ${zsh} $out/share/zsh/site-functions/_bloop + # patch the bloop launcher so that it works when symlinked + sed "s|\$(dirname \"\$0\")|$out|" -i $out/bloop - cp ${client} $out/bloop - chmod +x $out/bloop - makeWrapper $out/bloop $out/bin/bloop \ - --prefix PATH : ${lib.makeBinPath [ python ]} + #Install completions + installShellCompletion --name bloop --bash ${bloop-bash} + installShellCompletion --name _bloop --zsh ${bloop-zsh} + installShellCompletion --name bloop.fish --fish ${bloop-fish} ''; meta = with stdenv.lib; { homepage = "https://scalacenter.github.io/bloop/"; license = licenses.asl20; description = "Bloop is 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; [ tomahna ]; }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix index 499ef7a19b3..219bd6e30e3 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "bmake"; - version = "20200506"; + version = "20200710"; src = fetchurl { url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz"; - sha256 = "1qiq6lvlg2hqiq03slv4vzv3bn4cr3w95r3i6m5fa4hgn2dkrhqa"; + sha256 = "0v5paqdc0wnqlw4dy45mnydkmabsky33nvd7viwd2ygg351zqf35"; }; nativeBuildInputs = [ getopt ]; diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch index e0399d0a6c6..75873d6055c 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch @@ -1,11 +1,8 @@ diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt -index 8aff8f6..af1852d 100644 +index 1b6bb00d4c..487114daa8 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt -@@ -791,12 +791,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "sparc" - endif() - endif() - +@@ -893,7 +893,6 @@ endif() # On Apple we need CoreFoundation and CoreServices if(APPLE) target_link_libraries(CMakeLib "-framework CoreFoundation") @@ -13,13 +10,11 @@ index 8aff8f6..af1852d 100644 endif() if(WIN32 AND NOT UNIX) - # We need the rpcrt4 library on Windows. - # We need the crypt32 library on Windows for crypto/cert APIs. diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx -index e353a37..b06f842 100644 +index a5ce5d18f4..3d6838ce82 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx -@@ -35,11 +35,6 @@ +@@ -43,11 +43,6 @@ struct cmLinkImplementation; @@ -32,12 +27,12 @@ index e353a37..b06f842 100644 # include "cmXMLParser.h" diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt -index d7af6e2..d4808fc 100644 +index bfcaf30bb7..1da540aee5 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt -@@ -1662,11 +1662,6 @@ IF(MSVC) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) - ENDIF(MSVC) +@@ -2007,11 +2007,6 @@ IF(ENABLE_TEST) + ENDIF(ENABLE_TEST) + ENDIF() -# We need CoreServices on Mac OS. -IF(APPLE) @@ -45,16 +40,5 @@ index d7af6e2..d4808fc 100644 -ENDIF(APPLE) - add_subdirectory(libarchive) - - install(FILES COPYING DESTINATION ${CMAKE_DOC_DIR}/cmlibarchive) -index e505bdd..f45557d 100644 ---- a/Utilities/cmlibuv/src/unix/darwin-proctitle.c -+++ b/Utilities/cmlibuv/src/unix/darwin-proctitle.c -@@ -30,7 +30,6 @@ - - #if !TARGET_OS_IPHONE - # include <CoreFoundation/CoreFoundation.h> --# include <ApplicationServices/ApplicationServices.h> - #endif - - #define S(s) pCFStringCreateWithCString(NULL, (s), kCFStringEncodingUTF8) + IF(0) # CMake does not build libarchive's command-line tools. + add_subdirectory(cat) diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix index 05c7a55b9d2..559a4c191b6 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, pkgconfig +{ stdenv, lib, fetchurl, pkgconfig, fetchpatch , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash , buildPackages # darwin attributes @@ -19,12 +19,12 @@ stdenv.mkDerivation rec { + lib.optionalString useNcurses "-cursesUI" + lib.optionalString withQt5 "-qt5UI" + lib.optionalString useQt4 "-qt4UI"; - version = "3.17.2"; + version = "3.18.2"; src = fetchurl { url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt - sha256 = "199srp8yfai51pcbpmfyc4s8vzrmh2dm91bp582hj2l29x634xzw"; + sha256 = "0zhxsnxm5d8wdarz2gs3r41r1dfrnh35ki75fa684gaxfzy40kjx"; }; patches = [ @@ -63,8 +63,10 @@ stdenv.mkDerivation rec { --subst-var-by libc_lib ${lib.getLib stdenv.cc.libc} substituteInPlace Modules/FindCxxTest.cmake \ --replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell} - # BUILD_CC and BUILD_CXX are used to bootstrap cmake - configureFlags="--parallel=''${NIX_BUILD_CORES:-1} CC=$BUILD_CC CXX=$BUILD_CXX $configureFlags" + '' + # 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 = [ @@ -108,8 +110,17 @@ stdenv.mkDerivation rec { doCheck = false; # fails meta = with lib; { - homepage = "http://www.cmake.org/"; + homepage = "https://cmake.org/"; + changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor version}/" + + "release/${lib.versions.majorMinor version}.html"; description = "Cross-Platform Makefile 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. + ''; platforms = if useQt4 then qt4.meta.platforms else platforms.all; maintainers = with maintainers; [ ttuegel lnl7 ]; license = licenses.bsd3; diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch index eb3df1e4ff6..6607a9c6ed1 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch @@ -1,7 +1,8 @@ -diff -ur cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt cmake-3.12.1-patched/Utilities/cmlibuv/CMakeLists.txt ---- cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt 2018-08-09 21:14:08.000000000 +0900 -+++ cmake-3.12.1-patched/Utilities/cmlibuv/CMakeLists.txt 2018-08-13 10:14:53.000000000 +0900 -@@ -173,6 +173,22 @@ +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 ) @@ -24,9 +25,10 @@ diff -ur cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt cmake-3.12.1-patched/Util endif() if(CMAKE_SYSTEM_NAME STREQUAL "Linux") -diff -ur cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c cmake-3.12.1-patched/Utilities/cmlibuv/src/unix/fsevents.c ---- cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c 2018-08-09 21:14:08.000000000 +0900 -+++ cmake-3.12.1-patched/Utilities/cmlibuv/src/unix/fsevents.c 2018-08-13 10:01:29.000000000 +0900 +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" @@ -35,17 +37,17 @@ diff -ur cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c cmake-3.12.1-patched +#if !HAVE_CORESERVICES_CORESERVICES_H || MAC_OS_X_VERSION_MAX_ALLOWED < 1070 /* iOS (currently) doesn't provide the FSEvents-API (nor CoreServices) */ - -@@ -38,7 +38,7 @@ + /* 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 <dlfcn.h> - #include <assert.h> -@@ -916,4 +916,4 @@ + #include "darwin-stub.h" + +@@ -920,4 +920,4 @@ int uv__fsevents_close(uv_fs_event_t* handle) { return 0; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path.patch index 2f5e4d62c86..b71c2dd4441 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path.patch @@ -1,9 +1,10 @@ -diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Platform/UnixPaths.cmake ---- cmake-3.9.1/Modules/Platform/UnixPaths.cmake 2017-08-10 13:36:32.000000000 +0000 -+++ cmake-3.9.1-mod/Modules/Platform/UnixPaths.cmake 2017-09-03 01:24:31.901473539 +0000 -@@ -22,9 +22,6 @@ - # List common installation prefixes. These will be used for all - # search types. +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index b9381c3d7d..cecc40a89e 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 / @@ -11,7 +12,7 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl # CMake install location "${_CMAKE_INSTALL_DIR}" ) -@@ -43,31 +40,26 @@ +@@ -47,24 +44,19 @@ endif() # Non "standard" but common install prefixes list(APPEND CMAKE_SYSTEM_PREFIX_PATH @@ -39,12 +40,7 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl ) 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 +@@ -77,15 +69,15 @@ endif() # parsing the implicit directory information from compiler output. set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} @@ -62,11 +58,12 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl + @libc_dev@/include ) - # Enable use of lib32 and lib64 search path variants by default. -diff -ur cmake-3.9.1/Modules/Platform/WindowsPaths.cmake cmake-3.9.1-mod/Modules/Platform/WindowsPaths.cmake ---- cmake-3.9.1/Modules/Platform/WindowsPaths.cmake 2017-08-10 13:36:32.000000000 +0000 -+++ cmake-3.9.1-mod/Modules/Platform/WindowsPaths.cmake 2017-09-03 01:19:32.808355986 +0000 -@@ -66,7 +66,7 @@ + unset(_cmake_sysroot_compile) +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) diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 87bbefa6bbf..0bb695615fc 100755 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -48,7 +48,7 @@ cmakeConfigurePhase() { # 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" + cmakeFlags="-DCMAKE_FIND_FRAMEWORK=LAST $cmakeFlags" # on macOS i686 was only relevant for 10.5 or earlier. cmakeFlags="-DCMAKE_OSX_ARCHITECTURES=x86_64 $cmakeFlags" @@ -68,6 +68,24 @@ cmakeConfigurePhase() { # 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 diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix index d7aec3527b3..e09277e498d 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix @@ -1,4 +1,4 @@ -{ lib, python3, git, pkgconfig }: +{ lib, python3, fetchFromGitHub, git, pkgconfig }: # Note: # Conan has specific dependency demands; check @@ -39,12 +39,14 @@ let newPython = python3.override { }; in newPython.pkgs.buildPythonApplication rec { - version = "1.25.0"; + version = "1.27.0"; pname = "conan"; - src = newPython.pkgs.fetchPypi { - inherit pname version; - sha256 = "1wgmx6s4h5m6zixb3wlaicy56rsqcy2srzmvii80xdx9g5wvi9pv"; + src = fetchFromGitHub { + owner = "conan-io"; + repo = "conan"; + rev = version; + sha256 = "0ncqs1p4g23fmzgdmwppgxr8w275h38hgjdzs456cgivz8xs9rjl"; }; propagatedBuildInputs = with newPython.pkgs; [ @@ -75,23 +77,20 @@ in newPython.pkgs.buildPythonApplication rec { ] ++ (with newPython.pkgs; [ codecov mock - pytest - node-semver nose parameterized webtest ]); - # Conan 1.14.0 has removed all tests from the Pypi source dist: - # https://github.com/conan-io/conan/pull/4713 - # We have recommended they be added back: - # https://github.com/conan-io/conan/issues/4563#issuecomment-602225083 + # TODO: reenable tests now that we fetch tests w/ the source from GitHub. + # Not enabled right now due to time constraints/failing tests that I didn't have time to track down doCheck = false; postPatch = '' substituteInPlace conans/requirements.txt \ --replace "PyYAML>=3.11, <3.14.0" "PyYAML" \ - --replace "deprecation>=2.0, <2.1" "deprecation" + --replace "deprecation>=2.0, <2.1" "deprecation" \ + --replace "six>=1.10.0,<=1.14.0" "six" ''; meta = with lib; { 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 00000000000..f01f38ecd23 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl, guileSupport ? false, pkgconfig ? null , guile ? null }: + +assert guileSupport -> ( pkgconfig != null && guile != null ); + +let + version = "4.3"; +in +stdenv.mkDerivation { + pname = "gnumake"; + inherit version; + + src = fetchurl { + url = "mirror://gnu/make/make-${version}.tar.gz"; + sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0"; + }; + + 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 + ]; + + nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ]; + buildInputs = stdenv.lib.optionals guileSupport [ guile ]; + + configureFlags = stdenv.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. + ++ stdenv.lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no"; + + outputs = [ "out" "man" "info" ]; + + meta = with stdenv.lib; { + homepage = "https://www.gnu.org/software/make/"; + description = "A tool to control the generation of non-source files from sources"; + license = licenses.gpl3Plus; + + 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. + ''; + + platforms = platforms.all; + maintainers = [ maintainers.vrthra ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch b/nixpkgs/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch new file mode 100644 index 00000000000..6c7d9d2463c --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch @@ -0,0 +1,25 @@ +diff -Naur a/src/read.c b/src/read.c +--- a/src/read.c ++++ b/src/read.c +@@ -109,9 +109,6 @@ + #endif + INCLUDEDIR, + #ifndef _AMIGA +- "/usr/gnu/include", +- "/usr/local/include", +- "/usr/include", + #endif + 0 + }; +diff -Naur a/src/remake.c b/src/remake.c +--- a/src/remake.c ++++ b/src/remake.c +@@ -1601,8 +1601,6 @@ + static const char *dirs[] = + { + #ifndef _AMIGA +- "/lib", +- "/usr/lib", + #endif + #if defined(WINDOWS32) && !defined(LIBDIR) + /* diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix index b5215611c0c..73e9bc7b560 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix @@ -51,14 +51,24 @@ rec { }; }; - gradle_latest = gradle_5_6; + gradle_latest = gradle_6_6; + + gradle_6_6 = gradleGen rec { + name = "gradle-6.6"; + nativeVersion = "0.22-milestone-4"; + + src = fetchurl { + url = "https://services.gradle.org/distributions/${name}-bin.zip"; + sha256 = "09a0fnz6fn8yaxm3q3iwyjm3nnaz7k8i1xlpc7sm414py043by76"; + }; + }; gradle_5_6 = gradleGen rec { name = "gradle-5.6.4"; nativeVersion = "0.18"; src = fetchurl { - url = "http://services.gradle.org/distributions/${name}-bin.zip"; + url = "https://services.gradle.org/distributions/${name}-bin.zip"; sha256 = "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d"; }; }; @@ -68,7 +78,7 @@ rec { nativeVersion = "0.14"; src = fetchurl { - url = "http://services.gradle.org/distributions/${name}-bin.zip"; + url = "https://services.gradle.org/distributions/${name}-bin.zip"; sha256 = "0vhqxnk0yj3q9jam5w4kpia70i4h0q4pjxxqwynh3qml0vrcn9l6"; }; }; diff --git a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix index ed145d38c7f..6c9d8bfc838 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix @@ -2,17 +2,19 @@ buildGoModule rec { pname = "mage"; - version = "1.9.0"; + version = "1.10.0"; src = fetchFromGitHub { owner = "magefile"; repo = pname; rev = "v${version}"; - sha256 = "0lazf4r5ps1s04pvz608qaxbrbc6dv0j99n39iv42zwxxh0mbd0p"; + sha256 = "0c77xgz2bz4j9sh9v7f49iqyamc4lvvldcmn6v50hk98s9193gbf"; }; vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; + doCheck = false; + buildFlagsArray = [ "-ldflags=" "-X github.com/magefile/mage/mage.commitHash=v${version}" @@ -25,6 +27,5 @@ buildGoModule rec { homepage = "https://magefile.org/"; license = licenses.asl20; maintainers = with maintainers; [ swdunlop ]; - platforms = platforms.all; }; -}
\ No newline at end of file +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch index bd81efd5208..e5ac95d0b9d 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch @@ -1,6 +1,6 @@ --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py -@@ -483,7 +483,6 @@ class CoreData: +@@ -491,7 +491,6 @@ class CoreData: return value if option.endswith('dir') and value.is_absolute() and \ option not in builtin_dir_noprefix_options: @@ -8,7 +8,7 @@ # commonpath will always return a path in the native format, so we # must use pathlib.PurePath to do the same conversion before # comparing. -@@ -495,7 +494,7 @@ class CoreData: +@@ -503,7 +502,7 @@ class CoreData: try: value = value.relative_to(prefix) except ValueError: 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 00000000000..f1e3c76e8b5 --- /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 index a2dc1424d65..aa11ba7638b 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix @@ -1,33 +1,29 @@ { lib -, python3Packages +, python3 , stdenv , writeTextDir , substituteAll , pkgsHostHost +, fetchpatch }: -python3Packages.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "0.54.1"; + version = "0.55.1"; - src = python3Packages.fetchPypi { + src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "L3b7RXJ2K+E+5HkpJhAJG0UJr1eIvM6zkf4iK80Cltw="; + sha256 = "O1dB+ITgSSi9+hlHRn/wavpsmOYjwlzvda33HKOc4IA="; }; - 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 - ''; - patches = [ + # Meson 0.55.0 incorrectly considers skipped tests as failures, + # which makes some packages like gjs fail to build. + (fetchpatch { + url = "https://github.com/mesonbuild/meson/commit/7db49db67d4aa7582cf46feb7157235e66aa95b1.diff"; + sha256 = "1chq52sgk24afdlswssr8n8p6fa2wz8rjlxvkjhpqg1kg3qnqc9p"; + }) + # Upstream insists on not allowing bindir and other dir options # outside of prefix for some reason: # https://github.com/mesonbuild/meson/issues/2561 @@ -55,6 +51,14 @@ python3Packages.buildPythonApplication rec { 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 ]; setupHook = ./setup-hook.sh; @@ -68,6 +72,18 @@ python3Packages.buildPythonApplication rec { # checkInputs = [ ninja pkgconfig ]; # checkPhase = "python ./run_project_tests.py"; + 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 + ''; + meta = with lib; { homepage = "https://mesonbuild.com"; description = "SCons-like build system that use python as a front-end language and Ninja as a building backend"; diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch index 6cf7afc2bdf..d34b6c4c434 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch @@ -1,56 +1,24 @@ ---- a/mesonbuild/linkers.py -+++ b/mesonbuild/linkers.py -@@ -527,8 +527,10 @@ class GnuLikeDynamicLinkerMixin: - # In order to avoid relinking for RPATH removal, the binary needs to contain just - # enough space in the ELF header to hold the final installation RPATH. - paths = ':'.join(all_paths) -- if len(paths) < len(install_rpath): -- padding = 'X' * (len(install_rpath) - len(paths)) -+ store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths)) -+ extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths) -+ if extra_space_needed > 0: -+ padding = 'X' * extra_space_needed - if not paths: - paths = padding - else: -@@ -902,8 +904,10 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): - # In order to avoid relinking for RPATH removal, the binary needs to contain just - # enough space in the ELF header to hold the final installation RPATH. - paths = ':'.join(all_paths) -- if len(paths) < len(install_rpath): -- padding = 'X' * (len(install_rpath) - len(paths)) -+ store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths)) -+ extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths) -+ if extra_space_needed > 0: -+ padding = 'X' * extra_space_needed - if not paths: - paths = padding - else: ---- a/mesonbuild/scripts/depfixer.py -+++ b/mesonbuild/scripts/depfixer.py -@@ -303,6 +303,14 @@ class Elf(DataSizes): - return - self.bf.seek(rp_off) - old_rpath = self.read_str() +--- a/mesonbuild/backend/backends.py ++++ b/mesonbuild/backend/backends.py +@@ -456,6 +456,21 @@ class Backend: + args.extend(self.environment.coredata.get_external_link_args(target.for_machine, lang)) + except Exception: + pass + -+ if new_rpath: -+ new_rpath += b':' -+ else: -+ new_rpath = b'' ++ 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 + -+ new_rpath += b':'.join(filter(lambda path: path.startswith(b'@storeDir@'), old_rpath.split(b':'))) -+ - if len(old_rpath) < len(new_rpath): - sys.exit("New rpath must not be longer than the old one.") - # The linker does read-only string deduplication. If there is a -@@ -316,6 +324,10 @@ class Elf(DataSizes): - if not new_rpath: - self.remove_rpath_entry(entrynum) - else: -+ # clean old rpath to avoid stale references -+ # (see https://github.com/NixOS/nixpkgs/pull/46020) -+ 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') + # 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 index e59795486aa..0c924bacf73 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch @@ -1,8 +1,8 @@ --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py -@@ -801,6 +801,13 @@ class GnomeModule(ExtensionModule): - scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_source_dir(), self.interpreter.subproject_dir, state.subproject)] - scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_build_dir(), self.interpreter.subproject_dir, state.subproject)] +@@ -807,6 +807,13 @@ class GnomeModule(ExtensionModule): + if fatal_warnings: + scan_command.append('--warn-error') + if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1: + raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets]))) 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 index a8f860f03cc..ada58fff6d4 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch +++ b/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch @@ -1,16 +1,13 @@ diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index ac13a710..e0d07c51 100644 +index 219b62ec8..e3ceaddbd 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -119,9 +119,9 @@ def get_env_var_pair(for_machine: MachineChoice, +@@ -94,7 +94,7 @@ def get_env_var_pair(for_machine: MachineChoice, # 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 verions -- ([] if is_cross else [var_name]), -+ [var_name], + [var_name] )[for_machine] - for var in candidates: - value = os.environ.get(var) diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix index dffdbdb9aed..3fc893fd07c 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mill"; - version = "0.7.1"; + version = "0.8.0"; src = fetchurl { url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}"; - sha256 = "1fa7cjrp16618hj6xzrxiy44ghxvzgkvygzdzyi8jj2y5jnwxf10"; + sha256 = "04pf76iyrbq2h2hksx0r2fmnd0d9mi6an24zvfv7k79rch11cql1"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix b/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix index efe9a495494..bc5ad7744d6 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix @@ -4,13 +4,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "ninja"; - version = "1.10.0"; + version = "1.10.1"; src = fetchFromGitHub { owner = "ninja-build"; repo = "ninja"; rev = "v${version}"; - sha256 = "1fbzl7mrcrwp527sgkc1npfl3k6bbpydpiq98xcf1a1hkrx0z5x4"; + sha256 = "1bmv7zfqwp48ga6vnqvy0gzkclv40xgq19q4ihl58r6cn4swccn3"; }; nativeBuildInputs = [ python3 re2c ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin ]; diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix index 79707fc64db..c62fb0f2515 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -1,16 +1,16 @@ -{ stdenv, lib, python3, fetchFromGitHub, mkdocs, which, findutils, coreutils -, perl +{ stdenv, lib, python3, fetchFromGitHub, which, findutils, coreutils +, perl, installShellFiles , doCheck ? true }: stdenv.mkDerivation rec { pname = "redo-apenwarr"; - version = "0.42a"; + version = "0.42c"; src = fetchFromGitHub rec { owner = "apenwarr"; repo = "redo"; rev = "${repo}-${version}"; - sha256 = "172z2idslhcqibd4lw82k6349nl5fdda2vj10dqcjz0lvv6n7php"; + sha256 = "0kc2gag1n5583195gs38gjm8mb7in9y70c07fxibsay19pvvb8iw"; }; postPatch = '' @@ -53,15 +53,21 @@ (with python3.pkgs; [ beautifulsoup4 markdown ]) which findutils + installShellFiles ]; + 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."; + 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 00000000000..f2c43cc5003 --- /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 00000000000..1480f32a50f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + pname = "redo-c"; + version = "0.2"; + + src = fetchFromGitHub { + owner = "leahneukirchen"; + repo = pname; + rev = "v${version}"; + sha256 = "11wc2sgw1ssdm83cjdc6ndnp1bv5mzhbw7njw47mk7ri1ic1x51b"; + }; + + postPatch = '' + cp '${./Makefile}' Makefile + ''; + + meta = with stdenv.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/rocm-cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix new file mode 100644 index 00000000000..f146929019f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "rocm-cmake"; + version = "3.7.0"; + + src = fetchFromGitHub { + owner = "RadeonOpenCompute"; + repo = "rocm-cmake"; + rev = "rocm-${version}"; + sha256 = "1x1mj1acarhin319zycms8sqm9ylw2mcdbkpqjlb8yfsgiaa99ja"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "CMake modules for common build tasks for the ROCm stack"; + homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"; + license = licenses.mit; + maintainers = with maintainers; [ danieldk ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix index 64a2cedd1c9..2eb36434406 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "sbt"; - version = "1.3.10"; + version = "1.3.13"; src = fetchurl { urls = [ "https://piccolo.link/sbt-${version}.tgz" "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz" ]; - sha256 = "1023qcbdbwl40l7mgyd3j0ggr6paz1zs2q787ym52dhrcibhcq1h"; + sha256 = "08mx84kzpm750zjxm225nh9wqm7js5y2k6hgb8xw3n574zg58hc5"; }; patchPhase = '' diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix index 41ac16bed7a..7a15c193423 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix @@ -1,6 +1,6 @@ { version, sha256 }: -{ stdenv, fetchurl, python3Packages, python2Packages, scons }: +{ stdenv, fetchurl, python3Packages, lib }: python3Packages.buildPythonApplication rec { pname = "scons"; @@ -13,7 +13,13 @@ python3Packages.buildPythonApplication rec { setupHook = ./setup-hook.sh; - passthru.py2 = scons.override { python3Packages = python2Packages; }; + postPatch = lib.optionalString (lib.versionAtLeast version "4.0.0") '' + substituteInPlace setup.cfg \ + --replace "build/dist" "dist" + ''; + + # The release tarballs don't contain any tests (runtest.py and test/*): + doCheck = lib.versionOlder version "4.0.0"; meta = with stdenv.lib; { description = "An improved, cross-platform substitute for Make"; diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix index 19b092b86ba..eb86d595597 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix @@ -7,8 +7,12 @@ in { version = "3.0.1"; sha256 = "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4"; }).override { python3Packages = python2Packages; }; - scons_latest = mkScons { + scons_3_1_2 = (mkScons { version = "3.1.2"; sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq"; + }).override { python3Packages = python2Packages; }; + scons_latest = mkScons { + version = "4.0.1"; + sha256 = "0z00l9wzaiqyjq0hapbvsjclvcfjjjq04kmxi7ffq966nl2d2bkj"; }; } diff --git a/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix index 709528b2ad3..80ee38105ca 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "tup"; - version = "0.7.8"; + version = "0.7.9"; src = fetchFromGitHub { owner = "gittup"; repo = "tup"; rev = "v${version}"; - sha256 = "07dmz712zbs5kayf98kywp7blssgh0y2gc1623jbsynmqwi77mcb"; + sha256 = "1b9rllwfdmjvfmwvzqfbqfi1flf4y9zzjmyp0dizq23gpkvhi42f"; }; nativeBuildInputs = [ pkgconfig ]; @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { cp tup.1 $out/share/man/man1/ ''; + setupHook = ./setup-hook.sh; + meta = with stdenv.lib; { description = "A fast, file-based build system"; longDescription = '' @@ -49,6 +51,7 @@ stdenv.mkDerivation rec { ''; homepage = "http://gittup.org/tup/"; license = licenses.gpl2; + maintainers = with maintainers; [ ehmry ]; platforms = platforms.linux ++ platforms.darwin; }; } 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 00000000000..5bf64ae59d3 --- /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 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 |