Commit graph

670 commits

Author SHA1 Message Date
Frederik Rietdijk a25d48cd4f Merge master into staging 2019-02-14 11:35:50 +01:00
Tobias Mayer 2da868d81e Add shim for clock_gettime until macos >= 10.12 2019-02-13 13:08:57 +01:00
Frederik Rietdijk 7257dedd7c Merge master into staging-next 2019-02-13 12:33:29 +01:00
Vladimír Čunát c40f211499
Merge branch 'staging-next'
It's not completely without regressions, but ATM it seems to bring more
upsides than downsides and the iteration is too long already.
2019-02-10 14:20:49 +01:00
Matthew Bauer b60b8226d6 llvm7: don’t link to libatomic on darwin 2019-02-09 13:40:28 -05:00
Luka Blaskovic 0ae0273803
llvm7: backport patches, fix building rust crates with lto
See: https://github.com/rust-lang/rust/issues/57762
(cherry picked from commit c340704bd3)
2019-02-01 18:24:54 +01:00
Will Dietz 75df522844
Merge #54998: llvm7: replace patch with official upstream commit
(cherry picked from commit 442a74bdf8)
2019-02-01 18:18:05 +01:00
Will Dietz 636ae80940 llvm7: replace patch with official upstream commit
Hopefully this also addresses any problems enountered
with the patch used previously.
2019-01-31 10:24:37 -06:00
Jörg Thalheim 6f6900495d
Merge pull request #54323 from lblasc/rust132
rust: 1.31.0 -> 1.32.0
2019-01-28 16:14:57 +00:00
Matthew Bauer bb3683d778
Merge pull request #54624 from matthewbauer/libcxx
cc-wrapper: add libcxx for libcxxClang
2019-01-27 13:55:18 -05:00
Matthew Bauer 77550df8e6 cc-wrapper: add libcxx for libcxxClang
clang needs to find headers + libraries for compiling with libc++. We
need to add a libcxx argument to cc-wrapper. This means you do not
have to pass in c++ headers directly.

This resolves the last case remaining of #30670. Darwin clang++ now
works properly.

Fixes #30670
2019-01-26 22:45:15 -05:00
Luka Blaskovic c340704bd3 llvm7: backport patches, fix building rust crates with lto
See: https://github.com/rust-lang/rust/issues/57762
2019-01-22 08:09:37 +00:00
Viktor Kleen 469ecc7098
llvm: support PowerPC 2019-01-19 18:04:05 -08:00
Will Dietz 946be0ed99 llvm7: patch to fix PR39427
See linked issue for discussion,
but key bits:

