Commit Graph

2326 Commits

Author SHA1 Message Date
K900
f9723bc4de treewide: get rid of ~all mesa.{drivers,osmesa,libdrm} references
mesa.drivers is basically an implementation detail and should never be used
as a dependency of other expressions. It also no longer exists on Darwin.

mesa.osmesa is very niche and should generally be avoided.

mesa.libdrm is used in exactly one place and it's irrelevant there.
2024-06-15 11:07:14 +03:00
github-actions[bot]
520c7e2ee8 Merge staging-next into staging 2024-06-15 06:01:20 +00:00
tomberek
4d950563ff Merge pull request #304141 from ExpidusOS/feat/llvm-git-2024-04-14
llvmPackages_git: update to 19.0.0-unstable-2024-06-12
2024-06-15 01:48:19 -04:00
github-actions[bot]
2a899d25c0 Merge staging-next into staging 2024-06-13 12:01:36 +00:00
Pol Dellaiera
95ba433978 Merge pull request #316071 from ExpidusOS/fix/llvm-17-origin
llvmPackages_17.llvm: remove origin variable
2024-06-13 09:48:44 +02:00
Pol Dellaiera
5fcbe6f961 Merge pull request #316045 from ExpidusOS/fix/llvm-liblldb-origin
llvmPackages_{12,13,14,15,16,17,18,git}.lldb: add patch to remove origin variable
2024-06-13 09:48:30 +02:00
Tristan Ross
0621f24471 llvmPackages_git: update to 19.0.0-unstable-2024-06-12 2024-06-12 19:20:37 -07:00
github-actions[bot]
c8c2ff3b9b Merge staging-next into staging 2024-06-10 00:02:49 +00:00
Alyssa Ross
3df6bb2c85 Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/applications/blockchains/polkadot/default.nix
2024-06-09 22:47:12 +01:00
Alexis Hildebrandt
f8c4a98e8e treewide: Remove the definite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"([Tt]he)? ' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Tt]he (.)/\1\U\2/'
2024-06-09 23:08:46 +02:00
Alexis Hildebrandt
755b915a15 treewide: Remove indefinite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
2024-06-09 23:07:45 +02:00
Franz Pletz
3db93c351d cc-wrapper: add stack clash protection hardening flag
Most Linux distributions are enabling this these days and it does
protect against real world vulnerabilities as demonstrated by
CVE-2018-16864 and CVE-2018-16865.

Fix #53753.

Information on llvm version support gleaned from
6609892a2d
68e07da3e5
092507a730

Information on gcc version support a lot harder to gather,
but both 32bit and 64bit arm do appear to be supported
based on the test suite.
2024-06-07 20:23:46 +01:00
github-actions[bot]
f88b87f09f Merge staging-next into staging 2024-06-06 12:02:28 +00:00
github-actions[bot]
03ad09b79d Merge master into staging-next 2024-06-06 12:01:27 +00:00
Tristan Ross
b31140ab08 llvmPackages_18: 18.1.6 -> 18.1.7 2024-06-05 20:42:42 -07:00
Robert Scott
f2389281fb Merge pull request #316761 from risicle/ris-zerocallusedregs-default
stdenv: promote `zerocallusedregs` to `defaultHardeningFlags`
2024-06-03 19:52:30 +01:00
Robert Scott
c85826c3df llvmPackages_17.llvm: add patch to fix -fzero-call-used-regs crashes
otherwise, we run in to https://github.com/llvm/llvm-project/issues/75168
on linux x86_64 when building libcxx
2024-06-02 23:53:14 +01:00
John Ericson
15ad778e35 Merge pull request #316249 from rhelmot/freebsd-minimal3/libcxx-libcxxrt
freebsdPackages.libcxx: switch back to libcxxrt on FreeBSD
2024-06-01 12:22:34 -04:00
Audrey Dutcher
2a8132e5bc llvmPackages_18.compiler-rt: adjust FreeBSD assert patch for LLVM 18 2024-05-31 14:02:58 -07:00
Audrey Dutcher
3a6141ac96 freebsdPackages.libcxx: switch back to libcxxrt on FreeBSD
also enable new delete definitions under libxxrt
2024-05-31 13:58:17 -07:00
Tristan Ross
e0b48c1c33 llvmPackages_17.llvm: remove origin variable 2024-05-31 07:31:20 -07:00
Vladimír Čunát
5804775d03 Merge branch 'staging' into staging-next 2024-05-31 07:30:41 +02:00
Tristan Ross
77d03eb68c llvmPackages_{12,13,14,15,16,17,18,git}.lldb: add patch to remove origin variable 2024-05-30 21:39:47 -07:00
Reno Dakota
30d42ba569 Revert "llvmPackages.clang: Fix special-case for OpenBSD to be less special"
This reverts commit 222a29eb53.
2024-05-30 05:07:41 +00:00
Reno Dakota
8110970af9 Revert "llvmPackages.libcxx: Fix compiling for OpenBSD"
This reverts commit 0c6d2eee3c.
2024-05-30 05:07:41 +00:00
John Ericson
61c678f71e Merge pull request #311836 from obsidiansystems/aa-openbsd-1
openbsd: init at 7.5
2024-05-29 13:42:32 -04:00
John Ericson
85536b3681 Merge pull request #311777 from rhelmot/freebsd-minimal3/llvmPackages
llvmPackages: add support for native FreeBSD
2024-05-27 13:41:31 -04:00
AMS21
48d0c1cdfc llvmPackages_18: 18.1.5 -> 18.1.6 2024-05-27 11:50:48 +02:00
John Ericson
ad6fa01c06 llvmPackages.compiler-rt: Add flag to force libcompiler-rt.a creation
See the code comments for details

