Commit graph

514575 commits

Author SHA1 Message Date
Adam Joseph 0dfed0d79b
Merge pull request #247900 from amjoseph-nixpkgs/pr/stdenv/libgcc-no-more-cycles
glibcCross: use a libgcc built separately from gcc
2023-08-15 04:09:16 +00:00
R. Ryantm d2a462abab python310Packages.mashumaro: 3.8.1 -> 3.9 2023-08-15 03:32:56 +00:00
happysalada ea95c09176 nltk-data: init at unstable-2023-02-02 2023-08-15 10:51:41 +08:00
OTABI Tomoya 01c84dba92
Merge pull request #249094 from LudovicoPiero/armcord-update
armcord: 3.2.1 -> 3.2.3
2023-08-15 11:45:22 +09:00
Ludovico Piero 810ec79435
armcord: 3.2.1 -> 3.2.3 2023-08-15 12:05:25 +10:00
Nick Cao 848219e767
Merge pull request #249226 from NickCao/fcitx-test
nixosTests.fcitx5: make use of the newly added settings option
2023-08-14 19:29:27 -06:00
Nick Cao 968a26d7a9
Merge pull request #249014 from kashw2/leetcode-cli
leetcode-cli: 0.4.1 -> 0.4.2; added passthru test
2023-08-14 19:21:33 -06:00
ayes-web 790f188d60 duperemove: 0.11.3 -> 0.12 2023-08-14 20:20:39 -05:00
Nick Cao 4bb1034ef3
Merge pull request #249191 from fabaff/mypy-boto3-ebs-bump
python311Packages.mypy-boto3-ebs: 1.28.13 -> 1.28.16
2023-08-14 19:11:02 -06:00
Nick Cao 0e378c92f1
Merge pull request #249192 from fabaff/bthome-ble-bump
python311Packages.bthome-ble: 3.0.0 -> 3.1.0
2023-08-14 19:09:55 -06:00
Uri Baghin 63c7774d20
Merge pull request #245860 from dmivankov/patch-4
bazel_6: installCheckPhase .bazelversion override
2023-08-15 11:09:42 +10:00
Nick Cao eff85f83aa
Merge pull request #249196 from fabaff/twilio-bump
python311Packages.twilio: 8.5.0 -> 8.6.0
2023-08-14 19:09:04 -06:00
Nick Cao e9b271b824
Merge pull request #249214 from fabaff/reolink-aio-bump
python311Packages.reolink-aio: 0.7.6 -> 0.7.7
2023-08-14 19:08:35 -06:00
Nick Cao 4054b8fbf9
Merge pull request #249194 from fabaff/pylitterbot-bump
python311Packages.pylitterbot: 2023.4.3 -> 2023.4.4
2023-08-14 19:08:23 -06:00
Nick Cao e6e82bf453
Merge pull request #249195 from fabaff/pyschlage-bump
python311Packages.pyschlage: 2023.7.0 -> 2023.8.1
2023-08-14 19:07:53 -06:00
Nick Cao 782460b1bd
Merge pull request #249213 from fabaff/checkov-bump
checkov: 2.3.364 -> 2.3.365
2023-08-14 19:04:25 -06:00
Nick Cao 03000a0d47
Merge pull request #249215 from marsam/update-twilio-cli
twilio-cli: 5.11.0 -> 5.12.0
2023-08-14 19:03:12 -06:00
R. Ryantm c802b8f5c1 mkvtoolnix: 77.0 -> 78.0 2023-08-15 01:02:02 +00:00
R. Ryantm 34fd05a065
python310Packages.cfgv: 3.3.1 -> 3.4.0 2023-08-15 09:01:13 +08:00
Nick Cao e03e8cf783
Merge pull request #249219 from FedericoSchonborn/budgie/budgie-backgrounds-2.0
budgie.budgie-backgrounds: 1.0 -> 2.0
2023-08-14 18:47:32 -06:00
Nick Cao adeeb69b95
Merge pull request #249222 from r-ryantm/auto-update/python311Packages.types-ujson
python311Packages.types-ujson: 5.8.0.0 -> 5.8.0.1
2023-08-14 18:46:02 -06:00
Nick Cao 467e4c2e93
Merge pull request #249158 from Kiskae/nvidia-settings/fix-path
linuxPackages.nvidia_x11.settings: fix runpath
2023-08-14 18:43:48 -06:00
Nick Cao 1a1374a63b
Merge pull request #249134 from Ma27/bump-postgres-exporter
prometheus-postgres-exporter: 0.13.1 -> 0.13.2
2023-08-14 18:42:29 -06:00
Nick Cao 78c530616c
Merge pull request #249143 from figsoda/typos
typos: 1.16.4 -> 1.16.5
2023-08-14 18:41:24 -06:00
Nick Cao 26923ff489
Merge pull request #249161 from figsoda/ripdrag
ripdrag: 0.4.0 -> 0.4.1
2023-08-14 18:40:20 -06:00
Nick Cao fecb8c7752
nixosTests.fcitx5: make use of the newly added settings option 2023-08-15 08:36:07 +08:00
Nick Cao eb2b0b09b3
Merge pull request #249223 from NickCao/fcitx
nixos/fcitx5: fix evaluation
2023-08-14 18:19:08 -06:00
Nick Cao 2af24d4417
nixos/fcitx5: fix evaluation 2023-08-15 08:15:41 +08:00
Nick Cao d93d2eb0a0
Merge pull request #249099 from kilianar/portfolio-0.65.0
portfolio: 0.64.5 -> 0.65.0
2023-08-14 18:12:45 -06:00
Nick Cao fe7ce2a481
Merge pull request #249121 from figsoda/typst-lsp
typst-lsp: 0.9.0 -> 0.9.1
2023-08-14 18:11:32 -06:00
R. Ryantm 79118350b0 python311Packages.types-ujson: 5.8.0.0 -> 5.8.0.1 2023-08-15 00:09:47 +00:00
Nick Cao ecfbcc51f2
Merge pull request #248839 from Eliot00/keepmenu-update
keepmenu: 1.3.1 -> 1.4.0
2023-08-14 18:08:04 -06:00
Luke Granger-Brown 075047aeb9
Merge pull request #248967 from lukegb/py-influxdb-pandas
python3.pkgs.influxdb: fix after Pandas bump
2023-08-15 01:05:34 +01:00
Federico Damián Schonborn e543e81fae
budgie.budgie-backgrounds: 1.0 -> 2.0
Signed-off-by: Federico Damián Schonborn <fdschonborn@gmail.com>
2023-08-14 20:51:37 -03:00
figsoda b20308c508
Merge pull request #249178 from ruuda/cargo-fuzz0112
cargo-fuzz: 0.11.0 -> 0.11.2
2023-08-14 19:43:01 -04:00
Fabian Affolter bdc5b90b32 python311Packages.reolink-aio: 0.7.6 -> 0.7.7
Diff: https://github.com/starkillerOG/reolink_aio/compare/refs/tags/0.7.6...0.7.7

