Commit Graph

2326 Commits

Author SHA1 Message Date
Ryan Lahfa
df7e6764f2 Merge pull request #222903 from rrbutani/fix/llvm-git-openmp-cross
llvmPackages_git.openmp: apply #197674 (fix cross compile)
2023-04-20 00:45:07 +02:00
Ryan Lahfa
01a6895df7 Merge pull request #222902 from rrbutani/fix/llvm-git-disable-libpfm
llvmPackages_git: apply #205355 (disable libpfm on non-Linux)
2023-04-20 00:44:32 +02:00
Ryan Lahfa
89e48962e3 Merge pull request #223255 from NixOS/llvmPackages_git.libcxx-tests
llvmPackages_git.libcxx: LLVM15 changes and libcxxrt on FreeBSD
2023-04-20 00:43:28 +02:00
Adam Joseph
2e77eb8190 clang_15: fix build!=(host==target) cross compilation
clang_15 appears to not cross compile in the build!=(host==target)
case due to two problems, which this commit fixes:

- It trips -Wmaybe-uninitialized on recent gcc, but only in the
  build!=host case (likely due to #ifdefs)

- Two more buildPlatform tools have been added:
  clang-tidy-confusable-chars-gen and clang-pseudo-gen

Co-authored-by: Rahul Butani <rrbutani@users.noreply.github.com>
2023-04-19 01:06:08 +00:00
github-actions[bot]
a851087ffa Merge staging-next into staging 2023-04-18 00:02:42 +00:00
Rahul Butani
98182aec04 llvmPackages_git: unstable-2022-26-07 → 15.0.7
bumping `llvmPackages_git` to match `llvmPackages_15`; this will let us
continuing bringing `llvmPackages_git` to parity with `llvmPackages_15`
without needing to invest time and effort into getting the current
llvmPackages_git's commit's test suite to pass under all the platforms,
etc.

this will also allow us to begin diffing derivations between
`llvmPackages_15` and `llvmPackages_git` as a way of tracking down
remaining differences between the package sets
2023-04-17 20:10:41 +00:00
Rahul Butani
a77eef2bb9 llvmPackages_git: expose the release information and monorepo source as overridable args
backport of d231d18e4a from #194634
(llvmPackages_15)
2023-04-17 20:10:41 +00:00
Rahul Butani
4917dc751c llvmPackages_git.llvm: add checks for the LLVM version
this is a backport of 8afa321b8a
from #194634 (llvmPackages_15)
2023-04-17 20:10:41 +00:00
Vladimír Čunát
f2186222c6 Merge #225846: cc-wrapper: deunify clang/gcc handling of -B
...into staging
2023-04-16 09:59:54 +02:00
Ryan Lahfa
dde4134fae Merge pull request #223256 from NixOS/llvmPackages_git.compiler-rt
llvmPackages_git.compiler-rt: disable iPhone simulator
2023-04-15 19:49:08 +02:00
Adam Joseph
6f8a69ee31 Revert "llvmPackages_13.compiler-rt-libc: also apply tmp hack"
This reverts commit 9bf18e069e.
2023-04-12 10:26:24 -07:00
Adam Joseph
15e2a735f8 Revert "cc-wrapper: add optional temporary hack for -B"
This reverts commit ac3acd956f.
2023-04-12 10:26:23 -07:00
Vladimír Čunát
9bf18e069e llvmPackages_13.compiler-rt-libc: also apply tmp hack
This part got forgotten in commit ac3acd956f.
2023-04-12 11:26:19 +02:00
Vladimír Čunát
ac3acd956f cc-wrapper: add optional temporary hack for -B
This fixes parts in llvmPackages_{13,rocm}
e.g. build .clang for testing.
Longterm mass-rebuild fix should come in PR #225846
2023-04-12 09:37:24 +02:00
Raito Bezarius
2c627d9c70 llvmPackages_16: init 2023-04-10 10:47:45 +02:00
Someone Serge
378c0c6983 python3Packages.openai-triton: init at 2.0.0 2023-04-08 02:46:54 +03:00
Rahul Butani
6707fa4056 llvmPackages_git.compiler-rt: fixes for Darwin
Partial port of 00839fea22
("llvmPackages_15.compiler-rt: fixes for Darwin")

see: https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272116014
2023-04-05 17:29:36 +02:00
Raito Bezarius
92bf933890 llvmPackages_git.libcxx: remove preInstall phase for Darwin
This has not been added for `llvmPackages_15.libcxx`, therefore, we do not need
it anymore.
2023-04-05 17:27:24 +02:00
Rahul Butani
5fbf2cd1a0 llvmPackages_git: apply #211230 to llvmPackages_git
Port of 4fabcf4945 ("llvmPackages_15:
apply #211230 to llvmPackages_15").

See the comments here for context: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r1089389188

Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
2023-04-05 17:26:52 +02:00
Rahul Butani
2e453ee51b llvmPackages_git.libcxxabi: fix cycles that arise when stdenv is the LLVM stdenv
Port of 8db72e3b7e
("llvmPackages_15.libcxxabi: fix cycles that arise when `stdenv` is the
LLVM stdenv").
2023-04-05 17:26:20 +02:00
Rahul Butani
18d9f16d0a llvmPackages_git.libcxx: updates from LLVM15
Port of bc4dbee115 ("llvmPackages_15:
updates for LLVM 15").

None of the patches required any touch-up; the only change of note is:
  - due to changes in the libc++/libc++abi build
    (https://reviews.llvm.org/D120719 and https://reviews.llvm.org/D131037)
    we have to add an extra build option to the libc++ header only
    build that sidesteps bits of the libc++ build config that assume
    libc++-abi is present in the build:
    4f827318e3/libcxx/src/CMakeLists.txt (L255-L256)

Rather than maintaining a precise set of build options that let us dodge
referencing libc++-abi variables in the libc++ header only build, we set
`LIBCXX_CXX_ABI` to `none`, as suggested by @lovesegfault.

More discussion about this here: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r990267037

Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
2023-04-05 17:25:12 +02:00
Rahul Butani
61b348f0c6 llvmPackages_git.openmp: apply #197674 (fix cross compile)
this was backported to `llvmPackages_15` in
81ef82a029
2023-04-03 10:36:54 -05:00
Rahul Butani
75fed51e18 llvmPackages_git: apply #205355 (disable libpfm on non-Linux)
this was applied to `llvmPackages_15` in 81ef82a029
(though I appear to have forgotten to mention it in the commit message...)
2023-04-03 10:33:05 -05:00
Rahul Butani
e505ffd251 llvmPackages_git: apply #190936 (fix pkgsStatic LLVM build)
This was applied to `llvmPackages_15` in
81ef82a029
2023-04-03 10:30:55 -05:00
Weijia Wang
a94d9447ef llvmPackages_rocm.llvm: mark as broken on aarch64-linux 2023-03-30 14:15:27 +03:00
Ryan Lahfa
43c847c903 Merge pull request #222220 from alyssais/llvmPackages_git.llvm-tests-macos
llvmPackages_git.llvm: run the tests on macOS
2023-03-28 18:03:57 +02:00
Rahul Butani
5a4cfac5ec llvmPackages_git.llvm: fix the tests on x86_64-darwin
Port of eafb8fbd32 ("llvmPackages_15.llvm: fix the tests on `x86_64-darwin`")
2023-03-28 13:08:39 +02:00
Rahul Butani
3f9a9ad9f2 llvmPackages_git.llvm: adjust a path, skip an xfail test on darwin
Port of 0ee52512f0 ("llvmPackages_15.llvm:
adjust a path, skip an xfail test on darwin")
2023-03-26 17:55:00 +02:00
Alyssa Ross
0da4072582 llvmPackages_git.llvm: run the tests on macOS
Port of c7231c0b6d ("llvmPackages_15.llvm: run the tests on macOS").

The sysctl native check input was taken from
6d0c87602f ("llvmPackages_15.llvm: add in a missing check dep"),
because it looks like it was supposed to be part of c7231c0b6d
instead.
2023-03-26 16:44:25 +02:00
github-actions[bot]
adec6862c5 Merge master into staging-next 2023-03-24 18:01:06 +00:00
R. Ryantm
e33b761b1d llvmPackages_rocm.llvm: 5.4.3 -> 5.4.4 2023-03-24 07:19:57 +00:00
7c6f434c
b66eafcaab Merge pull request #205176 from lopsided98/compiler-rt-armv6
compiler-rt: fix build on ARMv6
2023-03-13 16:46:04 +00:00
Alyssa Ross
4ffa52ebdf llvmPackages_git.libcxx: use clang from git instead of the stdenv's compiler
Port of ca59a201ca ("llvmPackages_15.libcxx: use clang 15 instead of
the stdenv's compiler").
2023-03-11 22:44:31 +00:00
github-actions[bot]
590fb73d67 Merge staging-next into staging 2023-03-11 00:03:08 +00:00
Alyssa Ross
8c70bfb9f2 Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/libraries/librsvg/default.nix
	pkgs/development/python-modules/r2pipe/default.nix
2023-03-10 18:46:21 +00:00
John Ericson
975e73668f Merge pull request #219356 from alyssais/llvm-platforms
llvm: tighten platforms
2023-03-10 08:33:29 -05:00
Alyssa Ross
0fd04a5918 llvmPackages.compiler-rt: enable libclang_rt.profile-....a build
Port of 94cad6ec1a ("llvm 14 compiler-rt: enable
libclang_rt.profile-....a build").
2023-03-10 12:57:55 +00:00
Alyssa Ross
3816765e47 llvm: add in a missing check dep
Port of 6d0c87602f ("llvmPackages_15.llvm: add in a missing check
dep").

I did not include the sysctl nativeCheckInputs change from that
commit, as it looks like it was included by mistake and was supposed
to be in c7231c0b6d ("llvmPackages_15.llvm: run the tests on macOS").
I've also included the doCheck default from that commit (without the
change to run on non-Linux), as 6d0c87602f just set it to true.
2023-03-10 12:21:12 +00:00
Alyssa Ross
c5f758174b clang: drop the C++ std version -DCMAKE_CXX_FLAG
Port of 404ef6b6c9 ("llvmPackages_15.clang: drop the C++ std version
`-DCMAKE_CXX_FLAG`").  The commit mentioned as removing the need for
the override[1] first appeared in LLVM 10.

[1]: 2724d9e129
2023-03-10 09:36:21 +00:00
Alyssa Ross
b27cf6ace4 llvm_14,llvmPackages_git.llvm: enable polly by default
Port of 2a58596dd2 ("llvmPackages_15.llvm: enable polly by default").

It should be ported all the back to LLVM 12, but I haven't done that
here because going further back than 14 requires fixing patches, and
I'm focused on my goal of getting the delta between LLVM 15 and LLVM
git under control — it's going to be hard enough to accomplish that.
2023-03-10 09:18:14 +00:00
Ben Wolsieffer
98ebcd28e1 compiler-rt: fix build on ARMv6
compiler-rt has accumulated several regressions that prevent it from building
on ARMv6. It is important to note that there are two major versions of ARMv6:
base ARMv6 and ARMv6K. ARMv6K includes several important new instructions,
such as non-word size atomic operations (ldrexd, strexd, etc.) and the yield
instruction. Most ARMv6 CPUs actually implement ARMv6K, including all those used
in Raspberry Pis, but nixpkgs' "raspberryPi" platform targets base ARMv6.

compiler-rt versions 8-14 fail to build on ARMv6 and ARMv6K. compiler-rt 15 (not
yet in nixpkgs) builds on ARMv6K but not ARMv6. This patch fixes versions 9-14
on both ARMv6 variants. The patches don't apply cleanly to version 8, and I
figured it wasn't worth carrying another version of the patches for such an old
version.

A total of five patches are required to get compiler-rt building on ARMv6:
* armv6-mcr-dmb.patch: use `mcr` to provide the equivalent of `dmb` on ARMv6.
  Included in LLVM 15.
* armv6-sync-ops-no-thumb.patch: prevent certain atomic operation functions
  from using Thumb mode. Included in LLVM 15.
* armv6-no-ldrexd-strexd.patch: don't use ldrexd or strexd, which are not
  available in base ARMv6. Submitted upstream by me.
* armv6-scudo-no-yield.patch: use nop instead of yield on ARMv6 in standalone
  scudo. Required by versions >=13, since they enable standalone scudo.
  Submitted upstream by me.
* armv6-scudo-libatomic.patch: link standlone scudo to libatomic on ARMv6 (and
  any other platforms that need it). Not yet submitted because the backport is
  a bit different from the upstream version and I need to test it.
2023-03-08 14:27:35 -05:00
Alyssa Ross
a10d676199 llvm: tighten platforms
LLVM can't be built for all architectures supported by Nixpkgs (s390,
and for some versions m68k and RISC-V).
2023-03-03 13:45:14 +00:00
Martin Weinelt
0580d85143 Merge remote-tracking branch 'origin/staging-next' into staging 2023-03-03 04:46:31 +01:00
Alyssa Ross
9bfc5871c1 llvmPackages_15.compiler-rt: drop codesign patch
This was added in 00839fea22 ("llvmPackages_15.compiler-rt: fixes for Darwin"),
which says:

> this introduces a codesigning related patch that we can drop once
> #195107 goes through

The referenced PR ("sigtool: 0.1.2 → 0.1.3") has now been merged, so
I'm dropping the patch as instructed.
2023-03-02 12:36:21 +00:00
Rahul Butani
b06ac37f38 llvmPackages*.clang_manpages: drop the sphinx find_package patch
This is a backport of f8cbbdd05b.

LLVM versions >= 5.0.0 already look for sphinx when `LLVM_ENABLE_SPHINX`
is enabled: ea139eccc1
2023-03-02 12:34:33 +00:00
Alyssa Ross
1db7f30d1f lld: explain why we change the stack size on Musl
Suggested-by: Rahul Butani <rrbutani@users.noreply.github.com>
2023-02-28 10:56:53 +00:00
Alyssa Ross
6cc523ca28 lld: build with 2M stack size
Port of 6485a02fb3 ("llvm 14 lld: build with 2M stack size to fix
firefox lto").
2023-02-28 10:56:53 +00:00
Alyssa Ross
ed209e6279 clang_15: mark hardeningUnsupportedFlags fortify3
Port of 74ea4fe24f ("llvm*Packages.clang: mark
hardeningUnsupportedFlags fortify3").
2023-02-28 10:53:33 +00:00
github-actions[bot]
51c18e4be1 Merge staging-next into staging 2023-02-28 06:01:38 +00:00
Robert Hensing
359a46e751 llvm*: Remove outputSpecified workaround where possible
The effect of `.out // { outputSpecified = false; }` in these cases
is to select the default output explicitly, but then make the
selection implicit until `overrideAttrs` is called. Previously
`overrideAttrs` would not preserve output selection, masking the
apparently unnecessary behavior of this workaround.

For `libllvm-polly`, this logic does not apply, as it does not
select the default output.

The `outputSpecified` workaround was introduced in
https://github.com/NixOS/nixpkgs/pull/122554

and was perhaps rushed because of a release deadline, and expected
delays from mass rebuilds.

The change in `overrideAttrs` behavior was added in
5b2f597b11 / https://github.com/NixOS/nixpkgs/pull/211685

and the problem was discovered in https://github.com/NixOS/nixpkgs/pull/218537,
which may contain further information.
2023-02-28 00:34:00 +00:00