The `nextonic` symlink was not working as intended because our tectonic
wrapper did not correctly pass along the executable name. This is fixed
by adding --inherit-argv0 to `makeWrapper`.
A test is also added to prevent breakage in the future.
- 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/269548https://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
Build with the harfbuzz shared library from nixpkgs. This is well
supported by upstream through a cargo feature flag.
Previously the build uses a vendored harfbuzz housed in a git submodule.
This can be inconvenient when developing the package. This commit
eliminate the need to fetch git submodules.
Also, replace `builtins.toFile` with `pkgs.writeText` because the former
blocks the evaluation loop just like an import from derivation (IFD).
Although it is _technically_ not an IFD, it has very similar effects,
and thus we should prefer the nixpkgs `pkgs.writeText` instead.
We have to switch to `fetchCrate` because upstream forgot to rebuild
their `Cargo.lock` after bumping the version in `Cargo.toml` by the time
they tagged a release.
Without the change `texlive.bin.dvisvgm` fails the build on
`staging-next` as:
Character.hpp:33:17: error: 'uint32_t' does not name a type
33 | uint32_t number () const {return _number;}
| ^~~~~~~~
Character.hpp:1:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
+++ |+#include <cstdint>
The test requires internet access to fetch tectonic's web bundle
on demand. This is achieved by abusing a fixed-output derivation,
which is capable of internet access.
The `tectonic.outPath` is included in the test package name. This
ensures that it is always triggered for rebuild when the main
derivation changes.
Co-authored-by: Doron Behar <doron.behar@gmail.com>
Conflicts:
- pkgs/development/python-modules/boto3-stubs/default.nix
- pkgs/development/python-modules/openllm-core/default.nix
Between 0.4.22 → 0.4.34 (a82245bd3d)
and 0.4.22 -> 0.4.41 (72c55ce6a6)
Does not build, not pre-merge either.