Commit Graph

88729 Commits

Author SHA1 Message Date
github-actions[bot]
bc80066085
Merge master into staging-next 2023-08-16 00:01:57 +00:00
Nick Cao
7595678a02
Merge pull request #249115 from shlevy/nix-plugins-12
nix-plugins: 11.0.0 -> 12.0.0
2023-08-15 17:56:13 -06:00
figsoda
ed75ab352f
Merge pull request #248809 from figsoda/minizign 2023-08-15 17:15:52 -04:00
Austin Seipp
0570c3fdf6 gdal: introduce 'useMinimalFeatures' flag to reduce closure size
Summary: GDAL has an atrociously large closure weighing in at over
1.3GiB. This makes many things such as packaging PostGIS/PostgreSQL
inside Docker images, or even copying closures, perform pretty poorly.

More importantly, adding unlimited surface area to GDAL is effectively
a support and maintenance burden. This is one of the major motivators
of this patch: to make it possible to reduce the number of supported
raster formats and thus scope support and maintence to specific subsets
of functionality.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2023-08-15 16:04:39 -05:00
Shea Levy
65cbebcb81
nix-plugins: 11.0.0 -> 12.0.0 2023-08-15 16:11:59 -04:00
Jan Tojnar
86f6b16d28 Merge branch 'master' into staging-next
Conflicts:
- pkgs/servers/mail/mailman/python.nix (relevant to mailman-web)
  between f8a17e4200 and 84f6a6755a
2023-08-15 21:39:20 +02:00
Pol Dellaiera
efba389c61
Merge pull request #248008 from athas/u2ps
u2ps: init at 1.2
2023-08-15 21:34:47 +02:00
K900
3ec5a51fb1
Merge pull request #249086 from K900/rtw88-2023-07-23
linuxPackages.rtw88: 2022-11-05 -> 2023-07-23
2023-08-15 22:29:31 +03:00
Pol Dellaiera
a51a2b6744
Merge pull request #242943 from magnouvean/g4music
g4music: init at 2.4
2023-08-15 21:25:13 +02:00
Troels Henriksen
95a20b3f39 u2ps: init at 1.2 2023-08-15 20:08:48 +02:00
magnouvean
817353588e
g4music: init at 3.2 2023-08-15 20:02:18 +02:00
Nick Cao
89050f32e7
Merge pull request #227104 from scm2342/kubectl-klock-init
kubectl-klock: init at 0.3.1
2023-08-15 05:39:22 -06:00
Sven Mattsen
cc34e8af57
kubectl-klock: init at 0.3.1 2023-08-15 11:13:13 +02:00
Pol Dellaiera
b1e020dcfe
Merge pull request #248522 from katexochen/dumpasn1-init
dumpasn1: init at 20230207.0.0
2023-08-15 10:52:42 +02:00
Jonas Heinrich
8353344d32
Merge pull request #249172 from figsoda/ztags
ztags: init at unstable-2023-08-03
2023-08-15 09:25:12 +02:00
Mario Rodas
08287aa0e1
Merge pull request #248536 from tobim/pkgs/google-cloud-cpp-2.14.0
[staging-next] google-cloud-cpp: 2.4.0 -> 2.14.0
2023-08-15 02:08:50 -05:00
Fabian Affolter
0079c1d2ea
Merge pull request #249207 from fabaff/pyoverkiz-bump
python311Packages.pyoverkiz: 1.9.1 -> 1.10.1
2023-08-15 08:44:30 +02:00
github-actions[bot]
df770ba961
Merge master into staging-next 2023-08-15 06:01:24 +00:00
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
happysalada
ea95c09176 nltk-data: init at unstable-2023-02-02 2023-08-15 10:51:41 +08: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
fcaa5a7556 libgcc: take from gcc unless explicitly overridden 2023-08-14 15:08:27 -07:00
Adam Joseph
f445f64207 libgcc: (re)init at 12.3.0
This commit restores the pkgs/development/libraries/gcc/libgcc
package, which was deleted by commit 9818d120be.

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.
2023-08-14 15:08:27 -07:00
Fabian Affolter
9bd3f4c030 python311Packages.backports-strenum: init at 1.2.4 2023-08-14 23:42:48 +02:00
figsoda
c28d2906d4 ztags: init at unstable-2023-08-03
https://github.com/gpanders/ztags
2023-08-14 14:23:38 -04:00
github-actions[bot]
674c2b1920
Merge master into staging-next 2023-08-14 18:01:03 +00:00
Maximilian Bosch
a471325eaf
Merge pull request #221318 from mweinelt/synapse-extras
nixos/matrix-synapse: Allow passing extras, discover extras from config
2023-08-14 18:43:05 +02:00
Stefan Westerfeld
14ae6da134 gst123: init at 0.4.1
Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>