Also replace a bad hard-coded `freebsd` with a flexible `*` wildcard in
the `doFakeLibgcc` implementation.
2024-05-26 10:55:15 -04:00
Ali Abrar
d0b08ab5de llvmPackages: libcxx: link stdlib
See: https://github.com/NixOS/nixpkgs/pull/246577/files#r1600650238

This code was breaking some thing for me, and I believe it was a
mistake. I hink we *do* wanna link libc, since libc++ depends on it, but
*don't* want to link an already-existing C++ standard library
implementation. `-nostdlib++` without `-nostdlib` therefore seems
correct to me.

Without this change, we do indeed fail to link OpenBSD.
2024-05-26 10:55:15 -04:00
John Ericson
0c6d2eee3c llvmPackages.libcxx: Fix compiling for OpenBSD 2024-05-26 10:55:15 -04:00
John Ericson
222a29eb53 llvmPackages.clang: Fix special-case for OpenBSD to be less special 2024-05-26 10:55:15 -04:00
Peter Waller
8164fd64c9 llvmPackages_{12,13,14,15,16,17,18,git}: Simplify argument passthrough
This patch is not intended to introduce any functional change. drvPaths
should remain unchanged; if they do change, it's a bug.

Prior to this patch, a set of packages gets passed through from the
llvmPackages top level function to the individual packages via
callPackages, which is a newScope constructed with some specific
arguments.

As it stands this makes it harder to override dependencies of LLVM; for
example take ncurses. If you want to override it, it is an argument to
libllvm, however, if you override libllvm you then have to write a lot
of code to have correctly overridden clang, given how llvmPackages is
previously composed (out of tools and libraries).

Instead, I propose to make sure that all the dependencies of all
llvmPackages are listed as an inputs to the top leve llvmPackages,
and then the resulting newScope will contain all of them. This in
turn will make `llvmPackages.override` work as expected for any
input to each of the llvm packages.

We'll achieve this by first simplifying the code a bit and ensuring that
all arguments to llvmPackage get forwarded to all packages (via
`{}@args`).

This represents a chance to simplify things a bit so I propose doing it
in two steps:

1. This patch: Simplify argument pass through.
2. (Later): Ensure all arguments to each llvm package are listed in the
   top level `llvm/X/default.nix`.

Once the second patch lands, this means that `(llvmPackages.override {
ncurses = myncurses; }).clang` would consist of a clang whose libllvm
had the ncurses overridden. This is not the case prior to this patch.

Signed-off-by: Peter Waller <p@pwaller.net>
2024-05-25 11:43:26 +01:00
Rahul Butani
6853d8fdb7 llvmPackages: add asl20-llvm to licenses for v19+
As per llvm/llvm-project#92394 contributions made after June 1st, 2024 are
licensed exclusively under `Apache-2.0 WITH LLVM-exception` rather than dual
licensed.

