Commit Graph

13785 Commits

Author SHA1 Message Date
Domen Kožar
140ed7176a
Merge pull request #213549 from NixOS/nim-aarch64-darwin
nim: make gdb optional to fix aarch64-darwin build
2023-01-30 12:20:05 +00:00
Domen Kožar
fa0775101f nim: make gdb optional to fix aarch64-darwin build 2023-01-30 11:39:00 +00:00
Fabián Heredia Montiel
7440f74ac7 jetbrains.jdk: 17.0.5-b653.14 → 17.0.5-b653.25 2023-01-29 13:29:40 +00:00
Sergei Trofimovich
8b0a35fffc
Merge pull request #213129 from trofi/dmd-check-hook-match
dmd: fix Check post-hook to be postCheck, not postBuild
2023-01-28 17:48:48 +00:00
Miguel Madrid-Mencía
1272286441
crystal: 1.7.1 -> 1.7.2 2023-01-28 13:32:43 +01:00
Sergei Trofimovich
a4b7bafc65 dmd: fix Check post-hook to be postCheck, not postBuild 2023-01-28 09:39:29 +00:00
Rahul Butani
d231d18e4a
llvmPackages_15: expose the release information and monorepo source as overridable args
this makes it easier for users to use their own LLVM in nixpkgs
2023-01-27 14:51:38 -08:00
Rahul Butani
8afa321b8a
llvmPackages_15.llvm: add checks for the LLVM version
this is in preparation for the next commit which exposes the release
information and monorepo source as overridable args (which makes it
easier for users to use their own LLVM in nixpkgs)

this commit only adds a check in the `llvm` package's postConfigure that
makes sure the LLVM source provided matches the version we were given;
the actual machinery (functionally just a cosmetic change; causes no
rebuilds) is in the next commit
2023-01-27 14:51:12 -08:00
Rahul Butani
386aba3115
llvmPackages_15: update licenses
Context: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r1073157093

All the subprojects seem to be uniformly licensed under NCSA and the
LLVM license now (with the exception of openmp which has an additional
Intel license that doesn't seem to be in SPDX?); see:
 - https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/compiler-rt/LICENSE.TXT
 - https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/libcxx/LICENSE.TXT
 - https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/libcxxabi/LICENSE.TXT
 - https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/openmp/LICENSE.TXT
2023-01-27 13:29:23 -08:00
Rahul Butani
f8cbbdd05b
llvmPackages_15: misc fixes, notes 2023-01-27 13:29:23 -08:00
Rahul Butani
8f16b4be50
llvmPackages_15.openmp: add a missing darwin check dependency
the tests still don't all pass so `doCheck` is still disabled
2023-01-27 13:29:23 -08:00
Rahul Butani
404ef6b6c9
llvmPackages_15.clang: drop the C++ std version -DCMAKE_CXX_FLAG
Context: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r1085220705
2023-01-27 13:29:23 -08:00
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
figsoda
d9b650d0ed kind2: 0.2.79 -> 0.3.7 2023-01-27 13:53:47 -05:00
Weijia Wang
ac7a109da4
Merge pull request #212812 from Shawn8901/remove_with_lib_3
treewide: remove global with lib; statements in pkgs/development
2023-01-27 04:49:58 +01:00
Nick Cao
ed0755b43e
Merge pull request #212255 from jboynyc/master
minimacy: init at 0.6.2
2023-01-27 07:29:20 +08:00
Shawn8901
a59dda942c treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
sternenseemann
6f3728df50
Merge pull request #210353 from NixOS/haskell-updates
haskellPackages: update stackage and hackage
2023-01-26 18:04:01 +01:00
John D. Boy
22c85eab53 minimacy: init at 0.6.2 2023-01-26 17:20:02 +01:00
Sandro
b594ea08f1
Merge pull request #212591 from aaronjheng/paco 2023-01-26 16:28:13 +01:00
github-actions[bot]
0f008a08f0
Merge master into haskell-updates 2023-01-26 00:13:32 +00:00
Sandro
acaf211f56
Merge pull request #206439 from W95Psp/fstar-remove-references 2023-01-25 17:32:43 +01:00
sternenseemann
4eafb91fbf Merge remote-tracking branch 'origin/master' into haskell-updates 2023-01-25 17:13:37 +01:00
Aaron Jheng
d0287b2abe
paco: use buildGoModule 2023-01-25 11:51:59 +00:00
zowoq
d56f7d9fe4
go: various gccgo changes (#211850)
* gccgo: mark broken on darwin

* gccgo12: init

create versioned gccgo for bootstrapping go

* go: use versioned gccgo for bootstrapping
2023-01-25 10:11:12 +01:00
github-actions[bot]
f22d2b21d8
Merge master into haskell-updates 2023-01-25 00:13:57 +00:00
Alyssa Ross
2ae30c9f45 llvmPackages: use libcxxrt on FreeBSD
FreeBSD doesn't use LLVM's cxxabi implementation, for backwards
compatibility reasons.  Software expects the libcxxrt API when
building on FreeBSD.  This fixes the build of
pkgsCross.x86_64-freebsd.boost.
2023-01-24 21:18:39 +00:00