* rustc breaks without this
* fix changes ABI, may become 7.1.0
2019-01-16 16:54:59 -06:00
Orivej Desh d6f401e132 llvm_6, llvm_7: build all default targets (#53941)
This makes LLVM tools (including dependent tools such as LLD) readily useful in
more situations, foresees such needed additions as BPF and NVPTX, and brings
llvm_6 and newer on par with the current default llvm_5.
2019-01-15 04:59:49 +00:00
Will Dietz 5e2ac7e5fd llvm6: enable BPF target here as well 2019-01-13 21:30:24 -06:00
Will Dietz 3054cbd3f2 llvm: include BPF target too, otherwise can't build bcc 2019-01-13 20:59:09 -06:00
Franz Pletz 237deba4e7
Merge remote-tracking branch 'origin/master' into staging 2019-01-10 16:00:34 +01:00
Vladimír Čunát 287144e342
Merge branch 'master' into staging-next 2019-01-10 13:07:21 +01:00
Matthew Bauer 09ff7707ae llvm3.{8,9}: use old CMAKE_INSTALL_NAME_DIR value
adcf4aa524 broke these two. The old way
seems to work and might still avoid the original lldb issues.
2019-01-06 22:11:38 -06:00
Daniel Goertzen 1c10efc912 add generic x86_32 support (#52634)
* add generic x86_32 support

- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.

* revert `isi[345]86`, remove dead code

- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.

* remove i386-linux since linux not supported on that cpu
2019-01-06 12:57:36 -06:00
Will Dietz cc97d49404 llvm7: 7.0.0 -> 7.0.1 2018-12-29 12:54:57 -06:00
Jan Tojnar ff22d90308
mesa_noglu: fix build
LLVM’s `LLVM_TARGETS_TO_BUILD` build flag defauls to `all`, which contains
`AMDGPU` among others. [1] Changes in llvm [2] switched to explicitly listing
host and target platforms, excluding the AMDGPU target, which is required
for Mesa to build.

[1]: db50b6fe39/CMakeLists.txt (L286-L302)
[2]: https://github.com/NixOS/nixpkgs/pull/52031
2018-12-24 23:41:36 +01:00
Jan Tojnar 192f4171d8
llvm: allow passing arbitrary targets
Mesa requires AMDGPU target but previously, we only allowed a pre-defined set
of targets.
2018-12-24 15:38:55 +01:00
Jan Tojnar ef935fa101
Merge branch 'master' into staging 2018-12-24 15:02:29 +01:00
Jörg Thalheim 1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
James Kay 72e1764199
libcxx: add linker scripts for libc++.a to ensure libc++abi.a is properly linked 2018-12-17 18:59:19 +00:00
James Kay d8699a9a5b
libcxxabi: also install libc++abi.a 2018-12-17 12:22:29 +00:00
Matthew Bauer adcf4aa524 lldb: use provided INSTALL_NAME_DIR
Fixes #47886

We don’t want llvm to set the install name for us. It should be the
one given to us.
2018-12-15 13:27:02 -06:00
Matthew Bauer 1d6b0eb7dd lldb: add cf-private on darwin
This is necessary to avoid objc errors like:

    "_OBJC_CLASS_$_NSDictionary", referenced from:
        objc-class-ref in liblldbHost.a(HostInfoMacOSX.mm.o)
        objc-class-ref in liblldbPluginPlatformMacOSX.a(PlatformiOSSimulatorCoreSimulatorSupport.mm.o)
  ld: symbol(s) not found for architecture x86_64
2018-12-15 13:27:01 -06:00
Jörg Thalheim e84bd8db9f llvm_7: fix cross-compilation 2018-12-14 09:40:52 +00:00
Jörg Thalheim fd463810ae llvm_6: fix cross-compilation 2018-12-14 09:40:48 +00:00
John Ericson 4b7a615899 llvm 7: Allow for specifying an arbitrary list of backends to build 2018-12-13 01:14:24 -05:00
Jörg Thalheim 2ca39fe86b llvm_7: fix cross-compiling 2018-12-08 19:25:43 +00:00
Michael Raskin 4a854344b7
Merge pull request #48721 from oxij/tree/mass-rebuild-complicated-cleanups
treewide: mass rebuild complicated cleanups
2018-10-29 19:17:28 +00:00
Jan Malakhovski 110f16e43e llvm_5: cleanup with a mass rebuild, but no idea why, and can not test 2018-10-21 18:26:37 +00:00
John Ericson c701d6cb21 Merge remote-tracking branch 'upstream/master' into staging 2018-09-25 14:20:27 -04:00
John Ericson 2b4b7d4ef3
Merge pull request #47233 from oxij/tree/mass-rebuild-noop-cleanups
treewide: mass rebuild noop cleanups
2018-09-25 00:04:52 -04:00
Vladimír Čunát 3a09a4b579
Merge branch 'master' into staging
Hydra: ?compare=1480463
2018-09-24 21:18:23 +02:00
Will Dietz 5b2de5126d llvm7: update musl patch for sanitizers 2018-09-24 11:19:05 -05:00
Will Dietz 9fe245d7e0 llvm7: optionally use libpfm (exegesis), default off w/darwin 2018-09-23 13:30:18 -05:00
Will Dietz b3645d74d1 llvm7: only use 1 number in version suffix, upstream changed
See llvm 2a6cf85828509e89e18739e5f4b9a958820d66d4
2018-09-23 13:30:18 -05:00
Will Dietz e3030a2908 libc++7: prefer 'optional' as suggested by comment 2018-09-23 13:30:18 -05:00
Will Dietz 167e799d81 llvm*: http -> https, prefer releases.llvm.org 2018-09-23 13:30:18 -05:00
Will Dietz 0920652c5c llvm7: update hashes, they did change after all.
Pretty sure they did last time too :).
2018-09-23 13:30:17 -05:00
Will Dietz fca31e1a68 llvm7: use final release tarballs now that they're available 2018-09-23 13:30:17 -05:00
Will Dietz 621fd23cb5 compiler-rt: quickfix codesign patch by dropping hunks 'already applied'
Quite possibly this is not right.
2018-09-23 13:30:17 -05:00
Will Dietz ba701ef329 comment 2018-09-23 13:30:17 -05:00
Will Dietz 38699890d6 llvm-manpages: fix build by removing references to $lib output 2018-09-23 13:30:17 -05:00
Will Dietz b7692f5be5 llvm7: patch test shebang (otherwise test fails) 2018-09-23 13:30:16 -05:00
Will Dietz bb110d80fc llvm7: init at 7.0.0rc3
Copy of 6 + updated hashes
2018-09-23 13:30:16 -05:00
Jan Malakhovski ed10043f75 llvmPackages_6.libcxx: cleanup with a mass rebuild 2018-09-23 17:30:32 +00:00
Jan Malakhovski d2674c5e15 llvm_5: cleanup with a mass rebuild 2018-09-23 17:30:32 +00:00
Dan Peebles 110c252870 cctools: support LTO on Darwin
LTO is disabled during bootstrap to keep the bootstrap tools small and
avoid unnecessary LLVM rebuilds, but is enabled in the final stdenv
stage and should be usable by normal packages.
2018-09-16 02:12:11 -04:00
John Ericson 0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Frederik Rietdijk 944586699e llvmPackages_34: remove unused 2018-08-04 13:45:59 +02:00
Matthew Bauer b32d0a41d0 llvm: fix triple setting
llvm is a library so it should just need to know about build & host.
GCC will already have a cross compiler built.

/cc @Ericson2314 @dtzWill
2018-08-02 17:04:47 -04:00
Matthew Bauer f3fc04bfd2
llvm6: disable tests on cross compiler
This seems to be broken currently.

https://hydra.nixos.org/build/77597880/nixlog/1

/cc @ericson2314 @dtzWill
2018-07-31 21:46:07 -04:00
Matthew Bauer c7d77c90c6
llvm5: disable tests on cross compilers
This appears to be broken currently.

https://hydra.nixos.org/build/77597880

/cc @Ericson2314
2018-07-31 21:44:58 -04:00
Lluís Batlle i Rossell f54b387b63 Merge remote-tracking branch 'central/master' into viric_clean 2018-07-28 19:25:14 +02:00
Daiderd Jordan 2e09219564
llvm-manpages: fix build 2018-07-28 00:08:31 +02:00
Daiderd Jordan 3ec81ae27e
llvm-packages: fix manpages with python-boot and cleanup
On darwin llvmPackages is built using python-boot to avoid dependencies
in the stdenv, but we can't and shouldn't use that when building the
manpages since it depends on python packages.
2018-07-28 00:08:26 +02:00
Lluís Batlle i Rossell 66d7126255 Take me (viric) out of most maintenance
Since years I'm not maintaining anything of the list below other
than some updates when I needed them for some reason. Other people
is doing that maintenance on my behalf so I better take me out but
for very few packages. Finally!
2018-07-22 21:50:19 +02:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Will Dietz bf3a588f64 llvm_6: enable "dump()" methods even w/assertions off 2018-07-05 07:22:53 -05:00
Vladimír Čunát f7781f5293
Merge branch 'master' into staging 2018-06-30 01:41:59 +02:00
Will Dietz 8cd268adf0 llvm_6: refresh sanitizers-non-gnu patch 2018-06-29 11:54:21 -05:00
Will Dietz 4a8104af49 llvm6: 6.0.0 -> 6.0.1 2018-06-29 11:54:21 -05:00
Will Dietz 27351f8b4b
Merge pull request #42454 from dtzWill/fix/llvm-triples-unconditional
llvm-{5,6}: unconditionally set triples
2018-06-27 10:04:40 -05:00
Will Dietz 8575fd554c
Merge pull request #42456 from dtzWill/fix/llvm4-triples-unconditional
llvm4: unconditionally set triples, not just on musl.
2018-06-27 10:02:58 -05:00
Will Dietz 632624691d llvm-3.8: don't set triples a second time on musl
I should have "moved" the flags instead of "copying" them earlier :).
2018-06-25 09:55:36 -05:00
Will Dietz c5e90a9292 llvm_{38,39}: unconditionally set triples, not just w/musl
Follow-on to same changes made to other versions:
See #42454, #42456.
2018-06-23 16:53:38 -05:00
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
John Ericson e65259f00c LLVM: Get binutils plugin header from libbfd 2017-11-13 08:46:13 -05:00
Piotr Bogdan b261c73dce llvm_35: fix build with glibc 2.26 2017-11-10 19:16:26 +00:00
Piotr Bogdan 38ac67fc9a llvm_34: fix build with glibc 2.26 2017-11-10 19:16:11 +00:00
aszlig 44cb95a234
llvmPackages/libc++: Fix build against glibc 2.26
This is very similar to what we had in bb0b0822ef.

