Commit Graph

985 Commits

Author SHA1 Message Date
github-actions[bot]
f6bedc13d1
Merge master into staging-next 2022-04-17 18:01:03 +00:00
7c6f434c
7bcc39de71
Merge pull request #166835 from dtzWill/fix/issue-166833-clang-tools14
llvmPackages_14.clang: include clang-tools-extra in src for use
2022-04-17 13:16:26 +00:00
github-actions[bot]
1c0229dbfd
Merge staging-next into staging 2022-04-15 00:03:21 +00:00
Michael Weiss
84dbfa8f97
llvmPackages_14: 14.0.0 -> 14.0.1 2022-04-13 22:30:31 +02:00
Lassulus
a1780e4b7d
Merge pull request #162607 from waldheinz/libllvm-drop-static
llvmPackages/libllvm: do not include static archives when shared is r…
2022-04-08 19:39:18 +01:00
John Ericson
f712cdd62e
Merge pull request #166977 from peperunas/clangMultiStdenv-fix
clangMultiStdenv: expose lib64 and lib separately in sysroot
2022-04-05 12:21:33 -04:00
Giulio De Pasquale
599cd79b99 Expose lib64 and lib separately in sysroot 2022-04-03 00:53:03 +02:00
Will Dietz
075c5eb8d3 llvmPackages_14.clang: include clang-tools-extra in src for use
Fixes #166833.

The build creates a symlink for this assuming it's present,
so be sure it's there when filtering the source for clang.

