Commit graph

448 commits

Author SHA1 Message Date
Will Dietz
db7041a047 libc++{,abi}_38: musl fixes, cmake is nativeBuildInput 2018-06-23 15:53:45 -05:00
Will Dietz
0b7cc25d19 clang_38: musl fixup, cmake should be nativeBuildInput 2018-06-23 15:53:45 -05:00
Will Dietz
ae78847b50 clang_39: fix w/musl (same as clang_4) 2018-06-23 15:53:44 -05:00
Will Dietz
e4fffae0cf llvmPackages_39.libcxx: minor cleanup 2018-06-23 15:53:44 -05:00
Will Dietz
dd4299a27c llvm_39: musl patches, same as llvm_4 2018-06-23 15:53:44 -05:00
Will Dietz
ebcdd8b9b0 llvm_4: refactor patch location, will be sharing shortly 2018-06-23 15:53:44 -05:00
Will Dietz
68351290ad llvm_38: musl patches + options
Same as those added to llvm_39 a few commits ago.
2018-06-23 15:53:44 -05:00
Will Dietz
4ef4e0f44b llvm_38: always apply sigaltstack patch 2018-06-23 15:53:44 -05:00
Will Dietz
182de524a1 llvm_{39,4}: refactor to use same patch file 2018-06-23 15:53:44 -05:00
Will Dietz
a1bf9b6094 llvm_39: disable sanitizers/xray bits when using musl
Don't have a fix for this handy and don't need it yet
so for now just disable.
2018-06-23 15:53:44 -05:00
Will Dietz
b39fb5525b llvm_39: set triples as well 2018-06-23 15:53:43 -05:00
Will Dietz
f0c154a109 llvm_39: apply llvm_4 compiler-rt patch for musl as well 2018-06-23 15:53:43 -05:00
Will Dietz
04fb628780 llvm_39: unconditionally apply sigaltstack fix
(as we do on other LLVM builds)
2018-06-23 15:53:43 -05:00
Will Dietz
96cfd14fd2 llvm-3.9: patches to fix w/musl
Mostly same as used with LLVM 4.0
2018-06-23 15:53:43 -05:00
Will Dietz
0ac09be295 llvm4: unconditionally set triples, not just on musl.
Split off from #42454 as requested.
2018-06-23 14:07:49 -05:00
Will Dietz
7088489223 llvm-{5,6}: unconditionally set triples
Previously we only set these when using musl.

See https://github.com/NixOS/nixpkgs/pull/42452#discussion_r197618464

Same should be done for changes in #42452,
I'll add a follow-up commit doing so in the PR containing this
or wherever makes sense-- depending on how review/merging of that goes.

Sending similar changes for LLVM 4 to master, as suggested.
2018-06-23 14:06:55 -05:00
John Ericson
92cef7ad42 compiler-rt 5: Fix double space 2018-06-14 20:25:38 -04:00
John Ericson
6e7e22da70 llvm 5: split out compiler-rt and remove libcxxabi dep
We already did them on non-mass-rebuild llvm 6. Also, this allows
simplifying the stdenv booting.

We were missing the libcxxabi dep in compile-rt in llvm 6, so fixed that
too.
2018-06-14 19:22:15 -04:00
John Ericson
fc9644d4c9 llvm 6: Fix libcxxabi impurity and darwin sanitizers 2018-06-14 19:19:54 -04:00
John Ericson
1eacf21bd4 darwin bootstrapping: Avoid overriding aliases for LLVM
Respect the fix points and aliases by overriding originals.
2018-06-14 15:05:18 -04:00
John Ericson
7156f46949 llvm 3.8+: Remove unneeded libcxxabi dependency
Evidentally this hasn't been needed for a while
2018-06-13 21:06:00 -04:00
John Ericson
e358fff0d6 llvm: use native cmake for libc++abi
Finish what 1cb1b9193b started.
2018-06-13 21:02:04 -04:00
Matthew Bauer
1cb1b9193b llvm: use native cmake for libc++abi 2018-06-12 20:36:16 -04:00
Benjamin Saunders
b0d0b1adfe clang_6: fix sanitizers under libstdc++ 2018-05-24 15:04:30 -07:00
John Ericson
205fc55ea2 Merge remote-tracking branch 'upstream/staging' into compiler-rt 2018-05-24 02:58:00 -04:00
Benjamin Saunders
46eeef1898 tests.cc-wrapper: verify building with sanitizers 2018-05-24 02:57:44 -04:00
Benjamin Saunders
16da44b5c1 llvm and clang 6: factor out compiler-rt, fix libstdcxxStdenv sanitizer headers
Build compiler-rt separate from llvm and clang, and just add as an extra
library in the wrapper.
2018-05-24 02:57:43 -04:00
John Ericson
e5175fbf20 Merge remote-tracking branch 'upstream/master' into ios-mini-staging 2018-05-23 16:01:05 -04:00
John Ericson
d7144e708b Merge remote-tracking branch 'upstream/master' into staging 2018-05-23 16:00:04 -04:00
John Ericson
58fd684c76 llvm: Separate tools and libraries for clarity
Especially provides clarity with respect to cross.
2018-05-23 14:42:06 -04:00
Matthew Justin Bauer
895fef2b19 clang3.4: still needs libedit
https://hydra.nixos.org/build/72965931/nixlog/1
(cherry picked from commit 2d90138b3b)
2018-05-23 11:46:40 -04:00
Matthew Bauer
9416f29800 llvm: remove libedit from clang
clang should never need libedit. From what I understand this is only
needed by LLDB.

