Commit Graph

448265 Commits

Author SHA1 Message Date
Rahul Butani
3436075b2a
llvmPackages_15.llvm: specify some deps explicitly to fix cross-compilation
The two scenarios described within where splicing doesn't handle
selecting the right package for us are observable in the following
(nix repl session):
```
> np = import <nixpkgs> { system = "x86_64-linux"; crossSystem = { config = "aarch64-linux"; }; }

> np.__splicedPackages.hello ? __spliced
true

> np.__splicedPackages.python3Packages.psutil ? __spliced
true

> np.__splicedPackages.python3.pkgs.psutil ? __spliced
false

> (np.__splicedPackages.python3.withPackages (ps: with ps; [psutil])) ? __spliced
false
```

See: #211340
2023-01-27 13:29:23 -08:00
Rahul Butani
5e5ed7d816
llvmPackages_15.llvm: disable some RISC-V ZBP tests on arm32
see this thread for context: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999790443

Co-authored-by: misuzu <bakalolka@gmail.com>
2023-01-27 13:29:23 -08:00
Rahul Butani
eafb8fbd32
llvmPackages_15.llvm: fix the tests on x86_64-darwin
Details within but ultimately there isn't a satisfying resolution for
any of the three test failures we were seeing and all three deserve
further exploration.

For the `sw_vers` macOS version issue in particular, it's possible to
observe the nixpkgs provided `CoreFoundation` vs system `CoreFoundation`
for `x86_64` and `aarch64` like so (on a host running macOS `13.0.1`):

```console
$ nix-shell -p darwin.DarwinTools --system aarch64-darwin --command "sw_vers"
ProductName:    macOS
ProductVersion: 13.0.1
BuildVersion:   22A400

$ nix-shell -p darwin.DarwinTools --system x86_64-darwin --command "sw_vers"
ProductName:    Mac OS X
ProductVersion: 10.16
BuildVersion:   22A400
```

Where `/System/Library/CoreServices/SystemVersion.plist` has:
```console
$ cat /System/Library/CoreServices/SystemVersion.plist | grep ProductVersion
-A 1
	<key>ProductVersion</key>
	<string>13.0.1</string>
```

Further:
```console
$ nix-shell -p darwin.DarwinTools --system aarch64-darwin --command 'otool -L $(which sw_vers)'
/nix/store/nb2q33ak2zif49ndcpc6m823z0vhmy8y-DarwinTools-1/bin/sw_vers:
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)

$ nix-shell -p darwin.DarwinTools --system x86_64-darwin --command 'otool -L $(which sw_vers)'
/nix/store/88v4kjvgwl71byfpvd0baviiq7l5appc-DarwinTools-1/bin/sw_vers:
	@rpath/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1454.90.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
```

For the `x86_64` `sw_vers` binary we can see rpath:
```console
$ nix-shell -p darwin.DarwinTools --system x86_64-darwin --command 'otool -l $(which sw_vers)' | grep LC_RPATH -A 2 -B 1
Load command 13
          cmd LC_RPATH
      cmdsize 120
         path /nix/store/zvr4wypbgskhhw9cawfn7mmxfa75nh8f-swift-corefoundation-unstable-2018-09-14/Library/Frameworks (offset 12)
```

And we can confirm that the nixpkgs provided `CoreFoundation` is what
ultimately gets loaded:
```console
$ nix-shell -p darwin.DarwinTools --system x86_64-darwin --command 'DYLD_PRINT_LIBRARIES=1 sw_vers'
dyld[16215]: <no uuid> /nix/store/88v4kjvgwl71byfpvd0baviiq7l5appc-DarwinTools-1/bin/sw_vers
dyld[16215]: <no uuid> /nix/store/zvr4wypbgskhhw9cawfn7mmxfa75nh8f-swift-corefoundation-unstable-2018-09-14/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
dyld[16215]: <no uuid> /nix/store/xd2a4xh8kdwq0j67hzgw720npdw5hzkk-ICU-66108/lib/libicucore.A.dylib
<snipped>
```

