3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

986 commits

Author SHA1 Message Date
sternenseemann 115a6f077f llvmPackages_{12,13,git}.compiler-rt: remove new runtimes in useLLVM
LLVM 12 added the memory profiling runtime and LLVM 13 the ORC
runtime. Both need a libc in order to build (or at least headers not
present in clang's resource root), so we'll disable them for any sort of
baremetal-ish build. memprof likely doesn't work in a baremetal
situation at all, orc is unknown. Whether both would compile with musl
is to be checked.
2022-01-05 18:17:53 +01:00
sternenseemann e4fddecdb3 llvmPackages_{11,12,13,git}.libllvm: enable static build
The main thing we need to pass LLVM_ENABLE_PIC=OFF to prevent LLVM from
building shared objects because our cc-wrapper is incapable of producing
shared objects. Building LLVM statically also influences other LLVM
projects like clang and lld -- which can be built linked fully
statically with this change.
2022-01-04 18:40:32 +01:00
sternenseemann e5ccc412d2 llvmPackages_*.libllvm: only build tests if doCheck
To make the value of doCheck in the argument attribute set accurate we
also need to include the condition for cross compilation which normally
is added by stdenv.mkDerivation.
2022-01-04 18:40:32 +01:00
sternenseemann c70dca8249 llvmPackages_*.libllvm: make llvm-config and llvm-config equivalent
LLVM's build system creates NATIVE/bin/llvm-config by reexecuting cmake
with entirely new flags. Problematically, the `CMAKE_INSTALL_*` flags
are not inherited, causing llvm-config-native to return wrong
installation paths, e. g. CMAKE_INSTALL_LIBDIR would default to `lib64`
on x86_64-linux. Previously this was masked by outputs.patch which
replaced ActiveLibDir with a string passed in from Nix, however
`--cmakedir` for example would turn out to be wrong always, breaking
cross-compilation of e. g. lld.

Additionally LLVM_ENABLE_RTTI needs to be repassed, as it is used to
determine if RTTI is available. Passing LLVM_LINK_LLVM_DYLIB is crucial
if we are building LLVM non-statically: It influences the --shared-mode
flag (which should indicate that -lLLVM is enough to link all
components) and makes --link-shared work in the first place,
i. e. llvm-config-native believes the built shared libs don't exist
unless we repass this flag.

Passing LLVM_LINK_LLVM_DYLIB=ON, however, makes the native build produce
a full libLLVM.so which is something we don't want, so we introduce a
patch which forces llvm-config to link statically against the LLVM
components it needs.
2022-01-04 11:09:43 +01:00
sternenseemann d807aaa30c llvmPackages*.libllvm: drop outputs.patch for llvm-config.patch
Due to gnu-install-dirs.patch llvm-config will return correct results
for --link-shared as well as --link-static even without this patch.
2022-01-04 11:09:43 +01:00
sternenseemann c58517aeed llvmPackages_*.clang: stop passing LLVM_CONFIG_PATH unnecessarily
Starting with LLVM 8, clang does no longer use llvm-config to detect the
LLVM installation: https://github.com/llvm/llvm-project/commit/e4faa5c7986b7
Consequently, there is no point passing LLVM_CONFIG_PATH (in fact the
variable is unused currently).
2022-01-03 16:46:38 +01:00
7c6f434c 84fb429d21
Merge pull request #150018 from trofi/fix-llvm-for-gcc-12
llvm_{5..12}: fix tests against upcoming gcc-12
2021-12-31 21:45:53 +00:00
Dmitry Kalinkin 508623b372
clang_{11,12,13,git}: enable RTTI 2021-12-24 22:24:00 -05:00
7c6f434c 58a27ea378
Merge pull request #148367 from r-burns/llvm-config-static
llvmPackages_*.llvm: fix llvm-config-native with static libs
2021-12-24 10:25:03 +00:00
Jonathan Ringer 182e07f0d9
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/libraries/webkitgtk/default.nix
	pkgs/development/python-modules/pylast/default.nix
	pkgs/development/python-modules/pymavlink/default.nix
2021-12-23 10:16:42 -08:00
github-actions[bot] 0c6795fa5b
Merge master into staging-next 2021-12-23 00:01:33 +00:00
github-actions[bot] 3479555209
Merge staging-next into staging 2021-12-19 18:01:44 +00:00
Dmitry Kalinkin e1aaaa90fe
llvmPackages.libcxx: unset _LIBCPP_USE_AVAILABILITY_APPLE 2021-12-18 10:09:25 -05:00
github-actions[bot] 3e2d1c1e65
Merge staging-next into staging 2021-12-15 18:01:52 +00:00
Neubauer, Sebastian de8041b44e llvmPackages_rocm.llvm: 4.3.1 → 4.5.2
Fix compiler-rt build and use ninja for faster builds.
2021-12-15 16:57:22 +01:00
Vladimír Čunát 030e814b88
Merge #148107: llvmPackages_13.clang: fix jemalloc issues
... into staging-next.  Also re-enable jemalloc in firefoxPackages.
2021-12-15 14:09:34 +01:00
Dmitry Kalinkin 07a8ae0c5a
Merge branch 'staging-next' into staging
Conflicts:
	pkgs/development/libraries/log4cplus/default.nix
2021-12-11 14:01:19 -05:00
Sergei Trofimovich 1ead4951db llvmPackages_5.compiler-rt: fix build against gcc-12
[ 11%] Building CXX object lib/xray/CMakeFiles/clang_rt.xray-x86_64.dir/xray_buffer_queue.cc.o
    In file included from lib/xray/xray_buffer_queue.cc:15:
    lib/xray/xray_buffer_queue.h:35:5: error: 'size_t' does not name a type
       35 |     size_t Size = 0;
          |     ^~~~~~
    lib/xray/xray_buffer_queue.h:23:1: note: 'size_t' is defined in header '<cstddef>';
      did you forget to '#include <cstddef>'?
       22 | #include <utility>
      +++ |+#include <cstddef>
       23 |
2021-12-10 19:56:55 +00:00
github-actions[bot] 0f2bb5a63f
Merge master into staging-next 2021-12-10 12:01:12 +00:00
Sergei Trofimovich 35223810a1 llvm_{5..12}: fix tests against upcoming gcc-12
In https://gcc.gnu.org/PR103598 we found out that gcc-12
changed __PRETTY_FUNCTION__ slightly and broke llvm-12 (and older)
tests that rely on exact type match. llvm-13 already removed the
qualified names from the expected output.

This change changes expected output to avoid llvm:: namespace prefix.
This is enough to get tests pass on x86_64 again.

Tested against this week's gcc-12 and against gcc-10.
2021-12-10 09:08:04 +00:00
arcnmx 265ba73a78 llvmPackages_13.compiler-rt: fix aarch32 patch 2021-12-04 07:12:34 -08:00
github-actions[bot] 904ed45698
Merge master into staging-next 2021-12-03 18:01:12 +00:00
Jörg Thalheim 50474e1857
Merge pull request #147543 from risicle/ris-libcxx-13-aarch64
llvmPackages_13.libcxx: require gcc >=10 on gcc platforms
2021-12-03 16:06:34 +00:00
Ryan Burns 544707d6a4 llvmPackages_*.llvm: fix llvm-config-native with static libs
Since both static and shared libs are installed to the same `lib`
output, we override the ActiveLibDir unconditionally.

Fixes `llvm-config-native --link-static --libs`
2021-12-02 19:21:21 -08:00
oxalica 754460f861
llvmPackages_13.clang: revert D100879
The malloc alignment assumption is incorrect for jemalloc and causes
mis-compilation in firefox.

https://reviews.llvm.org/D100879
https://bugzilla.mozilla.org/show_bug.cgi?id=1741454
2021-12-01 15:28:33 +08:00
midchildan 24d1fc7c73
llvmPackages_git.libcxx: fix darwin build 2021-11-28 00:58:53 +09:00
Robert Scott 54a487505a llvmPackages_13.libcxx: require gcc >=10 on gcc platforms
specifically aarch64. as of version 13 libcxx does not build on gcc9.
2021-11-26 22:12:42 +00:00
midchildan 7994b1dfc0
fixup! llvmPackages_13.libcxx: fix darwin build 2021-11-26 02:38:44 +09:00
midchildan d8338cbe06
fixup! llvmPackages_13.libcxx: fix darwin build
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-25 20:20:49 +09:00
midchildan e157b5dc28
llvmPackages_13.libcxx: fix darwin build 2021-11-25 19:59:17 +09:00
toonn 21df776a31 llvmPackages_13.libcxxabi: Align with 11 libcxxabi
LLVM 11 libcxxabi has some flags to support usage in the Darwin stdenv,
in particular, `standalone` and `withLibunwind`.

Darwin stdenv needs the `standalone` flag because its `hostPlatform` set
doesn't have `useLLVM` set to true. And it needs `withLibunwind` to
explicitly disable including `libunwind` as a build input.

We also prefix `install_name_tool` in case we're cross-compiling.
2021-11-24 15:17:13 -08:00
toonn d90fb1c038 llvmPackages_12.libcxxabi: Align with 11 libcxxabi
LLVM 11 libcxxabi has some flags to support usage in the Darwin stdenv,
in particular, `standalone` and `withLibunwind`.

Darwin stdenv needs the `standalone` flag because its `hostPlatform` set
doesn't have `useLLVM` set to true. And it needs `withLibunwind` to
explicitly disable including `libunwind` as a build input.

We also prefix `install_name_tool` in case we're cross-compiling.
2021-11-24 15:17:13 -08:00
toonn d964f211f6 llvmPackages_11.libcxxabi: More precise libunwind inclusion 2021-11-24 15:17:13 -08:00
toonn 73d3d0de7f libcxxabi: Use standalone instead of expression
Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
2021-11-24 15:17:13 -08:00
toonn 1be8e73fb3 stdenv: libcxxabi dropped standalone in favor of useLLVM
The libcxxabi expression had a `standalone` argument in LLVM 7 which
triggered passing of the `-DLLVM_ENABLE_LIBCXX=ON` flag. In LLVM 11 this
flag and others are toggled by the `useLLVM` attribute of
`stdenv.hostPlatform` but this toggles a flag we don't need on Darwin.

Similar to the refactoring of LLVM 7 libc++abi by Ericson2314 in
3af7e98470, I have reintroduced the standalone argument for use in
bootstrapping the Darwin stdenv.
2021-11-24 15:17:13 -08:00
Ryan Burns 93e835bd92
Merge pull request #146814 from r-burns/clang-tools-extra
[staging] llvmPackages_{13,git}.clang: build clang-tools-extra
2021-11-21 15:19:52 -08:00
Ryan Burns 93543c69c6
Merge pull request #146855 from trofi/fix-llvm-for-gcc-12
llvm_{5..11}: pull upstream build fix for for gcc-12
2021-11-21 14:43:37 -08:00
Sergei Trofimovich e9dfe892ef llvm_{5..11}: pull upstream build fix for for gcc-12
Without the fix build fails on gcc-12 as:

    /build/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp:
      In member function 'std::string llvm::NVPTXAsmPrinter::getPTXFundamentalTypeStr(...':
    /build/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp:1319:10:
      error: use of deleted function 'std::__cxx11::basic_string<...>; std::nullptr_t = std::nullptr_t]'
     1319 |   return nullptr;
          |          ^~~~~~~

The patch is present in upstream releases since llvm-12.
2021-11-21 09:50:01 +00:00
Ryan Burns dd8ad828de llvmPackages_{13,git}.clang: build clang-tools-extra
This is already done for previous versions of clang which use
a release tarball, but must be done differently for the more
recent versions which use fetchFromGitHub.

Fixes clang-tools clangd wrapper
2021-11-20 14:29:06 -08:00
Vladimír Čunát e4afe81567
Merge #144935: llvmPackages_7.libcxxabi: fix build with gcc 2021-11-20 16:23:31 +01:00
Rick van Schijndel e31f392946 llvm_13: fix cross-compilation
apply the same fix as used in 517d2b963f
2021-11-16 00:42:58 +01:00
Ryan Burns 3f90cde719 llvmPackages_7.libcxxabi: fix build with gcc
Unblocks 17 dependers on aarch64-linux
2021-11-06 15:03:13 -07:00
Anders Kaseorg e12f4db556 treewide: Fix unsafe concatenation of $LD_LIBRARY_PATH, round 2
Naive concatenation of $LD_LIBRARY_PATH can result in an empty
colon-delimited segment; this tells glibc to load libraries from the
current directory, which is definitely wrong, and may be a security
vulnerability if the current directory is untrusted.  (See #67234, for
example.)  Fix this throughout the tree.

Followup to #76804.  Fixes #144646.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-11-04 16:15:05 -07:00
Jonathan Ringer fc25d94010
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/python-modules/jupyter-client/default.nix
	pkgs/development/python-modules/jupyterlab-git/default.nix
2021-10-22 09:33:07 -07:00
Vladimír Čunát 68c40000a7
Merge #141397: llvmPackages_{5,6,7}.compiler-rt: fix patches 2021-10-21 20:26:37 +02:00
Sergei Trofimovich a410420844 pkgsStatic.llvmPackages_{{5..13},git}.compiler-rt: drop unused musl patches
Commit 199b7c50 "compiler-rt: remove <cyclades.h> from libsanitizer"
broke conditional conditional musl patches.

The change has a few effects:
- pkgsStatic.llvmPackages_{5,6,7}.compiler-rt: fix build on musl after cyclades backport
- pkgsStatic.llvmPackages_{{5..13},git}.compiler-rt: drop incomplete musl patches as
  sanitizers are disabled anyway and require more upstream porting.
2021-10-21 18:42:31 +01:00
Martin Weinelt a415d5dd2e Merge remote-tracking branch 'origin/master' into staging-next 2021-10-15 23:10:08 +02:00
pennae dc895fb281 lib: make extendDerivation lighter on eval
the fix to extendDerivation in #140051 unwittingly worsened eval performance by
quite a bit. set elements alone needed over 1GB extra after the change, which
seems disproportionate to how small it was. if we flip the logic used to
determine which outputs to install around and keep a "this one exactly" flag in
the specific outputs instead of a "all of them" in the root we can avoid most
of that cost.
2021-10-15 16:39:10 +02:00
Ryan Burns a3cd66ba95
Merge pull request #137259 from quyse/llvm13_libcxxabi_musl
llvmPackages_13, llvmPackages_git: libcxxabi: fix musl build
2021-10-14 20:07:11 -07:00
github-actions[bot] 32615f6f8c
Merge staging-next into staging 2021-10-06 06:01:40 +00:00
Bernardo Meurer 45be479255
llvmPackages_rocm.compiler-rt: replace dead patch with clone 2021-10-05 19:17:59 -07:00
github-actions[bot] f4ec0a418f
Merge staging-next into staging 2021-10-05 18:01:58 +00:00
Domen Kožar b095319218
Merge pull request #140575 from jkarlson/llvmworkaround
llvmPackages_13.compiler-rt: disable libfuzzer for aarch64
2021-10-05 10:46:16 -05:00
Emil Karlson 248936ea57 llvmPackages_13.compiler-rt: disable libfuzzer for aarch64
Libfuzzer fails to compile for aarch64 #140441.
This change allows us to have sufficient functionality to build latest chromium.
2021-10-05 10:18:58 +03:00
github-actions[bot] 143452baae
Merge staging-next into staging 2021-10-02 12:01:40 +00:00
github-actions[bot] d03095b67a
Merge master into staging-next 2021-10-02 12:01:09 +00:00
Michael Weiss ed2c99e65f
llvmPackages_13: 13.0.0-rc4 -> 13.0.0 2021-10-01 22:10:21 +02:00
github-actions[bot] 29cadb4162
Merge staging-next into staging 2021-10-01 00:02:08 +00:00
Josh Hoffer 2549800a1a compiler-rt: cont. remove <cyclades.h> from libsanitizer
See commit 199b7c505b for the
original issue.

This patch is from the upstream rocm llvm repo:
https://reviews.llvm.org/rG884040db086936107ec81656aa5b4c607235fb9a
2021-09-29 22:28:16 -06:00
John Ericson 80345d7083
Merge pull request #139022 from trofi/fix-llvm-8-to-10-on-gcc11
llvm_8, llvm_9, llvm_10: apply upstream fix for gcc-11
2021-09-27 12:35:11 -04:00
github-actions[bot] 5dd6e3a959
Merge staging-next into staging 2021-09-25 18:01:44 +00:00
Michael Weiss 8bc030eb13
llvmPackages_13: 13.0.0-rc3 -> 13.0.0-rc4 2021-09-25 13:52:14 +02:00
Timothy DeHerrera 4493c55376
Merge pull request #139008 from trofi/fix-llvm-5-for-gcc-11
llvm_5: disable print_context.c (fails on gcc-11 / dwarf-5)
2021-09-23 20:19:29 -06:00
github-actions[bot] 194b50aba8
Merge staging-next into staging 2021-09-23 06:01:47 +00:00
Divam d32e0e6b1b llvmPackages_13.lld: add postPatch to fix Darwin build 2021-09-23 09:17:31 +09:00
Sergei Trofimovich e9b26087ad llvm_8, llvm_9, llvm_10: apply upstream fix for gcc-11
On gcc-11 build fails due to missing <limits> include.
The fix pulls upstream change as is.
2021-09-22 22:34:01 +01:00
Sergei Trofimovich 02310b34b5 llvm_5: disable print_context.c (fails on gcc-11 / dwarf-5)
gcc-11 defaults to -gdwarf-5 and makes llvm symbolizer test fail.
As it's the only failing test let's just skip it for llvm-5.
2021-09-22 21:43:16 +01:00
Sergei Trofimovich 199b7c505b compiler-rt: remove <cyclades.h> from libsanitizer
linux-headers-5.13 removed <cyclades.h> along with device support.
Backport a single https://reviews.llvm.org/D102059 upstream change to
fix compiler-rt build.

Use local patches as there is a whitespace change compared to upstream.
2021-09-20 19:37:19 +01:00
Michael Weiss 3dc28072b6
Merge pull request #137891 from primeos/llvmPackages_13
llvmPackages_13: 13.0.0-rc2 -> 13.0.0-rc3
2021-09-17 23:21:08 +02:00
Michael Weiss d4f61aa164
llvmPackages_13: 13.0.0-rc2 -> 13.0.0-rc3 2021-09-14 22:49:56 +02:00
github-actions[bot] a13bf1828b
Merge master into staging-next 2021-09-12 18:01:21 +00:00
Daniël de Kok 6f2ce2a65e treewide: remove danieldk as maintainer from a set of packages
I currently do not have much time to work on nixpkgs. Remove
myself as a maintainer from a bunch of packages to avoid that
people are waiting on me for a review.
2021-09-12 14:42:12 +00:00
Alyssa Ross 56314db098
Merge remote-tracking branch 'nixpkgs/master' into staging-next
Conflicts:
	pkgs/development/compilers/ghc/8.10.7.nix
	pkgs/development/compilers/ghc/8.8.4.nix

I've removed the isWindows check from useLdGold in ghc, since that should
be covered by the new hasGold check.
2021-09-11 10:49:13 +00:00
Rick van Schijndel 517d2b963f llvm_12: fix cross-compilation
Cross-compilation is broken because the method of finding ncurses has
changed, causing the build for the 'build system' to fail with a linking
error due to ncurses being for the 'host system' (where you're compiling
for).

This patch disables ncurses, which is not a very neat solution, but will
do until someone takes this upstream and gets it fixed properly.

Closes https://github.com/NixOS/nixpkgs/issues/127946.

Error that's seen before applying this:

/nix/store/hash-binutils-2.35.1/bin/ld: /nix/store/hash-ncurses-6.2-aarch64-unknown-linux-gnu/lib/libtinfo.so: error adding symbols: file in wrong format
2021-09-11 06:57:25 +00:00
Alexander Bich 2c6f116448 llvmPackages_13, llvmPackages_git: libcxxabi: fix musl build 2021-09-10 13:55:35 +03:00
github-actions[bot] dbebaeb8ba
Merge master into staging-next 2021-09-09 18:01:06 +00:00
Sebastian Neubauer 61a2864b18 llvmPackages_rocm: add update script 2021-09-09 15:42:07 +02:00
github-actions[bot] 31efc58eb0
Merge master into staging-next 2021-09-08 18:01:03 +00:00
Bernardo Meurer 739c25621f
Merge pull request #136445 from lovesegfault/rocm-hip
hip: init at 4.3.1
2021-09-08 10:45:57 -07:00
github-actions[bot] e3f1f8bba2
Merge master into staging-next 2021-09-04 00:01:34 +00:00
Michael Weiss 5661f7dbee
llvmPackages_13.compiler-rt: Mark as broken on Aarch64
To avoid unnecessary builds but this needs to be fixed ASAP. Chromium
already depends on it and a lot of additional packages, including Mesa,
will depend on it after the stable release.
2021-09-03 23:13:43 +02:00
Bernardo Meurer e3b026fdba
llvmPackages_rocm: 4.1.0 -> 4.3.1 2021-09-02 13:04:11 -07:00
Bernardo Meurer e4459e59a2
llvmPackages_rocm: add compiler-rt
Co-Authored-By: acowley <acowley@users.noreply.github.com>
2021-09-02 12:21:44 -07:00
Martin Weinelt e2575c7de1
Merge branch 'master' into staging-next 2021-08-30 16:08:03 +02:00
Tom Repetti c33c7c3d5f
clang_11: Fix RISC-V builds for compiler-rt. (#135718)
Closes: #135628
2021-08-29 19:31:30 -04:00
Michael Weiss ae75e98913
Merge pull request #136061 from primeos/llvmPackages_git
llvm/update-git.py: Automatically commit the changes
2021-08-28 23:18:31 +02:00
Michael Weiss 00e380f1be
llvmPackages/update.sh: Support LLVM 13+ 2021-08-28 22:55:08 +02:00
Michael Weiss 680c2e60c9
llvm/update-git.py: Automatically commit the changes 2021-08-28 22:54:31 +02:00
github-actions[bot] dbad333a72
Merge master into staging-next 2021-08-28 12:01:06 +00:00
Michael Weiss b9e35f1c86
Merge pull request #135923 from primeos/llvmPackages_13
llvmPackages_13: 13.0.0-rc1 -> 13.0.0-rc2
2021-08-28 11:34:11 +02:00
github-actions[bot] b7f2a7d1ba
Merge master into staging-next 2021-08-28 00:01:34 +00:00
Michael Weiss bac15390f5
llvmPackages_13: 13.0.0-rc1 -> 13.0.0-rc2
Upstream backported 5060224d9eed8b8359ed5090bb7c577b8575e9e7:
93da37dc58
2021-08-28 00:00:47 +02:00
Michael Weiss 6bb97886ad
llvmPackages_git: 2021-08-03 -> 2021-08-13 2021-08-27 20:14:28 +02:00
github-actions[bot] 10ce8bb753
Merge master into staging-next 2021-08-27 00:01:31 +00:00
Yureka f8230bb0f4 llvmPackages_13.libcxx: mark as broken on darwin 2021-08-20 23:07:43 +02:00
Yureka b0f27ee74d llvmPackages_*: expose release_version 2021-08-20 23:07:43 +02:00
Yureka 48d1e393c0 llvm_13: fix tests on non-x86 platforms 2021-08-20 23:07:43 +02:00
Yureka 91b15b6dcf llvm_13: workaround for llvm bug 50611
https://bugs.llvm.org/show_bug.cgi?id=50611
2021-08-20 23:07:43 +02:00
Jan Tojnar 513701efce Merge branch 'staging-next' into staging 2021-08-15 10:45:11 +02:00
Michael Weiss 50fb63e197
llvmPackages_git: 2021-07-16 -> 2021-08-03 2021-08-14 15:15:52 +02:00