https://github.com/llvm-mirror/clang/search?q=libedit
(cherry picked from commit 9ee69c27c9)
2018-05-23 11:09:12 -04:00
Matthew Bauer
d417ada9a6 clang: only link if LLVMgold exists
buildEnv now errors with broken symlinks. Lots of things like this
still exist.

Discussion in #39038.

(cherry picked from commit 7b73c7f49a)
2018-05-23 11:09:05 -04:00
John Ericson
c641a74bd6 Merge remote-tracking branch 'upstream/master' into ios-mini-staging 2018-05-23 09:45:25 -04:00
John Ericson
18742471af Merge remote-tracking branch 'upstream/master' into staging
Use newer vagrant from master
2018-05-23 09:40:37 -04:00
John Ericson
acc9843691 llvm: Starting to fix Clang wrapping and stdenv building for cross 2018-05-23 00:42:47 -04:00
John Ericson
25e866a7fe treewide: Less {cc,bintools}-wrapper eta expansion
Also makes the LLVM ones more correct
2018-05-23 00:27:30 -04:00
John Ericson
4f7cdd35d5
Merge pull request #40139 from obsidiansystems/modular-setup-hooks
treewide: Modular setup hooks
2018-05-07 15:32:10 -04:00
John Ericson
2110c0bd30 treewide: Use pkgs/build-support/roles.bash to remove copy pasta
Also fix some setup hooks that unnecessarily used environment hooks,
which revolted in the same variable being modified too many times.
2018-05-07 15:10:37 -04:00
Will Dietz
27d716f4b5 llvm5: 5.0.1 -> 5.0.2 2018-05-04 11:03:21 -05:00
John Ericson
88d18d2e04
Merge pull request #39947 from obsidiansystems/libcxx-cross
lib{std,}c++: Fix setup hooks for cross
2018-05-03 18:20:13 -04:00
John Ericson
39df5831ca lib{std,}c++: Fix setup hooks for cross 2018-05-03 17:55:03 -04:00
Matthew Justin Bauer
2d90138b3b
clang3.4: still needs libedit
https://hydra.nixos.org/build/72965931/nixlog/1
2018-04-18 13:13:03 -05:00
Matthew Bauer
9ee69c27c9 llvm: remove libedit from clang
clang should never need libedit. From what I understand this is only
needed by LLDB.

https://github.com/llvm-mirror/clang/search?q=libedit
2018-04-17 09:52:08 -05:00
Matthew Bauer
7b73c7f49a clang: only link if LLVMgold exists
buildEnv now errors with broken symlinks. Lots of things like this
still exist.

Discussion in #39038.
2018-04-17 09:50:21 -05:00
Matthew Glazar
2505aa51a4 clang: fix install on Darwin
As of Nix 2.0, building the `user-environment` package on macOS (Darwin)
fails because LLVMgold.so is a broken symlink. Fix the issue by not
creating the symlink in the first place, since it wouldn't be used on
Darwin anyway.
2018-04-15 21:12:03 -07:00
Matthew Glazar
d3d0c0196e clang: refactor post-install comments
Throughout the evolution of the Clang packages, some comments have
become misplaced. Put some of Clang's postInstall comments next to the
lines they refer to.
2018-04-15 21:10:22 -07:00
Tuomas Tynkkynen
9c292a0568 llvm_34, llvm_35: Bring ARMv7 back to platforms
This is required for GHC.
2018-04-04 21:57:57 +03:00
Tuomas Tynkkynen
bec461a35a llvm_34, llvm_35: Disable on aarch64
https://hydra.nixos.org/build/71176565
https://hydra.nixos.org/build/71167754
2018-03-25 16:39:10 +03:00
Tuomas Tynkkynen
ef64208eba Merge commit '3ab2949' from staging into master
Conflicts:
	pkgs/development/compilers/llvm/6/llvm.nix
	pkgs/servers/home-assistant/component-packages.nix
