Commit graph

272 commits

Author SHA1 Message Date
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
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