| Commit message (Expand) | Author | Age | Files | Lines |
| * | networkmanager: 1.42.8 -> 1.44.0origin/nm_1.44.0 | Maxine Aubrey | 2023-08-15 | 3 | -33/+43 |
| * | Merge pull request #249182 from K900/qt5-dbus-crash-backport••• qt5.qtbase: backport patch to fix things crashing on exit | K900 | 2023-08-15 | 2 | -0/+80 |
| |\ |
|
| | * | qt5.qtbase: backport patch to fix things crashing on exit•••This is kind of experimental, and we decided after a conversation
with upstream to keep it vendored for a bit and then upstream if
nothing explodes.
https://invent.kde.org/qt/qt/qtbase/-/commit/666ce51d4eb6b5dd312f98e2d7a18c54b59945e4
| K900 | 2023-08-15 | 2 | -0/+80 |
| * | | Merge pull request #246022 from K900/qt5-translations•••qt: include qttranslations properly | K900 | 2023-08-15 | 46 | -328/+119 |
| |\ \ |
|
| | * | | treewide: clean up all qttranslations workarounds•••There are two kinds of changes here:
- removing explicit qttranslations path hardcoding from applications that were patched to do it
- replacing qttranslations in buildInputs with qttools for packages that really depend on the latter
After this, qttranslation is never used outside Qt itself, as it should.
| K900 | 2023-08-15 | 34 | -318/+40 |
| | * | | qt6.qtwebengine: don't try to install locales to qtbase translation directory | K900 | 2023-08-15 | 2 | -0/+31 |
| | * | | qt6: include qttranslations properly | K900 | 2023-08-15 | 5 | -6/+30 |
| | * | | qt5: include qttranslations properly•••Qt loads its own translations from a hardcoded path, and those are used
(among other things) for determining RTL layout preferences in applications,
so they are definitely something we want to have.
This adds a qtbase/qttools rebuild to the chain, but it's fast enough that it's
probably fine.
Another approach would be to load translation paths from the environment,
and inject it in wrapQtAppsHook, but that seems like more complexity
for very questionable build time savings.
| K900 | 2023-08-15 | 5 | -4/+18 |
| |/ / |
|
| * | | Merge staging-next into staging | github-actions[bot] | 2023-08-15 | 5 | -59/+69 |
| |\ \ |
|
| | * \ | Merge pull request #248536 from tobim/pkgs/google-cloud-cpp-2.14.0•••[staging-next] google-cloud-cpp: 2.4.0 -> 2.14.0 | Mario Rodas | 2023-08-15 | 5 | -59/+69 |
| | |\ \ |
|
| | | * | | grpc: refactor cxxStandard selection•••GRPC is less aggressive in overriding `CMAKE_CXX_STANDARD` nowadays.
This allows us to take a less invasive approach to ensure that the
provided abseil package is configured with the same implementation
for the provided c++17 compatibility shims.
Instead of always setting `CMAKE_CXX_STANDARD`, we only do it to
override hard-coded downgrade on darwin. With that, we can use the
default configuration for abseil-cpp, reducing the number of instances
of that library in the build closure to one.
| Tobias Mayer | 2023-08-14 | 4 | -25/+17 |
| | | * | | google-cloud-cpp: 2.4.0 -> 2.14.0 | Tobias Mayer | 2023-08-13 | 2 | -34/+52 |
| * | | | | Merge pull request #248652 from trofi/util-linux-update•••util-linux: 2.39 -> 2.39.1 | Adam Joseph | 2023-08-15 | 1 | -23/+3 |
| |\ \ \ \ |
|
| | * | | | | util-linux: 2.39 -> 2.39.1•••Changes: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ChangeLog
| Sergei Trofimovich | 2023-08-14 | 1 | -23/+3 |
| * | | | | | Merge pull request #248655 from trofi/SDL2-update•••SDL2: 2.28.1 -> 2.28.2 | Adam Joseph | 2023-08-15 | 1 | -2/+2 |
| |\ \ \ \ \ |
|
| | * | | | | | SDL2: 2.28.1 -> 2.28.2•••Changes: https://github.com/libsdl-org/SDL/releases/tag/release-2.28.2
| Sergei Trofimovich | 2023-08-12 | 1 | -2/+2 |
| | |/ / / / |
|
| * | | | | | Merge pull request #248308 from tobim/pkgs/snappy-fix-for-clang16•••snappy: fix build with clang16 | Mario Rodas | 2023-08-15 | 1 | -4/+5 |
| |\ \ \ \ \ |
|
| | * | | | | | snappy: fix building with clang16 | Tobias Mayer | 2023-08-10 | 1 | -4/+5 |
| * | | | | | | Merge staging-next into staging | github-actions[bot] | 2023-08-15 | 43 | -196/+460 |
| |\ \ \ \ \ \
| | |_|/ / /
| |/| | | | |
|
| | * | | | | | Merge master into staging-next | github-actions[bot] | 2023-08-15 | 41 | -191/+455 |
| | |\ \ \ \ \ |
|
| | | * \ \ \ \ | Merge pull request #249189 from GaetanLepage/jupyter-team•••maintainers/team-list: add GaetanLepage to jupyter team | Robert Schütz | 2023-08-15 | 1 | -0/+1 |
| | | |\ \ \ \ \ |
|
| | | | * | | | | | maintainers/team-list: add GaetanLepage to jupyter team | Gaetan Lepage | 2023-08-14 | 1 | -0/+1 |
| | | * | | | | | | nix-doc: 0.5.9 -> 0.5.10•••Fixes https://github.com/NixOS/nixpkgs/issues/237637 and its entire
class of problems by making nix-doc save the version it was built for in
the library and then bail harmlessly if it is mismatched.
```
dev/nixpkgs2 » nix-build -A nix-doc
/nix/store/wv9nm47lplyz4b0pa4549zwrnsp3zvaf-nix-doc-0.5.10
dev/nixpkgs2 » nix-build -A nixVersions.nix_2_14 -o result2
/nix/store/ka0ygdzl9jd0j77y7ls6shngdz9vvqpn-nix-2.14.1
dev/nixpkgs2 » ./result2/bin/nix --plugin-files ./result/lib/libnix_doc_plugin.so repl
nix-doc warning: mismatched nix version, not loading
Welcome to Nix 2.14.1. Type :? for help.
nix-repl>
```
| Jade Lovelace | 2023-08-15 | 1 | -4/+17 |
| | | * | | | | | | Merge pull request #249254 from r-ryantm/auto-update/python310Packages.mashumaro•••python310Packages.mashumaro: 3.8.1 -> 3.9 | Theodore Ni | 2023-08-14 | 1 | -2/+2 |
| | | |\ \ \ \ \ \ |
|
| | | | * | | | | | | python310Packages.mashumaro: 3.8.1 -> 3.9 | R. Ryantm | 2023-08-15 | 1 | -2/+2 |
| | | * | | | | | | | Merge pull request #247900 from amjoseph-nixpkgs/pr/stdenv/libgcc-no-more-cycles•••glibcCross: use a libgcc built separately from gcc | Adam Joseph | 2023-08-15 | 9 | -49/+207 |
| | | |\ \ \ \ \ \ \ |
|
| | | | * | | | | | | | tests.cross.sanity: enable mbuffer test•••This test passes now. Also fixes a minor oversight in the bug --
the test case needs to `touch $out` on success.
| Adam Joseph | 2023-08-14 | 1 | -1/+2 |
| | | | * | | | | | | | glibcCross: use a libgcc built separately from gcc••• ### Summary
This PR completely and finally solves the gcc<->glibc circular
`buildInputs` problem, for cross compilation. The same technique
can be applied to native builds in the future.
Closes #213453
### Motivation
Prior to this PR, we had the following circular `buildInputs` problem:
1. gcc has glibc in its `buildInputs`
- a compiled copy of glibc must be present before building gcc;
if it isn't, gcc cripples itself (`inhibit_libc`) and refuses
to build libgcc_s.so
2. glibc has libgcc_s.so in its `buildInputs`
- glibc `dlopen()`s libgcc_s.so in order to implement POSIX
thread cancellation. For security reasons `glibc` requires
that the path to `libgcc_s.so` is [hardwired] into `glibc` at
compile time, so it's technically not a true dynamic link -- it
just pretends to be one.
3. libgcc_s.so is built in the same derivation as gcc
- libgcc_s.so is built as part of the gcc build process
We must cut one of these three links in the loop.
### Previous Attempts
Previously https://github.com/NixOS/nixpkgs/pull/238154 had
attempted to cut link (1) by building `gcc` without `glibc`, and
using the `libgcc_s` which emerges from that build. Unfortunately
this just doesn't work. GCC's configure script extracts quite a lot
of information from the glibc headers (which are a build artifact --
you can't just copy them out of the source tarball) and various
`./configure`-driven linking attempts. If `glibc` isn't around at
build time you wind up with a `libgcc_s.so` that is missing various
unwinder features (see https://github.com/NixOS/nixpkgs/issues/213453
for the most problematic one).
Musl "cuts" link (2), or rather never creates it in the first place.
["Cancellation cleanup handling in musl has no relationship to C++
exceptions and unwinding... glibc implements cancellation as an
exception"](https://wiki.musl-libc.org/functional-differences-from-glibc.html#Thread-cancellation).
IMHO Musl made the smarter decision here. It is incredibly rare to
find a codebase that uses both POSIX thread cancellation *and* C++
exceptions. I have never seen a codebase that uses both *and*
expects them to be aware of each other, and I would be astonished if
one existed. Glibc paid an immense cost in complexity for something
nobody has ever used.
### Changes Made
This PR cuts link (3): instead of building libgcc_s.so as part of
gcc, we build it separately from gcc. Now there is a strict acyclic
graph of `buildInputs`:
```
gccWithoutTargetLibc
|
+--->glibc-nolibgcc
| |
| v
+--->libgcc
| |
| v
+--->glibc
| |
| v
+--->gcc
```
In other words, there's a simple linear `buildInputs` chain
`glibc-nolibgcc` `->` `libgcc` `->` `glibc` `->` `gcc` where all
four packages are compiled by (and therefore have as a
`(native)BuildInput`) `gccWithoutTargetLibc`.
`gccWithoutTargetLibc` and `glibc-nolibgcc` are strictly
bootstrapping artifacts; nothing else has them as a `buildInput` and
they shouldn't appear in the closure of any final deployment
packages. `glibc-nolibgcc` lacks `libgcc_s.so`, so it will segfault
if you try to use it with POSIX thread cancellation. Fortunately
all we need from it is (a) its headers (`lib.getDev`) and (b) to use
it in the `./configure` script for `libgcc`.
When translated over to the native bootstrap, `xgcc` takes the place
of `gccWithoutTargetLibc`, and the "first `glibc`" (we build two of
them) takes the place of `glibc-nolibgcc`. At that point our native
and cross bootstrap have the same overall architecture, and it
becomes possible to merge them (at last!)
[213453]: https://github.com/NixOS/nixpkgs/issues/213453
[238154]: https://github.com/NixOS/nixpkgs/pull/238154
[hardwired]: https://github.com/NixOS/nixpkgs/blob/7553d0fe29801938bcb280bb324b579ef9016aea/pkgs/development/libraries/glibc/default.nix#L69-L88
| Adam Joseph | 2023-08-14 | 2 | -5/+11 |
| | | | * | | | | | | | libgcc: make needed architecture-specific targets if isArmv7 | Adam Joseph | 2023-08-14 | 2 | -0/+4 |
| | | | * | | | | | | | libgcc: make needed architecture-specific targets if isM68k | Adam Joseph | 2023-08-14 | 1 | -0/+3 |
| | | | * | | | | | | | libgcc: let-rename stdenvNoLibs to stdenv | Adam Joseph | 2023-08-14 | 1 | -21/+22 |
| | | | * | | | | | | | libgcc: gccConfigureFlags: minimize, fix•••This commit minimizes libgcc's gccConfigureFlags, and -- importantly
-- includes the three flags needed in order to prevent
`inhibit_libc` from becoming active.
| Adam Joseph | 2023-08-14 | 1 | -20/+9 |
| | | | * | | | | | | | libgcc: configureFlags: minimize•••A lot of these flags were unnecessary.
| Adam Joseph | 2023-08-14 | 1 | -7/+1 |
| | | | * | | | | | | | libgcc: use forceLibgccToBuildCrtStuff•••This duplicates (by reference) the two-line adjustment to libgcc's
Makefile needed in order to get crtstuff to build without a full
build of gcc.
| Adam Joseph | 2023-08-14 | 1 | -3/+5 |
| | | | * | | | | | | | gcc: factor out forceLibgccToBuildCrtStuff | Adam Joseph | 2023-08-14 | 4 | -42/+51 |
| | | | * | | | | | | | libgcc: add glibc as a buildInput•••This is necessary in order to prevent gcc from switching on
`inhibit_libc`, which cripples the `libgcc_s.so` unwinder.
| Adam Joseph | 2023-08-14 | 1 | -0/+1 |
| | | | * | | | | | | | libgcc: let-float gccConfigureFlags out of the derivation attrs | Adam Joseph | 2023-08-14 | 1 | -27/+28 |
| | | | * | | | | | | | libgcc: use finalAttrs instead of rec | Adam Joseph | 2023-08-14 | 1 | -5/+5 |
| | | | * | | | | | | | libgcc: minor formatting adjustments | Adam Joseph | 2023-08-14 | 1 | -18/+8 |
| | | | * | | | | | | | libgcc: take from gcc unless explicitly overridden | Adam Joseph | 2023-08-14 | 1 | -3/+1 |
| | | | * | | | | | | | libgcc: (re)init at 12.3.0•••This commit restores the pkgs/development/libraries/gcc/libgcc
package, which was deleted by commit 9818d120be614c478f569c21d4b9d358632e651e.
We need to be able to build libgcc separately from gcc in order to
avoid a circular dependency. Nixpkgs is unusual -- unlike any other
distribution, it cannot tolerate circular dependencies between
dynamically linked libraries. Because of this, upstream is
extremely unsympathetic to the trouble that the glibc<->gcc circular
dependency causes for us; if we don't solve it ourselves it will not
be solved.
| Adam Joseph | 2023-08-14 | 3 | -1/+160 |
| | | * | | | | | | | | nltk-data: init at unstable-2023-02-02 | happysalada | 2023-08-15 | 2 | -0/+52 |
| | | * | | | | | | | | Merge pull request #249094 from LudovicoPiero/armcord-update•••armcord: 3.2.1 -> 3.2.3 | OTABI Tomoya | 2023-08-15 | 1 | -4/+5 |
| | | |\ \ \ \ \ \ \ \ |
|
| | | | * | | | | | | | | armcord: 3.2.1 -> 3.2.3 | Ludovico Piero | 2023-08-15 | 1 | -4/+5 |
| | | * | | | | | | | | | Merge pull request #249226 from NickCao/fcitx-test•••nixosTests.fcitx5: make use of the newly added settings option | Nick Cao | 2023-08-14 | 3 | -48/+37 |
| | | |\ \ \ \ \ \ \ \ \ |
|
| | | | * | | | | | | | | | nixosTests.fcitx5: make use of the newly added settings option | Nick Cao | 2023-08-15 | 3 | -48/+37 |
| | | * | | | | | | | | | | Merge pull request #249014 from kashw2/leetcode-cli•••leetcode-cli: 0.4.1 -> 0.4.2; added passthru test | Nick Cao | 2023-08-14 | 1 | -3/+11 |
| | | |\ \ \ \ \ \ \ \ \ \ |
|
| | | | * | | | | | | | | | | added passthru version test | kashw2 | 2023-08-14 | 1 | -0/+6 |
| | | | * | | | | | | | | | | leetcode-cli: 0.4.1 -> 0.4.2 | kashw2 | 2023-08-14 | 1 | -3/+5 |
| | | * | | | | | | | | | | | duperemove: 0.11.3 -> 0.12 | ayes-web | 2023-08-14 | 1 | -2/+2 |