2018-03-15 22:30:56 +02:00
Will Dietz
b2e6952f37 llvm4: same treatment 2018-03-14 20:04:38 -05:00
Will Dietz
60bf299e6a llvm6: patch to enable sanitizers w/musl 2018-03-14 20:04:21 -05:00
Will Dietz
a8824ab4fb llvm_5: patch sanitizers to enable w/musl
https://gitweb.gentoo.org/proj/musl.git/plain/sys-libs/compiler-rt-sanitizers/files/compiler-rt-sanitizers-5.0.0-musl-patches.patch
2018-03-14 20:04:20 -05:00
Will Dietz
f911edaf43 llvm6: Build with support for the experimental WASM backend 2018-03-14 15:35:24 -05:00
Jan Malakhovski
7079e744d4 Merge branch 'master' into staging
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):

   pkgs/development/libraries/epoxy/default.nix
   pkgs/development/libraries/gtk+/3.x.nix
   pkgs/development/python-modules/asgiref/default.nix
   pkgs/development/python-modules/daphne/default.nix
   pkgs/os-specific/linux/systemd/default.nix
2018-03-10 20:38:13 +00:00
Will Dietz
b09b557fb7
Merge pull request #34457 from dtzWill/feature/llvm-6
llvm 6: init
2018-03-08 12:38:31 -06:00
Will Dietz
b36ea92f88 llvm6: rc3 -> final 2018-03-08 10:01:35 -06:00
Will Dietz
08db02e37a llvm6: rc2 -> rc3 2018-03-07 19:03:10 -06:00
Will Dietz
9306e2fb6f llvm6: remove copied "remove this on next rebuild" value :) 2018-03-07 19:03:09 -06:00
Will Dietz
c3e16a42ee llvm6: drop perl and groff, as in llvm4/5 2018-03-07 19:03:09 -06:00
Will Dietz
e876e97ef0 llvm6: musl compat 2018-03-07 19:03:08 -06:00
Will Dietz
62011cfaea llvm6: rc1 -> rc2 2018-03-07 19:03:07 -06:00
Will Dietz
11cb7d00ca llvm6: same python output fix from #33871
Unlike that PR, however, this doesn't need to go to staging
since no one depends on a package that doesn't exist yet :).
2018-03-07 19:03:07 -06:00
Will Dietz
0d90539cda llvm6: no need to patch on aarch64, already applied 2018-03-07 19:03:06 -06:00
Will Dietz
a192c9d67a lld: Add dep on libxml2 2018-03-07 19:03:06 -06:00
Will Dietz
42c3a74a2a llvm6: rc1, hashes, top-level 2018-03-07 19:03:05 -06:00
Will Dietz
4463de6ec7 llvm6: copy llvm5 2018-03-07 19:03:05 -06:00
Will Dietz
535ba5f7f7 lldb_4: fix w/gcc7
Same fix used in swift4, FWIW.
2018-03-07 17:38:15 -06:00
Will Dietz
435288caca llvm_4: fix cosmetic issue in help output
Can be observed in programs like "llvm-link".
2018-02-26 08:30:20 -06:00
Will Dietz
e5e69a7aed libc++5: tweak expression so as to avoid rebuild on non-musl for now 2018-02-19 12:43:42 -06:00
Will Dietz
fa8a511260 llvmPackages_{4,5}: musl compat 2018-02-19 11:19:32 -06:00
Will Dietz
5bf5e6eebf llvm4: always apply fix, improve compat, fix w/musl 2018-02-13 09:45:01 -06:00
Will Dietz
64e4c98a7f llvm-5: add extra 'python' output for opt-viewer tool 2018-02-02 06:30:09 -06:00
Daniel Peebles
d18af2680d
Revert "clang-{4,5}: prefer python3, much friendlier for cross" 2018-01-23 10:13:07 -05:00
John Ericson
796e2e8c75
Merge pull request #34177 from dtzWill/fix/llvm-remove-unneeded-deps
llvm-{4,5}: remove perl, groff -- not needed
2018-01-22 19:26:29 -05:00
Will Dietz
973d4f5354 clang-{4,5}: prefer python3, much friendlier for cross 2018-01-22 17:31:37 -06:00
Will Dietz
7e52676240 llvm-{4,5}: remove perl, groff -- not needed 2018-01-22 17:29:14 -06:00
Vladimír Čunát
82c78b86c7
clang: mass-rebuild code cleanup 2018-01-21 15:48:35 +01:00
Vladimír Čunát
a94c7ba096
Merge branch 'master' into staging
Hydra: ?compare=1428079
2018-01-21 15:47:08 +01:00
Vladimír Čunát
5fb5beb929
Merge #33948: {llvm,clang}-{4,5}: better man-pages
Don't rebuild entire projects just to get manpages.
2018-01-21 11:35:10 +01:00
Vladimír Čunát
5fafb7ef73
clang-3.8: fixup build after #33953 917429233b 2018-01-20 09:48:35 +01:00
Tuomas Tynkkynen
884a167f87 Merge remote-tracking branch 'upstream/master' into staging 2018-01-17 12:52:47 +02:00
Tuomas Tynkkynen
67c73b4e64 Merge commit '2e56ba' from staging into master 2018-01-17 12:50:46 +02:00
Will Dietz
74bcd87ed9 lldb-{4,5}: install manpage 2018-01-16 15:15:41 -06:00
Daiderd Jordan
917429233b
clang: patch cmake files for lib output
Fixes cmake build issues introduced in #33342.
2018-01-16 21:46:43 +01:00
Will Dietz
514f67e3a8 clang-{4,5}: set postBuild to empty string to avoid rebuild for now 2018-01-16 14:08:59 -06:00
Will Dietz
33c132e9b3 llvm-{4,5}: don't build entire project to get the manpages
Much cheaper to build this way.

