Skip to content

Commit 7a2cb87

Browse files
committed
Merge branch 'staging' into staging-next
2 parents acc7ed9 + d07db27 commit 7a2cb87

68 files changed

Lines changed: 468 additions & 411 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

doc/stdenv/stdenv.chapter.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,13 @@ Here are some more packages that provide a setup hook. Since the list of hooks i
11401140
Many other packages provide hooks, that are not part of `stdenv`. You can find
11411141
these in the [Hooks Reference](#chap-hooks).
11421142

1143+
### Compiler and Linker wrapper hooks {#compiler-linker-wrapper-hooks}
1144+
1145+
If the file `${cc}/nix-support/cc-wrapper-hook` exists, it will be run at the end of the [compiler wrapper](#cc-wrapper).
1146+
If the file `${binutils}/nix-support/post-link-hook` exists, it will be run at the end of the linker wrapper.
1147+
These hooks allow a user to inject code into the wrappers.
1148+
As an example, these hooks can be used to extract `extraBefore`, `params` and `extraAfter` which store all the command line arguments passed to the compiler and linker respectively.
1149+
11431150
## Purity in Nixpkgs {#sec-purity-in-nixpkgs}
11441151

11451152
*Measures taken to prevent dependencies on packages outside the store, and what you can do to prevent them.*

nixos/doc/manual/from_md/release-notes/rl-2211.section.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,19 @@
11711171
Add udev rules for the Teensy family of microcontrollers.
11721172
</para>
11731173
</listitem>
1174+
<listitem>
1175+
<para>
1176+
The Qt QML disk cache is now disabled by default. This fixes a
1177+
long-standing issue where updating Qt/KDE apps would sometimes
1178+
cause them to crash or behave strangely without explanation.
1179+
Those concerned about the small (~10%) performance hit to
1180+
application startup can re-enable the cache (and expose
1181+
themselves to gremlins) by setting the envrionment variable
1182+
<literal>QML_FORCE_DISK_CACHE</literal> to
1183+
<literal>1</literal> using e.g. the
1184+
<literal>environment.sessionVariables</literal> NixOS option.
1185+
</para>
1186+
</listitem>
11741187
<listitem>
11751188
<para>
11761189
systemd-oomd is enabled by default. Depending on which systemd

nixos/doc/manual/release-notes/rl-2211.section.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,14 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
354354

355355
- Add udev rules for the Teensy family of microcontrollers.
356356

357+
- The Qt QML disk cache is now disabled by default. This fixes a
358+
long-standing issue where updating Qt/KDE apps would sometimes cause
359+
them to crash or behave strangely without explanation. Those concerned
360+
about the small (~10%) performance hit to application startup can
361+
re-enable the cache (and expose themselves to gremlins) by setting the
362+
envrionment variable `QML_FORCE_DISK_CACHE` to `1` using e.g. the
363+
`environment.sessionVariables` NixOS option.
364+
357365
- systemd-oomd is enabled by default. Depending on which systemd units have
358366
`ManagedOOMSwap=kill` or `ManagedOOMMemoryPressure=kill`, systemd-oomd will
359367
SIGKILL all the processes under the appropriate descendant cgroups when the

nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,10 @@ in
1616
calamares-nixos-extensions
1717
# Needed for calamares QML module packagechooserq
1818
libsForQt5.full
19+
# Get list of locales
20+
glibcLocales
1921
];
22+
23+
# Support choosing from any locale
24+
i18n.supportedLocales = [ "all" ];
2025
}

nixos/modules/services/x11/display-managers/sddm.nix

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -269,20 +269,5 @@ in
269269
# To enable user switching, allow sddm to allocate TTYs/displays dynamically.
270270
services.xserver.tty = null;
271271
services.xserver.display = null;
272-
273-
systemd.tmpfiles.rules = [
274-
# Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes
275-
# strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM
276-
# will segfault without explanation. We really tore our hair out for awhile
277-
# before finding the bug:
278-
# https://bugreports.qt.io/browse/QTBUG-62302
279-
# We work around the problem by deleting the QML cache before startup.
280-
# This was supposedly fixed in Qt 5.9.2 however it has been reported with
281-
# 5.10 and 5.11 as well. The initial workaround was to delete the directory
282-
# in the Xsetup script but that doesn't do anything.
283-
# Instead we use tmpfiles.d to ensure it gets wiped.
284-
# This causes a small but perceptible delay when SDDM starts.
285-
"e ${config.users.users.sddm.home}/.cache - - - 0"
286-
];
287272
};
288273
}

pkgs/applications/audio/flac/default.nix

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010