The xlocale.h header is no longer existing in glibc version 2.26, so we
need to avoid including it.

I've tested building against all of the libcxx attributes of LLVM 3.5,
3.7, 3.8, 3.9, 4 and 5.

All of them succeeded except version 3.5, which failed because of an
unrelated issue (build of libc++abi has failed, one of its
dependencies), so I only verified whether the patch applies cleanly.

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @vcunat
2017-11-08 22:08:11 +01:00
Vladimír Čunát e0a36522a7
llvm 3.7--4: fixup build with glibc-2.26 2017-11-07 09:17:00 +01:00
Daniel Peebles 416979f3f7 Merge pull request #30150 from copumpkin/no-rpath-nonsense
Get rid of most @rpath nonsense on Darwin
2017-10-08 16:21:27 -04:00
Dan Peebles b426c85ce2 Get rid of most @rpath nonsense on Darwin
This requires some small changes in the stdenv, then working around the
weird choice LLVM made to hardcode @rpath in its install name, and then
lets us remove a ton of annoying workaround hacks in many of our Go
packages. With any luck this will mean less hackery going forward.
2017-10-08 16:13:46 -04:00
Orivej Desh 109acb11c3 Merge pull request #30122 from phi-gamma/llvm-https
llvm: download source over https
2017-10-05 20:34:48 +00:00
Philipp Gesang 0e2e3afd65
llvm: download source over https
The source distribution contains binaries (probably for testing) that
make the Avira virus scanner treat it as malware on account of a “bad
ELF header”. Apart from being preferable in general, the HTTPS download
makes the file opaque to the overeager AV scanner in transparent
proxying setups.