Signed-off-by: Stefan Westerfeld <stefan@space.twc.de>
2023-08-14 16:36:43 +00:00
Artturi
300da0a691
Merge pull request #248988 from Artturin/matchoscopes
lib.customisation.makeScope: Make `overrideScope` consistent with `makeScopeWithSplicing`
2023-08-14 18:56:30 +03:00
Artturin
b93da3f4b7 treewide: overrideScope' -> overrideScope
`lib.makeScope` `overrideScope'` has been renamed to `overrideScope`

`fd --type f | xargs sd --string-mode "overrideScope'" "overrideScope"`
2023-08-14 18:46:47 +03:00
natsukium
edb0f26c7d python310Packages.optimum: init at 1.11.1 2023-08-14 23:24:39 +08:00
chayleaf
2fb2f3994d rizin: wrapper fixes
1. Set cutterPlugins to cutter.plugins rather than rizin.plugins which
   it was set to by mistake
2. Remove Rizin binaries from Cutter wrapper, because they aren't
   actually used by Cutter and if the user needs those binaries they
   should install Rizin separately
2023-08-14 13:53:09 +00:00
figsoda
6ab8bfb3a5
Merge pull request #248607 from figsoda/cyber 2023-08-14 09:27:20 -04:00
figsoda
74c5a69597
Merge pull request #248559 from figsoda/anko 2023-08-14 09:27:13 -04:00
figsoda
87332df335
Merge pull request #248558 from figsoda/yaegi 2023-08-14 09:27:05 -04:00
github-actions[bot]
af70853335
Merge master into staging-next 2023-08-14 12:01:04 +00:00
Pascal Bach
1f546bd2bc
Merge pull request #247575 from lorenz/dsview-1-3-0
dsview: 1.2.2 -> 1.3.0
2023-08-14 13:31:47 +02:00
figsoda
37458514ef icebreaker: init at unstable-2023-08-13
https://github.com/jonhoo/icebreaker
2023-08-14 11:11:57 +00:00
Tobias Mayer
54e9994a6b
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.
2023-08-14 11:50:30 +02:00
K900
552fafbb31 linuxPackages.rtw88: 2022-11-05 -> 2023-07-23 2023-08-14 12:44:21 +03:00
Nick Cao
475a4bd899
Merge pull request #248561 from figsoda/cel
cel-go: init at 0.17.1
2023-08-14 00:19:07 -06:00
github-actions[bot]
667a7541cd
Merge master into staging-next 2023-08-14 00:01:53 +00:00
Emily
ff22379181
Merge pull request #248917 from LeSuisse/init-vault-ssh-plus-0.7.0
vault-ssh-plus: init at 0.7.0
2023-08-13 22:24:35 +02:00
Paul Meyer
090ac79235 dumpasn1: init at 20230207.0.0
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-08-13 21:21:44 +02:00
github-actions[bot]
12e030d6da
Merge master into staging-next 2023-08-13 18:00:59 +00:00
Bernardo Meurer
70dd76d94f
Merge pull request #247475 from qowoz/nix217 2023-08-13 13:27:20 -04:00
Weijia Wang
e44351946f
Merge pull request #248914 from nevivurn/feat/financequote-1.58
perlPackages.FinanceQuote: 1.57 -> 1.58
2023-08-13 17:25:57 +02:00
Jonas Heinrich
c5f4a46036 nixos/opensnitch: Add support for EPBF process monitor
Co-authored-by: Slime90
2023-08-13 22:19:48 +08:00
Atemu
5f98e7c92b
Merge pull request #247357 from atorres1985-contrib/emacs-update
emacs: update to 29.1
2023-08-13 16:15:36 +02:00
Thomas Gerbet
70648bee6e vault-ssh-plus: init at 0.7.0
https://github.com/isometry/vault-ssh-plus
2023-08-13 15:34:11 +02:00