```bash
nix-diff \
    $(nix path-info nixpkgs#legacyPackages.aarch64-darwin.darwin.DarwinTools --derivation) \
    $(nix path-info nixpkgs#legacyPackages.x86_64-darwin.darwin.DarwinTools --derivation)
```
doesn't show any _obvious_ discrepancies
2023-01-27 13:29:22 -08:00
Rahul Butani
0ee52512f0
llvmPackages_15.llvm: adjust a path, skip an xfail test on darwin 2023-01-27 13:29:22 -08:00
Rahul Butani
c7231c0b6d
llvmPackages_15.llvm: run the tests on macOS
there are a few parts to this:
  - adding darwin specific check deps
  - working around referencing LLVM dylibs during the checkPhase in a
    way that supports darwin
    + previously we just set `$LD_LIBRARY_PATH` and/or made some
      strategic symlinks
    + now we have LLVM's `lit` config set the appropriate env vars as
      needed (as is done for other LLVM subprojects)
    + in retrospect switching to `installCheckPhase` might have been the
      better move..
  - patching `lit` to deal with `$DYLD_LIBRARY_PATH` being purged for
    new "protected" processes

more details within.
2023-01-27 13:29:22 -08:00
Rahul Butani
6d0c87602f
llvmPackages_15.llvm: add in a missing check dep 2023-01-27 13:29:22 -08:00
Rahul Butani
2a58596dd2
llvmPackages_15.llvm: enable polly by default
this comment has a more complete history: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r1064089830

in short: polly was disabled in the llvm 11 -> llvm 12 copy, mostly by
accident

most of the Polly install dirs patch has been upstreamed; one change
remains
2023-01-27 13:29:22 -08:00
Rahul Butani
4d3857d6ed
llvmPackages_15: expand the NIX_BUILD_CORES arg passed to lit at configure time
this previously worked because, when using Make, this variable was
expanded at build time
2023-01-27 13:29:22 -08:00
Rahul Butani
912056c71e
llvmPackages_15: switch to using ninja 2023-01-27 13:29:22 -08:00
Rahul Butani
19d1571ee4
llvmPackages_15.lldb: fix the manpages 2023-01-27 13:29:22 -08:00
Rahul Butani
b4ee532f36
llvmPackages_15.lldb: fix the build on i686
as detailed within, adding `asm/ptrace.h` leads to `asm/ptrace-abi.h`
being included which defines preprocessor symbols that clash with
identifiers used in the LLVM headers (`FS` and `CS` only defined on
i686)
2023-01-27 13:29:22 -08:00
Rahul Butani
1d3ca42323
llvmPackages_15.lldb: fix lldb on x86_64 macOS
See:
https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
2023-01-27 13:29:22 -08:00
Rahul Butani
d7299071d4
llvmPackages_15.compiler-rt: gate the libxcrypt dep on plat.libc == "glibc"
This restores this check to what it originally was in #196909 (see:
https://github.com/NixOS/nixpkgs/pull/196909#discussion_r1000536298) and
lets `compiler-rt` eval successfully when trying to compile the
`llvmPackages_15` set for mingw targets (i.e. a platform that *is* GNU
but does *not* use glibc).

---

It's not clear to me what the `haveLibc` check is doing here (platforms
that seem to use glibc like `x86_64-linux` and have
`plat.libc == "glibc"` have `haveLibc = false` because `stdenv.cc.libc`
is `null`).
2023-01-27 13:29:21 -08:00
Rahul Butani
f91fad438b
llvmPackages_15.compiler-rt: update the armv7l patch
see the discussion here for context:
https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893
2023-01-27 13:29:21 -08:00
Rahul Butani
09b8886d5e
llvmPackages_15.compiler-rt: apply #186575 to llvmPackages_15 2023-01-27 13:29:21 -08:00
Rahul Butani
00839fea22
llvmPackages_15.compiler-rt: fixes for Darwin
this introduces a codesigning related patch that we can drop once #195107
goes through

