diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-09-18 16:55:42 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-09-18 16:55:42 -0400 |
commit | 7319013ea14f94cb360c7bef9e403de7f1db83b0 (patch) | |
tree | cb6d4763cee2cc982648762c019b3b77b9ba18b2 /pkgs/development/tools/build-managers | |
parent | ce6e72a11cc2f52d6e92224791fe5db7f9e2ecdd (diff) | |
parent | 35378f014161c1d794dc89b6969275396cb601de (diff) | |
download | nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar.gz nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar.bz2 nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar.lz nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar.xz nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.tar.zst nixlib-7319013ea14f94cb360c7bef9e403de7f1db83b0.zip |
Merge remote-tracking branch 'upstream/master' into staging
Diffstat (limited to 'pkgs/development/tools/build-managers')
5 files changed, 44 insertions, 178 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix index 6a25aef8b36a..e9f005f79917 100644 --- a/pkgs/development/tools/build-managers/bazel/default.nix +++ b/pkgs/development/tools/build-managers/bazel/default.nix @@ -1,11 +1,13 @@ { stdenv, lib, fetchurl, fetchpatch, runCommand, makeWrapper , jdk, zip, unzip, bash, writeCBin, coreutils , which, python, perl, gnused, gnugrep, findutils +# Apple dependencies +, cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation +# Allow to independently override the jdks used to build and run respectively +, buildJdk ? jdk, runJdk ? jdk # Always assume all markers valid (don't redownload dependencies). # Also, don't clean up environment variables. , enableNixHacks ? false -# Apple dependencies -, cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation }: let @@ -26,7 +28,7 @@ let in stdenv.mkDerivation rec { - version = "0.16.0"; + version = "0.17.1"; meta = with lib; { homepage = "https://github.com/bazelbuild/bazel/"; @@ -40,7 +42,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; - sha256 = "1ca9pncnj6v4r1kvgxys7607wpz4d2ic6g0i7lpsc2zg2qwmjc67"; + sha256 = "081z40vsxvw6ndiinik4pn09gxmv140k6l9zv93dgjr86qf2ir13"; }; sourceRoot = "."; @@ -87,6 +89,9 @@ stdenv.mkDerivation rec { # and linkers from Xcode instead of from PATH export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails + export GCOV=${coreutils}/bin/false + # Framework search paths aren't added by bintools hook # https://github.com/NixOS/nixpkgs/pull/41914 export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" @@ -95,6 +100,10 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/41589 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1" + # 10.10 apple_sdk Foundation doesn't have type arguments on classes + # Remove this when we update apple_sdk + sed -i -e 's/<.*\*>//g' tools/osx/xcode_locator.m + # don't use system installed Xcode to run clang, use Nix clang instead sed -i -e "s;/usr/bin/xcrun clang;${clang}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \ scripts/bootstrap/compile.sh \ @@ -152,7 +161,7 @@ stdenv.mkDerivation rec { + genericPatches; buildInputs = [ - jdk + buildJdk ]; nativeBuildInputs = [ @@ -190,7 +199,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin mv output/bazel $out/bin - wrapProgram "$out/bin/bazel" --set JAVA_HOME "${jdk}" + wrapProgram "$out/bin/bazel" --set JAVA_HOME "${runJdk}" mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions mv output/bazel-complete.bash $out/share/bash-completion/completions/bazel cp scripts/zsh_completion/_bazel $out/share/zsh/site-functions/ diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix index 399486c4d902..a273afd71580 100644 --- a/pkgs/development/tools/build-managers/gn/default.nix +++ b/pkgs/development/tools/build-managers/gn/default.nix @@ -1,107 +1,38 @@ -{ stdenv, lib, fetchgit, fetchzip, fetchpatch -, libevent, ninja, python, darwin }: +{ stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText +, git, ninja, python }: let - depsGit = { - "tools/gn" = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/tools/gn"; - rev = "0fa417a0d2d8484e9a5a636e3301da322f586601"; - sha256 = "0pigcl14yc4aak6q1ghfjxdz2ah4fg4m2r5y3asw2rz6mpr5y9z0"; - }; - "base" = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/base"; - rev = "ab1d7c3b92ce9c9bc756bdefb8338360d1a33a1e"; - sha256 = "15wis6qg9ka62k6v1vamg0bp3v5vkpapg485jsn4bbfcaqp6di0f"; - }; - "build" = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/build"; - rev = "8d44c08a4c9997695db8098198bdd5026bc7a6f9"; - sha256 = "19sajgf55xfmvnwvy2ss7g6pyljp751cfsws30w415m6m00lmpxl"; - }; - "config" = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/build/config"; - rev = "14116c0cdcb9e28995ca8bb384a12e5c9dbd1dbb"; - sha256 = "04nif0lm4wcy05b7xhal023874s4r0iq067q57cgwdm72i2gml40"; - }; - "testing/gtest" = fetchgit { - url = "https://chromium.googlesource.com/chromium/testing/gtest"; - rev = "585ec31ea716f08233a815e680fc0d4699843938"; - sha256 = "0csn1cza66851nmxxiw42smsm3422mx67vcyykwn0a71lcjng6rc"; - }; - "third_party/apple_apsl" = fetchzip { - url = "https://chromium.googlesource.com/chromium/src/third_party/+archive/8e6ccb8c74db6dfa15dd21401ace3ac96c054cf7/apple_apsl.tar.gz"; - sha256 = "1vgcg741lwz84kdy0qc5wn9dxx3j9zh6a9d185fpygdsipwikqv8"; - stripRoot = false; - }; - "buildtools/third_party/libc++/trunk" = fetchgit { - url = "https://chromium.googlesource.com/chromium/llvm-project/libcxx"; - rev = "ece1de8658d749e19c12cacd4458cc330eca94e3"; - sha256 = "1nlyvfkzhchwv9b18bh82jcamqv3acj26ah9ajs31f2dql05amhg"; - }; - "buildtools/third_party/libc++abi/trunk" = fetchgit { - url = "https://chromium.googlesource.com/chromium/llvm-project/libcxxabi"; - rev = "52c7a3760aef1df328a9bc957f686410872f0dc0"; - sha256 = "1aam539j01381q27b7xhij18pz3h0lhw08hglvqq4hgvlqx5cn2s"; - }; - }; + rev = "106b823805adcc043b2bfe5bc21d58f160a28a7b"; + sha256 = "1a5s6i07s8l4f1bakh3fyaym00xz7zgd49sp6awm10xb7yjh95ba"; -in stdenv.mkDerivation rec { - name = "gn-${version}"; - version = "20180423"; - sourceRoot = "."; + shortRev = builtins.substring 0 7 rev; + lastCommitPosition = writeText "last_commit_position.h" '' + #ifndef OUT_LAST_COMMIT_POSITION_H_ + #define OUT_LAST_COMMIT_POSITION_H_ - unpackPhase = '' - ${lib.concatStringsSep "\n" ( - lib.mapAttrsToList (n: v: '' - mkdir -p $sourceRoot/${n} - if [ -d ${v} ]; then - cp -r ${v}/* $sourceRoot/${n} - else - mkdir -p $sourceRoot/${n} - pushd $sourceRoot/${n} - unpackFile ${v} - popd - fi - '') depsGit)} + #define LAST_COMMIT_POSITION "(${shortRev})" - chmod u+w -R $sourceRoot + #endif // OUT_LAST_COMMIT_POSITION_H_ ''; - patches = [ - (fetchpatch { - url = "https://raw.githubusercontent.com/Eloston/ungoogled-chromium/3375fbc7b865dafe1230431a1e3f9bffd27ec184/resources/patches/ungoogled-chromium/macos/fix-gn-bootstrap.patch"; - sha256 = "1h8jgxznm7zrxlzb4wcfx4zx4lyvfrmpd0r7cd7h0s23wn8ibb3a"; - }) - ]; +in +stdenv.mkDerivation rec { + name = "gn-${version}"; + version = "20180830"; - postPatch = '' - # Disable libevent bootstrapping (we will provide it). - sed -i -e '/static_libraries.*libevent/,/^ *\]\?[})]$/d' \ - tools/gn/bootstrap/bootstrap.py + src = fetchgit { + url = "https://gn.googlesource.com/gn"; + inherit rev sha256; + }; + postPatch = '' # FIXME Needed with old Apple SDKs substituteInPlace base/mac/foundation_util.mm \ --replace "NSArray<NSString*>*" "NSArray*" - substituteInPlace base/mac/sdk_forward_declarations.h \ - --replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \ - --replace "NSArray<VNRequest*>*" "NSArray*" \ - --replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption" - - # Patch shebangs (for sandbox build) - patchShebangs build ''; - # FIXME again this shouldn't be necessary but I can't figure out a better way - NIX_CFLAGS_COMPILE = "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10"; - - NIX_LDFLAGS = "-levent"; - - nativeBuildInputs = [ ninja python ]; - buildInputs = [ libevent ] - - # FIXME These dependencies shouldn't be needed but can't find a way - # around it. Chromium pulls this in while bootstrapping GN. - ++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ + nativeBuildInputs = [ ninja python git ]; + buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ libobjc cctools @@ -109,25 +40,21 @@ in stdenv.mkDerivation rec { ApplicationServices Foundation AppKit - ImageCaptureCore - CoreBluetooth - IOBluetooth - CoreWLAN - Quartz - Cocoa ]); buildPhase = '' - python tools/gn/bootstrap/bootstrap.py -s + python build/gen.py --no-sysroot --no-last-commit-position + ln -s ${lastCommitPosition} out/last_commit_position.h + ninja -j $NIX_BUILD_CORES -C out gn ''; installPhase = '' - install -vD out/Release/gn "$out/bin/gn" + install -vD out/gn "$out/bin/gn" ''; meta = with lib; { description = "A meta-build system that generates NinjaBuild files"; - homepage = https://chromium.googlesource.com/chromium/src/tools/gn; + homepage = https://gn.googlesource.com/gn; license = licenses.bsd3; platforms = platforms.unix; maintainers = with maintainers; [ stesie matthewbauer ]; diff --git a/pkgs/development/tools/build-managers/nant/default.nix b/pkgs/development/tools/build-managers/nant/default.nix deleted file mode 100644 index c394d87e09ec..000000000000 --- a/pkgs/development/tools/build-managers/nant/default.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ stdenv, fetchFromGitHub, pkgconfig, mono, makeWrapper -, targetVersion ? "4.5" }: - -let - version = "2015-11-15"; - - src = fetchFromGitHub { - owner = "nant"; - repo = "nant"; - rev = "19bec6eca205af145e3c176669bbd57e1712be2a"; - sha256 = "11l5y76csn686p8i3kww9s0sxy659ny9l64krlqg3y2nxaz0fk6l"; - }; - - nant-bootstrapped = stdenv.mkDerivation { - name = "nant-bootstrapped-${version}"; - inherit src; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ mono makeWrapper ]; - - buildFlags = "bootstrap"; - - dontStrip = true; - - installPhase = '' - mkdir -p $out/lib/nant-bootstrap - cp -r bootstrap/* $out/lib/nant-bootstrap - - mkdir -p $out/bin - makeWrapper "${mono}/bin/mono" $out/bin/nant \ - --add-flags "$out/lib/nant-bootstrap/NAnt.exe" - ''; - }; - -in stdenv.mkDerivation { - name = "nant-${version}"; - inherit src; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ mono makeWrapper nant-bootstrapped ]; - - dontStrip = true; - - buildPhase = '' - nant -t:mono-${targetVersion} - ''; - - installPhase = '' - mkdir -p $out/lib/nant - cp -r build/mono-${targetVersion}.unix/nant-debug/bin/* $out/lib/nant/ - - mkdir -p $out/bin - makeWrapper "${mono}/bin/mono" $out/bin/nant \ - --add-flags "$out/lib/nant/NAnt.exe" - ''; - - meta = with stdenv.lib; { - homepage = http://nant.sourceforge.net; - description = "NAnt is a free .NET build tool"; - - longDescription = '' - NAnt is a free .NET build tool. In theory it is kind of like make without - make's wrinkles. In practice it's a lot like Ant. - ''; - - license = licenses.gpl2Plus; - maintainers = with maintainers; [ zohl ]; - platforms = platforms.linux; - }; -} - diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix index 1ad52f327e15..02bf9c23cbac 100644 --- a/pkgs/development/tools/build-managers/pants/default.nix +++ b/pkgs/development/tools/build-managers/pants/default.nix @@ -17,6 +17,7 @@ in buildPythonApplication rec { prePatch = '' sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py + substituteInPlace setup.py --replace "requests[security]<2.19,>=2.5.0" "requests[security]<2.20,>=2.5.0" ''; # Unnecessary, and causes some really weird behavior around .class files, which diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix index b5751a19455e..bbbbbf462ec8 100644 --- a/pkgs/development/tools/build-managers/sbt/default.nix +++ b/pkgs/development/tools/build-managers/sbt/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "sbt-${version}"; - version = "1.2.1"; + version = "1.2.3"; src = fetchurl { urls = [ @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz" "https://cocl.us/sbt-${version}.tgz" ]; - sha256 = "1pyp98svh5x8b6yp5vfl0jhz8aysjm0dqvqf7znyb3l7knfqk726"; + sha256 = "1szyp9hgrvr3r5rhr98cn5mkhca1mr0qfs6cd8fiihm6hzjzn0nm"; }; patchPhase = '' |