aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers')
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-ant/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json90
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix5
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py1
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix118
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/application-services.patch36
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch26
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/search-path.patch33
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/cmake/setup-hook.sh20
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/conan/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix59
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gnumake/impure-dirs.patch25
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mage/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch20
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/default.nix50
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch76
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch9
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/ninja/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile10
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/common.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/tup/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/tup/setup-hook.sh44
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