diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-10 07:13:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-12 14:07:16 +0000 |
commit | e2698550456abba83c6dcd5d5e5a9990a0b96f8a (patch) | |
tree | 79a56f0df3fa55e470d84b4dff6059fbf487ec18 /nixpkgs/pkgs/development/tools/build-managers | |
parent | 1cdc42df888dc98c347e03bd942ed9825a55bcb3 (diff) | |
parent | 84d74ae9c9cbed73274b8e4e00be14688ffc93fe (diff) | |
download | nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.gz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.bz2 nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.lz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.xz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.zst nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.zip |
Merge commit '84d74ae9c9cbed73274b8e4e00be14688ffc93fe'
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
40 files changed, 1387 insertions, 275 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 3f43cad17c4b..49f8435b3773 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 f06467867ce2..b0411090fbe5 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 d615657ebeb4..9910256afc0a 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 6d4ba50a9fbb..c507169cf37a 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 19d33235a340..ad6e9ee44566 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 eff8aede6c16..8dcdc71415fa 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 77caa2325622..0bfc9071d7e6 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 786a31c9bb31..4007a77b0652 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 2f026c9d99c0..dd9bc4016f54 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 = "3.2.1"; + version = "3.3.0"; goPackagePath = "github.com/bazelbuild/buildtools"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "bazelbuild"; repo = "buildtools"; rev = version; - sha256 = "1f2shjskcmn3xpgvb9skli5xaf942wgyg5ps7r905n1zc0gm8izn"; + 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 e57dc05bb72a..52d40e0f94e8 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 51ca62d05202..c3049edee64e 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 b119b5a38105..219bd6e30e3b 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 = "20200606"; + version = "20200710"; src = fetchurl { url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz"; - sha256 = "00kh1g8z6808ylbfcn9afpb0xmb99k302dfdsmyx1rsn65xs58v7"; + 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 e0399d0a6c6e..75873d6055c0 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 17362702e322..559a4c191b68 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 = [ @@ -110,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 eb3df1e4ff6a..6607a9c6ed1f 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 2f5e4d62c86d..b71c2dd44416 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 87bbefa6bbfa..0bb695615fce 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 d7aec3527b3b..e09277e498d2 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/fac/cargo-lock.patch b/nixpkgs/pkgs/development/tools/build-managers/fac/cargo-lock.patch new file mode 100644 index 000000000000..86768d4611e3 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/fac/cargo-lock.patch @@ -0,0 +1,802 @@ +diff --git a/Cargo.lock b/Cargo.lock +new file mode 100644 +index 0000000..4ab2c17 +--- /dev/null ++++ b/Cargo.lock +@@ -0,0 +1,796 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++[[package]] ++name = "ahash" ++version = "0.3.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" ++ ++[[package]] ++name = "aho-corasick" ++version = "0.7.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "ansi_term" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" ++dependencies = [ ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "atty" ++version = "0.2.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "autocfg" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" ++ ++[[package]] ++name = "bigbro" ++version = "0.5.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3eaac07a3e62cd31e2102ca97c7fdf20002893ba2a396d29ea4710d2415cdce5" ++dependencies = [ ++ "libc", ++ "seccomp-droundy", ++] ++ ++[[package]] ++name = "bitflags" ++version = "1.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" ++ ++[[package]] ++name = "cc" ++version = "1.0.59" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381" ++ ++[[package]] ++name = "cfg-if" ++version = "0.1.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" ++ ++[[package]] ++name = "clap" ++version = "2.33.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" ++dependencies = [ ++ "ansi_term", ++ "atty", ++ "bitflags", ++ "strsim", ++ "textwrap", ++ "unicode-width", ++ "vec_map", ++] ++ ++[[package]] ++name = "crude-profiler" ++version = "0.1.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9389510ac716b6ace8c4b635420cf023e12c81b61e933bfef06639142f149ecd" ++dependencies = [ ++ "lazy_static 0.2.11", ++] ++ ++[[package]] ++name = "ctrlc" ++version = "3.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d0b676fa23f995faf587496dcd1c80fead847ed58d2da52ac1caca9a72790dd2" ++dependencies = [ ++ "nix", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "either" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cd56b59865bce947ac5958779cfa508f6c3b9497cc762b7e24a12d11ccde2c4f" ++ ++[[package]] ++name = "env_logger" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" ++dependencies = [ ++ "log", ++ "regex", ++] ++ ++[[package]] ++name = "fac" ++version = "0.5.3" ++dependencies = [ ++ "atty", ++ "bigbro", ++ "clap", ++ "crude-profiler", ++ "ctrlc", ++ "git-version", ++ "internment", ++ "lazy_static 1.4.0", ++ "libc", ++ "metrohash", ++ "notify", ++ "num_cpus", ++ "pathdiff", ++ "quickcheck", ++ "termcolor", ++ "tinyset", ++] ++ ++[[package]] ++name = "filetime" ++version = "0.2.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ed85775dcc68644b5c950ac06a2b23768d3bc9390464151aaf27136998dcf9e" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "redox_syscall", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "fsevent" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" ++dependencies = [ ++ "bitflags", ++ "fsevent-sys", ++] ++ ++[[package]] ++name = "fsevent-sys" ++version = "2.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "fuchsia-zircon" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" ++dependencies = [ ++ "bitflags", ++ "fuchsia-zircon-sys", ++] ++ ++[[package]] ++name = "fuchsia-zircon-sys" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" ++ ++[[package]] ++name = "gcc" ++version = "0.3.55" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" ++ ++[[package]] ++name = "getrandom" ++version = "0.1.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "wasi", ++] ++ ++[[package]] ++name = "git-version" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "94918e83f1e01dedc2e361d00ce9487b14c58c7f40bab148026fa39d42cb41e2" ++dependencies = [ ++ "git-version-macro", ++ "proc-macro-hack", ++] ++ ++[[package]] ++name = "git-version-macro" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "34a97a52fdee1870a34fa6e4b77570cba531b27d1838874fef4429a791a3d657" ++dependencies = [ ++ "proc-macro-hack", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "hashbrown" ++version = "0.8.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25" ++dependencies = [ ++ "ahash", ++ "autocfg", ++] ++ ++[[package]] ++name = "hermit-abi" ++version = "0.1.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "inotify" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" ++dependencies = [ ++ "bitflags", ++ "inotify-sys", ++ "libc", ++] ++ ++[[package]] ++name = "inotify-sys" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "internment" ++version = "0.3.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7e5cba670f596a69e619cb796bcf609cb32c0ba4415d1e809104b8b832130d79" ++dependencies = [ ++ "hashbrown", ++ "lazy_static 1.4.0", ++ "serde", ++ "state", ++ "tinyset", ++] ++ ++[[package]] ++name = "iovec" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "itertools" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" ++dependencies = [ ++ "either", ++] ++ ++[[package]] ++name = "kernel32-sys" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" ++dependencies = [ ++ "winapi 0.2.8", ++ "winapi-build", ++] ++ ++[[package]] ++name = "lazy_static" ++version = "0.2.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" ++ ++[[package]] ++name = "lazy_static" ++version = "1.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" ++ ++[[package]] ++name = "lazycell" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" ++ ++[[package]] ++name = "libc" ++version = "0.2.77" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" ++ ++[[package]] ++name = "log" ++version = "0.4.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" ++dependencies = [ ++ "cfg-if", ++] ++ ++[[package]] ++name = "memchr" ++version = "2.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" ++ ++[[package]] ++name = "metrohash" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ba553cb19e2acbc54baa16faef215126243fe45e53357a3b2e9f4ebc7b0506c" ++ ++[[package]] ++name = "mio" ++version = "0.6.22" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" ++dependencies = [ ++ "cfg-if", ++ "fuchsia-zircon", ++ "fuchsia-zircon-sys", ++ "iovec", ++ "kernel32-sys", ++ "libc", ++ "log", ++ "miow", ++ "net2", ++ "slab", ++ "winapi 0.2.8", ++] ++ ++[[package]] ++name = "mio-extras" ++version = "2.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" ++dependencies = [ ++ "lazycell", ++ "log", ++ "mio", ++ "slab", ++] ++ ++[[package]] ++name = "miow" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" ++dependencies = [ ++ "kernel32-sys", ++ "net2", ++ "winapi 0.2.8", ++ "ws2_32-sys", ++] ++ ++[[package]] ++name = "net2" ++version = "0.2.35" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ebc3ec692ed7c9a255596c67808dee269f64655d8baf7b4f0638e51ba1d6853" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "nix" ++version = "0.17.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" ++dependencies = [ ++ "bitflags", ++ "cc", ++ "cfg-if", ++ "libc", ++ "void", ++] ++ ++[[package]] ++name = "notify" ++version = "4.0.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "80ae4a7688d1fab81c5bf19c64fc8db920be8d519ce6336ed4e7efe024724dbd" ++dependencies = [ ++ "bitflags", ++ "filetime", ++ "fsevent", ++ "fsevent-sys", ++ "inotify", ++ "libc", ++ "mio", ++ "mio-extras", ++ "walkdir", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "num_cpus" ++version = "1.13.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++] ++ ++[[package]] ++name = "pathdiff" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "877630b3de15c0b64cc52f659345724fbf6bdad9bd9566699fc53688f3c34a34" ++ ++[[package]] ++name = "pkg-config" ++version = "0.3.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33" ++ ++[[package]] ++name = "ppv-lite86" ++version = "0.2.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" ++ ++[[package]] ++name = "proc-macro-hack" ++version = "0.5.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" ++ ++[[package]] ++name = "proc-macro2" ++version = "1.0.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c" ++dependencies = [ ++ "unicode-xid", ++] ++ ++[[package]] ++name = "quickcheck" ++version = "0.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f" ++dependencies = [ ++ "env_logger", ++ "log", ++ "rand", ++ "rand_core", ++] ++ ++[[package]] ++name = "quote" ++version = "1.0.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" ++dependencies = [ ++ "proc-macro2", ++] ++ ++[[package]] ++name = "rand" ++version = "0.7.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" ++dependencies = [ ++ "getrandom", ++ "libc", ++ "rand_chacha", ++ "rand_core", ++ "rand_hc", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" ++dependencies = [ ++ "getrandom", ++] ++ ++[[package]] ++name = "rand_hc" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" ++dependencies = [ ++ "rand_core", ++] ++ ++[[package]] ++name = "redox_syscall" ++version = "0.1.57" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" ++ ++[[package]] ++name = "regex" ++version = "1.3.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-syntax", ++ "thread_local 1.0.1", ++] ++ ++[[package]] ++name = "regex-syntax" ++version = "0.6.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" ++ ++[[package]] ++name = "same-file" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" ++dependencies = [ ++ "winapi-util", ++] ++ ++[[package]] ++name = "seccomp-droundy" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d4b762ab71c6bf1a9a3e0b21e8600b73b088f2a6562e03cd77b2826821fae5f8" ++dependencies = [ ++ "libc", ++ "seccomp-droundy-sys", ++] ++ ++[[package]] ++name = "seccomp-droundy-sys" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "200976cc4ff22cd8b9c6c23681fe6aa89a12aa3637c86dd16e44c05d7c373488" ++dependencies = [ ++ "gcc", ++ "libc", ++ "pkg-config", ++] ++ ++[[package]] ++name = "serde" ++version = "1.0.115" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5" ++ ++[[package]] ++name = "slab" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" ++ ++[[package]] ++name = "state" ++version = "0.4.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7345c971d1ef21ffdbd103a75990a15eb03604fc8b8852ca8cb418ee1a099028" ++dependencies = [ ++ "thread_local 0.3.3", ++] ++ ++[[package]] ++name = "strsim" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" ++ ++[[package]] ++name = "syn" ++version = "1.0.40" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "963f7d3cc59b59b9325165add223142bbf1df27655d07789f109896d353d8350" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-xid", ++] ++ ++[[package]] ++name = "termcolor" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f" ++dependencies = [ ++ "winapi-util", ++] ++ ++[[package]] ++name = "textwrap" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" ++dependencies = [ ++ "unicode-width", ++] ++ ++[[package]] ++name = "thread-id" ++version = "3.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" ++dependencies = [ ++ "libc", ++ "redox_syscall", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "thread_local" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7" ++dependencies = [ ++ "thread-id", ++ "unreachable", ++] ++ ++[[package]] ++name = "thread_local" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" ++dependencies = [ ++ "lazy_static 1.4.0", ++] ++ ++[[package]] ++name = "tinyset" ++version = "0.4.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "784f540960a63144d63992caf430ed87e39d920f2c474cb8ac586ff31fb861fc" ++dependencies = [ ++ "itertools", ++ "rand", ++] ++ ++[[package]] ++name = "unicode-width" ++version = "0.1.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" ++ ++[[package]] ++name = "unicode-xid" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" ++ ++[[package]] ++name = "unreachable" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" ++dependencies = [ ++ "void", ++] ++ ++[[package]] ++name = "vec_map" ++version = "0.8.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" ++ ++[[package]] ++name = "void" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" ++ ++[[package]] ++name = "walkdir" ++version = "2.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" ++dependencies = [ ++ "same-file", ++ "winapi 0.3.9", ++ "winapi-util", ++] ++ ++[[package]] ++name = "wasi" ++version = "0.9.0+wasi-snapshot-preview1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" ++ ++[[package]] ++name = "winapi" ++version = "0.2.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" ++ ++[[package]] ++name = "winapi" ++version = "0.3.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" ++dependencies = [ ++ "winapi-i686-pc-windows-gnu", ++ "winapi-x86_64-pc-windows-gnu", ++] ++ ++[[package]] ++name = "winapi-build" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" ++ ++[[package]] ++name = "winapi-i686-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" ++ ++[[package]] ++name = "winapi-util" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" ++dependencies = [ ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "winapi-x86_64-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" ++ ++[[package]] ++name = "ws2_32-sys" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" ++dependencies = [ ++ "winapi 0.2.8", ++ "winapi-build", ++] 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..8c41eb3ac51a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/fac/default.nix @@ -0,0 +1,50 @@ +{ stdenv, git, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "fac-build"; + version = "0.5.3"; + + src = fetchFromGitHub { + owner = "droundy"; + repo = "fac"; + rev = version; + sha256 = "1gifrlb31jy8633rnhny58ccp3wlmd338129c6sh0h1a38vkmsxk"; + }; + + # workaround for missing Cargo.lock file + cargoPatches = [ ./cargo-lock.patch ]; + + cargoSha256 = "0hjfq61y1ikdcajr2k514k7fad2zxbwq7yb5nk1wx38f1524709q"; + + # 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")' + ''; + + meta = with stdenv.lib; { + 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.linux; + maintainers = [ maintainers.dpercy ]; + }; +} 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..f01f38ecd233 --- /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 000000000000..6c7d9d2463c3 --- /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 b5215611c0c3..73e9bc7b5601 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 ed145d38c7f7..6c9d8bfc8385 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 bd81efd52085..e5ac95d0b9dc 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 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 index 5b1266da3823..aa11ba7638bb 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.2"; + version = "0.55.1"; - src = python3Packages.fetchPypi { + src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "0m84zb0q67vnxmd6ldz477w6yjdnk9c44xhlwh1g1pzqx3m6wwd7"; + 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 6cf7afc2bdf3..d34b6c4c4345 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 e59795486aa8..0c924bacf73f 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 6326f5ec3cfb..ada58fff6d41 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,8 +1,8 @@ diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index 17058df6b..7a68b7f15 100644 +index 219b62ec8..e3ceaddbd 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -120,7 +120,7 @@ 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. diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix index dffdbdb9aed4..3fc893fd07cf 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 efe9a4954947..bc5ad7744d68 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 79707fc64db5..c62fb0f2515d 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 000000000000..f2c43cc5003c --- /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..1480f32a50f3 --- /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/redo-sh/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix index d8c6cdf18888..315b74b820e5 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/redo-sh/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, makeWrapper }: +{ stdenv, fetchurl, makeWrapper, coreutils }: stdenv.mkDerivation { - version = "2.0.3"; + version = "4.0.3"; pname = "redo-sh"; src = fetchurl { url = "http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz"; - sha256 = "1ycx3hik7vnlbwxacn1dzr48fwsn2ials0sg6k9l3gcyrha5wf1n"; + sha256 = "1n84ld4fihqa7a6kn3f177dknz89qcvissfwz1m21bwdq950avia"; }; buildInputs = [ makeWrapper ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation { mv man "$out/share" mv bin "$out" for p in $out/bin/*; do - wrapProgram "$p" --suffix PATH : "$out/bin" + wrapProgram "$p" --prefix PATH : "$out/bin:${coreutils}/bin" done ''; @@ -25,7 +25,7 @@ stdenv.mkDerivation { description = "Redo implementation in Bourne Shell"; homepage = "http://news.dieweltistgarnichtso.net/bin/redo-sh.html"; license = licenses.agpl3; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ sternenseemann ]; }; } 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..ae2e63e040b1 --- /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.8.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 ae9d47addddd..2eb364344060 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.12"; + 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 = "0mwdqn0vk90wdpfzrbbc8l28407z5d62bvsi6jlgds2vbywjprxl"; + 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 41ac16bed7a1..7a15c193423c 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 19b092b86bab..eb86d5955971 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"; }; } |