Also adapt to the fact that the canonical downloads now point to a URL
like this:

    https://releases.llvm.org/4.0.1/llvm-4.0.1.src.tar.xz
2017-10-05 12:17:29 +02:00
Will Dietz fb7ebf3c93 llvm: init 5.0 2017-09-26 16:51:17 -05:00
John Ericson 0d12d040e7 Merge pull request #29402 from obsidiansystems/binutils-output-ref
treewide: Fix some references to binutils
2017-09-14 18:51:12 -04:00
John Ericson bf7b521500 treewide: Fix some references to binutils
- Compiler's shouldn't use `binutils.dev` as that doesn't yet exist
   with a cross binutils.

 - Last two `binutils.binutils` which weren't reverted
2017-09-14 18:12:54 -04:00
John Ericson 349a09228e Merge pull request #29246 from LnL7/clang-stdenv
clang-stdenv: move libstdcxxHook to cc-wrapper
2017-09-13 16:21:41 -04:00
Daiderd Jordan ad486c48a6
llvm-packages: apply cc-wrapper/stdenv changes to older versions 2017-09-13 20:51:52 +02:00
Daiderd Jordan ac88515052
clang-stdenv: move libstdcxxHook to cc-wrapper 2017-09-13 20:51:41 +02:00
John Ericson 5aec3f96a2 treewide: Use *Platform.extensions 2017-09-13 11:16:10 -04:00
Daiderd Jordan 907222098a
clang-stdenv: use libstdcxxHook when targeting linux 2017-09-05 21:37:06 +02:00
Franz Pletz 637e33e616
llvm: disable failing tests on i686 2017-08-22 01:40:54 +02:00
davidak 3270aa896b replace "Mac OS X" and "OS X" with "macOS"
as it is the official name since 2016

https://en.wikipedia.org/wiki/Macintosh_operating_systems#Desktop

exception are parts refering to older versions of macOS like

