aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers')
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/closure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix292
-rw-r--r--nixpkgs/pkgs/development/compilers/gerbil/build.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/head.nix12
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json6
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix176
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs/base.nix161
-rwxr-xr-xnixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb54
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.12.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.13.nix239
-rw-r--r--nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch34
-rw-r--r--nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch64
-rw-r--r--nixpkgs/pkgs/development/compilers/halide/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/halide/nix.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/hhvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/intercal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ispc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/jikes/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/jsonnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch53
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix121
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch30
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix68
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/default.nix197
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix67
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch12
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lld.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch31
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix72
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix182
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch412
-rw-r--r--nixpkgs/pkgs/development/compilers/neko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/nim/default.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/4.09.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/bootstrap.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/cargo.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch92
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch20
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustc.nix103
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/tinycc/default.nix22
-rw-r--r--nixpkgs/pkgs/development/compilers/urweb/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix35
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch261
-rw-r--r--nixpkgs/pkgs/development/compilers/vlang/default.nix31
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/zig/default.nix8
77 files changed, 2460 insertions, 918 deletions
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index 305e0f202bf..dd03ce0171f 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -58,7 +58,6 @@ stdenv.mkDerivation rec {
based on the NetX project.
'';
homepage = https://github.com/adoptopenjdk/icedtea-web;
- maintainers = with stdenv.lib.maintainers; [ wizeman ];
platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix
index d9f2a588d8f..682a8aa4eed 100644
--- a/nixpkgs/pkgs/development/compilers/closure/default.nix
+++ b/nixpkgs/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "closure-compiler";
- version = "20190215";
+ version = "20190909";
src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
- sha256 = "16rpl7x90ganpxlz6v9292cwx7dnkhklqx1nn161yj7ypf9bzd4k";
+ sha256 = "0km45pz19dz1hi8vjj290hyxdhr379iixmml0rs8crr4gvs3685w";
};
sourceRoot = ".";
diff --git a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
index 8aab9580232..0a7b74b465f 100644
--- a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix
@@ -180,9 +180,7 @@ let
'';
passthru = {
cc = gcc;
- majorVersion =
- let versionParts = lib.splitString "." version;
- in "${lib.elemAt versionParts 0}.${lib.elemAt versionParts 1}";
+ majorVersion = lib.versions.majorMinor version;
};
meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
index 45fb96ed693..91e027990d6 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -13,31 +13,31 @@ let
sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
};
};
- "@nodelib/fs.scandir-2.1.2" = {
+ "@nodelib/fs.scandir-2.1.3" = {
name = "_at_nodelib_slash_fs.scandir";
packageName = "@nodelib/fs.scandir";
- version = "2.1.2";
+ version = "2.1.3";
src = fetchurl {
- url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz";
- sha512 = "wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==";
+ url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
+ sha512 = "eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==";
};
};
- "@nodelib/fs.stat-2.0.2" = {
+ "@nodelib/fs.stat-2.0.3" = {
name = "_at_nodelib_slash_fs.stat";
packageName = "@nodelib/fs.stat";
- version = "2.0.2";
+ version = "2.0.3";
src = fetchurl {
- url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz";
- sha512 = "z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==";
+ url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
+ sha512 = "bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==";
};
};
- "@nodelib/fs.walk-1.2.3" = {
+ "@nodelib/fs.walk-1.2.4" = {
name = "_at_nodelib_slash_fs.walk";
packageName = "@nodelib/fs.walk";
- version = "1.2.3";
+ version = "1.2.4";
src = fetchurl {
- url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz";
- sha512 = "l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==";
+ url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
+ sha512 = "1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==";
};
};
"@sindresorhus/is-0.7.0" = {
@@ -76,13 +76,13 @@ let
sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
};
};
- "@types/node-12.7.5" = {
+ "@types/node-12.7.12" = {
name = "_at_types_slash_node";
packageName = "@types/node";
- version = "12.7.5";
+ version = "12.7.12";
src = fetchurl {
- url = "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz";
- sha512 = "9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==";
+ url = "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz";
+ sha512 = "KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==";
};
};
"accepts-1.3.7" = {
@@ -148,13 +148,13 @@ let
sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
};
};
- "anymatch-3.1.0" = {
+ "anymatch-3.1.1" = {
name = "anymatch";
packageName = "anymatch";
- version = "3.1.0";
+ version = "3.1.1";
src = fetchurl {
- url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz";
- sha512 = "Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==";
+ url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz";
+ sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
};
};
"arr-diff-4.0.0" = {
@@ -382,13 +382,13 @@ let
sha512 = "Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw==";
};
};
- "bluebird-3.5.5" = {
+ "bluebird-3.7.0" = {
name = "bluebird";
packageName = "bluebird";
- version = "3.5.5";
+ version = "3.7.0";
src = fetchurl {
- url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
- sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
+ url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz";
+ sha512 = "aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==";
};
};
"body-parser-1.18.2" = {
@@ -598,13 +598,13 @@ let
sha512 = "c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==";
};
};
- "chownr-1.1.2" = {
+ "chownr-1.1.3" = {
name = "chownr";
packageName = "chownr";
- version = "1.1.2";
+ version = "1.1.3";
src = fetchurl {
- url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz";
- sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==";
+ url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+ sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
};
};
"class-utils-0.3.6" = {
@@ -679,13 +679,13 @@ let
sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
};
};
- "commander-3.0.1" = {
+ "commander-3.0.2" = {
name = "commander";
packageName = "commander";
- version = "3.0.1";
+ version = "3.0.2";
src = fetchurl {
- url = "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz";
- sha512 = "UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ==";
+ url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
+ sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
};
};
"component-emitter-1.3.0" = {
@@ -859,6 +859,15 @@ let
sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
};
};
+ "cross-spawn-7.0.1" = {
+ name = "cross-spawn";
+ packageName = "cross-spawn";
+ version = "7.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz";
+ sha512 = "u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==";
+ };
+ };
"crypt-0.0.2" = {
name = "crypt";
packageName = "crypt";
@@ -1103,22 +1112,22 @@ let
sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
};
};
- "end-of-stream-1.4.1" = {
+ "end-of-stream-1.4.4" = {
name = "end-of-stream";
packageName = "end-of-stream";
- version = "1.4.1";
+ version = "1.4.4";
src = fetchurl {
- url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
- sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+ url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+ sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
};
};
- "es-abstract-1.14.2" = {
+ "es-abstract-1.15.0" = {
name = "es-abstract";
packageName = "es-abstract";
- version = "1.14.2";
+ version = "1.15.0";
src = fetchurl {
- url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz";
- sha512 = "DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==";
+ url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz";
+ sha512 = "bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==";
};
};
"es-to-primitive-1.2.0" = {
@@ -1193,13 +1202,13 @@ let
sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
};
};
- "execa-2.0.4" = {
+ "execa-2.1.0" = {
name = "execa";
packageName = "execa";
- version = "2.0.4";
+ version = "2.1.0";
src = fetchurl {
- url = "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz";
- sha512 = "VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==";
+ url = "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz";
+ sha512 = "Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==";
};
};
"expand-brackets-2.1.4" = {
@@ -1310,13 +1319,13 @@ let
sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
};
};
- "fast-glob-3.0.4" = {
+ "fast-glob-3.1.0" = {
name = "fast-glob";
packageName = "fast-glob";
- version = "3.0.4";
+ version = "3.1.0";
src = fetchurl {
- url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz";
- sha512 = "wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==";
+ url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz";
+ sha512 = "TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==";
};
};
"fast-json-stable-stringify-2.0.0" = {
@@ -1553,13 +1562,13 @@ let
sha512 = "GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==";
};
};
- "fs-minipass-1.2.6" = {
+ "fs-minipass-1.2.7" = {
name = "fs-minipass";
packageName = "fs-minipass";
- version = "1.2.6";
+ version = "1.2.7";
src = fetchurl {
- url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz";
- sha512 = "crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==";
+ url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+ sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
};
};
"fs.realpath-1.0.0" = {
@@ -1589,13 +1598,13 @@ let
sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
};
};
- "fsevents-2.0.7" = {
+ "fsevents-2.1.0" = {
name = "fsevents";
packageName = "fsevents";
- version = "2.0.7";
+ version = "2.1.0";
src = fetchurl {
- url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz";
- sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
+ url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz";
+ sha512 = "+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==";
};
};
"function-bind-1.1.1" = {
@@ -1697,13 +1706,13 @@ let
sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
};
};
- "glob-parent-5.0.0" = {
+ "glob-parent-5.1.0" = {
name = "glob-parent";
packageName = "glob-parent";
- version = "5.0.0";
+ version = "5.1.0";
src = fetchurl {
- url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz";
- sha512 = "Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==";
+ url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz";
+ sha512 = "qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==";
};
};
"globby-10.0.1" = {
@@ -2750,22 +2759,22 @@ let
sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
};
};
- "minipass-2.5.1" = {
+ "minipass-2.9.0" = {
name = "minipass";
packageName = "minipass";
- version = "2.5.1";
+ version = "2.9.0";
src = fetchurl {
- url = "https://registry.npmjs.org/minipass/-/minipass-2.5.1.tgz";
- sha512 = "dmpSnLJtNQioZFI5HfQ55Ad0DzzsMAb+HfokwRTNXwEQjepbTkl5mtIlSVxGIkOkxlpX7wIn5ET/oAd9fZ/Y/Q==";
+ url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+ sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
};
};
- "minizlib-1.2.2" = {
+ "minizlib-1.3.3" = {
name = "minizlib";
packageName = "minizlib";
- version = "1.2.2";
+ version = "1.3.3";
src = fetchurl {
- url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz";
- sha512 = "hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==";
+ url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+ sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
};
};
"mixin-deep-1.3.2" = {
@@ -3515,13 +3524,13 @@ let
sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
};
};
- "readdirp-3.1.2" = {
+ "readdirp-3.1.3" = {
name = "readdirp";
packageName = "readdirp";
- version = "3.1.2";
+ version = "3.1.3";
src = fetchurl {
- url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz";
- sha512 = "8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==";
+ url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz";
+ sha512 = "ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==";
};
};
"regenerator-runtime-0.9.6" = {
@@ -3911,6 +3920,15 @@ let
sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
};
};
+ "shebang-command-2.0.0" = {
+ name = "shebang-command";
+ packageName = "shebang-command";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
+ sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
+ };
+ };
"shebang-regex-1.0.0" = {
name = "shebang-regex";
packageName = "shebang-regex";
@@ -3920,6 +3938,15 @@ let
sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
};
};
+ "shebang-regex-3.0.0" = {
+ name = "shebang-regex";
+ packageName = "shebang-regex";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
+ sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
+ };
+ };
"signal-exit-3.0.2" = {
name = "signal-exit";
packageName = "signal-exit";
@@ -4208,13 +4235,13 @@ let
sha512 = "tPYCsLGWTDRlET7cen2iAwbmO+lSwfIdKoLkUPC41t/54UhqbzpwXL4RhODu5fQnmZdQZlEFKeD0W/BysU5WEg==";
};
};
- "tar-4.4.10" = {
+ "tar-4.4.13" = {
name = "tar";
packageName = "tar";
- version = "4.4.10";
+ version = "4.4.13";
src = fetchurl {
- url = "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz";
- sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==";
+ url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+ sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
};
};
"temp-0.8.3" = {
@@ -4676,6 +4703,15 @@ let
sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
};
};
+ "which-2.0.1" = {
+ name = "which";
+ packageName = "which";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which/-/which-2.0.1.tgz";
+ sha512 = "N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==";
+ };
+ };
"which-module-2.0.0" = {
name = "which-module";
packageName = "which-module";
@@ -4793,13 +4829,13 @@ let
sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
};
};
- "yallist-3.0.3" = {
+ "yallist-3.1.1" = {
name = "yallist";
packageName = "yallist";
- version = "3.0.3";
+ version = "3.1.1";
src = fetchurl {
- url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
- sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+ url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+ sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
};
};
"yargs-13.3.0" = {
@@ -4870,7 +4906,7 @@ in
sources."binary-0.3.0"
sources."binary-extensions-1.13.1"
sources."binwrap-0.2.2"
- sources."bluebird-3.5.5"
+ sources."bluebird-3.7.0"
sources."brace-expansion-1.1.11"
(sources."braces-2.3.2" // {
dependencies = [
@@ -4888,7 +4924,7 @@ in
sources."fsevents-1.2.9"
];
})
- sources."chownr-1.1.2"
+ sources."chownr-1.1.3"
(sources."class-utils-0.3.6" // {
dependencies = [
sources."define-property-0.2.5"
@@ -4972,7 +5008,7 @@ in
sources."form-data-2.3.3"
sources."fragment-cache-0.2.1"
sources."fs-extra-0.30.0"
- sources."fs-minipass-1.2.6"
+ sources."fs-minipass-1.2.7"
sources."fs.realpath-1.0.0"
sources."fsevents-1.2.4"
sources."get-value-2.0.6"
@@ -5033,12 +5069,12 @@ in
sources."mime-types-2.1.24"
sources."minimatch-3.0.4"
sources."minimist-1.2.0"
- (sources."minipass-2.5.1" // {
+ (sources."minipass-2.9.0" // {
dependencies = [
- sources."yallist-3.0.3"
+ sources."yallist-3.1.1"
];
})
- sources."minizlib-1.2.2"
+ sources."minizlib-1.3.3"
sources."mixin-deep-1.3.2"
(sources."mkdirp-0.5.1" // {
dependencies = [
@@ -5160,9 +5196,9 @@ in
sources."stealthy-require-1.1.1"
sources."string_decoder-1.1.1"
sources."supports-color-4.2.0"
- (sources."tar-4.4.10" // {
+ (sources."tar-4.4.13" // {
dependencies = [
- sources."yallist-3.0.3"
+ sources."yallist-3.1.1"
];
})
(sources."temp-0.8.3" // {
@@ -5227,10 +5263,10 @@ in
elm-verify-examples = nodeEnv.buildNodePackage {
name = "elm-verify-examples";
packageName = "elm-verify-examples";
- version = "4.0.1";
+ version = "4.0.2";
src = fetchurl {
- url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.1.tgz";
- sha512 = "YlkOLWIDnlgkKG8gnxQkKKJHkkx4MqyIXqjmYqvGPwatrPmLo46BJ2drOPHNIh43T7mh7c1K8vxrzV4seQtFUA==";
+ url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.2.tgz";
+ sha512 = "zvQ1SvfXyMCb9TwiC74+QyFsl/4Hjpr1lb37QRKWrSCu+hOhbxM2MkJ6+KP1izGK36kzRr97y81Z1of0/EX3cg==";
};
dependencies = [
sources."ajv-6.10.2"
@@ -5263,7 +5299,7 @@ in
sources."binary-0.3.0"
sources."binary-extensions-1.13.1"
sources."binwrap-0.2.2"
- sources."bluebird-3.5.5"
+ sources."bluebird-3.7.0"
sources."brace-expansion-1.1.11"
(sources."braces-2.3.2" // {
dependencies = [
@@ -5282,7 +5318,7 @@ in
sources."fsevents-1.2.9"
];
})
- sources."chownr-1.1.2"
+ sources."chownr-1.1.3"
(sources."class-utils-0.3.6" // {
dependencies = [
sources."define-property-0.2.5"
@@ -5382,7 +5418,7 @@ in
sources."jsonfile-4.0.0"
];
})
- sources."fs-minipass-1.2.6"
+ sources."fs-minipass-1.2.7"
sources."fs.realpath-1.0.0"
sources."fsevents-1.2.4"
sources."get-caller-file-2.0.5"
@@ -5446,12 +5482,12 @@ in
sources."mime-types-2.1.24"
sources."minimatch-3.0.4"
sources."minimist-1.2.0"
- (sources."minipass-2.5.1" // {
+ (sources."minipass-2.9.0" // {
dependencies = [
- sources."yallist-3.0.3"
+ sources."yallist-3.1.1"
];
})
- sources."minizlib-1.2.2"
+ sources."minizlib-1.3.3"
sources."mixin-deep-1.3.2"
(sources."mkdirp-0.5.1" // {
dependencies = [
@@ -5582,9 +5618,9 @@ in
sources."string_decoder-1.1.1"
sources."strip-ansi-5.2.0"
sources."supports-color-5.5.0"
- (sources."tar-4.4.10" // {
+ (sources."tar-4.4.13" // {
dependencies = [
- sources."yallist-3.0.3"
+ sources."yallist-3.1.1"
];
})
(sources."temp-0.8.3" // {
@@ -5718,7 +5754,7 @@ in
sources."collection-visit-1.0.0"
sources."color-convert-1.9.3"
sources."color-name-1.1.3"
- sources."commander-3.0.1"
+ sources."commander-3.0.2"
sources."component-emitter-1.3.0"
sources."concat-map-0.0.1"
sources."content-disposition-0.5.3"
@@ -5740,8 +5776,8 @@ in
sources."duplexer3-0.1.4"
sources."ee-first-1.1.1"
sources."encodeurl-1.0.2"
- sources."end-of-stream-1.4.1"
- sources."es-abstract-1.14.2"
+ sources."end-of-stream-1.4.4"
+ sources."es-abstract-1.15.0"
sources."es-to-primitive-1.2.0"
sources."escape-html-1.0.3"
sources."escape-string-regexp-1.0.5"
@@ -6306,15 +6342,15 @@ in
elm-live = nodeEnv.buildNodePackage {
name = "elm-live";
packageName = "elm-live";
- version = "4.0.0";
+ version = "4.0.1";
src = fetchurl {
- url = "https://registry.npmjs.org/elm-live/-/elm-live-4.0.0.tgz";
- sha512 = "Yf6afXvBnghRZkefxgXCf/KjCm3DlwT6lfTrjLSc5v0I0VXE2Rc5T9iqXihjg3alh9t8NwDVLL+/py8PkkdC9Q==";
+ url = "https://registry.npmjs.org/elm-live/-/elm-live-4.0.1.tgz";
+ sha512 = "IlonaC1pO/QoXlOrwwrJaxyvpJAT8QDSfzenkChbhU1PC1fJetkj2TwZfki+y1ZxpSMTnMSomMraOdWA6DO3VQ==";
};
dependencies = [
sources."ansi-regex-2.1.1"
sources."ansi-styles-2.2.1"
- sources."anymatch-3.1.0"
+ sources."anymatch-3.1.1"
sources."async-limiter-1.0.1"
sources."binary-extensions-2.0.0"
sources."braces-3.0.2"
@@ -6332,7 +6368,7 @@ in
sources."ee-first-1.1.1"
sources."elm-hot-1.1.1"
sources."encodeurl-1.0.2"
- sources."end-of-stream-1.4.1"
+ sources."end-of-stream-1.4.4"
sources."es6-promisify-6.0.2"
sources."escape-html-1.0.3"
sources."escape-string-regexp-1.0.5"
@@ -6352,9 +6388,9 @@ in
];
})
sources."fresh-0.5.2"
- sources."fsevents-2.0.7"
+ sources."fsevents-2.1.0"
sources."get-stream-4.1.0"
- sources."glob-parent-5.0.0"
+ sources."glob-parent-5.1.0"
sources."has-ansi-2.0.0"
sources."http-errors-1.7.3"
sources."http-proxy-1.17.0"
@@ -6389,7 +6425,7 @@ in
sources."pseudomap-1.0.2"
sources."pump-3.0.0"
sources."range-parser-1.2.1"
- sources."readdirp-3.1.2"
+ sources."readdirp-3.1.3"
sources."requires-port-1.0.0"
sources."semver-5.7.1"
(sources."send-0.17.1" // {
@@ -6434,7 +6470,7 @@ in
sha512 = "9AjXLkznJBVLHHO+KErcgFMKeXe3tcudjj3PYIH6gWXG6W3PT+HF+t2zCflvgFPlhJO5H/wQCCo4rfCApltBzg==";
};
dependencies = [
- sources."bluebird-3.5.5"
+ sources."bluebird-3.7.0"
sources."core-util-is-1.0.2"
sources."fs-extra-6.0.1"
sources."graceful-fs-4.2.2"
@@ -6474,13 +6510,13 @@ in
sha512 = "gzN/ee5JfQmg/+2xFq49zRN62ZFeMTu5A0unwQpOf3qLZa8Rz7no6OIaCnl6nEkNsaoAjvZxv1aFJOd2TtNtFw==";
};
dependencies = [
- sources."@nodelib/fs.scandir-2.1.2"
- sources."@nodelib/fs.stat-2.0.2"
- sources."@nodelib/fs.walk-1.2.3"
+ sources."@nodelib/fs.scandir-2.1.3"
+ sources."@nodelib/fs.stat-2.0.3"
+ sources."@nodelib/fs.walk-1.2.4"
sources."@types/events-3.0.0"
sources."@types/glob-7.1.1"
sources."@types/minimatch-3.0.3"
- sources."@types/node-12.7.5"
+ sources."@types/node-12.7.12"
sources."accepts-1.3.7"
sources."ajv-6.10.2"
sources."array-flatten-1.1.1"
@@ -6508,7 +6544,7 @@ in
sources."cookie-signature-1.0.6"
sources."core-js-2.6.9"
sources."core-util-is-1.0.2"
- sources."cross-spawn-6.0.5"
+ sources."cross-spawn-7.0.1"
sources."dashdash-1.14.1"
sources."debug-2.6.9"
sources."delayed-stream-1.0.0"
@@ -6524,10 +6560,10 @@ in
];
})
sources."encodeurl-1.0.2"
- sources."end-of-stream-1.4.1"
+ sources."end-of-stream-1.4.4"
sources."escape-html-1.0.3"
sources."etag-1.8.1"
- (sources."execa-2.0.4" // {
+ (sources."execa-2.1.0" // {
dependencies = [
sources."is-stream-2.0.0"
];
@@ -6542,7 +6578,7 @@ in
sources."extsprintf-1.3.0"
sources."fast-deep-equal-2.0.1"
sources."fast-diff-1.2.0"
- sources."fast-glob-3.0.4"
+ sources."fast-glob-3.1.0"
sources."fast-json-stable-stringify-2.0.0"
sources."fastq-1.6.0"
sources."fill-range-7.0.1"
@@ -6557,7 +6593,7 @@ in
sources."get-stream-5.1.0"
sources."getpass-0.1.7"
sources."glob-7.1.4"
- sources."glob-parent-5.0.0"
+ sources."glob-parent-5.1.0"
sources."globby-10.0.1"
sources."graceful-fs-4.2.2"
sources."har-schema-2.0.0"
@@ -6599,13 +6635,8 @@ in
sources."minimist-1.2.0"
sources."ms-2.0.0"
sources."negotiator-0.6.2"
- sources."nice-try-1.0.5"
sources."node-watch-0.5.5"
- (sources."npm-run-path-3.1.0" // {
- dependencies = [
- sources."path-key-3.1.0"
- ];
- })
+ sources."npm-run-path-3.1.0"
sources."oauth-sign-0.9.0"
sources."on-finished-2.3.0"
sources."once-1.4.0"
@@ -6617,7 +6648,7 @@ in
sources."p-finally-2.0.1"
sources."parseurl-1.3.3"
sources."path-is-absolute-1.0.1"
- sources."path-key-2.0.1"
+ sources."path-key-3.1.0"
sources."path-to-regexp-0.1.7"
sources."path-type-4.0.0"
sources."performance-now-2.1.0"
@@ -6649,12 +6680,11 @@ in
sources."rxjs-6.5.3"
sources."safe-buffer-5.1.1"
sources."safer-buffer-2.1.2"
- sources."semver-5.7.1"
sources."send-0.16.2"
sources."serve-static-1.13.2"
sources."setprototypeof-1.1.0"
- sources."shebang-command-1.2.0"
- sources."shebang-regex-1.0.0"
+ sources."shebang-command-2.0.0"
+ sources."shebang-regex-3.0.0"
sources."signal-exit-3.0.2"
sources."slash-3.0.0"
sources."sshpk-1.16.1"
@@ -6694,7 +6724,7 @@ in
sources."vscode-languageserver-types-3.14.0"
sources."vscode-uri-2.0.3"
sources."web-tree-sitter-0.15.9"
- sources."which-1.3.1"
+ sources."which-2.0.1"
sources."wrappy-1.0.2"
sources."ws-7.1.2"
sources."xtend-4.0.2"
diff --git a/nixpkgs/pkgs/development/compilers/gerbil/build.nix b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
index 9ef650c330f..b5ccbca6f7e 100644
--- a/nixpkgs/pkgs/development/compilers/gerbil/build.nix
+++ b/nixpkgs/pkgs/development/compilers/gerbil/build.nix
@@ -1,6 +1,6 @@
{ stdenv, makeStaticLibraries,
coreutils, rsync, bash,
- openssl, zlib, sqlite, libxml2, libyaml, mysql, lmdb, leveldb, postgresql,
+ openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql,
version, git-version, gambit, src }:
# TODO: distinct packages for gerbil-release and gerbil-devel
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
inherit src;
# Use makeStaticLibraries to enable creation of statically linked binaries
- buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml mysql.connector-c lmdb leveldb postgresql ];
+ buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml libmysqlclient lmdb leveldb postgresql ];
buildInputs_staticLibraries = map makeStaticLibraries buildInputs_libraries;
buildInputs = [ gambit rsync bash ]
++ buildInputs_libraries ++ buildInputs_staticLibraries;
- NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ];
+ NIX_CFLAGS_COMPILE = [ "-I${libmysqlclient}/include/mysql" "-L${libmysqlclient}/lib/mysql" ];
postPatch = ''
echo '(define (gerbil-version-string) "v${git-version}")' > src/gerbil/runtime/gx-version.scm
@@ -40,7 +40,7 @@ ZLIB=${makeStaticLibraries zlib}/lib/libz.a
# SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING!
# LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING!
# YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING!
-MYSQL=${makeStaticLibraries mysql.connector-c}/lib/mariadb/libmariadb.a
+MYSQL=${makeStaticLibraries libmysqlclient}/lib/mariadb/libmariadb.a
# LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING!
LEVELDB=${makeStaticLibraries lmdb}/lib/libleveldb.a
EOF
diff --git a/nixpkgs/pkgs/development/compilers/ghc/head.nix b/nixpkgs/pkgs/development/compilers/ghc/head.nix
index b78f5bc2204..565c545e48c 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/head.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/head.nix
@@ -27,7 +27,7 @@
, # Whetherto build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
-, version ? "8.9.20190601"
+, version ? "8.9.20190924"
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -89,8 +89,8 @@ stdenv.mkDerivation (rec {
src = fetchgit {
url = "https://gitlab.haskell.org/ghc/ghc.git/";
- rev = "9bc10993bb300d3712b0f13ec6e28621d75d4204";
- sha256 = "1s7vbinywx8ffj09nxr0h32nggjiqpssrvgmj7820k32w2yi7i8v";
+ rev = "795986aaf33e2ffc233836b86a92a77366c91db2";
+ sha256 = "0a111x6c53r07q5qdg6c8mnydqp0wh4mpxmw7ga4x5wlap8i0bji";
};
enableParallelBuilding = true;
@@ -183,7 +183,7 @@ stdenv.mkDerivation (rec {
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
- bootPkgs.ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
];
# For building runtime libs
@@ -224,14 +224,14 @@ stdenv.mkDerivation (rec {
inherit enableShared;
# Our Cabal compiler name
- haskellCompilerName = "ghc-8.7";
+ haskellCompilerName = "ghc-${version}";
};
meta = {
homepage = http://haskell.org/ghc;
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
- inherit (bootPkgs.ghc.meta) license platforms;
+ inherit (ghc.meta) license platforms;
};
} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix
deleted file mode 100644
index efba0dc8634..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ haskellLib }:
-
-let inherit (haskellLib) dontCheck doJailbreak;
-in self: super: {
- haddock-library-ghcjs = doJailbreak (dontCheck super.haddock-library-ghcjs);
- haddock-api-ghcjs = doJailbreak super.haddock-api-ghcjs;
-
- template-haskell-ghcjs = doJailbreak super.template-haskell-ghcjs;
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json
deleted file mode 100644
index cfa6cf1d7d2..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/git.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "url": "https://github.com/ghcjs/ghcjs",
- "rev": "81bf5f31dabaa711aab234cb119eb9c998ccb129",
- "sha256": "1bgnc71kjqicqv2xq8p70nck600yi2p7g4k9r1jclv21ib7i5hmx",
- "fetchSubmodules": true
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix
deleted file mode 100644
index 3b89db14497..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix
+++ /dev/null
@@ -1,176 +0,0 @@
-{ callPackage, configuredSrc }:
-
-{
-
- ghcjs = callPackage
- ({ mkDerivation, aeson, array, attoparsec, base, base16-bytestring
- , base64-bytestring, binary, bytestring, Cabal, containers
- , cryptohash, data-default, deepseq, directory, executable-path
- , filepath, ghc-api-ghcjs, ghc-boot, ghc-paths, ghci-ghcjs
- , ghcjs-th, haddock-api-ghcjs, hashable, haskell-src-exts
- , haskell-src-meta, http-types, HUnit, lens, lifted-base, mtl
- , network, optparse-applicative, parallel, parsec, process, random
- , regex-posix, safe, shelly, split, stdenv, stringsearch, syb
- , system-fileio, system-filepath, tar, template-haskell
- , template-haskell-ghcjs, terminfo, test-framework
- , test-framework-hunit, text, time, transformers
- , transformers-compat, unix, unix-compat, unordered-containers
- , vector, wai, wai-app-static, wai-extra, wai-websockets, warp
- , webdriver, websockets, wl-pprint-text, yaml
- }:
- mkDerivation {
- pname = "ghcjs";
- version = "8.4.0.1";
- src = configuredSrc + /.;
- isLibrary = true;
- isExecutable = true;
- enableSeparateDataOutput = true;
- setupHaskellDepends = [
- base Cabal containers directory filepath process template-haskell
- transformers
- ];
- libraryHaskellDepends = [
- aeson array attoparsec base base16-bytestring base64-bytestring
- binary bytestring Cabal containers cryptohash data-default deepseq
- directory filepath ghc-api-ghcjs ghc-boot ghc-paths ghci-ghcjs
- ghcjs-th hashable haskell-src-exts haskell-src-meta lens mtl
- optparse-applicative parallel parsec process regex-posix safe split
- stringsearch syb template-haskell template-haskell-ghcjs text time
- transformers unordered-containers vector wl-pprint-text yaml
- ];
- executableHaskellDepends = [
- aeson base binary bytestring Cabal containers directory
- executable-path filepath ghc-api-ghcjs ghc-boot haddock-api-ghcjs
- lens mtl optparse-applicative process shelly system-fileio
- system-filepath tar terminfo text time transformers
- transformers-compat unix unix-compat unordered-containers vector
- yaml
- ];
- testHaskellDepends = [
- aeson base bytestring data-default deepseq directory http-types
- HUnit lens lifted-base network optparse-applicative process random
- shelly system-fileio system-filepath test-framework
- test-framework-hunit text time transformers unordered-containers
- wai wai-app-static wai-extra wai-websockets warp webdriver
- websockets yaml
- ];
- description = "Haskell to JavaScript compiler";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- ghc-api-ghcjs = callPackage
- ({ mkDerivation, array, base, binary, bytestring, containers
- , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghci-ghcjs
- , hpc, process, stdenv, template-haskell-ghcjs, terminfo, time
- , transformers, unix
- }:
- mkDerivation {
- pname = "ghc-api-ghcjs";
- version = "8.4.0";
- src = configuredSrc + /lib/ghc-api-ghcjs;
- libraryHaskellDepends = [
- array base binary bytestring containers deepseq directory filepath
- ghc-boot ghc-boot-th ghci-ghcjs hpc process template-haskell-ghcjs
- terminfo time transformers unix
- ];
- homepage = "http://www.haskell.org/ghc/";
- description = "The GHC API (customized for GHCJS)";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- ghci-ghcjs = callPackage
- ({ mkDerivation, array, base, binary, bytestring, containers
- , deepseq, filepath, ghc-boot, ghc-boot-th, stdenv
- , template-haskell-ghcjs, transformers, unix
- }:
- mkDerivation {
- pname = "ghci-ghcjs";
- version = "8.4.0";
- src = configuredSrc + /lib/ghci-ghcjs;
- libraryHaskellDepends = [
- array base binary bytestring containers deepseq filepath ghc-boot
- ghc-boot-th template-haskell-ghcjs transformers unix
- ];
- description = "The library supporting GHC's interactive interpreter (customized for GHCJS)";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- ghcjs-th = callPackage
- ({ mkDerivation, base, binary, bytestring, containers, ghc-prim
- , ghci-ghcjs, stdenv, template-haskell-ghcjs
- }:
- mkDerivation {
- pname = "ghcjs-th";
- version = "0.1.0.0";
- src = configuredSrc + /lib/ghcjs-th;
- libraryHaskellDepends = [
- base binary bytestring containers ghc-prim ghci-ghcjs
- template-haskell-ghcjs
- ];
- homepage = "https://github.com/ghcjs";
- license = stdenv.lib.licenses.mit;
- }) {};
-
- haddock-api-ghcjs = callPackage
- ({ mkDerivation, array, base, bytestring, Cabal, containers, deepseq
- , directory, filepath, ghc-api-ghcjs, ghc-boot, ghc-paths
- , haddock-library-ghcjs, hspec, hspec-discover, QuickCheck, stdenv
- , transformers, xhtml
- }:
- mkDerivation {
- pname = "haddock-api-ghcjs";
- version = "2.20.0";
- src = configuredSrc + /lib/haddock-api-ghcjs;
- enableSeparateDataOutput = true;
- libraryHaskellDepends = [
- array base bytestring Cabal containers deepseq directory filepath
- ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs transformers
- xhtml
- ];
- testHaskellDepends = [
- array base bytestring Cabal containers deepseq directory filepath
- ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs hspec
- QuickCheck transformers xhtml
- ];
- testToolDepends = [ hspec-discover ];
- homepage = "http://www.haskell.org/haddock/";
- description = "A documentation-generation tool for Haskell libraries";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- haddock-library-ghcjs = callPackage
- ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
- , directory, filepath, haddock-library, hspec, hspec-discover
- , optparse-applicative, QuickCheck, stdenv, transformers, tree-diff
- }:
- mkDerivation {
- pname = "haddock-library-ghcjs";
- version = "1.6.0";
- src = configuredSrc + /lib/haddock-library-ghcjs;
- libraryHaskellDepends = [
- base bytestring containers deepseq transformers
- ];
- testHaskellDepends = [
- base base-compat bytestring containers deepseq directory filepath
- haddock-library hspec optparse-applicative QuickCheck transformers
- tree-diff
- ];
- testToolDepends = [ hspec-discover ];
- doHaddock = false;
- homepage = "http://www.haskell.org/haddock/";
- description = "Library exposing some functionality of Haddock";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
- template-haskell-ghcjs = callPackage
- ({ mkDerivation, base, ghc-boot-th, pretty, stdenv }:
- mkDerivation {
- pname = "template-haskell-ghcjs";
- version = "2.13.0.0";
- src = configuredSrc + /lib/template-haskell-ghcjs;
- libraryHaskellDepends = [ base ghc-boot-th pretty ];
- description = "Support library for Template Haskell (customized for GHCJS)";
- license = stdenv.lib.licenses.bsd3;
- }) {};
-
-}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
index e668be8e074..747ea5cf77f 100644
--- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix
@@ -104,5 +104,4 @@ in stdenv.mkDerivation {
meta.platforms = passthru.bootPkgs.ghc.meta.platforms;
meta.maintainers = [lib.maintainers.elvishjerricco];
- meta.hydraPlatforms = [];
}
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix b/nixpkgs/pkgs/development/compilers/ghcjs/base.nix
deleted file mode 100644
index ba0bbb1962b..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/base.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-{ mkDerivation
-, lib
-, broken ? false
-, test-framework
-, test-framework-hunit
-, data-default
-, ghc-paths
-, haskell-src-exts
-, haskell-src-meta
-, optparse-applicative
-, system-fileio
-, system-filepath
-, text-binary
-, unordered-containers
-, cabal-install
-, wl-pprint-text
-, base16-bytestring
-, executable-path
-, transformers-compat
-, haddock-api
-, regex-posix
-
-, bootPkgs, gmp
-
-, runCommand
-, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm
-, time
-, zlib, aeson, attoparsec, bzlib, hashable
-, lens
-, parallel, safe, shelly, split, stringsearch, syb
-, tar, terminfo
-, vector, yaml
-, alex, happy, git, gnumake, autoconf, patch
-, automake, libtool
-, cryptohash
-, haddock, hspec, xhtml, pkgs
-, coreutils
-, libiconv
-
-, version
-, ghcjsSrc
-, ghcjsBootSrc
-, ghcjsBoot ? import ./ghcjs-boot.nix {
- inherit runCommand;
- src = ghcjsBootSrc;
- }
-, shims
-
-# This is the list of the Stage 1 packages that are built into a booted ghcjs installation
-# It can be generated with the command:
-# nix-shell -p haskell.packages.ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/^\([^_]*\)\(.*\)$/ \"\1\"/'"
-, stage1Packages
-
-, stage2 ? import ./stage2.nix
-
-, patches
-
-# used for resolving compiler plugins
-, ghcLibdir ? null
-}:
-let
- inherit (bootPkgs) ghc;
-
-in mkDerivation ({
- pname = "ghcjs";
- inherit version;
- src = ghcjsSrc;
- isLibrary = true;
- isExecutable = true;
- jailbreak = true;
- doHaddock = false;
- doCheck = false;
- buildDepends = [
- filepath HTTP mtl network random stm time zlib aeson attoparsec
- bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta
- lens optparse-applicative parallel safe shelly split
- stringsearch syb system-fileio system-filepath tar terminfo text-binary
- unordered-containers vector wl-pprint-text yaml
- alex happy git gnumake autoconf automake libtool patch gmp
- base16-bytestring cryptohash executable-path haddock-api
- transformers-compat QuickCheck haddock hspec xhtml
- regex-posix libiconv
- ];
- buildTools = [ nodejs git ];
- testDepends = [
- HUnit test-framework test-framework-hunit
- ];
- inherit patches;
- postPatch = ''
- substituteInPlace Setup.hs \
- --replace "/usr/bin/env" "${coreutils}/bin/env"
-
- substituteInPlace src/Compiler/Info.hs \
- --replace "@PREFIX@" "$out" \
- --replace "@VERSION@" "${version}"
-
- substituteInPlace src-bin/Boot.hs \
- --replace "@PREFIX@" "$out" \
- --replace "@CC@" "${stdenv.cc}/bin/cc"
- '';
- preBuild = ''
- export HOME="$TMP"
-
- local topDir=$out/lib/ghcjs-${version}
- mkdir -p $topDir
-
- cp -r ${ghcjsBoot} $topDir/ghcjs-boot
- chmod -R u+w $topDir/ghcjs-boot
-
- cp -r ${shims} $topDir/shims
- chmod -R u+w $topDir/shims
-
- # Make the patches be relative their corresponding package's directory.
- # See: https://github.com/ghcjs/ghcjs-boot/pull/12
- for patch in "$topDir/ghcjs-boot/patches/"*.patch; do
- echo "fixing patch: $patch"
- sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
- done
- '';
- # We build with --quick so we can build stage 2 packages separately.
- # This is necessary due to: https://github.com/haskell/cabal/commit/af19fb2c2d231d8deff1cb24164a2bf7efb8905a
- # Cabal otherwise fails to build: http://hydra.nixos.org/build/31824079/nixlog/1/raw
- postInstall = ''
- PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \
- env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \
- --dev \
- --quick \
- --with-cabal ${cabal-install}/bin/cabal \
- --with-gmp-includes ${gmp.dev}/include \
- --with-gmp-libraries ${gmp.out}/lib
- '' + lib.optionalString (ghcLibdir != null) ''
- printf '%s' '${ghcLibdir}' > "$out/lib/ghcjs-${version}/ghc_libdir"
- '';
- passthru = {
- inherit bootPkgs;
- ghcVersion = ghc.version;
- isCross = true;
- isGhcjs = true;
- inherit nodejs ghcjsBoot;
- socket-io = pkgs.nodePackages."socket.io";
- haskellCompilerName = "ghcjs-${version}";
-
- # let us assume ghcjs is never actually cross compiled
- targetPrefix = "";
-
- enableShared = true;
-
- inherit stage1Packages;
- mkStage2 = stage2 {
- inherit ghcjsBoot;
- };
- };
-
- homepage = https://github.com/ghcjs/ghcjs;
- description = "A Haskell to JavaScript compiler that uses the GHC API";
- license = stdenv.lib.licenses.bsd3;
- platforms = ghc.meta.platforms;
- maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio elvishjerricco ];
- hydraPlatforms = if broken then [] else ghc.meta.platforms;
- inherit broken;
-})
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb b/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb
deleted file mode 100755
index 709e635db55..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/gen-stage2.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'pathname'
-
-# from boot.yaml in ghcjs/ghcjs
-stage2_packages = [
- "boot/async",
- "boot/aeson",
- "boot/attoparsec",
- "boot/case-insensitive",
- "boot/dlist",
- "boot/extensible-exceptions",
- "boot/hashable",
- "boot/mtl",
- "boot/old-time",
- "boot/parallel",
- "boot/scientific",
- "boot/stm",
- "boot/syb",
- "boot/text",
- "boot/unordered-containers",
- "boot/vector",
- "ghcjs/ghcjs-base",
- # not listed under stage2, but needed when "quick booting".
- "boot/cabal/Cabal"
-]
-
-nixpkgs = File.expand_path("../../../../..", __FILE__)
-boot = ARGV[0] || `nix-build #{nixpkgs} -A haskell.packages.ghcjs.ghc.ghcjsBoot`.chomp
-
-out = "".dup
-out << "{ ghcjsBoot }: { callPackage }:\n"
-out << "\n"
-out << "{\n"
-
-stage2_packages.each do |package|
- name = Pathname.new(package).basename
- nix = `cabal2nix file://#{boot}/#{package} --jailbreak`
- nix.sub!(/src =.*?$/, "src = \"${ghcjsBoot}/#{package}\";")
- nix.sub!(" doCheck = false;\n", "")
- nix.sub!("libraryHaskellDepends", "doCheck = false;\n libraryHaskellDepends")
- # cabal2nix somehow generates the deps for 'text' as if it had selected flag
- # 'integer-simple' (despite not passing the flag within the generated
- # expression). We want integer-gmp instead.
- nix.gsub!(/integer-simple/, "integer-gmp")
- nix = nix.split("\n").join("\n ")
-
- out << " #{name} = callPackage\n"
- out << " (#{nix}) {};\n"
-end
-
-out << "}"
-
-puts out
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix b/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix
deleted file mode 100644
index c00e13a9240..00000000000
--- a/nixpkgs/pkgs/development/compilers/ghcjs/ghcjs-boot.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ runCommand, src }:
-
-# we remove the patches so ghcjs-boot doesn't try to apply them again.
-runCommand "${src.name}-patched" {} ''
- cp -r ${src} $out
- chmod -R +w $out
-
- # Make the patches be relative their corresponding package's directory.
- # See: https://github.com/ghcjs/ghcjs-boot/pull/12
- for patch in $out/patches/*.patch; do
- echo ">> fixing patch: $patch"
- sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
- done
-
- for package in $(cd $out/boot; echo *); do
- patch=$out/patches/$package.patch
- if [[ -e $patch ]]; then
- echo ">> patching package: $package"
- pushd $out/boot/$package
- patch -p1 < $patch
- rm $patch
- popd
- fi
- done
-''
diff --git a/nixpkgs/pkgs/development/compilers/go/1.12.nix b/nixpkgs/pkgs/development/compilers/go/1.12.nix
index 817f3ab324d..7a6c0b041fc 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.12.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.12.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, tzdata, iana-etc, runCommand
+{ stdenv, fetchurl, fetchpatch, tzdata, iana-etc, runCommand
, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
, mailcap, runtimeShell
, buildPackages, pkgsTargetTarget
@@ -137,6 +137,11 @@ stdenv.mkDerivation rec {
./skip-nohup-tests.patch
# breaks under load: https://github.com/golang/go/issues/25628
./skip-test-extra-files-on-386.patch
+ (fetchpatch { # probably included in >= 1.12.10
+ url = "https://github.com/golang/go/commit/aae0b5b0b.diff";
+ name = "TestGcSys-too-much-memory.diff";
+ sha256 = "1bl9d2pl6n99n9g65cq91sygmp1iva5rmrxbprwn4xd0ql36psa8";
+ })
];
postPatch = ''
diff --git a/nixpkgs/pkgs/development/compilers/go/1.13.nix b/nixpkgs/pkgs/development/compilers/go/1.13.nix
new file mode 100644
index 00000000000..d0aeac13522
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/1.13.nix
@@ -0,0 +1,239 @@
+{ stdenv, fetchurl, tzdata, iana-etc, runCommand
+, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
+, mailcap, runtimeShell
+, buildPackages, pkgsTargetTarget
+}:
+
+let
+
+ inherit (stdenv.lib) optionals optionalString;
+
+ goBootstrap = runCommand "go-bootstrap" {} ''
+ mkdir $out
+ cp -rf ${buildPackages.go_bootstrap}/* $out/
+ chmod -R u+w $out
+ find $out -name "*.c" -delete
+ cp -rf $out/bin/* $out/share/go/bin/
+ '';
+
+ goarch = platform: {
+ "i686" = "386";
+ "x86_64" = "amd64";
+ "aarch64" = "arm64";
+ "arm" = "arm";
+ "armv5tel" = "arm";
+ "armv6l" = "arm";
+ "armv7l" = "arm";
+ }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+
+in
+
+stdenv.mkDerivation rec {
+ pname = "go";
+ version = "1.13.1";
+
+ src = fetchurl {
+ url = "https://dl.google.com/go/go${version}.src.tar.gz";
+ sha256 = "0n4k42bbrj5g9b1kczkfsih049v43vqzaps7n69gmfa4jpk59wc1";
+ };
+
+ # perl is used for testing go vet
+ nativeBuildInputs = [ perl which pkgconfig patch procps ];
+ buildInputs = [ cacert pcre ]
+ ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+ ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+
+
+ propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
+
+ hardeningDisable = [ "all" ];
+
+ prePatch = ''
+ patchShebangs ./ # replace /bin/bash
+
+ # This source produces shell script at run time,
+ # and thus it is not corrected by patchShebangs.
+ substituteInPlace misc/cgo/testcarchive/carchive_test.go \
+ --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
+
+ # Patch the mimetype database location which is missing on NixOS.
+ substituteInPlace src/mime/type_unix.go \
+ --replace '/etc/mime.types' '${mailcap}/etc/mime.types'
+
+ # Disabling the 'os/http/net' tests (they want files not available in
+ # chroot builds)
+ rm src/net/{listen,parse}_test.go
+ rm src/syscall/exec_linux_test.go
+
+ # !!! substituteInPlace does not seems to be effective.
+ # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+ sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
+ sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
+ # Disable the unix socket test
+ sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
+ # Disable the hostname test
+ sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
+ # ParseInLocation fails the test
+ sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
+ # Remove the api check as it never worked
+ sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
+ # Remove the coverage test as we have removed this utility
+ sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
+ # Remove the timezone naming test
+ sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
+ # Remove disable setgid test
+ sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
+ # Remove cert tests that conflict with NixOS's cert resolution
+ sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+ # TestWritevError hangs sometimes
+ sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
+ # TestVariousDeadlines fails sometimes
+ sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
+
+ sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
+ sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
+
+ # Disable cgo lookup tests not works, they depend on resolver
+ rm src/net/cgo_unix_test.go
+
+ '' + optionalString stdenv.isLinux ''
+ sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+ '' + optionalString stdenv.isAarch32 ''
+ echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
+ '' + optionalString stdenv.isDarwin ''
+ substituteInPlace src/race.bash --replace \
+ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
+ sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
+ sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
+ sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
+
+ sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
+ sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
+ sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
+ sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
+
+ sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
+ sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
+
+ sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
+
+ sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
+
+ # TestCurrent fails because Current is not implemented on Darwin
+ sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
+ sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
+
+ touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
+ '';
+
+ patches = [
+ ./remove-tools-1.11.patch
+ ./ssl-cert-file-1.13.patch
+ ./remove-test-pie-1.13.patch
+ ./creds-test.patch
+ ./go-1.9-skip-flaky-19608.patch
+ ./go-1.9-skip-flaky-20072.patch
+ ./skip-external-network-tests.patch
+ ./skip-nohup-tests.patch
+ # breaks under load: https://github.com/golang/go/issues/25628
+ ./skip-test-extra-files-on-386.patch
+ ];
+
+ postPatch = ''
+ find . -name '*.orig' -exec rm {} ';'
+ '';
+
+ GOOS = stdenv.targetPlatform.parsed.kernel.name;
+ GOARCH = goarch stdenv.targetPlatform;
+ # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+ # Go will nevertheless build a for host system that we will copy over in
+ # the install phase.
+ GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
+ GOHOSTARCH = goarch stdenv.buildPlatform;
+
+ # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
+ # to be different from CC/CXX
+ CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
+ else
+ null;
+ CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
+ else
+ null;
+
+ GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+ GO386 = 387; # from Arch: don't assume sse2 on i686
+ CGO_ENABLED = 1;
+ # Hopefully avoids test timeouts on Hydra
+ GO_TEST_TIMEOUT_SCALE = 3;
+
+ # Indicate that we are running on build infrastructure
+ # Some tests assume things like home directories and users exists
+ GO_BUILDER_NAME = "nix";
+
+ GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+
+ postConfigure = ''
+ export GOCACHE=$TMPDIR/go-cache
+ # this is compiled into the binary
+ export GOROOT_FINAL=$out/share/go
+
+ export PATH=$(pwd)/bin:$PATH
+
+ # Independent from host/target, CC should produce code for the building system.
+ export CC=${buildPackages.stdenv.cc}/bin/cc
+ ulimit -a
+ '';
+
+ postBuild = ''
+ (cd src && ./make.bash)
+ '';
+
+ doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
+
+ checkPhase = ''
+ runHook preCheck
+ (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
+ runHook postCheck
+ '';
+
+ preInstall = ''
+ rm -r pkg/obj
+ # Contains the wrong perl shebang when cross compiling,
+ # since it is not used for anything we can deleted as well.
+ rm src/regexp/syntax/make_perl_groups.pl
+ '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
+ mv bin/*_*/* bin
+ rmdir bin/*_*
+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+ rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
+ ''}
+ '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
+ rm -rf bin/*_*
+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+ rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
+ ''}
+ '' else "");
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $GOROOT_FINAL
+ cp -a bin pkg src lib misc api doc $GOROOT_FINAL
+ ln -s $GOROOT_FINAL/bin $out/bin
+ runHook postInstall
+ '';
+
+ setupHook = ./setup-hook.sh;
+
+ disallowedReferences = [ goBootstrap ];
+
+ meta = with stdenv.lib; {
+ branch = "1.13";
+ homepage = http://golang.org/;
+ description = "The Go Programming language";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ cstrahan orivej velovix mic92 rvolosatovs kalbasit ];
+ platforms = platforms.linux ++ platforms.darwin;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch
new file mode 100644
index 00000000000..05f18b813f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.13.patch
@@ -0,0 +1,34 @@
+diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
+index f63c94697c..f02eff7064 100644
+--- a/src/cmd/dist/test.go
++++ b/src/cmd/dist/test.go
+@@ -574,29 +574,6 @@ func (t *tester) registerTests() {
+ })
+ }
+
+- // Test internal linking of PIE binaries where it is supported.
+- if goos == "linux" && (goarch == "amd64" || goarch == "arm64") {
+- t.tests = append(t.tests, distTest{
+- name: "pie_internal",
+- heading: "internal linking of -buildmode=pie",
+- fn: func(dt *distTest) error {
+- t.addCmd(dt, "src", t.goTest(), "reflect", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
+- return nil
+- },
+- })
+- // Also test a cgo package.
+- if t.cgoEnabled {
+- t.tests = append(t.tests, distTest{
+- name: "pie_internal_cgo",
+- heading: "internal linking of -buildmode=pie",
+- fn: func(dt *distTest) error {
+- t.addCmd(dt, "src", t.goTest(), "os/user", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
+- return nil
+- },
+- })
+- }
+- }
+-
+ // sync tests
+ if goos != "js" { // js doesn't support -cpu=10
+ t.tests = append(t.tests, distTest{
diff --git a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
new file mode 100644
index 00000000000..02a50d9c72f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
@@ -0,0 +1,64 @@
+diff --git a/src/crypto/x509/root_cgo_darwin.go b/src/crypto/x509/root_cgo_darwin.go
+index 255a8d3525..a467255a54 100644
+--- a/src/crypto/x509/root_cgo_darwin.go
++++ b/src/crypto/x509/root_cgo_darwin.go
+@@ -280,6 +280,8 @@ int CopyPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots, bool debugDa
+ import "C"
+ import (
+ "errors"
++ "io/ioutil"
++ "os"
+ "unsafe"
+ )
+
+@@ -295,6 +297,13 @@ func loadSystemRoots() (*CertPool, error) {
+ buf := C.GoBytes(unsafe.Pointer(C.CFDataGetBytePtr(data)), C.int(C.CFDataGetLength(data)))
+ roots := NewCertPool()
+ roots.AppendCertsFromPEM(buf)
++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++ data, err := ioutil.ReadFile(file)
++ if err == nil {
++ roots.AppendCertsFromPEM(data)
++ return roots, nil
++ }
++ }
+
+ if C.CFDataGetLength(untrustedData) == 0 {
+ return roots, nil
+diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
+index 2f6a8b8d60..b81889fe69 100644
+--- a/src/crypto/x509/root_darwin.go
++++ b/src/crypto/x509/root_darwin.go
+@@ -92,6 +92,14 @@ func execSecurityRoots() (*CertPool, error) {
+ verifyCh = make(chan rootCandidate)
+ )
+
++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++ data, err := ioutil.ReadFile(file)
++ if err == nil {
++ roots.AppendCertsFromPEM(data)
++ return roots, nil
++ }
++ }
++
+ // Using 4 goroutines to pipe into verify-cert seems to be
+ // about the best we can do. The verify-cert binary seems to
+ // just RPC to another server with coarse locking anyway, so
+diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
+index 48de50b4ea..750e12c6b4 100644
+--- a/src/crypto/x509/root_unix.go
++++ b/src/crypto/x509/root_unix.go
+@@ -38,6 +38,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
+
+ func loadSystemRoots() (*CertPool, error) {
+ roots := NewCertPool()
++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++ data, err := ioutil.ReadFile(file)
++ if err == nil {
++ roots.AppendCertsFromPEM(data)
++ return roots, nil
++ }
++ }
+
+ files := certFiles
+ if f := os.Getenv(certFileEnv); f != "" {
diff --git a/nixpkgs/pkgs/development/compilers/halide/default.nix b/nixpkgs/pkgs/development/compilers/halide/default.nix
index 683f8d7ace0..0b28b61a27b 100644
--- a/nixpkgs/pkgs/development/compilers/halide/default.nix
+++ b/nixpkgs/pkgs/development/compilers/halide/default.nix
@@ -3,7 +3,7 @@
}:
let
- version = "2018_02_15";
+ version = "2019_08_27";
in llvmPackages.stdenv.mkDerivation {
@@ -13,7 +13,7 @@ in llvmPackages.stdenv.mkDerivation {
owner = "halide";
repo = "Halide";
rev = "release_${version}";
- sha256 = "14lmpbxydx7ii0pxds6rgq5vw4i6yfjsq0bai1l5wwpv1rnwmbxd";
+ sha256 = "09xf8v9zyxx2fn6s1yzjkyzcf9zyzrg3x5vivgd2ljzbfhm8wh7n";
};
patches = [ ./nix.patch ];
@@ -58,7 +58,7 @@ in llvmPackages.stdenv.mkDerivation {
description = "C++ based language for image processing and computational photography";
homepage = "https://halide-lang.org";
license = licenses.mit;
- platforms = platforms.linux;
+ platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = [ maintainers.ck3d ];
};
}
diff --git a/nixpkgs/pkgs/development/compilers/halide/nix.patch b/nixpkgs/pkgs/development/compilers/halide/nix.patch
index 2ab1e31adeb..fb9bbf1a4cf 100644
--- a/nixpkgs/pkgs/development/compilers/halide/nix.patch
+++ b/nixpkgs/pkgs/development/compilers/halide/nix.patch
@@ -1,11 +1,11 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 40a685b7e..c452efd09 100644
+index 4ba384324..7e23038f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -49,10 +49,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
-
+@@ -75,10 +75,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
+
set(LLVM_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_MINOR}")
-
+
-file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-as${CMAKE_EXECUTABLE_SUFFIX}" LLVM_AS)
-file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/llvm-nm${CMAKE_EXECUTABLE_SUFFIX}" LLVM_NM)
-file(TO_NATIVE_PATH "${LLVM_TOOLS_BINARY_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}" CLANG)
@@ -14,7 +14,7 @@ index 40a685b7e..c452efd09 100644
+find_program(LLVM_NM llvm-nm HINTS ${LLVM_TOOLS_BINARY_DIR})
+find_program(CLANG clang HINTS ${LLVM_TOOLS_BINARY_DIR})
+find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_TOOLS_BINARY_DIR})
-
+
# LLVM doesn't appear to expose --system-libs via its CMake interface,
# so we must shell out to llvm-config to find this info
diff --git a/apps/linear_algebra/CMakeLists.txt b/apps/linear_algebra/CMakeLists.txt
@@ -27,7 +27,7 @@ index 132c80e6a..36ce865f2 100644
set(OpenBLAS_EXTRA_LIBS)
- set(BLAS_VENDORS OpenBLAS ATLAS)
+ set(BLAS_VENDORS OpenBLAS)
-
+
# TODO
# there are more vendors we could add here that support the cblas interface
@@ -41,6 +41,7 @@ if (CBLAS_FOUND)
@@ -39,17 +39,18 @@ index 132c80e6a..36ce865f2 100644
endif()
endforeach()
diff --git a/apps/linear_algebra/tests/CMakeLists.txt b/apps/linear_algebra/tests/CMakeLists.txt
-index 4b95eb3bb..1daa97437 100644
+index cc02eb0a4..c20419a0d 100644
--- a/apps/linear_algebra/tests/CMakeLists.txt
+++ b/apps/linear_algebra/tests/CMakeLists.txt
-@@ -19,6 +19,6 @@ target_compile_options(test_halide_blas PRIVATE -Wno-unused-variable)
+@@ -19,7 +19,7 @@ target_compile_options(test_halide_blas PRIVATE -Wno-unused-variable)
target_link_libraries(test_halide_blas
PRIVATE
halide_blas
- cblas # XXX fragile
+ ${BLAS_LIBRARIES}
- Halide
+ ${HALIDE_COMPILER_LIB}
)
---
-2.15.0
+
+--
+2.23.0
diff --git a/nixpkgs/pkgs/development/compilers/hhvm/default.nix b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
index 24e88f9ee2e..7066744bb54 100644
--- a/nixpkgs/pkgs/development/compilers/hhvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/hhvm/default.nix
@@ -2,7 +2,7 @@
, pcre, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
-, libxslt, freetype, gdb, git, perl, mysql, gmp, libyaml, libedit
+, libxslt, freetype, gdb, git, perl, libmysqlclient, gmp, libyaml, libedit
, libvpx, imagemagick, fribidi, gperf, which, ocamlPackages
}:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
};
buildInputs =
- [ cmake pkgconfig boost libunwind mysql.connector-c libmemcached pcre gdb git perl
+ [ cmake pkgconfig boost libunwind libmysqlclient libmemcached pcre gdb git perl
libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng libxslt libkrb5
diff --git a/nixpkgs/pkgs/development/compilers/intercal/default.nix b/nixpkgs/pkgs/development/compilers/intercal/default.nix
index 6640c4aa89a..d890dc0fdfa 100644
--- a/nixpkgs/pkgs/development/compilers/intercal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/intercal/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "intercal";
- version = "0.30";
+ version = "0.31";
src = fetchurl {
url = "http://catb.org/esr/intercal/${pname}-${version}.tar.gz";
- sha256 = "058ppvvgz9r5603ia9jkknbrciypgg4hjbczrv9v1d9w3ak652xk";
+ sha256 = "1z2gpa5rbqb7jscqlf258k0b0jc7d2zkyipb5csjpj6d3sw45n4k";
};
buildInputs =
diff --git a/nixpkgs/pkgs/development/compilers/ispc/default.nix b/nixpkgs/pkgs/development/compilers/ispc/default.nix
index f240deda0bf..762d1233bb6 100644
--- a/nixpkgs/pkgs/development/compilers/ispc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ispc/default.nix
@@ -1,5 +1,5 @@
{stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages,
-testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
+testedTargets ? ["sse2"] # the default test target is sse4, but that is not supported by all Hydra agents
}:
stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
index a6e3dfff4e0..276b9ae150a 100644
--- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -7,12 +7,12 @@
let drv = stdenv.mkDerivation rec {
pname = "jetbrainsjdk";
- version = "164";
+ version = "485.1";
src = if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
- url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz";
- sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi";
+ url = "https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_4-linux-x64-b${version}.tar.gz";
+ sha256 = "18jnn0dra9nsnyllwq0ljxzr58k2pg8d0kg10y39vnxwccic4f76";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
@@ -29,8 +29,7 @@ let drv = stdenv.mkDerivation rec {
installPhase = ''
cd ..
- mv $sourceRoot $out
- jrePath=$out/jre
+ mv $sourceRoot/jbrsdk $out
'';
postFixup = lib.optionalString (!stdenv.isDarwin) ''
diff --git a/nixpkgs/pkgs/development/compilers/jikes/default.nix b/nixpkgs/pkgs/development/compilers/jikes/default.nix
deleted file mode 100644
index 1247f369c5c..00000000000
--- a/nixpkgs/pkgs/development/compilers/jikes/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
- name = "jikes-1.22";
- src = fetchurl {
- url = mirror://sourceforge/jikes/jikes-1.22.tar.bz2;
- sha256 = "1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c";
- };
-
- meta = {
- platforms = stdenv.lib.platforms.unix;
- license = stdenv.lib.licenses.epl10;
- };
-}
diff --git a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
index 460ff405b94..d7c05331991 100644
--- a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "jsonnet";
- version = "0.13.0";
+ version = "0.14.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "google";
repo = "jsonnet";
- sha256 = "1fibr1kysbxcf8jp2a4xvs3n7i8d9k2430agxzc9mdyqrh79zlxk";
+ sha256 = "012zapx0xvlkl2y7dljpdn18gymnmzc4mma2yagf9pxnr286lwrf";
};
enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/kotlin/default.nix b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
index 90dc20fcd3e..12a75eb8f14 100644
--- a/nixpkgs/pkgs/development/compilers/kotlin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
let
- version = "1.3.41";
+ version = "1.3.50";
in stdenv.mkDerivation {
inherit version;
pname = "kotlin";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
- sha256 = "0ch1fynqjfsb7jklw3pa6fygrgnl8nz4x4v0id06wq4md23bcjn4";
+ sha256 = "1v66pnk810agf26khwdv7l8jpc11x6na5fyqxs9jvxdpls8l0hk9";
};
propagatedBuildInputs = [ jre ] ;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
index 4dde3be277a..474cfcde9c0 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -22,7 +22,7 @@ assert (stdenv.hostPlatform != stdenv.buildPlatform) -> !enableSharedLibraries;
let
# Used when creating a versioned symlinks of libLLVM.dylib
versionSuffixes = with stdenv.lib;
- let parts = splitString "." version; in
+ let parts = splitVersion version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
index 7e855995352..ac5dcbe6b94 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix
@@ -19,7 +19,7 @@
let
# Used when creating a versioned symlinks of libLLVM.dylib
versionSuffixes = with stdenv.lib;
- let parts = splitString "." release_version; in
+ let parts = splitVersion release_version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
index 02db395db57..2fe7df7695b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix
@@ -18,7 +18,7 @@
let
# Used when creating a versioned symlinks of libLLVM.dylib
versionSuffixes = with stdenv.lib;
- let parts = splitString "." release_version; in
+ let parts = splitVersion release_version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
index 2586602d737..a250c9fefac 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix
@@ -21,7 +21,7 @@ let
# Used when creating a versioned symlinks of libLLVM.dylib
versionSuffixes = with stdenv.lib;
- let parts = splitString "." release_version; in
+ let parts = splitVersion release_version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 0912435327c..5d7266f39ec 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python llvm ];
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
- cmakeFlags = [
+ cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false || stdenv.isDarwin) [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
- ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+ ] ++ stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
- ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch
+ ] ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch
++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
- '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
substituteInPlace lib/builtins/int_util.c \
--replace "#include <stdlib.h>" ""
substituteInPlace lib/builtins/clear_cache.c \
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
# Hack around weird upsream RPATH bug
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
ln -s "$out/lib"/*/* "$out/lib"
- '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
index b5e6e0e7048..522c8d1a163 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+{ stdenv, cmake, fetch, libcxx, llvm, version }:
stdenv.mkDerivation {
pname = "libc++abi";
@@ -7,7 +7,6 @@ stdenv.mkDerivation {
src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2";
nativeBuildInputs = [ cmake ];
- buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
postUnpack = ''
unpackFile ${libcxx.src}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
index cfcda02b413..068791406e8 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix
@@ -26,7 +26,7 @@ let
# Used when creating a versioned symlinks of libLLVM.dylib
versionSuffixes = with stdenv.lib;
- let parts = splitString "." release_version; in
+ let parts = splitVersion release_version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
in stdenv.mkDerivation ({
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 936c877d58c..88788852862 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -7,11 +7,10 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python llvm ];
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
- cmakeFlags = [
+ cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
- ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
@@ -37,7 +36,7 @@ stdenv.mkDerivation {
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
- ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch;
+ ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) ./crtbegin-and-end.patch;
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
@@ -47,7 +46,7 @@ stdenv.mkDerivation {
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
- '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
substituteInPlace lib/builtins/int_util.c \
--replace "#include <stdlib.h>" ""
substituteInPlace lib/builtins/clear_cache.c \
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
index 70e666ba27d..160e2a72366 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix
@@ -25,7 +25,7 @@ let
# Used when creating a version-suffixed symlink of libLLVM.dylib
shortVersion = with stdenv.lib;
- concatStringsSep "." (take 1 (splitString "." release_version));
+ concatStringsSep "." (take 1 (splitVersion release_version));
in stdenv.mkDerivation ({
name = "llvm-${version}";
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix b/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
new file mode 100644
index 00000000000..72a2a733193
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
@@ -0,0 +1,19 @@
+{ runCommand, stdenv, llvm, lld, version }:
+
+let
+ prefix =
+ if stdenv.hostPlatform != stdenv.targetPlatform
+ then "${stdenv.targetPlatform.config}-"
+ else "";
+in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+ mkdir -p $out/bin
+ for prog in ${lld}/bin/*; do
+ ln -s $prog $out/bin/${prefix}$(basename $prog)
+ done
+ for prog in ${llvm}/bin/*; do
+ ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||")
+ ln -sf $prog $out/bin/${prefix}$(basename $prog)
+ done
+ rm -f $out/bin/${prefix}cat
+ ln -s ${lld}/bin/lld $out/bin/${prefix}ld
+''
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch b/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch
new file mode 100644
index 00000000000..a4a0f21b0fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/compiler-rt-baremetal.patch
@@ -0,0 +1,53 @@
+Index: lib/Driver/ToolChains/BareMetal.cpp
+===================================================================
+--- a/lib/Driver/ToolChains/BareMetal.cpp
++++ b/lib/Driver/ToolChains/BareMetal.cpp
+@@ -157,7 +157,7 @@
+ void BareMetal::AddLinkRuntimeLib(const ArgList &Args,
+ ArgStringList &CmdArgs) const {
+ CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" +
+- getTriple().getArchName() + ".a"));
++ getTriple().getArchName()));
+ }
+
+ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+Index: test/Driver/baremetal.cpp
+===================================================================
+--- a/test/Driver/baremetal.cpp
++++ b/test/Driver/baremetal.cpp
+@@ -13,7 +13,7 @@
+ // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
+-// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
+
+ // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -35,7 +35,7 @@
+ // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
+-// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
+
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -48,7 +48,7 @@
+ // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
+-// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
+
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+@@ -61,7 +61,7 @@
+ // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
+-// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
++// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
+ // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
+
+ // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
new file mode 100644
index 00000000000..bf9b1a32a83
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
@@ -0,0 +1,121 @@
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
+, fixDarwinDylibNames
+, enableManpages ? false
+, enablePolly ? false # TODO: get this info from llvm (passthru?)
+}:
+
+let
+ self = stdenv.mkDerivation ({
+ pname = "clang";
+ inherit version;
+
+ src = fetch "cfe" "0426ma80i41qsgzm1qdz81mjskck426diygxi2k5vji2gkpixa3v";
+
+ unpackPhase = ''
+ unpackFile $src
+ mv cfe-${version}* clang
+ sourceRoot=$PWD/clang
+ unpackFile ${clang-tools-extra_src}
+ mv clang-tools-extra-* $sourceRoot/tools/extra
+ '';
+
+ nativeBuildInputs = [ cmake python ]
+ ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+ buildInputs = [ libxml2 llvm ]
+ ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+ cmakeFlags = [
+ "-DCMAKE_CXX_FLAGS=-std=c++11"
+ "-DCLANGD_BUILD_XPC=OFF"
+ ] ++ stdenv.lib.optionals enableManpages [
+ "-DCLANG_INCLUDE_DOCS=ON"
+ "-DLLVM_ENABLE_SPHINX=ON"
+ "-DSPHINX_OUTPUT_MAN=ON"
+ "-DSPHINX_OUTPUT_HTML=OFF"
+ "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+ ] ++ stdenv.lib.optionals enablePolly [
+ "-DWITH_POLLY=ON"
+ "-DLINK_POLLY_INTO_TOOLS=ON"
+ ];
+
+ patches = [
+ ./purity.patch
+ # https://reviews.llvm.org/D51899
+ ./compiler-rt-baremetal.patch
+ ];
+
+ postPatch = ''
+ sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
+ -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
+ lib/Driver/ToolChains/*.cpp
+
+ # Patch for standalone doc building
+ sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
+ substituteInPlace tools/extra/clangd/CMakeLists.txt \
+ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
+ '';
+
+ outputs = [ "out" "lib" "python" ];
+
+ # Clang expects to find LLVMgold in its own prefix
+ postInstall = ''
+ if [ -e ${llvm}/lib/LLVMgold.so ]; then
+ ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+ fi
+
+ ln -sv $out/bin/clang $out/bin/cpp
+
+ # Move libclang to 'lib' output
+ moveToOutput "lib/libclang.*" "$lib"
+ moveToOutput "lib/libclang-cpp.*" "$lib"
+ substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+ --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
+ mkdir -p $python/bin $python/share/clang/
+ mv $out/bin/{git-clang-format,scan-view} $python/bin
+ if [ -e $out/bin/set-xcode-analyzer ]; then
+ mv $out/bin/set-xcode-analyzer $python/bin
+ fi
+ mv $out/share/clang/*.py $python/share/clang
+ rm $out/bin/c-index-test
+ '';
+
+ enableParallelBuilding = true;
+
+ passthru = {
+ isClang = true;
+ inherit llvm;
+ } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
+ gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+ };
+
+ meta = {
+ description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+ homepage = http://llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ platforms = stdenv.lib.platforms.all;
+ };
+ } // stdenv.lib.optionalAttrs enableManpages {
+ pname = "clang-manpages";
+
+ buildPhase = ''
+ make docs-clang-man
+ '';
+
+ installPhase = ''
+ mkdir -p $out/share/man/man1
+ # Manually install clang manpage
+ cp docs/man/*.1 $out/share/man/man1/
+ '';
+
+ outputs = [ "out" ];
+
+ doCheck = false;
+
+ meta.description = "man page for Clang ${version}";
+ });
+in self
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch b/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch
new file mode 100644
index 00000000000..a6729a9b004
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/purity.patch
@@ -0,0 +1,30 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+ if (!IsStatic) {
+ if (Args.hasArg(options::OPT_rdynamic))
+ CmdArgs.push_back("-export-dynamic");
+-
+- if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
+- const std::string Loader =
+- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
+- CmdArgs.push_back("-dynamic-linker");
+- CmdArgs.push_back(Args.MakeArgString(Loader));
+- }
+ }
+
+ CmdArgs.push_back("-o");
+--
+2.11.0
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch
new file mode 100644
index 00000000000..3cc12b94b20
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt-codesign.patch
@@ -0,0 +1,33 @@
+From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Tue, 19 Sep 2017 13:13:06 -0500
+Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
+ needs it
+
+---
+ cmake/Modules/AddCompilerRT.cmake | 8 ------
+ test/asan/CMakeLists.txt | 52 ---------------------------------------
+ test/tsan/CMakeLists.txt | 47 -----------------------------------
+ 3 files changed, 107 deletions(-)
+
+diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
+index bc5fb9ff7..b64eb4246 100644
+--- a/cmake/Modules/AddCompilerRT.cmake
++++ b/cmake/Modules/AddCompilerRT.cmake
+@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
+ set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+ set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+ endif()
+- if(APPLE)
+- # Ad-hoc sign the dylibs
+- add_custom_command(TARGET ${libname}
+- POST_BUILD
+- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
+- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+- )
+- endif()
+ endif()
+ install(TARGETS ${libname}
+ ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
+2.14.1
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix
new file mode 100644
index 00000000000..9a333ad7c11
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix
@@ -0,0 +1,68 @@
+{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
+stdenv.mkDerivation rec {
+ pname = "compiler-rt";
+ inherit version;
+ src = fetch pname "03ni43lbkp63lr3p6sc94dphqmvnz5av5mml0xmk930xvnbcvr2n";
+
+ nativeBuildInputs = [ cmake python llvm ];
+ buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
+
+ cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
+ "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+ "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+ "-DCMAKE_C_FLAGS=-nodefaultlibs"
+ "-DCMAKE_CXX_COMPILER_WORKS=ON"
+ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+ "-DCOMPILER_RT_BUILD_XRAY=OFF"
+ "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+ "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+ "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
+ #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
+ "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+ "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
+ ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+ "-DCOMPILER_RT_BUILD_XRAY=OFF"
+ "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+ "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+ ] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [
+ "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
+ "-DCOMPILER_RT_OS_DIR=baremetal"
+ ];
+
+ outputs = [ "out" "dev" ];
+
+ patches = [
+ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+ ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
+
+ # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+ # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+ # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+ # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+ # a flag and turn the flag off during the stdenv build.
+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace cmake/config-ix.cmake \
+ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
+ substituteInPlace lib/builtins/int_util.c \
+ --replace "#include <stdlib.h>" ""
+ substituteInPlace lib/builtins/clear_cache.c \
+ --replace "#include <assert.h>" ""
+ substituteInPlace lib/builtins/cpu_model.c \
+ --replace "#include <assert.h>" ""
+ '';
+
+ # Hack around weird upsream RPATH bug
+ postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
+ ln -s "$out/lib"/*/* "$out/lib"
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
+ ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
+ ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
+ ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
+ ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
+ '';
+
+ enableParallelBuilding = true;
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
new file mode 100644
index 00000000000..1590d180c3f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
@@ -0,0 +1,197 @@
+{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
+, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
+, buildLlvmTools # tools, but from the previous stage, for cross
+, targetLlvmLibraries # libraries, but from the next stage, for cross
+}:
+
+let
+ release_version = "9.0.0";
+ version = release_version; # differentiating these is important for rc's
+
+ fetch = name: sha256: fetchurl {
+ url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
+ inherit sha256;
+ };
+
+ clang-tools-extra_src = fetch "clang-tools-extra" "045cldmcfd8s33wyjlviifgpnw52yqicd6v4ysvdg4i96p78c77a";
+
+ tools = stdenv.lib.makeExtensible (tools: let
+ callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+ mkExtraBuildCommands = cc: ''
+ rsrc="$out/resource-root"
+ mkdir "$rsrc"
+ ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
+ ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+ echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+ '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
+ echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
+ '';
+ in {
+
+ llvm = callPackage ./llvm.nix { };
+ llvm-polly = callPackage ./llvm.nix { enablePolly = true; };
+
+ clang-unwrapped = callPackage ./clang {
+ inherit clang-tools-extra_src;
+ };
+ clang-polly-unwrapped = callPackage ./clang {
+ inherit clang-tools-extra_src;
+ llvm = tools.llvm-polly;
+ enablePolly = true;
+ };
+
+ llvm-manpages = lowPrio (tools.llvm.override {
+ enableManpages = true;
+ python = pkgs.python; # don't use python-boot
+ });
+
+ clang-manpages = lowPrio (tools.clang-unwrapped.override {
+ enableManpages = true;
+ python = pkgs.python; # don't use python-boot
+ });
+
+ libclang = tools.clang-unwrapped.lib;
+
+ clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+
+ libstdcxxClang = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ extraPackages = [
+ libstdcxxHook
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = mkExtraBuildCommands cc;
+ };
+
+ libcxxClang = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ libcxx = targetLlvmLibraries.libcxx;
+ extraPackages = [
+ targetLlvmLibraries.libcxx
+ targetLlvmLibraries.libcxxabi
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = mkExtraBuildCommands cc;
+ };
+
+ lld = callPackage ./lld.nix {};
+
+ lldb = callPackage ./lldb.nix {};
+
+ # Below, is the LLVM bootstrapping logic. It handles building a
+ # fully LLVM toolchain from scratch. No GCC toolchain should be
+ # pulled in. As a consequence, it is very quick to build different
+ # targets provided by LLVM and we can also build for what GCC
+ # doesn’t support like LLVM. Probably we should move to some other
+ # file.
+
+ bintools = callPackage ./bintools.nix {};
+
+ lldClang = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ libcxx = targetLlvmLibraries.libcxx;
+ bintools = wrapBintoolsWith {
+ inherit (tools) bintools;
+ };
+ extraPackages = [
+ targetLlvmLibraries.libcxx
+ targetLlvmLibraries.libcxxabi
+ targetLlvmLibraries.compiler-rt
+ ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [
+ targetLlvmLibraries.libunwind
+ ];
+ extraBuildCommands = ''
+ echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+ echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
+ echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+ '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) ''
+ echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
+ '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm ''
+ echo "-fno-exceptions" >> $out/nix-support/cc-cflags
+ '' + mkExtraBuildCommands cc;
+ };
+
+ lldClangNoLibcxx = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ libcxx = null;
+ bintools = wrapBintoolsWith {
+ inherit (tools) bintools;
+ };
+ extraPackages = [
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = ''
+ echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+ echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+ echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+ echo "-nostdlib++" >> $out/nix-support/cc-cflags
+ '' + mkExtraBuildCommands cc;
+ };
+
+ lldClangNoLibc = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ libcxx = null;
+ bintools = wrapBintoolsWith {
+ inherit (tools) bintools;
+ libc = null;
+ };
+ extraPackages = [
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = ''
+ echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+ echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+ echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+ '' + mkExtraBuildCommands cc;
+ };
+
+ lldClangNoCompilerRt = wrapCCWith {
+ cc = tools.clang-unwrapped;
+ libcxx = null;
+ bintools = wrapBintoolsWith {
+ inherit (tools) bintools;
+ libc = null;
+ };
+ extraPackages = [ ];
+ extraBuildCommands = ''
+ echo "-nostartfiles" >> $out/nix-support/cc-cflags
+ echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
+ '';
+ };
+
+ });
+
+ libraries = stdenv.lib.makeExtensible (libraries: let
+ callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+ in {
+
+ compiler-rt = callPackage ./compiler-rt.nix ({} //
+ (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+ stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt;
+ }));
+
+ stdenv = overrideCC stdenv buildLlvmTools.clang;
+
+ libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
+
+ libcxx = callPackage ./libc++ ({} //
+ (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+ stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+ }));
+
+ libcxxabi = callPackage ./libc++abi.nix ({} //
+ (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+ stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+ libunwind = libraries.libunwind;
+ }));
+
+ openmp = callPackage ./openmp.nix {};
+
+ libunwind = callPackage ./libunwind.nix ({} //
+ (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
+ stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
+ }));
+
+ });
+
+in { inherit tools libraries; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch b/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch
new file mode 100644
index 00000000000..e6c2f040684
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/fix-test-on-non-x86-like-others.patch
@@ -0,0 +1,23 @@
+Index: test/tools/gold/X86/linkonce_odr_unnamed_addr.ll
+===================================================================
+diff --git a/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll b/llvm/trunk/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll
+--- a/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll (revision 372333)
++++ b/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll (working copy)
+@@ -3,7 +3,7 @@
+
+ ; RUN: opt -module-summary %s -o %t.o
+ ; RUN: opt -module-summary %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2.o
+-; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \
++; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
+ ; RUN: --plugin-opt=save-temps \
+ ; RUN: %t.o %t2.o -o %t3.o
+ ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s
+@@ -11,7 +11,7 @@
+ ; Now test when one module is a native object. In that case we must be
+ ; conservative and not auto hide.
+ ; RUN: llc %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2native.o -filetype=obj
+-; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \
++; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
+ ; RUN: --plugin-opt=save-temps \
+ ; RUN: %t.o %t2native.o -o %t3.o
+ ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s --check-prefix=NOSUMMARY
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix
new file mode 100644
index 00000000000..daf8ed5a9ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version
+, enableShared ? true }:
+
+stdenv.mkDerivation {
+ pname = "libc++";
+ inherit version;
+
+ src = fetch "libcxx" "136j3v7il9aq8wyp48klx6sifnl5asj4lf5c8yx08cjx5fbn4h9w";
+
+ postUnpack = ''
+ unpackFile ${libcxxabi.src}
+ export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
+ '';
+
+ patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
+
+ preConfigure = ''
+ # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
+ cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+ '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+ patchShebangs utils/cat_files.py
+ '';
+ nativeBuildInputs = [ cmake ]
+ ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python;
+
+ buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+ cmakeFlags = [
+ "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+ "-DLIBCXX_LIBCPPABI_VERSION=2"
+ "-DLIBCXX_CXX_ABI=libcxxabi"
+ ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+ ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
+ ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [
+ "-DLIBCXX_ENABLE_THREADS=OFF"
+ "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
+ "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
+ ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
+
+ enableParallelBuilding = true;
+
+ linkCxxAbi = stdenv.isLinux;
+
+ setupHooks = [
+ ../../../../../build-support/setup-hooks/role.bash
+ ./setup-hook.sh
+ ];
+
+ meta = {
+ homepage = http://libcxx.llvm.org/;
+ description = "A new implementation of the C++ standard library, targeting C++11";
+ license = with stdenv.lib.licenses; [ ncsa mit ];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh
new file mode 100644
index 00000000000..6611259165a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/setup-hook.sh
@@ -0,0 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+linkCxxAbi="@linkCxxAbi@"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix
new file mode 100644
index 00000000000..7afff991e75
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix
@@ -0,0 +1,67 @@
+{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version
+, enableShared ? true }:
+
+stdenv.mkDerivation {
+ pname = "libc++abi";
+ inherit version;
+
+ src = fetch "libcxxabi" "1s9haplqv8ashlsdx2psxiqxh50gqk2jp2vz5yn0djb56mw42l37";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+
+ cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+ "-DLLVM_ENABLE_LIBCXX=ON"
+ "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+ ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [
+ "-DLIBCXXABI_ENABLE_THREADS=OFF"
+ "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
+ ] ++ stdenv.lib.optionals (!enableShared) [
+ "-DLIBCXXABI_ENABLE_SHARED=OFF"
+ ];
+
+ patches = [ ./libcxxabi-no-threads.patch ];
+
+ postUnpack = ''
+ unpackFile ${libcxx.src}
+ unpackFile ${llvm.src}
+ cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
+ export TRIPLE=x86_64-apple-darwin
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm ''
+ patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch}
+ '';
+
+ installPhase = if stdenv.isDarwin
+ then ''
+ for file in lib/*.dylib; do
+ # this should be done in CMake, but having trouble figuring out
+ # the magic combination of necessary CMake variables
+ # if you fancy a try, take a look at
+ # http://www.cmake.org/Wiki/CMake_RPATH_handling
+ install_name_tool -id $out/$file $file
+ done
+ make install
+ install -d 755 $out/include
+ install -m 644 ../include/*.h $out/include
+ ''
+ else ''
+ install -d -m 755 $out/include $out/lib
+ install -m 644 lib/libc++abi.a $out/lib
+ install -m 644 ../include/cxxabi.h $out/include
+ '' + stdenv.lib.optionalString enableShared ''
+ install -m 644 lib/libc++abi.so.1.0 $out/lib
+ ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+ ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+ '';
+
+ meta = {
+ homepage = http://libcxxabi.llvm.org/;
+ description = "A new implementation of low level support for a standard C++ library";
+ license = with stdenv.lib.licenses; [ ncsa mit ];
+ maintainers = with stdenv.lib.maintainers; [ vlstill ];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch
new file mode 100644
index 00000000000..787f3e16500
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-no-threads.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4138acf..41b4763 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
+ " is also set to ON.")
+ endif()
+ add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
++ add_definitions(-D_LIBCPP_HAS_NO_THREADS)
+ endif()
+
+ if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch
new file mode 100644
index 00000000000..4ebfe46aa81
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libcxxabi-wasm.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
+index 15497d405e0..33f7f18193a 100644
+--- a/cmake/modules/HandleLLVMOptions.cmake
++++ b/cmake/modules/HandleLLVMOptions.cmake
+@@ -127,7 +127,10 @@ else(WIN32)
+ set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
+ endif()
+ else(FUCHSIA OR UNIX)
+- MESSAGE(SEND_ERROR "Unable to determine platform")
++ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
++ else()
++ MESSAGE(SEND_ERROR "Unable to determine platform")
++ endif()
+ endif(FUCHSIA OR UNIX)
+ endif(WIN32)
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix
new file mode 100644
index 00000000000..5eba9e03c78
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix
@@ -0,0 +1,14 @@
+{ stdenv, version, fetch, cmake, fetchpatch, enableShared ? true }:
+
+stdenv.mkDerivation rec {
+ pname = "libunwind";
+ inherit version;
+
+ src = fetch pname "1chd1nz4bscrs6qa7p8sqgk5df86ll0frv0f451vhks2w44qsslp";
+
+ nativeBuildInputs = [ cmake ];
+
+ enableParallelBuilding = true;
+
+ cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix
new file mode 100644
index 00000000000..c5baef4357e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetch
+, cmake
+, libxml2
+, llvm
+, version
+}:
+
+stdenv.mkDerivation rec {
+ pname = "lld";
+ inherit version;
+
+ src = fetch pname "14cgd34gr826qpxzhrkbz6qgm8ymds0hrsiznwzp42ax4f5p9iii";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ llvm libxml2 ];
+
+ outputs = [ "out" "dev" ];
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ moveToOutput include "$dev"
+ moveToOutput lib "$dev"
+ '';
+
+ meta = {
+ description = "The LLVM Linker";
+ homepage = http://lld.llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch b/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch
new file mode 100644
index 00000000000..b075dbaeee0
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lldb-procfs.patch
@@ -0,0 +1,31 @@
+--- a/source/Plugins/Process/Linux/Procfs.h
++++ b/source/Plugins/Process/Linux/Procfs.h
+@@ -11,21 +11,12 @@
+ // sys/procfs.h on Android/Linux for all supported architectures.
+
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
+
+-#ifdef __ANDROID__
+-#if defined(__arm64__) || defined(__aarch64__)
+-typedef unsigned long elf_greg_t;
+-typedef elf_greg_t
+- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
+-typedef struct user_fpsimd_state elf_fpregset_t;
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#elif defined(__mips__)
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#endif
+-#else // __ANDROID__
++#if !defined(__GLIBC__) && defined(__powerpc__)
++#define pt_regs musl_pt_regs
++#include <sys/procfs.h>
++#undef pt_regs
++#else
+ #include <sys/procfs.h>
+-#endif // __ANDROID__
++#endif
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix
new file mode 100644
index 00000000000..ee281384c40
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, llvm
+, clang-unwrapped
+, python
+, version
+, darwin
+, lit
+}:
+
+stdenv.mkDerivation rec {
+ pname = "lldb";
+ inherit version;
+
+ src = fetch pname "1507dl0xw03nppxpz2xsq4s30jdbkplx4w14za54ngqm3xm2yk0y";
+
+ patches = [ ./lldb-procfs.patch ];
+
+ nativeBuildInputs = [ cmake python which swig lit ];
+ buildInputs = [
+ ncurses
+ zlib
+ libedit
+ libxml2
+ llvm
+ ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [
+ darwin.libobjc
+ darwin.apple_sdk.libs.xpc
+ darwin.apple_sdk.frameworks.Foundation
+ darwin.bootstrap_cmds
+ darwin.apple_sdk.frameworks.Carbon
+ darwin.apple_sdk.frameworks.Cocoa
+ ];
+
+ CXXFLAGS = "-fno-rtti";
+ hardeningDisable = [ "format" ];
+
+ cmakeFlags = [
+ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+ "-DClang_DIR=${clang-unwrapped}/lib/cmake"
+ "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
+ ];
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ # man page
+ mkdir -p $out/share/man/man1
+ install ../docs/lldb.1 -t $out/share/man/man1/
+
+ # Editor support
+ # vscode:
+ install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
+ mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+ ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A next-generation high-performance debugger";
+ homepage = http://llvm.org/;
+ license = licenses.ncsa;
+ platforms = platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch
new file mode 100644
index 00000000000..40096fa3497
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm-outputs.patch
@@ -0,0 +1,26 @@
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 94d426b..37f7794 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+ ActiveIncludeOption = "-I" + ActiveIncludeDir;
+ }
+
++ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++ if (!IsInDevelopmentTree) {
++ bool WantShared = true;
++ for (int i = 1; i < argc; ++i) {
++ StringRef Arg = argv[i];
++ if (Arg == "--link-shared")
++ WantShared = true;
++ else if (Arg == "--link-static")
++ WantShared = false; // the last one wins
++ }
++
++ if (WantShared)
++ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++ }
++
+ /// We only use `shared library` mode in cases where the static library form
+ /// of the components provided are not available; note however that this is
+ /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix
new file mode 100644
index 00000000000..9bc7e1fc20b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix
@@ -0,0 +1,182 @@
+{ stdenv
+, fetch
+, cmake
+, python
+, libffi
+, libbfd
+, libpfm
+, libxml2
+, ncurses
+, version
+, release_version
+, zlib
+, buildPackages
+, debugVersion ? false
+, enableManpages ? false
+, enableSharedLibraries ? true
+, enablePFM ? !(stdenv.isDarwin
+ || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
+)
+, enablePolly ? false
+}:
+
+let
+ inherit (stdenv.lib) optional optionals optionalString;
+
+ # Used when creating a version-suffixed symlink of libLLVM.dylib
+ shortVersion = with stdenv.lib;
+ concatStringsSep "." (take 1 (splitString "." release_version));
+
+in stdenv.mkDerivation (rec {
+ pname = "llvm";
+ inherit version;
+
+ src = fetch pname "117ymdz1by2nkfq1c2p9m4050dp848kbjbiv6nsfj8hzy9f5d86n";
+ polly_src = fetch "polly" "0cyl2gsibf1dhqvkyw1qb0f8q58ib6cihzyh4f9kj9g77ll95ym4";
+
+ unpackPhase = ''
+ unpackFile $src
+ mv llvm-${version}* llvm
+ sourceRoot=$PWD/llvm
+ '' + optionalString enablePolly ''
+ unpackFile $polly_src
+ mv polly-* $sourceRoot/tools/polly
+ '';
+
+ outputs = [ "out" "python" ]
+ ++ optional enableSharedLibraries "lib";
+
+ nativeBuildInputs = [ cmake python ]
+ ++ optionals enableManpages [ python.pkgs.sphinx python.pkgs.recommonmark ];
+
+ buildInputs = [ libxml2 libffi ]
+ ++ optional enablePFM libpfm; # exegesis
+
+ propagatedBuildInputs = [ ncurses zlib ];
+
+ postPatch = optionalString stdenv.isDarwin ''
+ substituteInPlace cmake/modules/AddLLVM.cmake \
+ --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
+ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
+ ''
+ # Patch llvm-config to return correct library path based on --link-{shared,static}.
+ + optionalString (enableSharedLibraries) ''
+ substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
+ patch -p1 < ./llvm-outputs.patch
+ '' + ''
+ # FileSystem permissions tests fail with various special bits
+ substituteInPlace unittests/Support/CMakeLists.txt \
+ --replace "Path.cpp" ""
+ rm unittests/Support/Path.cpp
+ '' + optionalString stdenv.hostPlatform.isMusl ''
+ patch -p1 -i ${../TLI-musl.patch}
+ substituteInPlace unittests/Support/CMakeLists.txt \
+ --replace "add_subdirectory(DynamicLibrary)" ""
+ rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+ # valgrind unhappy with musl or glibc, but fails w/musl only
+ rm test/CodeGen/AArch64/wineh4.mir
+ '' + ''
+ patchShebangs test/BugPoint/compile-custom.ll.py
+
+ # Fix test so that no extra locale files are needed
+ substituteInPlace test/tools/llvm-ar/mri-utf8.test \
+ --replace en_US.UTF-8 C.UTF-8
+
+ # Fix x86 gold test on non-x86 platforms
+ # (similar fix made to others in this directory previously, FWIW)
+ patch -p1 -i ${./fix-test-on-non-x86-like-others.patch}
+ '';
+
+ # hacky fix: created binaries need to be run before installation
+ preBuild = ''
+ mkdir -p $out/
+ ln -sv $PWD/lib $out
+ '';
+
+ cmakeFlags = with stdenv; [
+ "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
+ "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
+ "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_ENABLE_FFI=ON"
+ "-DLLVM_ENABLE_RTTI=ON"
+ "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+ "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+ "-DLLVM_ENABLE_DUMP=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ] ++ optionals enableManpages [
+ "-DLLVM_BUILD_DOCS=ON"
+ "-DLLVM_ENABLE_SPHINX=ON"
+ "-DSPHINX_OUTPUT_MAN=ON"
+ "-DSPHINX_OUTPUT_HTML=OFF"
+ "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+ ] ++ optionals (!isDarwin) [
+ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+ ] ++ optionals (isDarwin) [
+ "-DLLVM_ENABLE_LIBCXX=ON"
+ "-DCAN_TARGET_i386=false"
+ ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "-DCMAKE_CROSSCOMPILING=True"
+ "-DLLVM_TABLEGEN=${buildPackages.llvm_7}/bin/llvm-tblgen"
+ ];
+
+ postBuild = ''
+ rm -fR $out
+ '';
+
+ preCheck = ''
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+ '';
+
+ postInstall = ''
+ mkdir -p $python/share
+ mv $out/share/opt-viewer $python/share/opt-viewer
+ ''
+ + optionalString enableSharedLibraries ''
+ moveToOutput "lib/libLLVM-*" "$lib"
+ moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
+ substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
+ ''
+ + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+ substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
+ ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+ ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+ '';
+
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+
+ checkTarget = "check-all";
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Collection of modular and reusable compiler and toolchain technologies";
+ homepage = http://llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
+ platforms = stdenv.lib.platforms.all;
+ };
+} // stdenv.lib.optionalAttrs enableManpages {
+ pname = "llvm-manpages";
+
+ buildPhase = ''
+ make docs-llvm-man
+ '';
+
+ propagatedBuildInputs = [];
+
+ installPhase = ''
+ make -C docs install
+ '';
+
+ postPatch = null;
+ postInstall = null;
+
+ outputs = [ "out" ];
+
+ doCheck = false;
+
+ meta.description = "man pages for LLVM ${version}";
+})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix
new file mode 100644
index 00000000000..a511aed2eb8
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetch
+, cmake
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation rec {
+ pname = "openmp";
+ inherit version;
+
+ src = fetch pname "0nrv9np134b7c483jnq786spy3hbpj11d7g21g67cqq66c8ynycr";
+
+ nativeBuildInputs = [ cmake perl ];
+ buildInputs = [ llvm ];
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Components required to build an executable OpenMP program";
+ homepage = http://openmp.llvm.org/;
+ license = stdenv.lib.licenses.mit;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch b/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch
new file mode 100644
index 00000000000..1f2ac97818e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/sanitizers-nongnu.patch
@@ -0,0 +1,412 @@
+From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 24 Sep 2018 11:17:25 -0500
+Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project.
+
+------
+Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc | 4 +-
+ lib/interception/interception_linux.cc | 2 +-
+ lib/interception/interception_linux.h | 2 +-
+ lib/msan/msan_linux.cc | 2 +-
+ lib/sanitizer_common/sanitizer_allocator.cc | 2 +-
+ .../sanitizer_common_interceptors_ioctl.inc | 4 +-
+ .../sanitizer_common_syscalls.inc | 2 +-
+ lib/sanitizer_common/sanitizer_linux.cc | 8 +++-
+ .../sanitizer_linux_libcdep.cc | 10 ++---
+ lib/sanitizer_common/sanitizer_platform.h | 6 +++
+ .../sanitizer_platform_interceptors.h | 4 +-
+ .../sanitizer_platform_limits_posix.cc | 37 +++++++++++--------
+ lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
+ 13 files changed, 51 insertions(+), 34 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 625f32d40..73cf77aca 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -46,7 +46,7 @@
+ #include <link.h>
+ #endif
+
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #elif SANITIZER_NETBSD
+@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+ UNIMPLEMENTED();
+ }
+
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index 26bfcd8f6..529b234f7 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+ }
+
+ // Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+ return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 942c25609..24a4d5080 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+ (::__interception::uptr) & WRAP(func))
+
+ // Android, Solaris and OpenBSD do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+ (::__interception::real_##func = (func##_f)( \
+ unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 385a650c4..6e30a8ce9 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
+
+ #include "msan.h"
+ #include "msan_report.h"
+diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
+index 6bfd5e5ee..048f6154f 100644
+--- a/lib/sanitizer_common/sanitizer_allocator.cc
++++ b/lib/sanitizer_common/sanitizer_allocator.cc
+@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator";
+
+ // ThreadSanitizer for Go uses libc malloc/free.
+ #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
+-# if SANITIZER_LINUX && !SANITIZER_ANDROID
++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ extern "C" void *__libc_malloc(uptr size);
+ # if !SANITIZER_GO
+ extern "C" void *__libc_memalign(uptr alignment, uptr size);
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 2d633c173..b6eb23116 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -104,7 +104,7 @@ static void ioctl_table_fill() {
+ _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ // Conflicting request ids.
+ // _(CDROMAUDIOBUFSIZ, NONE, 0);
+ // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -365,7 +365,7 @@ static void ioctl_table_fill() {
+ _(VT_WAITACTIVE, NONE, 0);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+ _(CYGETDEFTHRESH, WRITE, sizeof(int));
+ _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+ }
+ }
+
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+ void *old_rlim) {
+ if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
+index 96d6c1eff..9e2b7fb9d 100644
+--- a/lib/sanitizer_common/sanitizer_linux.cc
++++ b/lib/sanitizer_common/sanitizer_linux.cc
+@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) {
+ #endif
+ }
+
+-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD
++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ extern "C" {
+ SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
+ }
+ #endif
+
+-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
+ !SANITIZER_OPENBSD
+ static void ReadNullSepFileToArray(const char *path, char ***arr,
+ int arr_size) {
+@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
+ #elif SANITIZER_NETBSD
+ *argv = __ps_strings->ps_argvstr;
+ *envp = __ps_strings->ps_envstr;
++#elif SANITIZER_NONGNU
++ static const int kMaxArgv = 2000, kMaxEnvp = 2000;
++ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
++ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
+ #else // SANITIZER_FREEBSD
+ #if !SANITIZER_GO
+ if (&__libc_stack_end) {
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 4962ff832..438f94dbe 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor,
+ }
+
+ #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
+- !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS
++ !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+
+ #ifdef __i386__
+@@ -261,7 +261,7 @@ void InitTlsSize() { }
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) || \
+ defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) || \
+ defined(__arm__)) && \
+- SANITIZER_LINUX && !SANITIZER_ANDROID
++ SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t thread_descriptor_size;
+
+@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
+
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+ *addr = ThreadSelf();
+ *size = GetTlsSize();
+@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #elif SANITIZER_OPENBSD
+ *addr = 0;
+ *size = 0;
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+ *addr = 0;
+ *size = 0;
+ #elif SANITIZER_SOLARIS
+@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+ #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
+- SANITIZER_OPENBSD || SANITIZER_SOLARIS
++ SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ uptr addr, size;
+ GetTls(&addr, &size);
+ return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index d81e25580..e10680ac8 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -208,6 +208,12 @@
+ # define SANITIZER_SOLARIS32 0
+ #endif
+
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ #if defined(__myriad2__)
+ # define SANITIZER_MYRIAD2 1
+ #else
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index f95539a73..6c53b3415 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -39,7 +39,7 @@
+ # include "sanitizer_platform_limits_solaris.h"
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+@@ -322,7 +322,7 @@
+ #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_SHMCTL \
+ (SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \
+- ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
++ ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
+ SANITIZER_WORDSIZE == 64)) // NOLINT
+ #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
+ #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index 54da635d7..2f6ff69c3 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+
+ #include "sanitizer_platform.h"
+
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++# if !SANITIZER_NONGNU
++# include <obstack.h>
++# endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -251,7 +256,7 @@ namespace __sanitizer {
+ unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
+ // has been removed from glibc 2.28.
+ #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ int glob_nomatch = GLOB_NOMATCH;
+ int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned struct_termios_sz = sizeof(struct termios);
+ unsigned struct_winsize_sz = sizeof(struct winsize);
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ unsigned struct_arpreq_sz = sizeof(struct arpreq);
+ unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+ unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+ unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+ unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+ unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(x, y) 0
+@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+
+ CHECK_TYPE_SIZE(ether_addr);
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+
+@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index de989b780..51a97b554 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -294,7 +294,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ int cnt = 0;
+ struct __res_state *statp = (struct __res_state*)state;
+ for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+--
+2.19.0
+
diff --git a/nixpkgs/pkgs/development/compilers/neko/default.nix b/nixpkgs/pkgs/development/compilers/neko/default.nix
index 74ccaac388f..79c4aacbed5 100644
--- a/nixpkgs/pkgs/development/compilers/neko/default.nix
+++ b/nixpkgs/pkgs/development/compilers/neko/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, boehmgc, zlib, sqlite, pcre, cmake, pkgconfig
-, git, apacheHttpd, apr, aprutil, mysql, mbedtls, openssl, pkgs, gtk2, libpthreadstubs
+, git, apacheHttpd, apr, aprutil, libmysqlclient, mbedtls, openssl, pkgs, gtk2, libpthreadstubs
}:
stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig git ];
buildInputs =
[ boehmgc zlib sqlite pcre apacheHttpd apr aprutil
- mysql.connector-c mbedtls openssl libpthreadstubs ]
+ libmysqlclient mbedtls openssl libpthreadstubs ]
++ stdenv.lib.optional stdenv.isLinux gtk2
++ stdenv.lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security
pkgs.darwin.apple_sdk.frameworks.Carbon];
diff --git a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index 357f26cf314..d9f6f9f65dd 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
@@ -14,13 +14,14 @@ let
in
with stdenv; mkDerivation rec {
pname = "nextpnr";
- version = "2019.08.31";
+ version = "2019.09.28";
src = fetchFromGitHub {
owner = "yosyshq";
repo = "nextpnr";
- rev = "c0b7379e8672b6263152d5e340e62f22179fdc8b";
- sha256 = "174n962xiwyzy53cn192h9rq95h951k3xy6bs43p5ya592ai5mjh";
+ rev = "7cd1e0495122847611b17a8d1f007d97a05b288c";
+ sha256 = "13y739l92plb22g73jf35pyh3y94b2vq0i65r9c31r2rb7fw4bbl";
+ fetchSubmodules = true;
};
nativeBuildInputs
@@ -34,14 +35,13 @@ with stdenv; mkDerivation rec {
enableParallelBuilding = true;
cmakeFlags =
[ "-DARCH=generic;ice40;ecp5"
+ "-DBUILD_TESTS=ON"
"-DICEBOX_ROOT=${icestorm}/share/icebox"
"-DTRELLIS_ROOT=${trellis}/share/trellis"
"-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis"
"-DUSE_OPENMP=ON"
# warning: high RAM usage
"-DSERIALIZE_CHIPDB=OFF"
- # use PyPy for icestorm if enabled
- "-DPYTHON_EXECUTABLE=${icestorm.pythonInterp}"
]
++ (lib.optional (!enableGui) "-DBUILD_GUI=OFF")
++ (lib.optional (enableGui && stdenv.isDarwin)
@@ -52,8 +52,13 @@ with stdenv; mkDerivation rec {
patchPhase = with builtins; ''
substituteInPlace ./CMakeLists.txt \
--replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}'
+
+ # use PyPy for icestorm if enabled
+ substituteInPlace ./ice40/family.cmake \
+ --replace ''\'''${PYTHON_EXECUTABLE}' '${icestorm.pythonInterp}'
'';
+ doCheck = true;
postFixup = lib.optionalString enableGui ''
wrapQtApp $out/bin/nextpnr-generic
diff --git a/nixpkgs/pkgs/development/compilers/nim/default.nix b/nixpkgs/pkgs/development/compilers/nim/default.nix
index 4228c368e56..129b8ca4dd8 100644
--- a/nixpkgs/pkgs/development/compilers/nim/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nim/default.nix
@@ -1,15 +1,15 @@
# based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml
-{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-11_x, openssl, pcre, readline,
+{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim, openssl, pcre, readline,
boehmgc, sfml, tzdata, coreutils, sqlite }:
stdenv.mkDerivation rec {
pname = "nim";
- version = "0.20.2";
+ version = "1.0.0";
src = fetchurl {
url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
- sha256 = "0pibil10x0c181kw705phlwk8bn8dy5ghqd9h9fm6i9afrz5ryp1";
+ sha256 = "1pg0lxahis8zfk6rdzdj281bahl8wglpjgngkc4vg1pc9p61fj03";
};
doCheck = !stdenv.isDarwin;
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
# as part of building it, so it cannot be read-only
checkInputs = [
- nodejs-slim-11_x tzdata coreutils
+ nodejs-slim tzdata coreutils
];
nativeBuildInputs = [
@@ -64,9 +64,6 @@ stdenv.mkDerivation rec {
substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
- # reported upstream: https://github.com/nim-lang/Nim/issues/11435
- ${disableTest} ./tests/misc/tstrace.nim
-
# runs out of memory on a machine with 8GB RAM
${disableTest} ./tests/system/t7894.nim
@@ -80,11 +77,20 @@ stdenv.mkDerivation rec {
${disableCompile} ./lib/nimhcr.nim
${disableTest} ./tests/dll/nimhcr_unit.nim
${disableTest} ./tests/dll/nimhcr_integration.nim
+
+ # reported upstream: https://github.com/nim-lang/Nim/issues/12262
+ ${disableTest} ./tests/range/tcompiletime_range_checks.nim
+
+ # requires "immintrin.h" which is available only on x86
+ ${disableTest} ./tests/misc/tsizeof3.nim
'';
checkPhase = ''
runHook preCheck
+ # Fortify hardening breaks tests
+ # https://github.com/nim-lang/Nim/issues/11435#issuecomment-534545696
+ NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/} \
./koch tests --nim:bin/nim all
runHook postCheck
@@ -97,7 +103,10 @@ stdenv.mkDerivation rec {
./koch install $out
mv $out/nim/bin/* $out/bin/ && rmdir $out/nim/bin
mv $out/nim/* $out/ && rmdir $out/nim
+
+ # Fortify hardening appends -O2 to gcc flags which is unwanted for unoptimized nim builds.
wrapProgram $out/bin/nim \
+ --run 'NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}' \
--suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
runHook postInstall
@@ -107,7 +116,7 @@ stdenv.mkDerivation rec {
description = "Statically typed, imperative programming language";
homepage = "https://nim-lang.org/";
license = licenses.mit;
- maintainers = with maintainers; [ ehmry peterhoeg ];
+ maintainers = with maintainers; [ ehmry ];
platforms = with platforms; linux ++ darwin; # arbitrary
};
}
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix b/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix
new file mode 100644
index 00000000000..4b56d82eba5
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ocaml/4.09.nix
@@ -0,0 +1,6 @@
+import ./generic.nix {
+ major_version = "4";
+ minor_version = "09";
+ patch_version = "0";
+ sha256 = "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj";
+}
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
index 9e6d30efda8..43fe8ed8387 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -83,6 +83,9 @@ in makePackage {
cp -r build/modular-sdk $out
'';
+ # glib-2.62 deprecations
+ NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
+
stripDebugList = [ "." ];
postFixup = ''
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
index 418c58ac683..356ac4800d9 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/12.nix
@@ -83,6 +83,9 @@ in makePackage {
cp -r build/modular-sdk $out
'';
+ # glib-2.62 deprecations
+ NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
+
stripDebugList = [ "." ];
postFixup = ''
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/default.nix b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
index 85641c351d4..f20a32acedd 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec {
pname = "ponyc";
- version = "0.30.0";
+ version = "0.32.0";
src = fetchFromGitHub {
owner = "ponylang";
repo = pname;
rev = version;
- sha256 = "1gs9x4rw4mfv499j3k1brm8gbz7pjl8dyr7v68pa2f563cbzwaq9";
+ sha256 = "07ai5lr0zdrcdmfjxsypp33fpj8lnak7y5177s7qd19163z0ia20";
};
buildInputs = [ llvm makeWrapper which ];
diff --git a/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
index d25cd9fee77..7a677821687 100644
--- a/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
- version = "0.13.0";
+ version = "0.13.3";
src =
if stdenv.isDarwin
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
- sha256 = "0xpisy38gj6fgyyzm6fdl0v819dhjmil4634xxangvhvs7jf5il0";
+ sha256 = "04ylhqadj7wnclhiar9il6fkrxmh9qkz6fpas7z3b37w4qg0gshl";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
- sha256 = "06g5q69yv6c3alq9vr8zjqqzamlii7xf6vj9j52akjq5lww214ba";
+ sha256 = "1xcn694qfql87pdjh09hhvfvpakzxb2hagss61vh9msqq3s96l3z";
};
diff --git a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
index 43a72985dde..7b774d066b7 100644
--- a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix
@@ -3,16 +3,16 @@
let
# Note: the version MUST be one version prior to the version we're
# building
- version = "1.36.0";
+ version = "1.37.0";
- # fetch hashes by running `print-hashes.sh 1.36.0`
+ # fetch hashes by running `print-hashes.sh 1.37.0`
hashes = {
- i686-unknown-linux-gnu = "9f95c3e96622a792858c8a1c9274fa63e6992370493b27c1ac7299a3bec5156d";
- x86_64-unknown-linux-gnu = "15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55";
- armv7-unknown-linux-gnueabihf = "798181a728017068f9eddfa665771805d97846cd87bddcd67e0fe27c8d082ceb";
- aarch64-unknown-linux-gnu = "db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d";
- i686-apple-darwin = "3dbc34fdea8bc030badf9c8b2572c09fd3f5369b59ac099fc521064b390b9e60";
- x86_64-apple-darwin = "91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325";
+ i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
+ x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
+ armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
+ aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
+ i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";
+ x86_64-apple-darwin = "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d";
};
platform =
diff --git a/nixpkgs/pkgs/development/compilers/rust/cargo.nix b/nixpkgs/pkgs/development/compilers/rust/cargo.nix
index 2bf2722818b..91a31be9f8d 100644
--- a/nixpkgs/pkgs/development/compilers/rust/cargo.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/cargo.nix
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage {
meta = with stdenv.lib; {
homepage = https://crates.io;
description = "Downloads your Rust project's dependencies and builds your project";
- maintainers = with maintainers; [ wizeman retrry ];
+ maintainers = with maintainers; [ retrry ];
license = [ licenses.mit licenses.asl20 ];
platforms = platforms.unix;
};
diff --git a/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
deleted file mode 100644
index 583a6027f83..00000000000
--- a/nixpkgs/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ru rustc-1.36.0-src-orig/src/libstd/net/tcp.rs rustc-1.36.0-src/src/libstd/net/tcp.rs
---- rustc-1.36.0-src-orig/src/libstd/net/tcp.rs 2019-07-03 10:00:00.000000000 +0200
-+++ rustc-1.36.0-src/src/libstd/net/tcp.rs 2019-07-07 11:33:35.378130207 +0200
-@@ -973,6 +973,7 @@
- }
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- fn listen_localhost() {
- let socket_addr = next_test_ip4();
-@@ -1031,6 +1032,7 @@
- })
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- fn read_eof() {
- each_ip(&mut |addr| {
-@@ -1050,6 +1052,7 @@
- })
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- fn write_close() {
- each_ip(&mut |addr| {
-@@ -1076,6 +1079,7 @@
- })
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- fn multiple_connect_serial() {
- each_ip(&mut |addr| {
-@@ -1098,6 +1102,7 @@
- })
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- fn multiple_connect_interleaved_greedy_schedule() {
- const MAX: usize = 10;
-@@ -1134,6 +1139,7 @@
- }
-
- #[test]
-+ #[cfg_attr(target_os = "macos", ignore)]
- fn multiple_connect_interleaved_lazy_schedule() {
- const MAX: usize = 10;
- each_ip(&mut |addr| {
-@@ -1467,6 +1473,7 @@
- }
-
- #[test]
-+ #[cfg_attr(target_os = "macos", ignore)]
- fn clone_while_reading() {
- each_ip(&mut |addr| {
- let accept = t!(TcpListener::bind(&addr));
-@@ -1597,7 +1604,7 @@
-
- // FIXME: re-enabled openbsd tests once their socket timeout code
- // no longer has rounding errors.
-- #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd"), ignore)]
-+ #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd", target_os = "macos"), ignore)]
- #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31
- #[test]
- fn timeouts() {
-@@ -1643,6 +1650,7 @@
- drop(listener);
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31
- fn test_read_with_timeout() {
-@@ -1687,6 +1695,7 @@
- drop(listener);
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- #[cfg_attr(target_env = "sgx", ignore)]
- fn nodelay() {
-@@ -1719,6 +1728,7 @@
- assert_eq!(ttl, t!(stream.ttl()));
- }
-
-+ #[cfg_attr(target_os = "macos", ignore)]
- #[test]
- #[cfg_attr(target_env = "sgx", ignore)]
- fn set_nonblocking() {
diff --git a/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch b/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
deleted file mode 100644
index 6ef7fd0f7ce..00000000000
--- a/nixpkgs/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/stdsimd/coresimd/x86/mod.rs b/src/stdsimd/coresimd/x86/mod.rs
-index 32915c332..7cb54f31e 100644
---- a/src/stdsimd/coresimd/x86/mod.rs
-+++ b/src/stdsimd/coresimd/x86/mod.rs
-@@ -279,7 +279,6 @@ types! {
- ///
- /// # Examples
- ///
-- /// ```
- /// # #![feature(cfg_target_feature, target_feature, stdsimd)]
- /// # #![cfg_attr(not(dox), no_std)]
- /// # #[cfg(not(dox))]
-@@ -301,7 +300,6 @@ types! {
- /// # }
- /// # if is_x86_feature_detected!("sse") { unsafe { foo() } }
- /// # }
-- /// ```
- pub struct __m256(f32, f32, f32, f32, f32, f32, f32, f32);
-
- /// 256-bit wide set of four `f64` types, x86-specific
diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
index daf7af1babd..430d22f7653 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
@@ -1,7 +1,8 @@
{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
-, fetchurl, file, python2, tzdata, ps
-, llvmPackages_7, darwin, git, cmake, rustPlatform
-, which, libffi, gdb
+, fetchurl, file, python2
+, llvm_7, darwin, git, cmake, rustPlatform
+, pkgconfig, openssl
+, which, libffi
, withBundledLLVM ? false
}:
@@ -9,31 +10,21 @@ let
inherit (stdenv.lib) optional optionalString;
inherit (darwin.apple_sdk.frameworks) Security;
- llvmPackages = llvmPackages_7;
-
- llvmSharedForBuild = pkgsBuildBuild.llvmPackages.llvm.override { enableSharedLibraries = true; };
- llvmSharedForHost = pkgsBuildHost.llvmPackages.llvm.override { enableSharedLibraries = true; };
- llvmSharedForTarget = pkgsBuildTarget.llvmPackages.llvm.override { enableSharedLibraries = true; };
+ llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; };
+ llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; };
+ llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; };
# For use at runtime
- llvmShared = llvmPackages.llvm.override { enableSharedLibraries = true; };
-in
-
-stdenv.mkDerivation rec {
+ llvmShared = llvm_7.override { enableSharedLibraries = true; };
+in stdenv.mkDerivation rec {
pname = "rustc";
- version = "1.37.0";
+ version = "1.38.0";
src = fetchurl {
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
- sha256 = "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj";
+ sha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
};
- # Provide the compiler-rt sources needed for profiling.
- preConfigure = ''
- mkdir src/llvm-project/compiler-rt
- tar xf ${llvmPackages.compiler-rt.src} -C src/llvm-project/compiler-rt --strip-components=1
- '';
-
__darwinAllowLocalNetworking = true;
# rustc complains about modified source files otherwise
@@ -107,18 +98,6 @@ stdenv.mkDerivation rec {
--replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)'
'';
- patches = [
- ./patches/net-tcp-disable-tests.patch
-
- # Re-evaluate if this we need to disable this one
- #./patches/stdsimd-disable-doctest.patch
-
- # Fails on hydra - not locally; the exact reason is unknown.
- # Comments in the test suggest that some non-reproducible environment
- # variables such $RANDOM can make it fail.
- # ./patches/disable-test-inherit-env.patch
- ];
-
# the rust build system complains that nix alters the checksums
dontFixLibtool = true;
@@ -131,74 +110,26 @@ stdenv.mkDerivation rec {
sed -i configure \
-e '/probe_need CFG_CURL curl/d'
- # On Hydra: `TcpListener::bind(&addr)`: Address already in use (os error 98)'
- sed '/^ *fn fast_rebind()/i#[ignore]' -i src/libstd/net/tcp.rs
-
- # https://github.com/rust-lang/rust/issues/39522
- echo removing gdb-version-sensitive tests...
- find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete
- rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums.rs,generic-enum-with-different-disr-sizes.rs}
-
# Useful debugging parameter
# export VERBOSE=1
- '' + optionalString stdenv.isDarwin ''
- # Disable all lldb tests.
- # error: Can't run LLDB test because LLDB's python path is not set
- rm -vr src/test/debuginfo/*
- rm -v src/test/run-pass/backtrace-debuginfo.rs || true
-
- # error: No such file or directory
- rm -v src/test/ui/run-pass/issues/issue-45731.rs || true
-
- # Disable tests that fail when sandboxing is enabled.
- substituteInPlace src/libstd/sys/unix/ext/net.rs \
- --replace '#[test]' '#[test] #[ignore]'
- substituteInPlace src/test/run-pass/env-home-dir.rs \
- --replace 'home_dir().is_some()' true
- rm -v src/test/run-pass/fds-are-cloexec.rs || true # FIXME: pipes?
- rm -v src/test/ui/run-pass/threads-sendsync/sync-send-in-std.rs || true # FIXME: ???
'';
# rustc unfortunately needs cmake to compile llvm-rt but doesn't
# use it for the normal build. This disables cmake in Nix.
dontUseCmakeConfigure = true;
- # ps is needed for one of the test cases
nativeBuildInputs = [
- file python2 ps rustPlatform.rust.rustc git cmake
- which libffi removeReferencesTo
- ] # Only needed for the debuginfo tests
- ++ optional (!stdenv.isDarwin) gdb;
+ file python2 rustPlatform.rust.rustc git cmake
+ which libffi removeReferencesTo pkgconfig
+ ];
- buildInputs = optional stdenv.isDarwin Security
+ buildInputs = [ openssl ]
+ ++ optional stdenv.isDarwin Security
++ optional (!withBundledLLVM) llvmShared;
outputs = [ "out" "man" "doc" ];
setOutputFlags = false;
- # Disable codegen units and hardening for the tests.
- preCheck = ''
- export RUSTFLAGS=
- export TZDIR=${tzdata}/share/zoneinfo
- export hardeningDisable=all
- '' +
- # Ensure TMPDIR is set, and disable a test that removing the HOME
- # variable from the environment falls back to another home
- # directory.
- optionalString stdenv.isDarwin ''
- export TMPDIR=/tmp
- sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
- '';
-
- # 1. Upstream is not running tests on aarch64:
- # see https://github.com/rust-lang/rust/issues/49807#issuecomment-380860567
- # So we do the same.
- # 2. Tests run out of memory for i686
- #doCheck = !stdenv.isAarch64 && !stdenv.isi686;
-
- # Disabled for now; see https://github.com/NixOS/nixpkgs/pull/42348#issuecomment-402115598.
- doCheck = false;
-
# remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
# and thus a transitive dependency on ncurses
postInstall = ''
@@ -218,7 +149,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://www.rust-lang.org/;
description = "A safe, concurrent, practical language";
- maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy ];
+ maintainers = with maintainers; [ madjar cstrahan globin havvy ];
license = [ licenses.mit licenses.asl20 ];
platforms = platforms.linux ++ platforms.darwin;
};
diff --git a/nixpkgs/pkgs/development/compilers/solc/default.nix b/nixpkgs/pkgs/development/compilers/solc/default.nix
index b0fdc886378..285f2cd2ebe 100644
--- a/nixpkgs/pkgs/development/compilers/solc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/solc/default.nix
@@ -17,12 +17,12 @@ in
stdenv.mkDerivation rec {
pname = "solc";
- version = "0.5.11";
+ version = "0.5.12";
# upstream suggests avoid using archive generated by github
src = fetchzip {
url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
- sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl";
+ sha256 = "0b9m9jhdz5lgrhrkngj1xnggxp1f6z8pzh29acsz3298l77kfk3z";
};
patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ];
diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
index 338ba931249..03e8be7053a 100644
--- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchFromRepoOrCz, perl, texinfo }:
-with stdenv.lib;
+{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo }:
+with lib;
stdenv.mkDerivation rec {
pname = "tcc";
version = "0.9.27";
+ upstreamVersion = "release_${concatStringsSep "_" (builtins.splitVersion version)}";
src = fetchFromRepoOrCz {
repo = "tinycc";
- rev = "release_0_9_27";
+ rev = upstreamVersion;
sha256 = "12mm1lqywz0akr2yb2axjfbw8lwv57nh395vzsk534riz03ml977";
};
@@ -15,6 +16,8 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "fortify" ];
+ enableParallelBuilding = true;
+
postPatch = ''
substituteInPlace "texi2pod.pl" \
--replace "/usr/bin/perl" "${perl}/bin/perl"
@@ -30,6 +33,17 @@ stdenv.mkDerivation rec {
configureFlagsArray+=("--libpaths=${getLib stdenv.cc.libc}/lib")
'';
+ postFixup = ''
+ cat >libtcc.pc <<EOF
+ Name: libtcc
+ Description: Tiny C compiler backend
+ Version: ${version}
+ Libs: -L$out/lib -Wl,--rpath $out/lib -ltcc -ldl
+ Cflags: -I$out/include
+ EOF
+ install -Dt $out/lib/pkgconfig libtcc.pc -m 444
+ '';
+
doCheck = true;
checkTarget = "test";
@@ -60,7 +74,7 @@ stdenv.mkDerivation rec {
generation.
'';
- homepage = http://www.tinycc.org/;
+ homepage = "http://www.tinycc.org/";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/development/compilers/urweb/default.nix b/nixpkgs/pkgs/development/compilers/urweb/default.nix
index 01d4972a55d..31381aac741 100644
--- a/nixpkgs/pkgs/development/compilers/urweb/default.nix
+++ b/nixpkgs/pkgs/development/compilers/urweb/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, file, openssl, mlton
-, mysql, postgresql, sqlite, gcc, icu
+, libmysqlclient, postgresql, sqlite, gcc, icu
}:
stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "1cl0x0sy7w1lazszc8q06q3wx0x0rczxh27vimrsw54s6s9y096s";
};
- buildInputs = [ openssl mlton mysql.connector-c postgresql sqlite icu ];
+ buildInputs = [ openssl mlton libmysqlclient postgresql sqlite icu ];
prePatch = ''
sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
@@ -21,13 +21,13 @@ stdenv.mkDerivation rec {
preConfigure = ''
export PGHEADER="${postgresql}/include/libpq-fe.h";
- export MSHEADER="${mysql.connector-c}/include/mysql/mysql.h";
+ export MSHEADER="${libmysqlclient}/include/mysql/mysql.h";
export SQHEADER="${sqlite.dev}/include/sqlite3.h";
export CC="${gcc}/bin/gcc";
export CCARGS="-I$out/include \
-L${openssl.out}/lib \
- -L${mysql.connector-c}/lib \
+ -L${libmysqlclient}/lib \
-L${postgresql.lib}/lib \
-L${sqlite.out}/lib";
'';
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index 15ed7f8bd29..9714a8ebd50 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -22,27 +22,20 @@ let
};
in {
- "0.38" = fp {
- commit = "2c290f7253bba5ceb0d32e7d0b0ec0d0e81cc263";
- sha256 = "056ybapfx18d7xw1k8k85nsjrc26qk2q2d9v9nz2zrcwbq5brhkp";
- };
# NOTE: the openembedded-core project doesn't have a patch for 0.40.12
# We've fixed the single merge conflict in the following patch.
# 0.40.12: https://github.com/openembedded/openembedded-core/raw/8553c52f174af4c8c433c543f806f5ed5c1ec48c/meta/recipes-devtools/vala/vala/disable-graphviz.patch
"0.40" = ./disable-graphviz-0.40.12.patch;
- "0.42" = fp {
- commit = "f2b4f9ec6f44dced7f88df849cca68961419eeb8";
- sha256 = "112qhdzix0d7lfpfcam1cxprzmfzpwypb1226m5ma1vq9qy0sn7g";
- };
-
# NOTE: the openembedded-core project doesn't have a patch for 0.44.1
# We've reverted the addition of the "--disable-valadoc" option
# and then applied the following patch.
# 0.42.4: https://github.com/openembedded/openembedded-core/raw/f2b4f9ec6f44dced7f88df849cca68961419eeb8/meta/recipes-devtools/vala/vala/disable-graphviz.patch
"0.44" = ./disable-graphviz-0.44.3.patch;
+ "0.46" = ./disable-graphviz-0.46.1.patch;
+
}.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz;
@@ -108,14 +101,8 @@ let
in rec {
vala_0_36 = generic {
- version = "0.36.19";
- sha256 = "05si2f4zjvq0q3wqfh1wxdq20jy1xqxq2skqh8vfh2jyp355lwar";
- };
-
- vala_0_38 = generic {
- version = "0.38.10";
- sha256 = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw";
- extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
+ version = "0.36.20";
+ sha256 = "19v7zjhr9yxkh9lxg46n9gjr0lb7j6v0xqfhrdvgz18xhj3hm5my";
};
vala_0_40 = generic {
@@ -123,15 +110,15 @@ in rec {
sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
};
- vala_0_42 = generic {
- version = "0.42.7";
- sha256 = "029ksbsdpl581wzy570kj4kkw8b4bizgh494c051zsvkwck55p83";
+ vala_0_44 = generic {
+ version = "0.44.7";
+ sha256 = "0z5xy4qc95rm2gj7s2k14xm1xp3mrf0yz64fx4kddqjxkpsz87xz";
};
- vala_0_44 = generic {
- version = "0.44.6";
- sha256 = "0fkrrpnisgq3y816piyr7hm2b94jaj7ki9y974galq3lmxb1g7xb";
+ vala_0_46 = generic {
+ version = "0.46.1";
+ sha256 = "10czkhclnisdz6k5qfiicmvx47m9177l5dkhjn29g43khnmpkr8l";
};
- vala = vala_0_44;
+ vala = vala_0_46;
}
diff --git a/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch b/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
new file mode 100644
index 00000000000..8c3e54b6a95
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
@@ -0,0 +1,261 @@
+diff --git a/Makefile.am b/Makefile.am
+index f70234759..b3d6c3833 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -13,19 +13,9 @@ SUBDIRS = \
+ doc \
+ gobject-introspection \
+ vapigen \
+- $(NULL)
+-
+-if ENABLE_VALADOC
+-SUBDIRS += \
+ libvaladoc \
+ valadoc \
+ $(NULL)
+-endif
+-
+-DISTCHECK_CONFIGURE_FLAGS = \
+- --enable-valadoc \
+- --enable-unversioned \
+- $(NULL)
+
+ if ENABLE_UNVERSIONED
+ aclocaldir = $(datadir)/aclocal
+diff --git a/configure.ac b/configure.ac
+index 6de326bbb..91f159b16 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -160,10 +160,11 @@ AC_SUBST(GMODULE_CFLAGS)
+ AC_SUBST(GMODULE_LIBS)
+
+ AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check)
+-AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
+-if test x$enable_valadoc = xyes; then
++AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
++if test x$enable_graphviz = xyes; then
+ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
+ AC_MSG_CHECKING([for CGRAPH])
++ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
+ cgraph_tmp_LIBADD="$LIBADD"
+ cgraph_tmp_CFLAGS="$CFLAGS"
+ LIBADD="$LIBADD $LIBGVC_LIBS"
+@@ -201,8 +202,8 @@ if test x$enable_valadoc = xyes; then
+ LIBADD="$cgraph_tmp_LIBADD"
+ CFLAGS="$cgraph_tmp_CFLAGS"
+ fi
++AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
+ AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+-AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
+
+ AC_PATH_PROG([XSLTPROC], [xsltproc], :)
+ AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :)
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index d2684a0e0..b343c7c10 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -6,16 +6,11 @@ SUBDIRS = \
+
+ dist_man_MANS = \
+ valac.1 \
++ valadoc.1 \
+ vala-gen-introspect.1 \
+ vapigen.1 \
+ $(NULL)
+
+-if ENABLE_VALADOC
+-dist_man_MANS += \
+- valadoc.1 \
+- $(NULL)
+-endif
+-
+ EXTRA_DIST = \
+ valac.h2m \
+ valadoc.h2m \
+@@ -24,11 +19,7 @@ EXTRA_DIST = \
+ $(NULL)
+
+ if HAVE_HELP2MAN
+-if ENABLE_VALADOC
+ manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1
+-else
+-manpages: valac.1 vala-gen-introspect.1 vapigen.1
+-endif
+ @rm $^
+ $(MAKE) $(AM_MAKEFLAGS) $^
+
+@@ -37,13 +28,11 @@ valac.1:
+ --include $(srcdir)/valac.h2m \
+ --libtool --no-info \
+ --output=$@
+-if ENABLE_VALADOC
+ valadoc.1:
+ $(HELP2MAN) $(top_builddir)/valadoc/valadoc \
+ --include $(srcdir)/valadoc.h2m \
+ --libtool --no-info \
+ --output=$@
+-endif
+ vala-gen-introspect.1:
+ $(HELP2MAN) $(top_builddir)/gobject-introspection/gen-introspect \
+ --include $(srcdir)/vala-gen-introspect.h2m \
+@@ -60,15 +49,12 @@ endif
+ if ENABLE_UNVERSIONED
+ install-data-hook:
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f valac@PACKAGE_SUFFIX@.1 valac.1
+-if ENABLE_VALADOC
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f valadoc@PACKAGE_SUFFIX@.1 valadoc.1
+-endif
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1
+ endif
+
+
+-if ENABLE_VALADOC
+ COMMON_VALADOCFLAGS = \
+ --force \
+ --verbose \
+@@ -150,7 +136,6 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen
+ @touch $@
+
+ internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc
+-endif
+
+ clean-local:
+ rm -rf $(builddir)/internal-apis
+diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
+index 8a3924b54..81fde9ac8 100644
+--- a/libvaladoc/Makefile.am
++++ b/libvaladoc/Makefile.am
+@@ -119,10 +119,6 @@ libvaladoc_la_VALASOURCES = \
+ content/tablerow.vala \
+ content/taglet.vala \
+ content/text.vala \
+- charts/chart.vala \
+- charts/chartfactory.vala \
+- charts/hierarchychart.vala \
+- charts/simplechartfactory.vala \
+ parser/manyrule.vala \
+ parser/oneofrule.vala \
+ parser/optionalrule.vala \
+@@ -149,13 +145,24 @@ libvaladoc_la_VALASOURCES = \
+ highlighter/codetoken.vala \
+ highlighter/highlighter.vala \
+ html/basicdoclet.vala \
+- html/htmlchartfactory.vala \
+ html/linkhelper.vala \
+ html/cssclassresolver.vala \
+ html/htmlmarkupwriter.vala \
+ html/htmlrenderer.vala \
+ $(NULL)
+
++if ENABLE_GRAPHVIZ
++libvaladoc_la_VALASOURCES += \
++ charts/chart.vala \
++ charts/chartfactory.vala \
++ charts/hierarchychart.vala \
++ charts/simplechartfactory.vala \
++ html/htmlchartfactory.vala \
++ $(NULL)
++
++LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
++endif
++
+ libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
+ libvaladoc.vala.stamp \
+ $(libvaladoc_la_VALASOURCES:.vala=.c) \
+@@ -175,11 +182,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ --library valadoc \
+ --vapi valadoc@PACKAGE_SUFFIX@.vapi \
+ --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
+- --vapidir $(top_srcdir)/vapi --pkg libgvc \
+ --vapidir $(top_srcdir)/gee --pkg gee \
+ --vapidir $(top_srcdir)/vala --pkg vala \
+ --vapidir $(top_srcdir)/ccode --pkg ccode \
+ --vapidir $(top_srcdir)/codegen --pkg codegen \
++ $(LIBGVC_PKG) \
+ --pkg config \
+ $(filter %.vala %.c,$^)
+ touch $@
+@@ -207,6 +214,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
+
+ valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
+ cp $< $@
++if !ENABLE_GRAPHVIZ
++ sed -i "s/libgvc //g" $@
++endif
+
+ vapidir = $(datadir)/vala/vapi
+ dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
+@@ -214,6 +224,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
+
+ valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
+ cp $< $@
++if !ENABLE_GRAPHVIZ
++ sed -i "s/libgvc//g" $@
++endif
+
+ EXTRA_DIST = \
+ $(libvaladoc_la_VALASOURCES) \
+diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
+index 46578c28f..f6ce7097c 100644
+--- a/libvaladoc/html/basicdoclet.vala
++++ b/libvaladoc/html/basicdoclet.vala
+@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ protected HtmlRenderer _renderer;
+ protected Html.MarkupWriter writer;
+ protected Html.CssClassResolver cssresolver;
++#if HAVE_GRAPHVIZ
+ protected Charts.Factory image_factory;
++#else
++ protected void* image_factory;
++#endif
+ protected ErrorReporter reporter;
+ protected string package_list_link = "../index.html";
+
+@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ this.linker = new LinkHelper ();
+
+ _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
++#if HAVE_GRAPHVIZ
+ this.image_factory = new SimpleChartFactory (settings, linker);
++#endif
+ }
+
+
+@@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ }
+
+ protected void write_image_block (Api.Node element) {
++#if HAVE_GRAPHVIZ
+ if (element is Class || element is Interface || element is Struct) {
+ unowned string format = (settings.use_svg_images ? "svg" : "png");
+ var chart = new Charts.Hierarchy (image_factory, element);
+@@ -1044,6 +1051,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ this.get_img_path_html (element, format)});
+ writer.add_usemap (chart);
+ }
++#endif
+ }
+
+ public void write_namespace_content (Namespace node, Api.Node? parent) {
+diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
+index 5aa4afdea..e79b0b8f5 100644
+--- a/libvaladoc/html/htmlmarkupwriter.vala
++++ b/libvaladoc/html/htmlmarkupwriter.vala
+@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
+ }
+ }
+
++#if HAVE_GRAPHVIZ
+ public unowned MarkupWriter add_usemap (Charts.Chart chart) {
+ string? buf = (string?) chart.write_buffer ("cmapx");
+ if (buf != null) {
+ raw_text ("\n");
+ raw_text ((!) buf);
+ }
++#else
++ public unowned MarkupWriter add_usemap (void* chart) {
++#endif
+
+ return this;
+ }
diff --git a/nixpkgs/pkgs/development/compilers/vlang/default.nix b/nixpkgs/pkgs/development/compilers/vlang/default.nix
index f72ec089054..fba11a06a6e 100644
--- a/nixpkgs/pkgs/development/compilers/vlang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vlang/default.nix
@@ -1,42 +1,47 @@
-{ stdenv, fetchFromGitHub, glfw, freetype, openssl }:
+{ stdenv, fetchFromGitHub, glfw, freetype, openssl, upx ? null }:
+
+assert stdenv.hostPlatform.isUnix -> upx != null;
stdenv.mkDerivation rec {
pname = "vlang";
- version = "0.1.18";
+ version = "0.1.21";
src = fetchFromGitHub {
owner = "vlang";
repo = "v";
rev = version;
- sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15";
+ sha256 = "0npd7a7nhd6r9mr99naib9scqk30209hz18nxif27284ckjbl4fk";
};
# V compiler source translated to C for bootstrap.
+ # Use matching v.c release commit for now, 0.1.21 release is not available.
vc = fetchFromGitHub {
owner = "vlang";
repo = "vc";
- rev = version;
- sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj";
+ rev = "950a90b6acaebad1c6ddec5486fc54307e38a9cd";
+ sha256 = "1dh5l2m207rip1xj677hvbp067inw28n70ddz5wxzfpmaim63c0l";
};
enableParallelBuilding = true;
- buildInputs = [ glfw freetype openssl ];
+ propagatedBuildInputs = [ glfw freetype openssl ]
+ ++ stdenv.lib.optional stdenv.hostPlatform.isUnix upx;
buildPhase = ''
runHook preBuild
cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
- ./v -prod -o v compiler
- make thirdparty
+ ./v -prod -cflags `$CFLAGS` -o v compiler
+ # Exclude thirdparty/vschannel as it is windows-specific.
+ find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';'
runHook postBuild
'';
installPhase = ''
runHook preInstall
- mkdir -p $out/{bin,lib/vlang,share/vlang}
- cp -r examples $out/share/vlang
- cp -r {vlib,thirdparty} $out/lib/vlang
- cp v $out/lib/vlang
- ln -s $out/lib/vlang/v $out/bin/v
+ mkdir -p $out/{bin,lib,share}
+ cp -r examples $out/share
+ cp -r {vlib,thirdparty} $out/lib
+ cp v $out/lib
+ ln -s $out/lib/v $out/bin/v
runHook postInstall
'';
diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index 1535c7a7de6..79c8f67b9e0 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix
@@ -2,20 +2,21 @@
, pkgconfig, bison, flex
, tcl, readline, libffi, python3
, protobuf, zlib
+, verilog
}:
with builtins;
stdenv.mkDerivation rec {
pname = "yosys";
- version = "2019.09.01";
+ version = "2019.09.27";
srcs = [
(fetchFromGitHub {
owner = "yosyshq";
repo = "yosys";
- rev = "4aa505d1b254b3fbb66af2d95b396a8f077da9d0";
- sha256 = "16rhwmn1z2ppaq3wycgq713krq48s80a6h57vgzjzj17hgncg7hs";
+ rev = "c372e7baf9c48d41ebdbea4486a72e8dfaaddd3d";
+ sha256 = "18cyz900haf8lkpddqn0sns0a3hc8fqndzz7gg391671hzvy820k";
name = "yosys";
})
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
--replace 'LD = gcc' 'LD = $(CXX)' \
--replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \
--replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}'
+ patchShebangs tests
'';
preBuild = ''
@@ -62,6 +64,13 @@ stdenv.mkDerivation rec {
(cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
'';
+ doCheck = true;
+ checkInputs = [ verilog ];
+ # checkPhase defaults to VERBOSE=y, which gets passed down to abc,
+ # which then does $(VERBOSE)gcc, which then complains about not
+ # being able to find ygcc. Life is pain.
+ checkFlags = [ " " ];
+
meta = {
description = "Framework for RTL synthesis tools";
longDescription = ''
diff --git a/nixpkgs/pkgs/development/compilers/zig/default.nix b/nixpkgs/pkgs/development/compilers/zig/default.nix
index 35ad09320de..961e28da82e 100644
--- a/nixpkgs/pkgs/development/compilers/zig/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zig/default.nix
@@ -1,19 +1,23 @@
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }:
stdenv.mkDerivation rec {
- version = "0.4.0";
+ version = "0.5.0";
pname = "zig";
src = fetchFromGitHub {
owner = "ziglang";
repo = pname;
rev = version;
- sha256 = "1cq6cc5pvybz9kn3y0j5gskkjq88hkmmcsva54mfzpcc65l3pv6p";
+ sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ];
+ preBuild = ''
+ export HOME=$TMPDIR;
+ '';
+
meta = with stdenv.lib; {
description = "Programming languaged designed for robustness, optimality, and clarity";
homepage = https://ziglang.org/;