Commit graph

349 commits

Author SHA1 Message Date
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
Frederik Rietdijk
7ab6edd171 llvm_34: use python2 2016-11-24 22:28:03 +01:00
Shea Levy
459ab0e0fd Whoops, actually add patch for llvm 2016-11-15 16:41:24 -05:00
Shea Levy
f615df9599 llvm-3.8: Fix segfault in llc 2016-11-15 16:39:08 -05:00
Frederik Rietdijk
7077a270bf Merge remote-tracking branch 'upstream/master' into HEAD 2016-10-26 13:06:43 +02:00
Shea Levy
be02229f06 Add libcxxStdenv attribute to recent llvm package sets 2016-10-25 10:29:40 -04:00
Frederik Rietdijk
e56832d730 Merge remote-tracking branch 'upstream/master' into HEAD 2016-10-22 17:23:24 +02:00
Anthony Cowley
0f6ef7c41c llvm_39: fix on darwin 2016-10-19 01:53:13 -04:00
Frederik Rietdijk
284f22d19e lldb 3.7: use python2
just like llvm 3.7
2016-10-18 23:16:10 +02:00
Frederik Rietdijk
adbaed0815 llvm 3.7: use python2 2016-10-18 23:16:03 +02:00
Daniel Peebles
77d1fb94f1 Merge pull request #19470 from copumpkin/fix-sierra
Fix Darwin stdenv to work on Sierra
2016-10-12 19:04:03 -04:00
Dan Peebles
d8a0307a5d [darwin.stdenv] Fix to work on Sierra
This reinstates the libSystem selective symbol export machinery we used
to have, but locks it to the symbols that were present in 10.11 and skips
the actual compiled code we put into that library in favor of the system
initialization code. That should make it more stable and less likely to
do weird stuff than the last time we did this.
2016-10-12 00:08:13 -04:00
Vladimír Čunát
56e9bbfe65 Merge #18130: llvmPackages_38: 3.8.0 -> 3.8.1 2016-10-11 22:29:59 +02:00
Will Dietz
5b3bf1fffa llvm-3.8: Fix clang build on non-darwin.
'set-xcode-analyzer' is only installed on APPLE.
2016-10-09 16:57:40 +02:00
Jörg Thalheim
54867a0400 Merge pull request #19131 from aneeshusa/remove-redundant-cmake-build-type-release-args-part2
llvm3.9: Remove -DCMAKE_BUILD_TYPE=Release flags
2016-10-03 14:43:40 +02:00
Tuomas Tynkkynen
19225bf5cc Merge remote-tracking branch 'upstream/master' into staging 2016-10-02 10:36:47 +03:00
Aneesh Agrawal
c04e46c87d llvm3.9: Remove -DCMAKE_BUILD_TYPE=Release flags
Since commit 183d05a in 2012, this is the default.
2016-10-01 13:55:42 -04:00
Aneesh Agrawal
fcee1d0b28
Remove redundant -DCMAKE_BUILD_TYPE=Release flags
Since commit 183d05a0 in 2012, this is the default.

fixes #18000
2016-10-01 16:13:41 +02:00
Vladimír Čunát
d2965a7d85 llvm-3.9: move shared libLLVM to a separate output
Fixes #18840: too large closure of mesa_drivers.

Tested atop 16.09:
 - clang compiles a hello-world app;
 - mesa seems to link OK;
 - ispc builds.

Size comparison:
 - 80 MB of full llvm-3.7 on 16.03;
 - 200 MB of full llvm-3.9 on 16.09 before this patch;
 - 50 MB of libLLVM after this commit.
2016-09-24 18:32:45 +02:00
Dan Peebles
7b9d3f8605 stdenv-darwin: upgrade a few more things
It's a long build and generally painful to split into smaller commits,
so I apologize for lumping many changes into one commit but this is far
easier.

There are still several outdated parts of the darwin stdenv but these
changes should bring us closer to the goal.

Fixes #18461
2016-09-12 01:46:44 -04:00
Vladimír Čunát
a49cb9dcbe llvmPackages: generalize "3.9.0" string occurrences
Discussed:
https://github.com/NixOS/nixpkgs/commit/15af9082eb#commitcomment-18903919
2016-09-11 10:13:34 +02:00
Vladimír Čunát
f5c3115063 llvmPackages_39: rc -> 3.9.0 2016-09-02 20:15:11 +02:00