"GUI support for Mac OS X 10.6 - 10.12. Note that Emacs 23 and later [...]"
2017-08-07 21:41:30 +02:00
Daiderd Jordan 37c599fe8c Merge pull request #26429 from aherrmann/pr_llvm_4_fix_debug
llvm_4: Fix debugVersion
2017-07-17 21:27:52 +02:00
Vladimír Čunát 1e1472ed93
llvmPackages_4: don't change *.outputs
It was blocking channel(s).  See:
https://github.com/NixOS/nixpkgs/pull/26818#issuecomment-315020922
2017-07-13 13:07:42 +02:00
Vladimír Čunát f171b95e44
Merge #26905: llvmPackages_4: 4.0.0 -> 4.0.1 2017-07-05 09:01:26 +02:00
Will Dietz 495a022e44 llvmPackages_4: 4.0.0 -> 4.0.1 2017-06-27 09:05:37 -05:00
Daiderd Jordan 071803955e
llvm-packages: mark manpages as lowPrio 2017-06-26 20:25:14 +02:00
Daiderd Jordan f60a36a910
llvm-packages: get rid of extra build depedencies for manpages
Fixes #26756
2017-06-26 20:24:16 +02:00
Jörg Thalheim b6bacc4bb2 llvmPackage_{3.4,3.5,3.7,3.8,3.9}: fix output of llvm-config
llvm-config is a tool to output compile and linker flags, when compiling against llvm.

The tool however outputs static library names despite libllvm is build
as shared library on nixos. This was fixed for llvm 3.4, 3.5 and 3.7.

For llvm 3.8 and 3.9 it printed the library extension twice (.so.so).
This was fixed in 4.0 and the patch is backported to 3.8 and 3.9 in
this pull request.

```
$ for i in 34 35 37 38 39; do echo "\nllvm-$i"; nix-shell -p llvmPackages_$i.llvm --run 'llvm-config --libnames'; done

llvm-34
libLLVMInstrumentation.so libLLVMIRReader.so libLLVMAsmParser.so
...

llvm-35
libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMipo.so
...

llvm-37
libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMBitWriter.so
...

llvm-38
libLLVM-3.8.1.so

llvm-39
libLLVM-3.9.so
```

fixes #26713
2017-06-20 10:22:06 +01:00
Jörg Thalheim 7d12608069 llvmPackages_3.7: fix libnames output of llvm-config
see also 4c4f50ce76
2017-06-16 16:23:42 +01:00
Andreas Herrmann 1cfed62073 llvm_4: Fix debugVersion
Previously failed on installation phase
when `substituteInPlace` could not find the cmake exports file.
2017-06-06 21:39:18 +02:00
Frederik Rietdijk 7578940392 Merge remote-tracking branch 'upstream/master' into HEAD 2017-06-05 12:46:08 +02:00
Daiderd Jordan 9e2aba3572
darwin-stdenv: remove python-sphinx and a bunch of other dependencies from the stdenv 2017-06-01 23:23:56 +02:00
Matthew Bauer 29acc510c0
lldb: fix on Darwin
This gives a few fixes for LLDB on Darwin. Note: you will have to do code
signing for it to work outside of root!
2017-05-31 19:59:36 -07:00
Daiderd Jordan b3fb9178e8
llvm-packages: add option to enable manpages 2017-05-31 20:16:13 +02:00
Vladimír Čunát 538aa0f808
Merge branch 'staging' (early part)
The comparison looks nice on Hydra.
2017-05-30 16:08:21 +02:00
Daiderd Jordan 4e88e82e06 Merge pull request #26099 from dtzWill/fix/lldb-libedit
lldb-4: Patch to fix libedit usage on Linux
2017-05-29 23:36:00 +02:00
Daiderd Jordan 82b0b57580
clang: fix libclang library id on darwin 2017-05-28 20:34:35 +02:00
Daiderd Jordan 779ec14402 Merge pull request #25921 from dtzWill/feature/llvm-manpages
llvm-4/clang-4: Build and install man pages
2017-05-28 20:29:21 +02:00
Will Dietz 5e659e94a6 lldb-4: Patch to fix libedit usage on Linux
Idea from:
https://bugs.llvm.org//show_bug.cgi?id=28898#c7