Changelog: https://github.com/starkillerOG/reolink_aio/releases/tag/0.7.7
2023-08-14 22:45:41 +00:00
Fabian Affolter 1fbf8cf3ba checkov: 2.3.364 -> 2.3.365
Diff: https://github.com/bridgecrewio/checkov/compare/refs/tags/2.3.364...2.3.365

Changelog: https://github.com/bridgecrewio/checkov/releases/tag/2.3.365
2023-08-14 22:40:22 +00:00
FrancescoDeSimone 95f63c3207
Update pkgs/tools/backup/duplicati/default.nix
Co-authored-by: Ludovico <ludovicopiero@pm.me>
2023-08-14 22:11:33 +00:00
Adam Joseph 1912681314 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.
2023-08-14 15:09:06 -07:00
Adam Joseph 64046f0191 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]: 7553d0fe29/pkgs/development/libraries/glibc/default.nix (L69-L88)
2023-08-14 15:09:06 -07:00
Adam Joseph 18c52d09bc libgcc: make needed architecture-specific targets if isArmv7 2023-08-14 15:08:59 -07:00
Adam Joseph c0e4121ba5 libgcc: make needed architecture-specific targets if isM68k 2023-08-14 15:08:29 -07:00
Adam Joseph 17ce8682d6 libgcc: let-rename stdenvNoLibs to stdenv 2023-08-14 15:08:29 -07:00
Adam Joseph 8c37dae9ad 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.
2023-08-14 15:08:29 -07:00
Adam Joseph fa0ebe80f1 libgcc: configureFlags: minimize
A lot of these flags were unnecessary.
2023-08-14 15:08:29 -07:00
Adam Joseph da371c7c5a 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.
2023-08-14 15:08:28 -07:00
Adam Joseph 92186a49bf gcc: factor out forceLibgccToBuildCrtStuff 2023-08-14 15:08:28 -07:00
Adam Joseph 383d62d94c 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.
2023-08-14 15:08:28 -07:00
Adam Joseph b5893e7046 libgcc: let-float gccConfigureFlags out of the derivation attrs 2023-08-14 15:08:28 -07:00
Adam Joseph 2ecf2d954b libgcc: use finalAttrs instead of rec 2023-08-14 15:08:28 -07:00