Also this gives them a different name to avoid confusion
and clutter when using `nix-env -qaP` or similar.
2018-01-16 14:08:58 -06:00
Daiderd Jordan
e66a5f8862
Merge pull request #33342 from LnL7/clang-outputs
clang: add lib output
2018-01-07 09:43:38 +01:00
Daiderd Jordan
812f7714e2
clang: move libclang to separate lib output
Currently clang-unwrapped can't be used as a buildInput without also
shadowing clang/clang++ of a clang based stdenv.
2018-01-02 00:50:01 +01:00
Vladimír Čunát
1fcd92ce92
Merge branch 'master' into staging
A few thousand rebuilds from master, again.
Hydra: ?compare=1422362
2017-12-31 09:53:49 +01:00
Dmitry Kalinkin
6d9769663d
cc-wrapper: allow compilers to specify unsupported hardening modes
Fixes: 0fd7ef61b2 ('clang_34: Disable hardening bits (#28543)')
2017-12-30 12:23:25 -05:00
Orivej Desh
e63b2fbfb3
Merge pull request #32870 from dtzWill/update/llvm-5.0.1
llvm 5: 5.0.0 -> 5.0.1
2017-12-29 07:59:15 +00:00
John Ericson
4651407654 darwin stdenv: Make stdenv.cc, not stdenv, bring in libcxx
stdenvNoCC should not inject any C++ standard library, just as it
doesn't inject any C standard library. stdenv still does, but only
indirectly through stdenv.cc. Wrapped clangs can be simplified now that
they don't need to worry about clobbering CoreFoundation when replacing
the C++ standard library implementation.

This generally-good cleanup should assist with debugging some C++
failures in #26805.
2017-12-25 19:32:07 -05:00
Will Dietz
e9aa0d3f0f llvm 5: 5.0.0 -> 5.0.1 2017-12-21 15:54:08 -06:00
John Ericson
84fb59e0be clang multi: Fix post bintools wrapper 2017-12-13 16:08:46 -05:00
John Ericson
7ef4448c97 Merge commit '9d8f9b2e531bf95a700a949d879927fb6996ffc9' into binutils-wrapper 2017-12-13 16:08:36 -05:00
John Ericson
2bba929062 bintools-wrapper: Import separately from cc-wrapper 2017-12-13 16:08:18 -05:00
Will Dietz
9d8f9b2e53 Add clang multilib variants (x64_64-only, 64/32bit), basic multilib tests 2017-12-05 07:17:14 -06:00
Tuomas Tynkkynen
fc26ff04b2 llvm: Include aarch64 patch in repo
The URL is already a dead link.
2017-11-29 17:01:17 +02:00
Tuomas Tynkkynen
0ea6ab8097 llvm_{4,5}: Add Aarch64 patch
https://reviews.llvm.org/D40423
2017-11-28 14:51:40 +02:00