Commit Graph

140 Commits

Author SHA1 Message Date
github-actions[bot]
54295bf976
Merge staging-next into staging 2023-05-08 18:02:09 +00:00
fetsorn
91e7191660 llvm: fix typos
"verion" -> "version"
2023-05-08 21:05:07 +04:00
Alyssa Ross
83d1459330 llvmPackages_git.llvm: backport patch for musl 1.2.4 2023-05-03 09:37:13 +00:00
Alyssa Ross
2839c94f1e pkgsLLVM.stdenv: use clangNoLibc when libc is null
clangNoLibc always uses LLVM bintools, so it still has the useLLVM
semantics.
2023-04-28 10:01:22 +00:00
Alyssa Ross
3e0cb1ab7d compiler-rt: use -ffreestanding when no libc
This fixes building for x86_64-windows with no libc (for UEFI).
Otherwise, it would try to include a malloc header.
2023-04-28 10:01:22 +00:00
github-actions[bot]
3fb2e4810a
Merge staging-next into staging 2023-04-20 00:02:45 +00:00
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
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
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
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
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
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
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
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
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
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
Alyssa Ross
60a2f64123 llvmPackages_git: switch to using ninja
Port of 912056c71e ("llvmPackages_15: switch to using `ninja`").
2023-02-27 16:11:48 +00:00
Alyssa Ross
fe1c338510 llvmPackages_git: expand the NIX_BUILD_CORES arg passed to lit at configure time
Port of 4d3857d6ed ("llvmPackages_15: expand the `NIX_BUILD_CORES`
arg passed to lit at configure time").
2023-02-27 16:11:48 +00:00
Alyssa Ross
4040a6d131 llvmPackages_git.compiler-rt: fix Glibc build
Copied from LLVM 15.
2023-02-27 10:56:20 +00:00
Alyssa Ross
e731fba414 llvmPackages_git.compiler-rt: fix armv7l patch
Use the same patch as compiler-rt 15.
2023-02-27 10:56:20 +00:00
Alyssa Ross
eb2eafd2af clang_13,clang_14,clang_git: deduplicate patch
The same patch applies to all Clang versions using it.
2023-02-26 13:40:24 +00:00
github-actions[bot]
3cdd771820
Merge staging-next into staging 2023-02-23 18:01:49 +00:00
Alyssa Ross
af0078a3dd llvmPackages_git.bintools: fix eval
Was probably missed because llvmPackages_git is only evaluated as an
alias.

Fixes: cdb39a86e0 ("treewide: use optionalString")
2023-02-23 13:14:08 +01:00
Artturin
f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00
Artturin
6f6cc4a22d treewide: use toString on list NIX_CFLAGS_COMPILE
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
2023-02-22 21:23:04 +02:00
Robert Scott
0eedcfc3f4
Merge pull request #212498 from risicle/ris-fortify3
hardening flags: add `FORTIFY_SOURCE=3` support
2023-02-16 21:19:30 +00:00
Felix Buehler
cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01:00
Sergei Trofimovich
0ba9da441d
Merge pull request #211126 from trofi/binutils-update
binutils: 2.39 -> 2.40
2023-01-29 09:50:57 +00:00