see: https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272116014
2023-01-27 13:29:21 -08:00
Rahul Butani
501a9e1b4c
llvmPackages_15.libcxxabi: fix cycles that arise when stdenv is the LLVM stdenv 2023-01-27 13:29:21 -08:00
Rahul Butani
ca59a201ca
llvmPackages_15.libcxx: use clang 15 instead of the stdenv's compiler
libc++ has switched to using `__attribute__((using_if_exists))` to handle
incomplete libc implementations; see: a9c9183ca4

These essentially require a modern C++ compiler (clang gained support in
LLVM 13: 369c648399,
gcc appears to not have support yet: https://gcc.gnu.org/bugzilla//show_bug.cgi?id=105584).

Previously this was not an issue for us (despite the transition happening
around LLVM 13) but something about the changes to the libc++/libc++-abi
build has made it so that on platforms with incomplete libc impls (i.e.
Darwin is missing `quick_exit`/`at_quick_exit`) we error during the `libcxx-abi`
build when the stdenv's (older, not supporting `using_if_exists`) compiler
tries to import libc symbols that aren't present.

The libc++ docs suggest we use a modern compiler to build libc++ anyways
(https://releases.llvm.org/15.0.0/projects/libcxx/docs/index.html#platform-and-compiler-support)
so this commit uses stdenv's containing the package set's clang to build
libcxx/libcxx-abi.

This is similar to how libc++ bootstrapping builds (https://releases.llvm.org/15.0.0/projects/libcxx/docs/BuildingLibcxx.html#bootstrapping-build)
work.
2023-01-27 13:29:21 -08:00
Rahul Butani
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-01-27 13:29:21 -08:00
Rahul Butani
3b6d98d2b0
llvmPackages_15.compiler_rt: apply #196909 to LLVM 15
`llvmPackages_15` originates from `llvmPackages_git` which does
not include this change
2023-01-27 13:29:21 -08:00
Rahul Butani
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-01-27 13:29:21 -08:00
Rahul Butani
9bd92679c2
llvmPackages_15: apply some patches from llvmPackages_14, part 2
See https://github.com/NixOS/nixpkgs/pull/194634#issue-1398202534 for
details.

PRs:
  - #211401
  - #211161
  - #206742
  - #211687
2023-01-27 13:29:21 -08:00
Rahul Butani
81ef82a029
llvmPackages_15: apply some patches from llvmPackages_14
See #194634 for details.

PRs:
  - #191372
  - #190936
  - #82131
  - #199844
  - #197674
  - #184408
  - #193004
2023-01-27 13:29:20 -08:00
Rahul Butani
201ef33028
llvmPackages_15: copy from llvmPackages_git 2023-01-27 13:29:20 -08:00
Weijia Wang
02dac2ef50
Merge pull request #213002 from figsoda/kind2
kind2: 0.2.79 -> 0.3.7
2023-01-27 22:26:50 +01:00
Samuel Ainsworth
c1d980d8f6
Merge pull request #212848 from mattmelling/wandb-0.13.9
python3Packages.wandb: 0.13.7 -> 0.13.9
2023-01-27 16:26:39 -05:00
Matt Melling
ab24ecb6f5
python3Packages.wandb: 0.13.7 -> 0.13.9 2023-01-27 21:16:49 +00:00
Fabian Affolter
fbc5948455
Merge pull request #212960 from r-ryantm/auto-update/python310Packages.dvc-data
python310Packages.dvc-data: 0.35.1 -> 0.36.2
2023-01-27 21:39:17 +01:00
Fabian Affolter
44916cabd6
Merge pull request #212934 from r-ryantm/auto-update/python310Packages.connexion
python310Packages.connexion: 2.14.1 -> 2.14.2
2023-01-27 21:35:42 +01:00
Sandro
6270862c80
Merge pull request #209620 from urandom2/aaxtomp3 2023-01-27 21:31:58 +01:00
Martin Weinelt
3a3a7d03a7
Merge pull request #213009 from Mic92/tinc-pre
tinc_pre: use https source for fetching
2023-01-27 20:28:37 +00:00
Guillaume Girol
b55a8d3ad6
Merge pull request #205646 from symphorien/ocamlconflict
ocamlPackages.findlib: detect conflicts of version early
2023-01-27 20:18:39 +00:00
Weijia Wang
66b3c73fae
Merge pull request #212951 from marsam/update-buildkit
buildkit: 0.11.0 -> 0.11.2
2023-01-27 21:16:11 +01:00
Weijia Wang
8b7ff81bb7
Merge pull request #212949 from marsam/update-millet
millet: 0.7.4 -> 0.7.5
2023-01-27 21:15:54 +01:00
Weijia Wang
dbbc4ec226
Merge pull request #212954 from marsam/update-luau
luau: 0.558 -> 0.560
2023-01-27 21:09:27 +01:00
Weijia Wang
cc04886664
Merge pull request #212902 from r-ryantm/auto-update/tym
tym: 3.3.0 -> 3.4.0
2023-01-27 21:08:25 +01:00
Weijia Wang
3c4b79f8ab
Merge pull request #212935 from aaronjheng/mirrorbits
mirrorbits: 0.4 -> 0.5.1
2023-01-27 21:07:29 +01:00
Samuel Ainsworth
510f8af2fc
Merge pull request #212733 from r-ryantm/auto-update/python310Packages.pytorch-pfn-extras
python310Packages.pytorch-pfn-extras: 0.6.3 -> 0.6.4
2023-01-27 15:04:03 -05:00
Jörg Thalheim
74743e2307 tinc_pre: use https source for fetching 2023-01-27 21:02:04 +01:00
Fabian Affolter
c878d5c5b3
Merge pull request #212946 from fabaff/credslayer-fix
credslayer: add missing input for tests
2023-01-27 21:01:43 +01:00
Weijia Wang
2f04e50705
Merge pull request #212950 from marsam/update-1password
_1password: 2.13.0 -> 2.13.1
2023-01-27 20:58:33 +01:00
Maximilian Bosch
a8423f583c
Merge pull request #212929 from aaronjheng/gitea
gitea: use buildGoModule
2023-01-27 20:54:52 +01:00
Weijia Wang
06eae159c5
Merge pull request #212977 from figsoda/cargo-about
cargo-about: 0.5.2 -> 0.5.3
2023-01-27 20:53:01 +01:00
Weijia Wang
60ea3c5c28
Merge pull request #212998 from wahjava/update-ugrep
ugrep: 3.9.5 -> 3.9.6
2023-01-27 20:50:01 +01:00
Anderson Torres
c647230eaf
Merge pull request #212859 from mkenigs/doc-typo
nixos/doc: fix typo
2023-01-27 16:36:38 -03:00
Martin Weinelt
79dcb73558
Merge pull request #212867 from r-ryantm/auto-update/apt
apt: 2.5.4 -> 2.5.5
2023-01-27 19:35:38 +00:00
Silvan Mosberger
0346f6a9e3
Merge pull request #212336 from nixpkgs-architecture/some-nix-file-deps
{documentation-highlighter,zsh-clipboard}: Remove dependency on Nix files
2023-01-27 20:35:27 +01:00
Martin Weinelt
17f3a14ad8
Merge pull request #212872 from mweinelt/jool-4.1.9
jool: 4.1.8 -> 4.1.9
2023-01-27 19:34:44 +00:00
Martin Weinelt
c6fb25eb20
Merge pull request #212874 from mweinelt/esphome-dashboard-update
esphome: 2022.12.4 -> 2022.12.6
2023-01-27 19:34:29 +00:00
Martin Weinelt
e614028137
Merge pull request #212880 from r-ryantm/auto-update/radsecproxy
radsecproxy: 1.9.1 -> 1.9.2
2023-01-27 19:33:37 +00:00