Age | Commit message (Collapse) | Author | Files | Lines |
|
apple-source-releases: always use python3Minimal
|
|
Using python3Minimal avoids infinite recursions in the stdenv bootstrap on x86_64-darwin when building Python with configd support.
|
|
darwin.system_cmds: fix build without CoreFoundation hook
|
|
|
|
|
|
|
|
Part 1 of #301908.
This renames the two versions of the Apple Public Source License seen in
nixpkgs; `apsl20` was often confused as being for the widely-used Apache
License 2.0.
|
|
treewide: fix typos around "compatible" and "compatibility"
|
|
|
|
Libsystem: remove broken `postFetch` step in `darling.src`
|
|
Fixes #297765
The `postFetch` step was broken in several ways:
1. It attempts to unpack the archive, but this has already been done before reaching this step.
2. It unpacks the file `$downloadedFile`, but this file no longer exists because it's been moved to `$renamed`.
Additionally, since (1) neither directory `src/opendirectory` nor `src/OpenDirectory` are used for anything, and (2) it's not clear whether Nix produces different hashes depending on file system case sensitivity, the chosen solution is to just remove both these two directories for now. If later a file from either directory is needed, an investigation needs to be done on how Nix hashes archives with clashing names on case insensitive file systems.
|
|
This reverts commit 521ea079b9e39d6bd66a919cb3449493d975ab6d.
|
|
darwin.libiconv: switch to libiconvReal and add to darwin-aliases
|
|
|
|
- Update to the latest available version from Apple;
- Use Meson because dealing with xcbuild is too much trouble; and
- Conditionally build certain programs when newer SDKs are available.
|
|
|
|
|
|
into libcxx (#292043)
- merge libcxxabi into libcxx for LLVM 12, 13, 14, 15, 16, 17, and git.
- remove the link time workaround `-lc++ -lc++abi` from 58 packages as it is no longer required.
- fixes https://github.com/NixOS/nixpkgs/issues/166205
- provides alternative fixes for. https://github.com/NixOS/nixpkgs/issues/269548 https://github.com/NixOS/nix/issues/9640
- pkgsCross.x86_64-freebsd builds work again
This change can be represented in 3 stages
1. merge libcxxabi into libcxx -- files: pkgs/development/compilers/llvm/[12, git]/{libcxx, libcxxabi}
2. update stdenv to account for merge -- files: stdenv.{adapters, cc.wrapper, darwin}
3. remove all references to libcxxabi outside of llvm (about 58 packages modified)
### merging libcxxabi into libcxx
- take the union of the libcxxabi and libcxx cmake flags
- eliminate the libcxx-headers-only package - it was only needed to break libcxx <-> libcxxabi circular dependency
- libcxx.cxxabi is removed. external cxxabi (freebsd) will symlink headers / libs into libcxx.
- darwin will re-export the libcxxabi symbols into libcxx so linking `-lc++` is sufficient.
- linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
- libcxx/default.nix [12, 17] are identical except for patches and `LIBCXX_ADDITIONAL_LIBRARIES` (only used in 16+)
- git/libcxx/defaul.nix does not link with -nostdlib when useLLVM is true so flag is removed. this is not much different than before as libcxxabi used -nostdlib where libcxx did not, so libc was linked in anyway.
### stdenv changes
- darwin bootstrap, remove references to libcxxabi and cxxabi
- cc-wrapper: remove c++ link workaround when libcxx.cxxabi doesn't exist (still exists for LLVM pre 12)
- adapter: update overrideLibcxx to account for a pkgs.stdenv that only has libcxx
### 58 package updates
- remove `NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}` as no longer needed
- swift, nodejs_v8 remove libcxxabi references in the clang override
https://github.com/NixOS/nixpkgs/pull/292043
|
|
|
|
This reverts commit 550137e330ebb5e0d7b114f8af2e0d244e07dcb7.
|
|
The upstream source release for 765.50.9 defines `_DNS_SD_LIBDISPATCH`
to `0` in `dns_sd.h`, but the SDK version of that header actually
defines it to `1`. Having it defined to `0` causes packages that expect
to use libdispatch-based symbols such as `DNSServiceSetDispatchQueue` to
fail to build. Define it to match the SDK to fix those packages.
|
|
darwin.stdenv: use CoreFoundation instead of CF
|
|
|
|
|
|
Fix an implicit `int` on argc, which is an error with newer clangs.
|
|
The patch in this commit is based on the SDK header, which has an ASPL
license header even though the updated header is not part of the source
distribution of Libm. Adding the missing declarations allows packages
such as jq, Ruby, and Guile to build without requiring an SDK that is
not built from the source releases.
|
|
|
|
`stripDirs: Ranlib command is empty`
Exposed by f46c8c1bcd9830d5e7b0d9264c8dd8f688518d9d
|
|
darwin.Libc conflicts with libc++ 16. adv_cmds only needs `msgcat.h`, so
provide only that in `buildInputs` instead of all of Libc.
|
|
This is an additional fix for clang 16, which fails due to an undeclared
symbol. Adding `_DNS_SD_LIBDISPATCH` makes the symbol visible in
`dns_sd.h`, allowing the build to complete successfully.
|
|
darwin.Libsystem: fix existing file error during build
|
|
A number of headers in Libc are being vendored from other packages.
Instead of copying them from an earlier Libc, Libsystem now sources them
from their respective packages (see below). This allows Libc_old to be
dropped and avoids any potential clashes when building Libsystem.
libmalloc:
* malloc/malloc.h
libplatform:
* setjmp.h
* ucontext.h
* libkern/OSAtomic.h
* libkern/OSCacheControl.h
libpthread:
* pthread*.h
* sched.h
* spawn.h
syslog (vendored because only one file is needed):
* asl.h
xnu:
* spawn.h (a different one from libpthread)
* libproc.h
|
|
Some of the headers are symlinked to the root `include` in upstream
Libsystem, so also symlink them there from `include/pthread`.
|
|
|
|
|
|
|
|
|
|
|
|
darwin.system_cmds: fix build with clang 16
|
|
Clang 16 makes implicit declarations an error by default. The headers
are available, so include them.
`getline` was renamed to `get_line` to avoid a name clash. `util.h`
includes `stdio.h`, which defines `getline`.
|
|
configd: fix build with newer LLVM and bootstrap
|
|
|
|
Newer clangs require also including `-lc++abi` to build kextsymboltool.
|
|
|
|
Clang 15 does not like the fake xpc headers. Use the real ones instead.
Doing this no longer causes an infinite recursion because xnu now
depends on python3Minimal, which does not include configd support.
|
|
|
|
|
|
adv_cmds: fix build on aarch64-darwin
|
|
|
|
This fixes build failures caused by LibreSSL 3.4 being marked insecure
and allows it to be dropped from nixpkgs. Unbound is already not built
on aarch64-darwin, and it is not bundled with newer source releases.
Packages that require Unbound should depend on `unbound` from nixpkgs
instead of getting it indirectly from `darwin.network_cmds`.
|