Fixes ability to use arrow keys.
2017-05-27 14:10:01 -05:00
Vladimír Čunát 8004e79415
Merge branch 'master' into staging 2017-05-24 03:24:06 +02:00
Jörg Thalheim 4c4f50ce76
llvmPackages_34.llvm: fix output of llvm-config
now llvm-config --libnames and llvm-config --libfiles output the proper
files.
2017-05-23 18:38:44 +01:00
Will Dietz 3d1c1c5af3 llvm-4/*: indicate which build inputs are nativeBuildInputs. 2017-05-19 15:38:00 -05:00
Will Dietz 9aa3548931 llvm-4/clang-4: Build and install man pages 2017-05-19 15:37:59 -05:00
Vladimír Čunát 51e0f8f759
Merge branch 'master' into staging
Some more larger rebuilds from master.
2017-05-12 12:03:37 +02:00
Joe Hermaszewski ad778a64d7 LLVM-3.9: formatting 2017-04-29 11:18:25 +00:00
Joe Hermaszewski 7b7ffc4999 LLVM-3.9: disable shared libraries in cross builds
The current cc-wrapper script seems to have trouble setting the rpath
correctly. Hopefully #25047 will fix this.
2017-04-29 11:18:15 +00:00
Anthony Cowley 0059131f54 llvm: Add the LLVM OpenMP components
Needed to build an executable that uses OpenMP with clang. This
includes a header file and a library that clang will link into an
executable whose source makes use of ‘omp‘ pragmas.
2017-04-28 21:30:55 -04:00
Joe Hermaszewski bad5ca0525 LLVM-3.9: Use nativeBuildInputs instead of buildPackages 2017-04-25 22:31:31 +00:00
Joe Hermaszewski fea424fea3 LLVM-3.9: Fix RPATH in cross compile builds
This error was cause by multiple-outputs.sh not setting
NIX_CROSS_LDFLAGS
2017-04-25 22:25:17 +00:00
Joe Hermaszewski 12bbc63024 llvm-3.9: Fix cross compilation
It's now possible to cross compile llvm:

`nix-build -E '(import ./. { crossSystem = import ./platform.nix; }).pkgs.llvm'`
2017-04-25 19:59:35 +00:00
Joe Hermaszewski 34436df0d0 clang: Use cmake from buildPackages 2017-04-25 19:59:09 +00:00
Dan Peebles b9e558597d stdenv-darwin: bump to use LLVM 4.0 & new bootstrap tools 2017-04-07 14:36:21 -04:00
Daiderd Jordan 7ddd5012a1
libcxx-4: add pthread_mach_thread_np patch 2017-03-26 17:30:23 +02:00
Vladimír Čunát c1a9dc3d37
Merge branch 'master' into staging 2017-03-23 13:31:28 +01:00
Dan Peebles 3263d02626 xcbuild: assorted fixes and cleanups
This is in preparation for the LLVM 4 upgrade (which gets more strict
about e.g., return false in xcbuild itself) and also for using xcbuild
more extensively in the Darwin stdenv bootstrap process, which is why I
killed the unnecessary gcc dependency in the toolchain. llvm-cov pretends
to be gcov anyway, so we're fine.
2017-03-21 23:22:15 -04:00
Daniel Peebles 5148be4866 Merge pull request #24018 from copumpkin/llvm-39-improvements
LLVM 3.9 improvements
2017-03-19 20:53:46 -04:00
Dan Peebles 972f51a2da llvmPackages_37.libcxxabi: fix with more recent versions of libc++
The build breaks on libc++ 3.8 and above, which hinders our upgrade to
LLVM 4 for the Darwin stdenv.
2017-03-19 20:51:58 -04:00
Dan Peebles f3aeb3b0ab llvm-39: a couple of improvements
Splits outputs in clang like we do in 3.8 and 4.0 to avoid runtime
dependency on Python in the main derivation.

I also disable TSAN on Darwin to maintain consistency with 4.0, which
disables it because it forces an unfree dependency in the stdenv.
2017-03-18 15:08:58 -04:00
Dan Peebles 2cb440df72 llvm-4: small improvements on Darwin and elsewhere
Split outputs because there's no point in keeping a reference to Python
and it causes trouble during the Darwin stdenv bootstrap. There's also
an unnecessary dependency on LLVM in libc++ which causes us to rebuild
LLVM several more times than necessary during bootstrap, and an awkward
dependency on XPC in the TSAN that we turn off. This is in preparation
for using LLVM 4 in the Darwin stdenv and by default across nixpkgs.
2017-03-18 13:07:52 -04:00
Will Dietz f54813d767 llvm4: rc4 -> release! 2017-03-13 14:54:39 -05:00
Will Dietz 8d10f1dc5b llvm4: rc3 -> rc4 2017-03-08 09:57:41 -06:00
Will Dietz 3bc5a68a63 llvm4: enable tests 2017-03-08 09:50:04 -06:00
Will Dietz 6f6c06adc1 llvm4.0: Rename "4.0" (and _40) to "4" (and _4).
This reflects upstream versioning change, and allows
us to replace 4.0 with 4.1 (which is now a minor revision)
without changing the attribute name.

Thanks to @vcunat for the idea.
2017-03-02 17:19:44 -06:00
Will Dietz 5e267f657d llvm4.0: rc2 -> rc3
Also add myself to maintainers for LLVM.
2017-03-02 17:19:44 -06:00
Will Dietz 7ea342708a lldb-4.0rc2: Try to fix but ultimately disable on Darwin.
Currently it's failing due to needing Foundation.h,
but LLDB on Nix-Darwin is a bit sketchy anyway
due to code-signing requirements.
2017-02-20 09:26:09 -06:00
Will Dietz a5aedafbd9 llvm-4.0: Distinguish release version, fix naming to clarify rc2. 2017-02-20 09:26:07 -06:00
Will Dietz 753058baef libc++-4.0rc2: Use substituteInPlace instead of the Darwin patch.
On 3.9 the substituteInPlace is equivalent to the patch,
hopefully this is a slightly more robust way to make
the same substitution for the 4.0 version.

Apply this change unconditionally for consistency across versions,
even if the changed strings are unused on other platforms.

Discussion:
https://github.com/NixOS/nixpkgs/pull/22970#discussion_r101926144
2017-02-20 09:26:06 -06:00
Will Dietz 2ebb086df1 llvm-4.0/libc++abi: Remove LLVM build dep to unbreak Darwin evaluation. 2017-02-20 09:26:06 -06:00
Will Dietz 9d8ad57abc llvm-4.0: init at rc2 in preparation for release.
Also adds 'lld'.
2017-02-20 09:26:06 -06:00
Vladimír Čunát 2dba30af72
Merge recent staging
It's almost finished by Hydra now.
2017-02-12 19:51:01 +01:00
Will Dietz 947c26972b LLVM: Fix licensing metadata, closes #22679. (#22681)
* All projects are available under NCSA license,
  other than dragonegg.
* "Runtime" projects are dual-licensed under
  both NCSA and MIT:
  libc++, libc++abi, compiler-rt
* I don't mention MIT for compiler-rt as
  we only build it as part of LLVM.
2017-02-11 23:13:29 +01:00
Vladimír Čunát f4d1bcb9a7
llvm: fix #22567 oversaturated red icons 2017-02-11 11:03:59 +01:00
Robin Gloster c67805ff17
llvmPackages_36: remove 2017-01-27 20:12:54 +01:00
Daiderd Jordan 27660cfdc0
Merge branch 'master' into staging 2017-01-04 01:42:26 +01:00
Daiderd Jordan 538d1b688a stdenv: bootstrap cmake and python on darwin 2017-01-03 18:01:47 +01:00
Daiderd Jordan 2bb33130cc Merge pull request #21541 from veprbl/libcpp37
libc++3.7: fix to use with clang 3.9
2017-01-02 00:39:30 +01:00
Dmitry Kalinkin e9d60c5636
libc++3.7: fix to use with modern compilers
Modern compiler will issue a following error whenever '#include <string>'
is done:

/nix/store/yxpwamjdapjcp53mmsdh1j2c9bc26h4k-libc++-3.7.1/include/c++/v1/string:1938:44:
error: 'basic_string<_CharT, _Traits, _Allocator>' is missing exception specification 'noexcept(is_nothrow_copy_constructible<allocator_type>::value)'
basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a)
                                           ^
/nix/store/yxpwamjdapjcp53mmsdh1j2c9bc26h4k-libc++-3.7.1/include/c++/v1/string:1326:40:
note: previous declaration is here
    _LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a)
                                       ^
1 error generated.

This happens because modern clang is more strict about checking
exception specification for forward declaration and definition.

http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/string?r1=242056&r2=242623&diff_format=h
2016-12-30 16:16:14 -05:00
Will Dietz 10b8cfbdbd llvm: 3.9.0 -> 3.9.1 2016-12-28 12:56:55 -06:00
Tuomas Tynkkynen 8a4d6516ee Merge remote-tracking branch 'upstream/staging' into master 2016-11-30 00:34:23 +02:00
Vladimír Čunát b67ae8b33c
llvmPackages*.lldb: fixup input by disabling libedit
Fixes #20773.  https://llvm.org/bugs/show_bug.cgi?id=28898
Of course, feel free to find a better solution.

I love this copy&paste :-/
2016-11-28 19:02:15 +01:00