As per this post, this change is timed so that it only affects version 19 and
newer: https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
2024-05-24 11:51:57 -07:00
github-actions[bot]
e18e972af2 Merge master into staging-next 2024-05-19 12:01:13 +00:00
Sameer Rahmani
5cc1875026 llvm,mlir: Fix the install location of cmake modules 2024-05-18 15:20:04 +01:00
Audrey Dutcher
3095f2de2e llvmPackages: move comments in common/llvm/default.nix outside strings
This is being done now because a mass rebuild is eminent anyway.
2024-05-17 17:43:20 -07:00
Audrey Dutcher
e49098e99d llvmPackages: add support for native FreeBSD
* asan doesn't work quite right, disable it
* support for 32-bit FreeBSD uses by default logic tuned for a very old
  FreeBSD; fix that
* Some llvm tests fail for the same reason as MacOS; disable them
* libcxx no longer needs a FreeBSD special case
* Add an option to conditionally disable terminfo. terminfo doesn't seem
  to cross-compile static for FreeBSD, which means that it needs to be
  disabled when building the very early FreeBSD bootstrap tools.

Co-authored-by: John Ericson <git@JohnEricson.me>
2024-05-17 14:19:37 -07:00
github-actions[bot]
100cd84a08 Merge staging-next into staging 2024-05-11 18:01:59 +00:00
github-actions[bot]
42828a757c Merge master into staging-next 2024-05-11 18:01:23 +00:00
Peter Waller
3c03811683 llvmPackages_*.libcxx: include libcxxabi within libcxx
Key test case: nixpkgs#pkgsStatic.pkgsLLVM.ncurses

Prior to this patch, this fails with errors such as:

```
error: undefined symbol: __cxa_throw
```

I think this is a reasonable solution because in #292043, libcxxabi was
'merged into libcxx', however, the commit message suggests that only
dynamic linking was accounted for, because it says:

```
* linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
```

Whereas, I found that if I tried linking a "hello world" C++ program
with a static hostPlatform, it failed unless -lc++abi was passed.

Signed-off-by: Peter Waller <p@pwaller.net>
2024-05-10 17:22:20 +02:00
misuzu
1203d5889a llvmPackages_{12,13,14,15,16,17,18,git}.llvm: disable tests on 32bit arm
The test suite is almost always broken on armv7l-linux
2024-05-07 19:22:57 +03:00
github-actions[bot]
ce0d85be7c Merge master into staging-next 2024-05-06 00:02:18 +00:00
github-actions[bot]
041bd1cdf7 Merge master into staging-next 2024-05-05 18:00:54 +00:00
Randy Eckenrode
7d9ac4d1c3 Revert "llvmPackages.lldb: combine out and lib outputs on Darwin"
This reverts commit 210ebc2123.
2024-05-05 13:39:16 -04:00
Jan Tojnar
100509c030 Merge branch 'staging-next' into staging
Conflicts in luaPackages.luarocks-nix:

- 8b563cd9f9 switched to the new version format (prefixed by 0 since there was no relevant last tag in the branch).
  bc4f6fa543 bumped version and switched to the new version format. But the tag used is not part of the branch the commit comes from (master).

  Used the new version but replaced the tag prefix with 0.

- b73ec84b9e removed meta (it is already set in the overridden luarocks). But that would cause the update script to try to update the overridden luarocks (as did the previously used old.meta).
  bf311d950e modified meta to fix the update script properly.

  Kept the meta from the latter since it allows update script to work.
2024-05-05 14:50:32 +02:00
Randy Eckenrode
210ebc2123 llvmPackages.lldb: combine out and lib outputs on Darwin
LLDB expects to find the location of `bin` relative to `lib`. Patching
it to know the location would cause a cycle between the `out` output and
the `lib` output, so combine the two on Darwin.

Fixes https://github.com/NixOS/nixpkgs/issues/252838.
2024-05-04 18:19:56 -04:00
AMS21
31c5675041 llvmPackages_18: 18.1.4 -> 18.1.5 2024-05-04 19:15:56 +02:00
github-actions[bot]
df0375a9b2 Merge staging-next into staging 2024-05-02 18:01:39 +00:00
github-actions[bot]
31135daf48 Merge master into staging-next 2024-05-02 18:01:05 +00:00