Alternatively we could use LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.
2022-04-01 11:09:39 -05:00
Aleksey Kladov
6d111cbf61 Clarify that lld package provides unwrapped lld
lld package provides an unwrapped lld. It doesn't always work on NixOS
(eg, it doesn't set rpath), and so dosen't always work.

What one should be using instead is the `lld` from
`llvmPackages.bintools` package. This super counterintutive.

One incremental step we can take here is to clarify that the `lld`
package is unrwapped -- right now, it looks like 100% legit thing one
should be using!
2022-03-27 18:14:55 -04:00
Anthony Cowley
eb20eae90f
llvmPackages_rocm: 4.5.2 -> 5.0.2 (#165362)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-03-27 20:35:14 +02:00
Will Dietz
2efcc3e297 openmp: disable tests due to failures 2022-03-24 18:58:38 -05:00
Will Dietz
4f3116f754 openmp: drop fix-find-tool patch, set *_TOOL vars directly 2022-03-24 18:58:38 -05:00
Will Dietz
7151381aab openmp: tests, few failures 2022-03-24 18:58:38 -05:00
Will Dietz
5e04d64aed openmp: no longer broken 2022-03-24 18:58:38 -05:00
Will Dietz
790c4f13dd openmp: new fix-find-tools patch 2022-03-24 18:58:38 -05:00
Will Dietz
641c2d3b7b llvmPackages_14.openmp: fix install dirs patch 2022-03-24 18:58:38 -05:00
Michael Weiss
c9cfbe0899
llvmPackages_14: 14.0.0-rc4 -> 14.0.0 2022-03-23 23:21:32 +01:00
Anthony Cowley
29a988f978
Merge pull request #163698 from InternetUnexplorer/rocm-llvm-disable-shared-libs
llvmPackages_rocm.llvm: don't build shared libs
2022-03-22 10:28:19 -04:00
github-actions[bot]
ea64a128d1
Merge master into staging-next 2022-03-14 00:02:12 +00:00
Michael Weiss
f0c2e46468
llvmPackages_14: 14.0.0-rc2 -> 14.0.0-rc4 2022-03-13 13:34:54 +01:00
Michael Weiss
90d9b7c8dc
llvmPackages: Fix the update script 2022-03-13 13:34:50 +01:00
InternetUnexplorer
9c8eda7f38 llvmPackages_rocm.llvm: don't build shared libs
This seems to fix the notorious "CommandLine Error: Option 'xxxxx'
registered more than once!" error in applications that use both Mesa and
ROCm.

Since Mesa is built with llvmPackages_latest and ROCm stuff is built
with llvmPackages_rocm, applications that use both (such as Blender) end
up with two different `libLLVM*.so`s loaded, which breaks things.

This seems like a straightforward way to fix the problem, and since the
ROCm stack seems to be the only thing in Nixpkgs that uses
llvmPackages_rocm this hopefully shouldn't break anything.

While there might be another way to fix this problem that doesn't
require disabling the shared libraries, I haven't been able to find it
yet, and since this issue seems to affect a lot of people I think it
might make sense to merge this fix for now and revisit it later if a
better solution is found.

This also removes a small patch to rocm-comgr since there are no longer
LLVM shared libraries for it to link against.
2022-03-11 11:33:56 -08:00
github-actions[bot]
201cc2f89b
Merge master into staging-next 2022-03-09 00:02:05 +00:00
Michael Weiss
dd8169da3e
llvmPackages_14: 14.0.0-rc1 -> 14.0.0-rc2 2022-03-08 22:27:24 +01:00
Matthias Treydte
1748887ff2 llvmPackages/libllvm: move static archives to dev output
Reduces closure size by ~240MiB (down to ~100MiB) for
LLVM 13, the others are similar.

Having those archives in the lib output makes no sense
as they are no runtime dependencies. Removing them
alltogether is also not an option because the dynamic
libraries offer only the C API while many users of
libllvm require the C++ API. Those users must have an
dependency on libllvm.dev anyway and will find those
files for linking.
2022-03-04 13:05:53 +01:00
github-actions[bot]
f4fc464126
Merge master into staging-next 2022-03-02 00:06:44 +00:00
Michael Weiss
5040ab9149
llvmPackages_14: Mark broken packages
I quickly went over the latest Hydra evaluation:
https://hydra.nixos.org/eval/1746327?filter=llvmPackages_14&compare=1746266&full=#tabs-still-fail
2022-03-01 23:37:00 +01:00
github-actions[bot]
bfb0bc0461
Merge master into staging-next 2022-02-28 18:05:41 +00:00
Michael Weiss
3bce8227a0
llvmPackages_14.lld: Update fix-root-src-dir.patch to fix the build 2022-02-28 12:34:08 +01:00
github-actions[bot]
6787116890
Merge master into staging-next 2022-02-28 00:02:07 +00:00
Michael Weiss
323837f7db
llvmPackages_14: 2022-01-07 -> 14.0.0-rc1 2022-02-27 23:23:02 +01:00
Michael Weiss
45cd41de23
llvmPackages_{git,14}: Replace tabs in lld/default.nix
This fixes a CI warning [0]:
Run cat "$HOME/changed_files" | xargs -r editorconfig-checker -disable-indent-size
pkgs/development/compilers/llvm/14/lld/default.nix:
	28: Wrong indent style found (tabs instead of spaces)
	29: Wrong indent style found (tabs instead of spaces)
	30: Wrong indent style found (tabs instead of spaces)

[0]: https://github.com/NixOS/nixpkgs/runs/5351700772
2022-02-27 20:25:20 +01:00
Michael Weiss
d61e45b686
llvmPackages_14: init at 2022-01-07
This is a temporary hack until I have time to update the patches for
14.0.0-rc1. We need llvmPackages_14 *NOW* for Chromium M99.
2022-02-27 19:11:30 +01:00
github-actions[bot]
0a79f47878
Merge master into staging-next 2022-02-27 18:01:07 +00:00
Michael Weiss
e2ba45f5ab
llvmPackages_14: Copy the files from llvmPackages_git 2022-02-27 18:49:21 +01:00
Michael Weiss
faae760e98
llvmPackages_git.llvm: Drop llvm-config-link-static.patch (#162101)
To fix the build as this patch was already upstreamed in the meantime.
2022-02-27 18:40:07 +01:00
Michael Weiss
6dc6d8c456
Merge pull request #154465 from Ericson2314/bump-llvm-git
llvmPackages_git.*: Bump to newer commit
2022-02-27 18:37:23 +01:00
Vladimír Čunát
f46e8e4408
Merge #158113: llvmPackages_13: 13.0.0 -> 13.0.1
...into staging
2022-02-22 13:16:57 +01:00
Jyun-Yan You
2fe19fe24a llvmPackages_13.clang: add nostdlibinc flag
This patch adds nostdlibinc flag after parsing arguments
instead of sed substitution.

Fix #151879
2022-02-14 17:10:32 +08:00
Cheng Shao
1a8754caf8 llvmPackages_13: 13.0.0 -> 13.0.1 2022-02-04 14:23:25 +00:00
Dmitry Kalinkin
46244fa290
Merge pull request #155462 from veprbl/pr/libcxx_12_no_apple_availability
llvmPackages_{12,13,git}: don't try to patch non-existing _LIBCPP_USE_AVAILABILITY_APPLE
2022-01-29 21:15:21 -05:00
Dmitry Kalinkin
34523e76a2
llvmPackages_{12,13,git}: don't try to patch non-existing _LIBCPP_USE_AVAILABILITY_APPLE
substituteStream(): WARNING: pattern '#    define _LIBCPP_USE_AVAILABILITY_APPLE' doesn't match anything in file 'include/__config'

The new mechanism for those is a cmake option
LIBCXX_ENABLE_VENDOR_AVAILABILITY_ANNOTATIONS that is off by default:
https://reviews.llvm.org/D90843
2022-01-18 05:42:00 -05:00
John Ericson
4badff49fd llvmPackages_git.*: Bump to newer commit 2022-01-11 07:28:05 +00:00
John Ericson
baf290023c
Merge pull request #153790 from sternenseemann/cross-bootstrap-logic
Cross bootstrapping logic fixes benefitting llvmPackages
2022-01-08 12:39:30 -08:00
Moritz Angermann
08f22ce9cc llvmPackages_12.llvm: create fix-llvm-issue-49955.patch
This patch addresses llvm/llvm-project#49955
2022-01-08 14:01:39 +01:00
sternenseemann
e238f456b8 llvmPackages_*.clang: pick clangUseLLVM if targetPlatform.useLLVM
libcxxClang still depends on cc wrapper's gccForLibs for libgcc which is
not available when useLLVM is set. In such cases we need to switch to
clangUseLLVM and (try) to use compiler-rt instead.

Resolves #153759: pkgsLLVM.llvmPackages.stdenv now correctly
clangUseLLVM as cc, allowing compilation to work as expected.
2022-01-07 14:52:13 +01:00
sternenseemann
766f5ffb76 llvmPackages_*: respect cc for target when choosing C++ flavour
llvmPackages_*.clang should check the default compiler for the package
set it is targeting (targetPackages.stdenv.cc) instead of the compiler
that has been used to build it (stdenv.cc) in order to get some sense of
whether to use libc++ or libstdc++.

Since we are now inspecting targetPackages in the llvmPackages.clang
attribute, we need to avoid using it in the cross stdenv — which just
forces us to explicitly request libcxxClang for darwin instead of
relying on the clang attribute to pick it for us.

We also need to do something similar for targetPackages.stdenv.cc: Here
the llvmPackages.clang logic would work as we want (inspect
targetPackages.stdenv.cc and if it doesn't exist, make the choice based
on stdenv.cc), but it gets locked in a cycle with the previous package.
We can easily break this, however: We know that the previous set had
clang and the next one doesn't exist, so we'd choose libcxxClang any day
of the week.
2022-01-07 14:42:41 +01:00
github-actions[bot]
92dce734f0
Merge staging-next into staging 2022-01-05 18:01:42 +00:00
github-actions[bot]
0d3fe41724
Merge master into staging-next 2022-01-05 18:01:06 +00:00
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