1111
stdenv.mkDerivation rec {
1212
pname = "flac";
13-
version = "1.4.1";
13+
version = "1.4.2";
1414

1515
src = fetchurl {
1616
url = "http://downloads.xiph.org/releases/flac/${pname}-${version}.tar.xz";
1717
# Official checksum is published at https://github.com/xiph/flac/releases/tag/${version}
18-
sha256 = "91303c3e5dfde52c3e94e75976c0ab3ee14ced278ab8f60033a3a12db9209ae6";
18+
sha256 = "sha256-4yLVih9I0j2d049DJnKGX2955zpvnMWl9X/KqD61qOQ=";
1919
};
2020

2121
nativeBuildInputs = [
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
4343
meta = with lib; {
4444
homepage = "https://xiph.org/flac/";
4545
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
46+
changelog = "https://xiph.org/flac/changelog.html";
4647
platforms = platforms.all;
4748
license = licenses.bsd3;
4849
maintainers = with maintainers; [ ruuda ];

pkgs/build-support/cc-wrapper/cc-wrapper.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,12 @@ fi
219219
PATH="$path_backup"
220220
# Old bash workaround, see above.
221221

222+
# if a cc-wrapper-hook exists, run it.
223+
if [[ -e @out@/nix-support/cc-wrapper-hook ]]; then
224+
compiler=@prog@
225+
source @out@/nix-support/cc-wrapper-hook
226+
fi
227+
222228
if (( "${NIX_CC_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then
223229
exec @prog@ @<(printf "%q\n" \
224230
${extraBefore+"${extraBefore[@]}"} \

pkgs/build-support/rust/hooks/cargo-setup-hook.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ cargoSetupPostUnpackHook() {
2727
cat ${tmp_config} >> .cargo/config
2828

2929
cat >> .cargo/config <<'EOF'
30-
@rustTarget@
30+
@cargoConfig@
3131
EOF
3232

3333
echo "Finished cargoSetupPostUnpackHook"

pkgs/build-support/rust/hooks/default.nix

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,37 @@ in {
6868
# The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available.
6969
diff = "${diffutils.nativeDrv or diffutils}/bin/diff";
7070

71-
# Target platform
72-
rustTarget = ''
73-
[target."${rust.toRustTarget stdenv.buildPlatform}"]
71+
# We want to specify the correct crt-static flag for both
72+
# the build and host platforms. This is important when the wanted
73+
# value for crt-static does not match the defaults in the rustc target,
74+
# like for pkgsMusl or pkgsCross.musl64; Upstream rustc still assumes
75+
# that musl = static[1].
76+
#
77+
# By default, Cargo doesn't apply RUSTFLAGS when building build.rs
78+
# if --target is passed, so the only good way to set crt-static for
79+
# build.rs files is to use the unstable -Zhost-config Cargo feature.
80+
# This allows us to specify flags that should be passed to rustc
81+
# when building for the build platform. We also need to use
82+
# -Ztarget-applies-to-host, because using -Zhost-config requires it.
83+
#
84+
# When doing this, we also have to specify the linker, or cargo
85+
# won't pass a -C linker= argument to rustc. This will make rustc
86+
# try to use its default value of "cc", which won't be available
87+
# when cross-compiling.
88+
#
89+
# [1]: https://github.com/rust-lang/compiler-team/issues/422
90+
cargoConfig = ''
91+
[host]
7492
"linker" = "${ccForBuild}"
75-
${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
76-
[target."${shortTarget}"]
77-
"linker" = "${ccForHost}"
78-
''}
93+
"rustflags" = [ "-C", "target-feature=${if stdenv.buildPlatform.isStatic then "+" else "-"}crt-static" ]
94+
95+
[target."${shortTarget}"]
96+
"linker" = "${ccForHost}"
7997
"rustflags" = [ "-C", "target-feature=${if stdenv.hostPlatform.isStatic then "+" else "-"}crt-static" ]
98+
99+
[unstable]
100+
host-config = true
101+
target-applies-to-host = true
80102
'';
81103
};
82104
} ./cargo-setup-hook.sh) {};

pkgs/data/misc/tzdata/default.nix

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
1-
{ lib, stdenv, fetchurl, buildPackages }:
1+
{ lib, stdenv, fetchurl, fetchpatch, buildPackages }:
22

33
stdenv.mkDerivation rec {
44
pname = "tzdata";
5-
version = "2022e";
5+
version = "2022f";
66

77
srcs = [
88
(fetchurl {
99
url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
10-
hash = "sha256-jeTCaG3OPRqukDBxnmgUkxwhai1eiR7D0zLm9lFq7M0=";
10+
hash = "sha256-mZDXH2ddISVnuTH+iq4cq3An+J/vuKedgIppM6Z68AA=";
1111
})
1212
(fetchurl {
1313
url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
14-
hash = "sha256-1AKAJTmA6JFo5r5CdahSv5UhUk1HaE3jE1uaXKOHcQs=";
14+
hash = "sha256-5FQ+kPhPkfqCgJ6piTAFL9vBOIDIpiPuOk6qQvimTBU=";
1515
})
1616
];
1717

1818
sourceRoot = ".";
1919

2020
patches = lib.optionals stdenv.hostPlatform.isWindows [
2121
./0001-Add-exe-extension-for-MS-Windows-binaries.patch
22+
] ++ [
23+
(fetchpatch {
24+
name = "fix-get-random-on-osx-1.patch";
25+
url = "https://github.com/eggert/tz/commit/5db8b3ba4816ccb8f4ffeb84f05b99e87d3b1be6.patch";
26+
hash = "sha256-FevGjiSahYwEjRUTvRY0Y6/jUO4YHiTlAAPixzEy5hw=";
27+
})
28+
(fetchpatch {
29+
name = "fix-get-random-on-osx-2.patch";
30+
url = "https://github.com/eggert/tz/commit/841183210311b1d4ffb4084bfde8fa8bdf3e6757.patch";
31+
hash = "sha256-1tUTZBMT7V463P7eygpFS6/k5gTeeXumk5+V4gdKpEI=";
32+
})
2233
];
2334

2435
outputs = [ "out" "bin" "man" "dev" ];

0 commit comments

Comments
 (0)