staging-next 2025-05-07 (#404858)

This commit is contained in:
Vladimír Čunát 2025-05-15 18:42:40 +02:00
commit e06158e58f
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
355 changed files with 5720 additions and 2876 deletions

View file

@ -779,7 +779,7 @@ that depend on that library, you may want to use:
```nix
haskellPackages.haskell-ci.overrideScope (self: super: {
Cabal = self.Cabal_3_14_1_1;
Cabal = self.Cabal_3_14_2_0;
})
```

View file

@ -1141,12 +1141,15 @@ They cannot be overridden without rebuilding the package.
If dependencies should be resolved at runtime, use `--suffix` to append fallback values to `PATH`.
Theres many more kinds of arguments, they are documented in `nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh` for the `makeWrapper` implementation and in `nixpkgs/pkgs/build-support/setup-hooks/make-binary-wrapper/make-binary-wrapper.sh` for the `makeBinaryWrapper` implementation.
Theres many more kinds of arguments, they are documented in `nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh` for the `makeWrapper` implementation and in `nixpkgs/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh` for the `makeBinaryWrapper` implementation.
`wrapProgram` is a convenience function you probably want to use most of the time, implemented by both `makeWrapper` and `makeBinaryWrapper`.
Using the `makeBinaryWrapper` implementation is usually preferred, as it creates a tiny _compiled_ wrapper executable, that can be used as a shebang interpreter. This is needed mostly on Darwin, where shebangs cannot point to scripts, [due to a limitation with the `execve`-syscall](https://stackoverflow.com/questions/67100831/macos-shebang-with-absolute-path-not-working). Compiled wrappers generated by `makeBinaryWrapper` can be inspected with `less <path-to-wrapper>` - by scrolling past the binary data you should be able to see the shell command that generated the executable and there see the environment variables that were injected into the wrapper.
However, `makeWrapper` is more flexible and implements more arguments.
Use `makeWrapper` if you need the wrapper to use shell features (e.g. look up environment variables) at runtime.
### `remove-references-to -t` \<storepath\> [ `-t` \<storepath\> ... ] \<file\> ... {#fun-remove-references-to}
Removes the references of the specified files to the specified store files. This is done without changing the size of the file by replacing the hash by `eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`, and should work on compiled executables. This is meant to be used to remove the dependency of the output on inputs that are known to be unnecessary at runtime. Of course, reckless usage will break the patched programs.

View file

@ -106,7 +106,6 @@ luazip,,,,,,
lusc_luv,,,,,,
lush.nvim,,,https://luarocks.org/dev,,,teto
luuid,,,,20120509-2,,
luv,,,,1.48.0-2,,
lyaml,,,,,,lblasc
lz.n,,,,,,mrcjkb
lze,,,,,,birdee

1 name rockspec ref server version luaversion maintainers
106 lusc_luv
107 lush.nvim https://luarocks.org/dev teto
108 luuid 20120509-2
luv 1.48.0-2
109 lyaml lblasc
110 lz.n mrcjkb
111 lze birdee

View file

@ -22,6 +22,16 @@
- OpenSSH has been updated from 9.9p2 to 10.0p2, dropping support for DSA keys and adding a new `ssh-auth` binary to handle user authentication in a different address space from unauthenticated sessions. Additionally, we now enable a configure option by default that attempts to lock sshd into RAM to prevent it from being swapped out, which may improve performance if the system is under memory pressure. See the [full changelog](https://www.openwall.com/lists/oss-security/2025/04/09/1) for more details.
- GNOME has been updated to version 48.
- `decibels` music player is now installed by default. You can disable it using [](#opt-environment.gnome.excludePackages).
- `gnome-shell-extensions` extension collection (which included GNOME Classic extensions, Apps Menu, and User Themes, among others) are no longer installed by default. You can install them again with [](#opt-services.xserver.desktopManager.gnome.sessionPath).
- Option [](#opt-services.gnome.core-developer-tools.enable) now also installs `sysprof` and `d-spy`.
- Option `services.gnome.core-utilities.enable` has been renamed to [](#opt-services.gnome.core-apps.enable).
- `cantarell-fonts`, `source-code-pro` and `source-sans` fonts are no longer installed by default. They have been replaced by `adwaita-fonts`.
Refer to the [GNOME release notes](https://release.gnome.org/48/) for more details.
- The `intel` video driver for X.org (from the xf86-video-intel package, which was previously removed because it was non-functional) has been fixed and the driver has been re-introduced.
- The Mattermost module ([`services.mattermost`](#opt-services.mattermost.enable)) and packages (`mattermost` and `mmctl`) have been substantially updated:

View file

@ -7,7 +7,6 @@
let
cfg = config.services.speechd;
inherit (lib)
getExe
mkEnableOption
mkIf
mkPackageOption
@ -21,12 +20,12 @@ in
package = mkPackageOption pkgs "speechd" { };
};
# FIXME: speechd 0.12 (or whatever the next version is)
# will support socket activation, so switch to that once it's out.
config = mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
sessionVariables.SPEECHD_CMD = getExe cfg.package;
};
systemd.packages = [ cfg.package ];
# have to set `wantedBy` since `systemd.packages` ignores `[Install]`
systemd.user.sockets.speech-dispatcher.wantedBy = [ "sockets.target" ];
};
}

View file

@ -19,7 +19,7 @@ To enable the GNOME desktop use:
While it is not strictly necessary to use GDM as the display manager with GNOME, it is recommended, as some features such as screen lock [might not work](#sec-gnome-faq-can-i-use-lightdm-with-gnome) without it.
:::
The default applications used in NixOS are very minimal, inspired by the defaults used in [gnome-build-meta](https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/40.0/elements/core/meta-gnome-core-utilities.bst).
The default applications used in NixOS are very minimal, inspired by the defaults used in [gnome-build-meta](https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/48.0/elements/core/meta-gnome-core-apps.bst).
### GNOME without the apps {#sec-gnome-without-the-apps}
@ -27,7 +27,7 @@ If youd like to only use the GNOME desktop and not the apps, you can disable
```nix
{
services.gnome.core-utilities.enable = false;
services.gnome.core-apps.enable = false;
}
```

View file

@ -84,12 +84,19 @@ in
maintainers = lib.teams.gnome.members;
};
imports = [
(lib.mkRenamedOptionModule
[ "services" "gnome" "core-utilities" "enable" ]
[ "services" "gnome" "core-apps" "enable" ]
)
];
options = {
services.gnome = {
core-os-services.enable = mkEnableOption "essential services for GNOME3";
core-shell.enable = mkEnableOption "GNOME Shell services";
core-utilities.enable = mkEnableOption "GNOME core utilities";
core-apps.enable = mkEnableOption "GNOME core apps";
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
games.enable = mkEnableOption "GNOME games";
};
@ -213,7 +220,7 @@ in
services.gnome.core-os-services.enable = true;
services.gnome.core-shell.enable = true;
services.gnome.core-utilities.enable = mkDefault true;
services.gnome.core-apps.enable = mkDefault true;
services.displayManager.sessionPackages = [ pkgs.gnome-session.sessions ];
@ -326,17 +333,9 @@ in
})
(lib.mkIf serviceCfg.core-shell.enable {
services.xserver.desktopManager.gnome.sessionPath =
let
mandatoryPackages = [
pkgs.gnome-shell
];
optionalPackages = [
pkgs.gnome-shell-extensions
];
in
mandatoryPackages
++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages;
services.xserver.desktopManager.gnome.sessionPath = [
pkgs.gnome-shell
];
services.colord.enable = mkDefault true;
services.gnome.glib-networking.enable = true;
@ -380,14 +379,11 @@ in
services.orca.enable = notExcluded pkgs.orca;
fonts.packages = with pkgs; [
cantarell-fonts
dejavu_fonts
source-code-pro # Default monospace font in 3.32
source-sans
];
fonts.packages = utils.removePackagesByName [
pkgs.adwaita-fonts
] config.environment.gnome.excludePackages;
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-48/elements/core/meta-gnome-core-shell.bst
environment.systemPackages =
let
mandatoryPackages = [
@ -400,7 +396,6 @@ in
pkgs.gnome-bluetooth
pkgs.gnome-color-manager
pkgs.gnome-control-center
pkgs.gnome-shell-extensions
pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in.
pkgs.gnome-user-docs
pkgs.glib # for gsettings program
@ -414,11 +409,12 @@ in
++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages;
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst
(lib.mkIf serviceCfg.core-utilities.enable {
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-apps.bst
(lib.mkIf serviceCfg.core-apps.enable {
environment.systemPackages = utils.removePackagesByName (
[
pkgs.baobab
pkgs.decibels
pkgs.epiphany
pkgs.gnome-text-editor
pkgs.gnome-calculator
@ -500,17 +496,19 @@ in
] config.environment.gnome.excludePackages;
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-developer-tools.bst
(lib.mkIf serviceCfg.core-developer-tools.enable {
environment.systemPackages = utils.removePackagesByName [
pkgs.dconf-editor
pkgs.devhelp
pkgs.d-spy
pkgs.gnome-builder
# boxes would make sense in this option, however
# it doesn't function well enough to be included
# in default configurations.
# https://github.com/NixOS/nixpkgs/issues/60908
# pkgs.gnome-boxes
pkgs.sysprof
] config.environment.gnome.excludePackages;
services.sysprof.enable = notExcluded pkgs.sysprof;

View file

@ -211,7 +211,10 @@ in
pkgs.gnome-session
pkgs.gnome-shell
];
environment.systemPackages = [ pkgs.adwaita-icon-theme ];
environment.systemPackages = [
pkgs.adwaita-icon-theme
pkgs.gdm # For polkit rules
];
# We dont use the upstream gdm service
# it has to be disabled since the gdm package has it

View file

@ -132,13 +132,20 @@ let
initialRamdisk = pkgs.makeInitrdNG {
name = "initrd-${kernel-name}";
inherit (config.boot.initrd) compressor compressorArgs prepend;
inherit (cfg) strip;
contents = lib.filter ({ source, ... }: !lib.elem source cfg.suppressedStorePaths) cfg.storePaths;
};
in
{
imports = [
(lib.mkRemovedOptionModule [ "boot" "initrd" "systemd" "strip" ] ''
The option to strip ELF files in initrd has been removed.
It only saved ~1MiB of initramfs size, but caused a few issues
like unloadable kernel modules.
'')
];
options.boot.initrd.systemd = {
enable = mkEnableOption "systemd in initrd" // {
description = ''
@ -208,19 +215,6 @@ in
default = [ ];
};
strip = mkOption {
description = ''
Whether to completely strip executables and libraries copied to the initramfs.
Setting this to false may save on the order of 30MiB on the
machine building the system (by avoiding a binutils
reference), at the cost of ~1MiB of initramfs size. This puts
this option firmly in the territory of micro-optimisation.
'';
type = types.bool;
default = true;
};
extraBin = mkOption {
description = ''
Tools to add to /bin

View file

@ -14,7 +14,7 @@
libXtst,
libsecret,
gsettings-desktop-schemas,
webkitgtk_4_0,
webkitgtk_4_1,
makeWrapper,
perl,
...
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
libXtst
libsecret
zlib
] ++ lib.optional (webkitgtk_4_0 != null) webkitgtk_4_0;
] ++ lib.optional (webkitgtk_4_1 != null) webkitgtk_4_1;
buildCommand = ''
# Unpack tarball.
@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
libXtst
libsecret
]
++ lib.optional (webkitgtk_4_0 != null) webkitgtk_4_0
++ lib.optional (webkitgtk_4_1 != null) webkitgtk_4_1
)
} \
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \

View file

@ -16,7 +16,7 @@
jdk,
jdk8,
gsettings-desktop-schemas,
webkitgtk_4_0 ? null, # for internal web browser
webkitgtk_4_1 ? null, # for internal web browser
buildEnv,
runCommand,
callPackage,
@ -64,7 +64,7 @@ let
gtk
libXtst
gsettings-desktop-schemas
webkitgtk_4_0
webkitgtk_4_1
makeWrapper
;
};

View file

@ -10,7 +10,7 @@
gtkspell3,
librsvg,
pygobject3,
webkitgtk_4_0,
webkitgtk_4_1,
}:
buildPythonApplication rec {
@ -37,7 +37,7 @@ buildPythonApplication rec {
gtkspell3
librsvg
pygobject3
webkitgtk_4_0
webkitgtk_4_1
];
# Needs a display

View file

@ -8,7 +8,7 @@
gtk3,
gtksourceview,
pango,
webkitgtk_4_0,
webkitgtk_4_1,
pygobject3,
pyyaml,
setuptools,
@ -39,7 +39,7 @@ buildPythonApplication rec {
gtk3
gtksourceview
pango
webkitgtk_4_0
webkitgtk_4_1
pygobject3
pyyaml
];

View file

@ -29,20 +29,20 @@
clangStdenv.mkDerivation rec {
pname = "gnome-decoder";
version = "0.6.1";
version = "0.7.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "decoder";
rev = version;
hash = "sha256-qSPuEVW+FwC9OJa+dseIy4/2bhVdTryJSJNSpes9tpY=";
hash = "sha256-lLZ8tll/R9cwk3t/MULmrR1KWZ1e+zneXL93035epPE=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
name = "${pname}-${version}";
hash = "sha256-xQlzSsvwDNK3Z8xnUQgCU6Q8+ls0Urks778pYwN2X1Y=";
hash = "sha256-USfC7HSL1TtjP1SmBRTKkPyKE4DkSn6xeH4mzfIBQWg=";
};
preFixup = ''

View file

@ -14,7 +14,7 @@
gtk3,
libnotify,
pango,
webkitgtk_4_0,
webkitgtk_4_1,
wrapGAppsHook3,
# check inputs
@ -96,7 +96,7 @@ buildPythonApplication rec {
gtk3
libnotify
pango
webkitgtk_4_0
webkitgtk_4_1
]
++ (with gst_all_1; [
gst-libav

View file

@ -21,7 +21,7 @@ let
gtksourceview
gnome-desktop
libgnome-keyring
webkitgtk_4_0
webkitgtk_4_1
];
xorgDeps =
pkgs: with pkgs.xorg; [

View file

@ -34,7 +34,7 @@
libbgcode,
heatshrink,
catch2,
webkitgtk_4_0,
webkitgtk_4_1,
ctestCheckHook,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
@ -42,20 +42,7 @@
opencascade-override ? null,
}:
let
wxGTK-prusa = wxGTK32.overrideAttrs (old: {
pname = "wxwidgets-prusa3d-patched";
version = "3.2.0";
configureFlags = old.configureFlags ++ [ "--disable-glcanvasegl" ];
patches = [ ./wxWidgets-Makefile.in-fix.patch ];
src = fetchFromGitHub {
owner = "prusa3d";
repo = "wxWidgets";
rev = "78aa2dc0ea7ce99dc19adc1140f74c3e2e3f3a26";
hash = "sha256-rYvmNmvv48JSKVT4ph9AS+JdstnLSRmcpWz1IdgBzQo=";
fetchSubmodules = true;
};
});
nanosvg-fltk = nanosvg.overrideAttrs (old: rec {
nanosvg-fltk = nanosvg.overrideAttrs (old: {
pname = "nanosvg-fltk";
version = "unstable-2022-12-22";
@ -67,7 +54,7 @@ let
};
});
openvdb_tbb_2021_8 = openvdb.override { tbb = tbb_2021_11; };
wxGTK-override' = if wxGTK-override == null then wxGTK-prusa else wxGTK-override;
wxGTK-override' = if wxGTK-override == null then wxGTK32 else wxGTK-override;
opencascade-override' =
if opencascade-override == null then opencascade-occt_7_6_1 else opencascade-override;
in
@ -88,6 +75,8 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/prusa3d/PrusaSlicer/commit/cdc3db58f9002778a0ca74517865527f50ade4c3.patch";
hash = "sha256-zgpGg1jtdnCBaWjR6oUcHo5sGuZx5oEzpux3dpRdMAM=";
})
# https://github.com/prusa3d/PrusaSlicer/pull/11769
./fix-ambiguous-constructors.patch
];
# Patch required for GCC 14.
@ -139,7 +128,7 @@ stdenv.mkDerivation (finalAttrs: {
libbgcode
heatshrink
catch2
webkitgtk_4_0
webkitgtk_4_1
]
++ lib.optionals withSystemd [
systemd

View file

@ -0,0 +1,37 @@
From 910328f3131e24e330808f5d4cb814454dbe201d Mon Sep 17 00:00:00 2001
From: Gregor Riepl <onitake@gmail.com>
Date: Mon, 27 Nov 2023 13:01:55 +0100
Subject: [PATCH] Make initializers explicit to avoid ambiguous wxArrayString
overloads
---
src/slic3r/GUI/PhysicalPrinterDialog.cpp | 2 +-
src/slic3r/GUI/Plater.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp
index 849e987c731..7d0c628c23f 100644
--- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp
+++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp
@@ -607,7 +607,7 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr
// Always fill in the "printhost_port" combo box from the config and select it.
{
Choice* choice = dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port"));
- choice->set_values({ m_config->opt_string("printhost_port") });
+ choice->set_values(std::vector<std::string>({ m_config->opt_string("printhost_port") }));
choice->set_selection();
}
diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp
index debfe625fd4..4d61e29a2dc 100644
--- a/src/slic3r/GUI/Plater.cpp
+++ b/src/slic3r/GUI/Plater.cpp
@@ -4420,7 +4420,7 @@ void Plater::load_project(const wxString& filename)
s_multiple_beds.set_loading_project_flag(true);
ScopeGuard guard([](){ s_multiple_beds.set_loading_project_flag(false);});
- if (! load_files({ into_path(filename) }).empty()) {
+ if (! load_files(std::vector<boost::filesystem::path>({ into_path(filename) })).empty()) {
// At least one file was loaded.
p->set_project_filename(filename);
// Save the names of active presets and project specific config into ProjectDirtyStateManager.

View file

@ -15,7 +15,7 @@
gdk-pixbuf,
cairo,
pango,
webkitgtk_4_0,
webkitgtk_4_1,
openssl,
gstreamer,
gst-libav,
@ -67,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
cairo
pango
gtk3
webkitgtk_4_0
webkitgtk_4_1
openssl
libfixposix
];

View file

@ -2,9 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
buildPackages,
vala,
cmake,
ninja,
wrapGAppsHook4,
pkg-config,
@ -15,17 +13,17 @@
gtk4,
glib-networking,
libadwaita,
libcanberra,
libnotify,
libsoup_2_4,
libsoup_3,
libgee,
libsignal-protocol-c,
libomemo-c,
libgcrypt,
meson,
sqlite,
gpgme,
pcre2,
qrencode,
icu,
gspell,
srtp,
libnice,
gnutls,
@ -34,30 +32,28 @@
gst-plugins-good,
gst-plugins-bad,
gst-vaapi,
webrtc-audio-processing,
webrtc-audio-processing_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dino";
version = "0.4.5";
version = "0.5.0";
src = fetchFromGitHub {
owner = "dino";
repo = "dino";
rev = "v${finalAttrs.version}";
sha256 = "sha256-lF2cUalCrVD6274Ey8wggEXNvKXydlRjvX+815geL1c=";
tag = "v${finalAttrs.version}";
hash = "sha256-Y3MGKpfhjmqnIvmt4mXnkmpjF/riXPDXyUiSrsceY6o=";
};
postPatch = ''
# don't overwrite manually set version information
substituteInPlace CMakeLists.txt \
--replace "include(ComputeVersion)" ""
echo ${finalAttrs.version} > VERSION
'';
nativeBuildInputs = [
vala
cmake
ninja # https://github.com/dino/dino/issues/230
meson
ninja
pkg-config
wrapGAppsHook4
gettext
@ -76,11 +72,10 @@ stdenv.mkDerivation (finalAttrs: {
libnotify
gpgme
libgcrypt
libsoup_2_4
pcre2
libsoup_3
icu
libsignal-protocol-c
gspell
libcanberra
libomemo-c
srtp
libnice
gnutls
@ -89,35 +84,22 @@ stdenv.mkDerivation (finalAttrs: {
gst-plugins-good # contains rtpbin, required for VP9
gst-plugins-bad # required for H264, MSDK
gst-vaapi # required for VAAPI
webrtc-audio-processing
webrtc-audio-processing_1
];
cmakeFlags = [
"-DBUILD_TESTS=true"
"-DRTP_ENABLE_H264=true"
"-DRTP_ENABLE_MSDK=true"
"-DRTP_ENABLE_VAAPI=true"
"-DRTP_ENABLE_VP9=true"
"-DVERSION_FOUND=true"
"-DVERSION_IS_RELEASE=true"
"-DVERSION_FULL=${finalAttrs.version}"
"-DXGETTEXT_EXECUTABLE=${lib.getBin buildPackages.gettext}/bin/xgettext"
"-DMSGFMT_EXECUTABLE=${lib.getBin buildPackages.gettext}/bin/msgfmt"
"-DGLIB_COMPILE_RESOURCES_EXECUTABLE=${lib.getDev buildPackages.glib}/bin/glib-compile-resources"
"-DSOUP_VERSION=${lib.versions.major libsoup_2_4.version}"
doCheck = true;
mesonFlags = [
"-Dplugin-notification-sound=enabled"
"-Dplugin-rtp-h264=enabled"
"-Dplugin-rtp-msdk=enabled"
"-Dplugin-rtp-vaapi=enabled"
"-Dplugin-rtp-vp9=enabled"
];
# Undefined symbols for architecture arm64: "_gpg_strerror"
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-lgpg-error";
doCheck = true;
checkPhase = ''
runHook preCheck
./xmpp-vala-test
./signal-protocol-vala-test
runHook postCheck
'';
# Dino looks for plugins with a .so filename extension, even on macOS where
# .dylib is appropriate, and despite the fact that it builds said plugins with
# that as their filename extension

View file

@ -46,11 +46,11 @@
stdenv.mkDerivation rec {
pname = "evolution";
version = "3.54.3";
version = "3.56.1";
src = fetchurl {
url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-dGz4HvXDJa8X9Tsvq0bWcmDzsT2gFNiZTUrZ6Ea4Ves=";
hash = "sha256-39/lmRCdI5vFbajpYlssGVcGegGujv81BmOj2q50vRY=";
};
nativeBuildInputs = [

View file

@ -37,7 +37,8 @@
nlsSupport ? true,
osxkeychainSupport ? stdenv.hostPlatform.isDarwin,
guiSupport ? false,
withManual ? true,
# Disable the manual since libxslt doesn't seem to parse the files correctly.
withManual ? !stdenv.hostPlatform.useLLVM,
pythonSupport ? true,
withpcre2 ? true,
sendEmailSupport ? perlSupport,
@ -456,6 +457,12 @@ stdenv.mkDerivation (finalAttrs: {
preInstallCheck =
''
# Some tests break with high concurrency
# https://github.com/NixOS/nixpkgs/pull/403237
if ((NIX_BUILD_CORES > 32)); then
NIX_BUILD_CORES=32
fi
installCheckFlagsArray+=(
GIT_PROVE_OPTS="--jobs $NIX_BUILD_CORES --failures --state=failed,save"
GIT_TEST_INSTALLED=$out/bin
@ -494,7 +501,11 @@ stdenv.mkDerivation (finalAttrs: {
''
+ ''
# Flaky tests:
disable_test t0027-auto-crlf
disable_test t1451-fsck-buffer
disable_test t5319-multi-pack-index
disable_test t6421-merge-partial-clone
disable_test t7504-commit-msg-hook
# Fails reproducibly on ZFS on Linux with formD normalization
disable_test t0021-conversion

View file

@ -1,8 +1,17 @@
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 3db4eab4ba..39bc0e77c9 100644
diff --git a/Documentation/git-send-email.adoc b/Documentation/git-send-email.adoc
index 7f223db42d..7e46a07d31 100644
--- a/Documentation/git-send-email.adoc
+++ b/Documentation/git-send-email.adoc
@@ -220,9 +220,9 @@ a password is obtained using 'git-credential'.
@@ -177,7 +177,7 @@ Sending
The command will be executed in the shell if necessary. Default
is the value of `sendemail.sendmailCmd`. If unspecified, and if
--smtp-server is also unspecified, git-send-email will search
- for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH.
+ for `sendmail` in $PATH.
--smtp-encryption=<encryption>::
Specify in what way encrypting begins for the SMTP connection.
@@ -233,9 +233,9 @@ a password is obtained using 'git-credential'.
--smtp-server=<host>::
If set, specifies the outgoing SMTP server to use (e.g.
`smtp.example.com` or a raw IP address). If unspecified, and if
@ -16,10 +25,10 @@ index 3db4eab4ba..39bc0e77c9 100644
For backward compatibility, this option can also specify a full pathname
of a sendmail-like program instead; the program must support the `-i`
diff --git a/git-send-email.perl b/git-send-email.perl
index e65d969d0b..508d49483d 100755
index 798d59b84f..69c9cc2a7d 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1066,8 +1066,7 @@ sub expand_one_alias {
@@ -1091,8 +1091,7 @@ sub expand_one_alias {
}
if (!defined $sendmail_cmd && !defined $smtp_server) {

View file

@ -60,6 +60,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [
cmake
extra-cmake-modules
pkg-config
wrapQtAppsHook
];
@ -71,7 +72,6 @@ stdenv.mkDerivation {
python3
python3.pkgs.pyside2
python3.pkgs.shiboken2
extra-cmake-modules
wayland
glog
ceres-solver

View file

@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
obs-studio,
webkitgtk_4_0,
webkitgtk_4_1,
glib-networking,
meson,
cmake,
@ -25,7 +25,7 @@ stdenv.mkDerivation {
buildInputs = [
obs-studio
webkitgtk_4_0
webkitgtk_4_1
glib-networking
];

View file

@ -31,6 +31,7 @@
libcap_ng,
socat,
libslirp,
libcbor,
apple-sdk_13,
darwinMinVersionHook,
guestAgentSupport ?
@ -195,6 +196,7 @@ stdenv.mkDerivation (finalAttrs: {
snappy
libtasn1
libslirp
libcbor
]
++ lib.optionals (!userOnly) [ curl ]
++ lib.optionals ncursesSupport [ ncurses ]

View file

@ -28,7 +28,9 @@ let
{ hypr-dynamic-cursors = import ./hypr-dynamic-cursors.nix; }
{ hyprfocus = import ./hyprfocus.nix; }
{ hyprgrass = import ./hyprgrass.nix; }
{ hyprscroller = import ./hyprscroller.nix; }
{
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`.";
} # Added 2025-05-09
{ hyprspace = import ./hyprspace.nix; }
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)

View file

@ -8,13 +8,13 @@
mkHyprlandPlugin hyprland {
pluginName = "hypr-dynamic-cursors";
version = "0-unstable-2025-03-26";
version = "0-unstable-2025-05-08";
src = fetchFromGitHub {
owner = "VirtCode";
repo = "hypr-dynamic-cursors";
rev = "e2c32d8108960b6eaf96918485503e90a016de4b";
hash = "sha256-/teXJjfdp4cZetlD7lsunettI5QB3UWeODhrrDXooOs=";
rev = "1aabd346eb7ad12a614fd18d095d13422d8b95b4";
hash = "sha256-KophdgmuoPO4adpgXxhDBAMQoRRoHjngiFWQxLoGgWY=";
};
dontUseCmakeConfigure = true;

View file

@ -13,13 +13,13 @@
mkHyprlandPlugin hyprland {
pluginName = "hyprgrass";
version = "0.8.2-unstable-2025-02-01";
version = "0.8.2-unstable-2025-05-08";
src = fetchFromGitHub {
owner = "horriblename";
repo = "hyprgrass";
rev = "f7017c493e071c02f203c09a63ef7260dede0586";
hash = "sha256-F9Jnu36LXJnfDdc3mG4JYKACw/ygsPcwEbZsOdCreIQ=";
rev = "7cf3779b5cdc6fa62fdc733b30c31a5b8e48609c";
hash = "sha256-8Sl2V23EYcZMniBLmKenxH7bMLTGC6Q84ntyFvOUkWU=";
};
nativeBuildInputs = [

View file

@ -14,13 +14,13 @@ let
mkHyprlandPlugin,
}:
let
version = "0.48.0";
version = "0.49.0";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
tag = "v${version}";
hash = "sha256-q6v3nkJZdu45bwCuymQ+q3U7uwfA+M3GqsvZ0TgNsi4=";
hash = "sha256-GpsLyK/U05q7QnyFIWrnGS2loVyjPZByTtPitwu9UNw=";
};
in
mkHyprlandPlugin hyprland {
@ -44,8 +44,10 @@ let
csgo-vulkan-fix = "CS:GO/CS2 Vulkan fix";
hyprbars = "window title";
hyprexpo = "workspaces overview";
hyprscrolling = "scrolling layout";
hyprtrails = "smooth trails behind moving windows";
hyprwinwrap = "xwinwrap-like";
xtra-dispatchers = "extra dispatchers";
};
in
hyprland-plugins

View file

@ -1,41 +0,0 @@
{
lib,
mkHyprlandPlugin,
hyprland,
cmake,
fetchFromGitHub,
nix-update-script,
}:
mkHyprlandPlugin hyprland {
pluginName = "hyprscroller";
version = "0-unstable-2025-03-24";
src = fetchFromGitHub {
owner = "dawsers";
repo = "hyprscroller";
rev = "5b62ca58790f8c2961da79af95efa458f6a814fe";
hash = "sha256-monOoefLpK2cUAPBlJlVt9BkoSELQmYVysj81zJ74i0=";
};
nativeBuildInputs = [ cmake ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
mv hyprscroller.so $out/lib/libhyprscroller.so
runHook postInstall
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
homepage = "https://github.com/dawsers/hyprscroller";
description = "Hyprland layout plugin providing a scrolling layout like PaperWM";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
};
}

View file

@ -8,13 +8,13 @@
mkHyprlandPlugin hyprland {
pluginName = "hyprspace";
version = "0-unstable-2025-02-08";
version = "0-unstable-2025-05-09";
src = fetchFromGitHub {
owner = "KZDKM";
repo = "hyprspace";
rev = "ac55bbdb6cee760af9315899b5b187a40ce43e46";
hash = "sha256-t/KaeHEgzh225HUdAiHXRsgDeyDrBCMTg0LjR73v3Nw=";
rev = "82bdb6720ef6163f0b10b49ba49702f0bde815d8";
hash = "sha256-qs8I5gBib+RLNGYa9om36VivHVrrisJDlZ4EnXNA6OQ=";
};
dontUseCmakeConfigure = true;

View file

@ -9,13 +9,13 @@
}:
mkHyprlandPlugin hyprland rec {
pluginName = "hyprsplit";
version = "0.48.1";
version = "0.48.1-unstable-2025-05-03";
src = fetchFromGitHub {
owner = "shezdy";
repo = "hyprsplit";
rev = "refs/tags/v${version}";
hash = "sha256-MN7eipww5r/I4tlEPTN6U+RZAkXPyf1YYx/YSCqVmoU=";
rev = "9a65a4d33cc86703d2ac1f349de9697c8fc7a4b9";
hash = "sha256-NJTCUa8kHXzQDpUmSifXrHMheR5yejigG2vPBepHolA=";
};
nativeBuildInputs = [

View file

@ -1,10 +1,6 @@
{
rustPlatform,
lib,
makeWrapper,
patchelf,
glibc,
binutils,
}:
rustPlatform.buildRustPackage {

View file

@ -20,8 +20,6 @@ in
# Name of the derivation (not of the resulting file!)
name ? "initrd",
strip ? true,
# Program used to compress the cpio archive; use "cat" for no compression.
# This can also be a function which takes a package set and returns the path to the compressor,
# such as `pkgs: "${pkgs.lzop}/bin/lzop"`.
@ -95,15 +93,10 @@ runCommand name
passAsFile = [ "contents" ];
contents = builtins.toJSON contents;
nativeBuildInputs =
[
makeInitrdNGTool
cpio
]
++ lib.optional makeUInitrd ubootTools
++ lib.optional strip binutils;
STRIP = if strip then "${pkgsBuildHost.binutils.targetPrefix}strip" else null;
nativeBuildInputs = [
makeInitrdNGTool
cpio
] ++ lib.optional makeUInitrd ubootTools;
})
''
mkdir -p ./root/var/empty

View file

@ -189,32 +189,6 @@ fn copy_file<
if let Ok(Object::Elf(e)) = Object::parse(&contents) {
add_dependencies(source, e, &contents, &dlopen, queue)?;
// Make file writable to strip it
let mut permissions = fs::metadata(&target)
.wrap_err_with(|| format!("failed to get metadata for {:?}", target))?
.permissions();
permissions.set_mode(permissions.mode() | 0o200);
fs::set_permissions(&target, permissions.clone())
.wrap_err_with(|| format!("failed to set read-write permissions for {:?}", target))?;
// Strip further than normal
if let Ok(strip) = env::var("STRIP") {
if !Command::new(strip)
.arg("--strip-all")
.arg(OsStr::new(&target))
.output()?
.status
.success()
{
println!("{:?} was not successfully stripped.", OsStr::new(&target));
}
}
// Remove writable permissions
permissions.set_mode(permissions.mode() & 0o555);
fs::set_permissions(&target, permissions)
.wrap_err_with(|| format!("failed to remove writable permissions for {:?}", target))?;
};
Ok(())

View file

@ -22,10 +22,12 @@ assertExecutable() {
# --unset VAR : remove VAR from the environment
# --chdir DIR : change working directory (use instead of --run "cd DIR")
# --run COMMAND : run command before the executable
# --add-flags ARGS : prepend ARGS to the invocation of the executable
# --add-flag ARG : prepend the single argument ARG to the invocation of the executable
# (that is, *before* any arguments passed on the command line)
# --append-flags ARGS : append ARGS to the invocation of the executable
# --append-flag ARG : append the single argument ARG to the invocation of the executable
# (that is, *after* any arguments passed on the command line)
# --add-flags ARGS : prepend ARGS verbatim to the Bash-interpreted invocation of the executable
# --append-flags ARGS : append ARGS verbatim to the Bash-interpreted invocation of the executable
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
# --suffix
@ -164,6 +166,14 @@ makeShellWrapper() {
contents="$(cat "$fileName")"
addValue "$p" "$varName" "$separator" "$contents"
done
elif [[ "$p" == "--add-flag" ]]; then
flags=${params[n + 1]@Q}
n=$((n + 1))
flagsBefore="${flagsBefore-} $flags"
elif [[ "$p" == "--append-flag" ]]; then
flags=${params[n + 1]@Q}
n=$((n + 1))
flagsAfter="${flagsAfter-} $flags"
elif [[ "$p" == "--add-flags" ]]; then
flags="${params[$((n + 1))]}"
n=$((n + 1))

View file

@ -367,17 +367,14 @@ rec {
'';
checkPhase =
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
# but we still want to use writeShellApplication on those platforms
let
shellcheckSupported =
lib.meta.availableOn stdenv.buildPlatform shellcheck-minimal.compiler
&& (builtins.tryEval shellcheck-minimal.compiler.outPath).success;
excludeFlags = lib.optionals (excludeShellChecks != [ ]) [
"--exclude"
(lib.concatStringsSep "," excludeShellChecks)
];
shellcheckCommand = lib.optionalString shellcheckSupported ''
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
# but we still want to use writeShellApplication on those platforms
shellcheckCommand = lib.optionalString shellcheck-minimal.compiler.bootstrapAvailable ''
# use shellcheck which does not include docs
# pandoc takes long to build and documentation isn't needed for just running the cli
${lib.getExe shellcheck-minimal} ${

View file

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "adwaita-icon-theme";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/adwaita-icon-theme-${version}.tar.xz";
hash = "sha256-rQiKIpWMuEaeQdnxu6Dvsn5YaiECITzYnMJtsuACvf4=";
hash = "sha256-hHBoiIZQ2WcxFb5tvyv9wxpGrrxSimqdtEIOYOZWuNQ=";
};
nativeBuildInputs = [

View file

@ -8,7 +8,7 @@
makeDesktopItem,
glib,
libsecret,
webkitgtk_4_0,
webkitgtk_4_1,
}:
stdenv.mkDerivation rec {
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
glib
webkitgtk_4_0
webkitgtk_4_1
]
} \
--run "mkdir -p /tmp/SWT-GDBusServer"

View file

@ -20,7 +20,7 @@
poppler,
stdenv,
testers,
webkitgtk_4_0,
webkitgtk_4_1,
wrapGAppsHook3,
}:
@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
libxshmfence # otherwise warnings in compilation
pcre
poppler
webkitgtk_4_0
webkitgtk_4_1
];
installPhase = ''

View file

@ -7,7 +7,7 @@
jdk,
libsecret,
glib,
webkitgtk_4_0,
webkitgtk_4_1,
wrapGAppsHook3,
_7zz,
nixosTests,
@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath ([
glib
webkitgtk_4_0
webkitgtk_4_1
])
} \
--set WEBKIT_DISABLE_DMABUF_RENDERER 1 \

View file

@ -17,22 +17,25 @@
wayland,
wrapGAppsHook4,
desktop-file-utils,
gitUpdater,
common-updater-scripts,
_experimental-update-script-combinators,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ashpd-demo";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitHub {
owner = "bilelmoussaoui";
repo = "ashpd";
rev = "${finalAttrs.version}-demo";
hash = "sha256-fIyJEUcyTcjTbBycjuJb99wALQelMT7Zq6PHKcL2F80=";
hash = "sha256-0IGqA8PM6I2p4/MrptkdSWIZThMoeaMsdMc6tVTI2MU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
src = "${finalAttrs.src}/ashpd-demo";
hash = "sha256-iluV24uSEHDcYi6pO2HNrKs4ShwFvZ/ryv8ioopaNMI=";
hash = "sha256-kUEzVBk8dKXCQdHFJJS633CBG1F57TIxJg1xApMwzbI=";
};
nativeBuildInputs = [
@ -63,6 +66,37 @@ stdenv.mkDerivation (finalAttrs: {
cd ashpd-demo
'';
passthru = {
updateScript =
let
updateSource = gitUpdater {
url = finalAttrs.src.gitRepoUrl;
rev-suffix = "-demo";
};
updateLockfile = {
command = [
"sh"
"-c"
''
PATH=${
lib.makeBinPath [
common-updater-scripts
]
}
update-source-version ashpd-demo --ignore-same-version --source-key=cargoDeps.vendorStaging > /dev/null
''
];
# Experimental feature: do not copy!
supportedFeatures = [ "silent" ];
};
in
_experimental-update-script-combinators.sequence [
updateSource
updateLockfile
];
};
meta = with lib; {
description = "Tool for playing with XDG desktop portals";
mainProgram = "ashpd-demo";

View file

@ -27,7 +27,7 @@
stdenv.mkDerivation rec {
pname = "at-spi2-core";
version = "2.54.1";
version = "2.56.2";
outputs = [
"out"
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/at-spi2-core/${lib.versions.majorMinor version}/at-spi2-core-${version}.tar.xz";
hash = "sha256-8HKeXIdl/rGWm7bB+6GK+iWCEmsDWap1oXP9oaz5PEw=";
hash = "sha256-4bHJg2qJR4UvdEDDLiMXkjTHa9mM2cxAAfN2QF+LeDs=";
};
nativeBuildInputs =

View file

@ -10,26 +10,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "atf";
version = "0.22";
version = "0.23";
src = fetchFromGitHub {
owner = "freebsd";
repo = "atf";
tag = "atf-${finalAttrs.version}";
hash = "sha256-vZfBk/lH+04d3NbTUYjAaxwGFHtnagl/kY04hgkE4Iw=";
hash = "sha256-g9cXeiCaiyGQXtg6eyrbRQpqk4VLGSFuhfPB+ynbDIo=";
};
patches = [
# https://github.com/freebsd/atf/issues/88
# https://github.com/freebsd/atf/pull/85
# Maintainer say it fix some tests in issue 88.
./pr-85.patch
(fetchpatch {
url = "https://github.com/freebsd/atf/commit/b42c98612cb99fa3f52766a46203263dc1de7187.patch?full_index=1";
hash = "sha256-goDPIdIF8vHXDengVIYbxw5W/JT5kfsG5japgtranas=";
})
];
postPatch =
lib.optionalString finalAttrs.doInstallCheck ''
# Cant find `c_helpers` in the work folder.

View file

@ -19,11 +19,11 @@
stdenv.mkDerivation rec {
pname = "baobab";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/baobab/${lib.versions.major version}/baobab-${version}.tar.xz";
hash = "sha256-uI90+cBS08I4j3Bi0ijPXpJ1Raz3QIxWhB34DM0fnDc=";
hash = "sha256-VFklBNSdgH8jWRvn5+7xDGyd/LesUnuBw6zVh4eyb9o=";
};
nativeBuildInputs = [

View file

@ -28,7 +28,7 @@
xcbutilkeysyms,
xcb-util-cursor,
gtk3,
webkitgtk_4_0,
webkitgtk_4_1,
python3,
curl,
pcre,
@ -107,7 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
libXScrnSaver
curl
gtk3
webkitgtk_4_0
webkitgtk_4_1
freetype
libGL
libusb1

View file

@ -23,7 +23,7 @@ let
lib.concatStringsSep "\n\n" extraCertificateStrings
);
srcVersion = "3.108";
srcVersion = "3.111";
version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html";
@ -47,7 +47,7 @@ let
owner = "nss-dev";
repo = "nss";
rev = "NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM";
hash = "sha256-L2XRj3D8SsS2QYQFDLwGtaPoZ7tN4kz8hGdVKefFSu8=";
hash = "sha256-GFtoSvLF5nAwBIiMa9CeEl5geAOK60gG2tjuQFubgYs=";
};
dontBuild = true;

View file

@ -55,7 +55,7 @@
enablePluginClamd ? true,
enablePluginDillo ? true,
enablePluginFancy ? true,
webkitgtk_4_0,
webkitgtk_4_1,
enablePluginFetchInfo ? true,
enablePluginKeywordWarner ? true,
enablePluginLibravatar ? enablePluginRavatar,
@ -147,7 +147,7 @@ let
{
flags = [ "fancy-plugin" ];
enabled = enablePluginFancy;
deps = [ webkitgtk_4_0 ];
deps = [ webkitgtk_4_1 ];
}
{
flags = [ "fetchinfo-plugin" ];

View file

@ -0,0 +1,13 @@
diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx
index b9133ed7d47b9023de66a94ed5ff15a0f1ba440c..0cf8a71a72daaa07cb42b3f5eef81d2d04300cd6 100644
--- a/Source/cmCurl.cxx
+++ b/Source/cmCurl.cxx
@@ -170,7 +170,7 @@ std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level,
const std::string& netrc_file)
{
std::string e;
- CURL_NETRC_OPTION curl_netrc_level = CURL_NETRC_LAST;
+ long curl_netrc_level = CURL_NETRC_LAST;
::CURLcode res;
if (!netrc_level.empty()) {

View file

@ -76,6 +76,8 @@ stdenv.mkDerivation (finalAttrs: {
# Backport of https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9900
# Needed to correctly link curl in pkgsStatic.
./008-FindCURL-Add-more-target-properties-from-pkg-config.diff
# Backport of https://gitlab.kitware.com/cmake/cmake/-/commit/1b0c92a3a1b782ff3e1c4499b6ab8db614d45bcd
./009-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NETRC-values.diff
];
outputs =

View file

@ -0,0 +1,155 @@
From 5fbd78eb2dc4afbd8884e8eed27147fc3d4318f6 Mon Sep 17 00:00:00 2001
From: Stefan Eissing <stefan@eissing.org>
Date: Fri, 4 Apr 2025 10:43:13 +0200
Subject: [PATCH] http2: fix stream window size after unpausing
When pausing a HTTP/2 transfer, the stream's local window size
is reduced to 0 to prevent the server from sending further data
which curl cannot write out to the application.
When unpausing again, the stream's window size was not correctly
increased again. The attempt to trigger a window update was
ignored by nghttp2, the server never received it and the transfer
stalled.
Add a debug feature to allow use of small window sizes which
reproduces this bug in test_02_21.
Fixes #16955
Closes #16960
---
docs/libcurl/libcurl-env-dbg.md | 5 +++++
lib/http2.c | 31 +++++++++++++++++++++++++++++++
tests/http/test_02_download.py | 27 +++++++++++++++++++++++++--
3 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/docs/libcurl/libcurl-env-dbg.md b/docs/libcurl/libcurl-env-dbg.md
index 471533625f6b..60c887bfd5a9 100644
--- a/docs/libcurl/libcurl-env-dbg.md
+++ b/docs/libcurl/libcurl-env-dbg.md
@@ -147,3 +147,8 @@ Make a blocking, graceful shutdown of all remaining connections when
a multi handle is destroyed. This implicitly triggers for easy handles
that are run via easy_perform. The value of the environment variable
gives the shutdown timeout in milliseconds.
+
+## `CURL_H2_STREAM_WIN_MAX`
+
+Set to a positive 32-bit number to override the HTTP/2 stream window's
+default of 10MB. Used in testing to verify correct window update handling.
diff --git a/lib/http2.c b/lib/http2.c
index 88fbcceb7135..a1221dcc51de 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -44,6 +44,7 @@
#include "connect.h"
#include "rand.h"
#include "strdup.h"
+#include "strparse.h"
#include "transfer.h"
#include "dynbuf.h"
#include "headers.h"
@@ -141,6 +142,9 @@ struct cf_h2_ctx {
uint32_t goaway_error; /* goaway error code from server */
int32_t remote_max_sid; /* max id processed by server */
int32_t local_max_sid; /* max id processed by us */
+#ifdef DEBUGBUILD
+ int32_t stream_win_max; /* max h2 stream window size */
+#endif
BIT(initialized);
BIT(via_h1_upgrade);
BIT(conn_closed);
@@ -166,6 +170,18 @@ static void cf_h2_ctx_init(struct cf_h2_ctx *ctx, bool via_h1_upgrade)
Curl_hash_offt_init(&ctx->streams, 63, h2_stream_hash_free);
ctx->remote_max_sid = 2147483647;
ctx->via_h1_upgrade = via_h1_upgrade;
+#ifdef DEBUGBUILD
+ {
+ const char *p = getenv("CURL_H2_STREAM_WIN_MAX");
+
+ ctx->stream_win_max = H2_STREAM_WINDOW_SIZE_MAX;
+ if(p) {
+ curl_off_t l;
+ if(!Curl_str_number(&p, &l, INT_MAX))
+ ctx->stream_win_max = (int32_t)l;
+ }
+ }
+#endif
ctx->initialized = TRUE;
}
@@ -285,7 +301,15 @@ static int32_t cf_h2_get_desired_local_win(struct Curl_cfilter *cf,
* This gets less precise the higher the latency. */
return (int32_t)data->set.max_recv_speed;
}
+#ifdef DEBUGBUILD
+ else {
+ struct cf_h2_ctx *ctx = cf->ctx;
+ CURL_TRC_CF(data, cf, "stream_win_max=%d", ctx->stream_win_max);
+ return ctx->stream_win_max;
+ }
+#else
return H2_STREAM_WINDOW_SIZE_MAX;
+#endif
}
static CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,
@@ -302,6 +326,13 @@ static CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,
int32_t wsize = nghttp2_session_get_stream_effective_local_window_size(
ctx->h2, stream->id);
if(dwsize > wsize) {
+ rv = nghttp2_session_set_local_window_size(ctx->h2, NGHTTP2_FLAG_NONE,
+ stream->id, dwsize);
+ if(rv) {
+ failf(data, "[%d] nghttp2 set_local_window_size(%d) failed: "
+ "%s(%d)", stream->id, dwsize, nghttp2_strerror(rv), rv);
+ return CURLE_HTTP2;
+ }
rv = nghttp2_submit_window_update(ctx->h2, NGHTTP2_FLAG_NONE,
stream->id, dwsize - wsize);
if(rv) {
diff --git a/tests/http/test_02_download.py b/tests/http/test_02_download.py
index 4b9ae3caefab..b55f022338ad 100644
--- a/tests/http/test_02_download.py
+++ b/tests/http/test_02_download.py
@@ -313,9 +313,9 @@ def test_02_20_h2_small_frames(self, env: Env, httpd):
assert httpd.stop()
assert httpd.start()
- # download via lib client, 1 at a time, pause/resume at different offsets
+ # download serial via lib client, pause/resume at different offsets
@pytest.mark.parametrize("pause_offset", [0, 10*1024, 100*1023, 640000])
- @pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])
+ @pytest.mark.parametrize("proto", ['http/1.1', 'h3'])
def test_02_21_lib_serial(self, env: Env, httpd, nghttpx, proto, pause_offset):
if proto == 'h3' and not env.have_h3():
pytest.skip("h3 not supported")
@@ -332,6 +332,29 @@ def test_02_21_lib_serial(self, env: Env, httpd, nghttpx, proto, pause_offset):
srcfile = os.path.join(httpd.docs_dir, docname)
self.check_downloads(client, srcfile, count)
+ # h2 download parallel via lib client, pause/resume at different offsets
+ # debug-override stream window size to reproduce #16955
+ @pytest.mark.parametrize("pause_offset", [0, 10*1024, 100*1023, 640000])
+ @pytest.mark.parametrize("swin_max", [0, 10*1024])
+ def test_02_21_h2_lib_serial(self, env: Env, httpd, pause_offset, swin_max):
+ proto = 'h2'
+ count = 2
+ docname = 'data-10m'
+ url = f'https://localhost:{env.https_port}/{docname}'
+ run_env = os.environ.copy()
+ run_env['CURL_DEBUG'] = 'multi,http/2'
+ if swin_max > 0:
+ run_env['CURL_H2_STREAM_WIN_MAX'] = f'{swin_max}'
+ client = LocalClient(name='hx-download', env=env, run_env=run_env)
+ if not client.exists():
+ pytest.skip(f'example client not built: {client.name}')
+ r = client.run(args=[
+ '-n', f'{count}', '-P', f'{pause_offset}', '-V', proto, url
+ ])
+ r.check_exit_code(0)
+ srcfile = os.path.join(httpd.docs_dir, docname)
+ self.check_downloads(client, srcfile, count)
+
# download via lib client, several at a time, pause/resume
@pytest.mark.parametrize("pause_offset", [100*1023])
@pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])

View file

@ -91,7 +91,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "curl";
version = "8.12.1";
version = "8.13.0";
src = fetchurl {
urls = [
@ -100,9 +100,14 @@ stdenv.mkDerivation (finalAttrs: {
builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
}/curl-${finalAttrs.version}.tar.xz"
];
hash = "sha256-A0Hx7ZeibIEauuvTfWK4M5VnkrdgfqPxXQAWE8dt4gI=";
hash = "sha256-Sgk5eaPC0C3i+8AFSaMncQB/LngDLG+qXs0vep4VICU=";
};
patches = [
# Backport of https://github.com/curl/curl/commit/5fbd78eb2dc4afbd8884e8eed27147fc3d4318f6
./0001-http2-fix-stream-window-size-after-unpausing.patch
];
# this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
# necessary for FreeBSD code path in configure
postPatch = ''

View file

@ -14,19 +14,18 @@
gnome,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "d-spy";
version = "47.0";
version = "48.0";
outputs = [
"out"
"lib"
"dev"
];
src = fetchurl {
url = "mirror://gnome/sources/d-spy/${lib.versions.major version}/d-spy-${version}.tar.xz";
hash = "sha256-7/sw1DKtXkPmxEm9+OMX2il+VuAnQW5z4ulsTPGPaeg=";
url = "mirror://gnome/sources/d-spy/${lib.versions.major finalAttrs.version}/d-spy-${finalAttrs.version}.tar.xz";
hash = "sha256-D3oJAZBGGU2X/Dw0KzhOocOA4Qqc/IAlv83lfVlcODA=";
};
nativeBuildInputs = [
@ -55,11 +54,8 @@ stdenv.mkDerivation rec {
description = "D-Bus exploration tool";
mainProgram = "d-spy";
homepage = "https://gitlab.gnome.org/GNOME/d-spy";
license = with licenses; [
lgpl3Plus # library
gpl3Plus # app
];
license = licenses.gpl3Plus;
teams = [ teams.gnome ];
platforms = platforms.linux;
};
}
})

View file

@ -10,7 +10,7 @@
wrapGAppsHook3,
gtk3,
glib,
webkitgtk_4_0,
webkitgtk_4_1,
glib-networking,
override_xmx ? "1024m",
}:
@ -83,7 +83,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
lib.makeLibraryPath [
gtk3
glib
webkitgtk_4_0
webkitgtk_4_1
glib-networking
]
}"

View file

@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchFromGitLab,
fetchurl,
appstream,
blueprint-compiler,
desktop-file-utils,
@ -13,20 +13,15 @@
pkg-config,
typescript,
wrapGAppsHook4,
nix-update-script,
gnome,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "decibels";
version = "48.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
group = "GNOME";
owner = "Incubator";
repo = "decibels";
tag = version;
hash = "sha256-qtKiKfcxGLuV1bE3lb7l4s+reZRJXcjlV35M8eZmvHc=";
fetchSubmodules = true;
src = fetchurl {
url = "mirror://gnome/sources/decibels/${lib.versions.major finalAttrs.version}/decibels-${finalAttrs.version}.tar.xz";
hash = "sha256-IpsRqSYxR7y4w+If8NSvZZ+yYmL4rs5Uetz4xl4DH3Q=";
};
nativeBuildInputs = [
@ -60,16 +55,21 @@ stdenv.mkDerivation rec {
'';
passthru = {
updateScript = nix-update-script { };
updateScript = gnome.updateScript {
packageName = "decibels";
};
};
meta = {
description = "Play audio files";
homepage = "https://gitlab.gnome.org/GNOME/Incubator/decibels";
changelog = "https://gitlab.gnome.org/GNOME/decibels/-/blob/${version}/NEWS?ref_type=tags";
homepage = "https://gitlab.gnome.org/GNOME/decibels";
changelog = "https://gitlab.gnome.org/GNOME/decibels/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
license = lib.licenses.gpl3Only;
teams = [ lib.teams.gnome-circle ];
teams = [
lib.teams.gnome
lib.teams.gnome-circle
];
mainProgram = "org.gnome.Decibels";
platforms = lib.platforms.linux;
};
}
})

View file

@ -24,18 +24,18 @@
stdenv.mkDerivation rec {
pname = "diebahn";
version = "2.7.3";
version = "2.8.1";
src = fetchFromGitLab {
owner = "schmiddi-on-mobile";
repo = "railway";
tag = version;
hash = "sha256-PD76zxgQJ332MVu5LL9SNDrf66xmE/td4uDv/FYq0aU=";
hash = "sha256-mHHebsQKxjwsQd14oVDnencCCL8hOWIWhKF/J9aVeBU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-3+UTN0KKnbpPm948XW4NSZkMYJUv974VtTqtG8orR/E=";
hash = "sha256-M6z8HfGehd+AdOEJZgmmonfqQa7Jevte+TaaatqRZHQ=";
};
nativeBuildInputs = [

View file

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
# writes its output to stdout instead of creating a file.
patches = [ ./db2x_texixml-to-stdout.patch ];
strictDpes = true;
strictDeps = true;
nativeBuildInputs = [
makeWrapper
perlPackages.perl

View file

@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dosage";
version = "1.9.4";
version = "1.9.9";
src = fetchFromGitHub {
owner = "diegopvlk";
repo = "Dosage";
tag = "v${finalAttrs.version}";
hash = "sha256-EFcfkj0NOmQrWgLJpWHdIX7iitqfZwgTmkMvueJPS/c=";
hash = "sha256-UVcbZgPk35VsYvyzIJrR79vAhSByJjn8kh+y0KQcwpM=";
};
# https://github.com/NixOS/nixpkgs/issues/318830

View file

@ -46,6 +46,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
extra-cmake-modules
ninja
pkg-config
qttools
@ -57,7 +58,6 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
SDL2
cpuinfo
curl
extra-cmake-modules
libXrandr
libbacktrace
libwebp

View file

@ -1,10 +0,0 @@
prefix=@out@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: duktape
Description: An embeddable Javascript engine, with a focus on portability and compact footprint
Version: @version@
Libs: -L${libdir} -lduktape
Cflags: -I${includedir}

View file

@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
make -f Makefile.cmdline
''
+ lib.optionalString (!stdenv.hostPlatform.isStatic) ''
make -f Makefile.sharedlibrary
make INSTALL_PREFIX="$out" -f Makefile.sharedlibrary
'';
installPhase =
@ -37,8 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString (!stdenv.hostPlatform.isStatic) ''
install -d $out/lib/pkgconfig
install -d $out/include
make -f Makefile.sharedlibrary install INSTALL_PREFIX=$out
substituteAll ${./duktape.pc.in} $out/lib/pkgconfig/duktape.pc
make INSTALL_PREFIX="$out" -f Makefile.sharedlibrary install
'';
enableParallelBuilding = true;

View file

@ -15,7 +15,7 @@
shared-mime-info,
stdenv,
unzip,
webkitgtk_4_0,
webkitgtk_4_1,
zlib,
}:
@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
glib
gtk3
libXtst
webkitgtk_4_0
webkitgtk_4_1
])
} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
libXtst
zlib
shared-mime-info
webkitgtk_4_0
webkitgtk_4_1
];
dontBuild = true;

View file

@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "ell";
version = "0.73";
version = "0.76";
outputs = [
"out"
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
rev = version;
hash = "sha256-pwAlRh+rkfPA6dXOGZcIidyCD2ioxVPSJjnyvrWuwow=";
hash = "sha256-LSTmcVBKI+EpDiTpiKFEeIIXIXc6C5gOYn5zf7sHe/I=";
};
nativeBuildInputs = [

View file

@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "emblem";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -26,13 +26,13 @@ stdenv.mkDerivation rec {
owner = "design";
repo = "emblem";
rev = version;
sha256 = "sha256-pW+2kQANZ9M1f0jMoBqCxMjLCu0xAnuEE2EdzDq4ZCE=";
sha256 = "sha256-knq8OKoc8Xv7lOr0ub9+2JfeQE84UlTHR1q4SFFF8Ug=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
name = "${pname}-${version}";
hash = "sha256-j9PrnXt0GyyfCKmcq1zYmDNlrvogtK5n316MIC+z+w0=";
hash = "sha256-CsISaVlRGtVVEna1jyGZo/IdWcJdwHJv6LXcXYha2UE=";
};
nativeBuildInputs = [

View file

@ -2,7 +2,7 @@
lib,
flutter324,
fetchFromGitHub,
webkitgtk_4_0,
webkitgtk_4_1,
sqlite,
libayatana-appindicator,
makeDesktopItem,
@ -49,7 +49,7 @@ flutter324.buildFlutterApplication rec {
];
buildInputs = [
webkitgtk_4_0
webkitgtk_4_1
sqlite
libayatana-appindicator
# The networking client used by ente-auth (native_dio_adapter)

View file

@ -37,11 +37,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "epiphany";
version = "47.3.1";
version = "48.3";
src = fetchurl {
url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
hash = "sha256-eV17gfGLdIfZ6b/Ayy1oqJPSIA9F+Tl81CyzOSsggak=";
hash = "sha256-2ilT5+K3O/dHPAozl5EE15NieVKV6qCio46hiFN9rxM=";
};
nativeBuildInputs = [

View file

@ -42,7 +42,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "evince";
version = "46.3.1";
version = "48.0";
outputs = [
"out"
@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/evince/${lib.versions.major finalAttrs.version}/evince-${finalAttrs.version}.tar.xz";
hash = "sha256-lFwgpvI4ObDVMycpFxRY6QaA2oJk6Zxvn0HCGcfu7nw=";
hash = "sha256-zS9lg1X6kHX9+eW0SqCvOn4JKMVWFOsQQrNhds9FESY=";
};
depsBuildBuild = [

View file

@ -66,10 +66,10 @@ index 5e65ec8..2cae29d 100644
g_mutex_unlock (&mutex);
diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c
index e85a56b..59d3fe2 100644
index a9b68e3..6a13b1b 100644
--- a/src/addressbook/libebook/e-book.c
+++ b/src/addressbook/libebook/e-book.c
@@ -2587,7 +2587,18 @@ e_book_get_self (ESourceRegistry *registry,
@@ -2586,7 +2586,18 @@ e_book_get_self (ESourceRegistry *registry,
return FALSE;
}
@ -89,7 +89,7 @@ index e85a56b..59d3fe2 100644
uid = g_settings_get_string (settings, SELF_UID_KEY);
g_object_unref (settings);
@@ -2642,7 +2653,18 @@ e_book_set_self (EBook *book,
@@ -2641,7 +2652,18 @@ e_book_set_self (EBook *book,
g_return_val_if_fail (E_IS_BOOK (book), FALSE);
g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
@ -109,7 +109,7 @@ index e85a56b..59d3fe2 100644
g_settings_set_string (
settings, SELF_UID_KEY,
e_contact_get_const (contact, E_CONTACT_UID));
@@ -2670,7 +2692,18 @@ e_book_is_self (EContact *contact)
@@ -2669,7 +2691,18 @@ e_book_is_self (EContact *contact)
g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
@ -130,10 +130,10 @@ index e85a56b..59d3fe2 100644
g_object_unref (settings);
diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
index 3ab8908..6c4b210 100644
index 752f83f..eaa3dad 100644
--- a/src/addressbook/libedata-book/e-book-meta-backend.c
+++ b/src/addressbook/libedata-book/e-book-meta-backend.c
@@ -146,7 +146,18 @@ ebmb_is_power_saver_enabled (void)
@@ -145,7 +145,18 @@ ebmb_is_power_saver_enabled (void)
GSettings *settings;
gboolean enabled = FALSE;
@ -154,10 +154,10 @@ index 3ab8908..6c4b210 100644
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
index 047fb97..960f44c 100644
index 9f8646a..079aba9 100644
--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -1333,7 +1333,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
@@ -1338,7 +1338,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
(GDestroyNotify) g_free,
(GDestroyNotify) contact_record_free);
@ -204,10 +204,10 @@ index 2525856..7ecc1a8 100644
g_clear_object (&settings);
}
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index a83d3d3..dc7acac 100644
index 026ae80..e3003c2 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -2826,8 +2826,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -2844,8 +2844,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
watcher->priv = e_reminder_watcher_get_instance_private (watcher);
watcher->priv->cancellable = g_cancellable_new ();
@ -244,10 +244,10 @@ index a83d3d3..dc7acac 100644
g_signal_connect_object (
watcher->priv->desktop_settings,
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
index f19ab22..abd3263 100644
index 84ccbb0..9010429 100644
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
@@ -158,7 +158,18 @@ ecmb_is_power_saver_enabled (void)
@@ -157,7 +157,18 @@ ecmb_is_power_saver_enabled (void)
GSettings *settings;
gboolean enabled = FALSE;
@ -267,7 +267,7 @@ index f19ab22..abd3263 100644
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
@@ -2629,7 +2640,20 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
@@ -2628,7 +2639,20 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
if (is_declined) {
GSettings *settings;
@ -290,10 +290,10 @@ index f19ab22..abd3263 100644
g_clear_object (&settings);
}
diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
index d5a0823..2ae03f8 100644
index d00fbd5..0f67653 100644
--- a/src/camel/camel-cipher-context.c
+++ b/src/camel/camel-cipher-context.c
@@ -1631,7 +1631,18 @@ camel_cipher_can_load_photos (void)
@@ -1630,7 +1630,18 @@ camel_cipher_can_load_photos (void)
GSettings *settings;
gboolean load_photos;
@ -314,10 +314,10 @@ index d5a0823..2ae03f8 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
index 4c10de7..6c0ab5e 100644
index 4594ab1..e71ce05 100644
--- a/src/camel/camel-gpg-context.c
+++ b/src/camel/camel-gpg-context.c
@@ -744,7 +744,18 @@ gpg_ctx_get_executable_name (void)
@@ -745,7 +745,18 @@ gpg_ctx_get_executable_name (void)
GSettings *settings;
gchar *path;
@ -338,10 +338,10 @@ index 4c10de7..6c0ab5e 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-utils.c b/src/camel/camel-utils.c
index e61160c..b6553a4 100644
index 0c1c7dd..4188934 100644
--- a/src/camel/camel-utils.c
+++ b/src/camel/camel-utils.c
@@ -362,7 +362,19 @@ void
@@ -361,7 +361,19 @@ void
_camel_utils_initialize (void)
{
G_LOCK (mi_user_headers);
@ -363,10 +363,10 @@ index e61160c..b6553a4 100644
G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
G_UNLOCK (mi_user_headers);
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
index 396cf39..e31dc1a 100644
index 8cf56f0..f4355d5 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -5682,7 +5682,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
@@ -5681,7 +5681,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
if (do_old_flags_update) {
GSettings *eds_settings;
@ -387,10 +387,10 @@ index 396cf39..e31dc1a 100644
if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
index 38bedb6..f799c29 100644
index f7c5d3c..67732c3 100644
--- a/src/camel/providers/smtp/camel-smtp-transport.c
+++ b/src/camel/providers/smtp/camel-smtp-transport.c
@@ -1472,7 +1472,18 @@ smtp_helo (CamelSmtpTransport *transport,
@@ -1471,7 +1471,18 @@ smtp_helo (CamelSmtpTransport *transport,
transport->authtypes = NULL;
}
@ -507,10 +507,10 @@ index 3738359..f9ce2d9 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
index 29c1dd2..84d42b7 100644
index db775f9..fb524db 100644
--- a/src/libedataserver/e-oauth2-service.c
+++ b/src/libedataserver/e-oauth2-service.c
@@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
@@ -93,7 +93,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
name_len = strlen (name);
hostname_len = strlen (hostname);
@ -556,10 +556,10 @@ index 1539f8b..77cf123 100644
g_signal_connect (
registry->priv->settings, "changed",
diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
index 14b6481..7149b74 100644
index b47a374..e812fbe 100644
--- a/src/libedataserverui/e-reminders-widget.c
+++ b/src/libedataserverui/e-reminders-widget.c
@@ -1986,7 +1986,19 @@ static void
@@ -1985,7 +1985,19 @@ static void
e_reminders_widget_init (ERemindersWidget *reminders)
{
reminders->priv = e_reminders_widget_get_instance_private (reminders);

View file

@ -24,7 +24,6 @@
wrapGAppsHook3,
glib-networking,
gsettings-desktop-schemas,
pcre,
vala,
cmake,
ninja,
@ -51,7 +50,7 @@
stdenv.mkDerivation rec {
pname = "evolution-data-server";
version = "3.54.3";
version = "3.56.1";
outputs = [
"out"
@ -60,7 +59,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/evolution-data-server-${version}.tar.xz";
hash = "sha256-UQjcOO5cwfjvkVXof2xBKflkRVCglixa4j/4B7V8uNA=";
hash = "sha256-ZGzAA32j+fKVeUxjfZU5StdvjJvuImi+LEGD4ncgwTc=";
};
patches = [
@ -102,7 +101,6 @@ stdenv.mkDerivation rec {
openldap
glib-networking
libcanberra-gtk3
pcre
libphonenumber
libuuid
boost

View file

@ -1,8 +1,17 @@
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
index 44a20d6..90d5729 100644
index 32817df..da65217 100644
--- a/src/EWS/camel/camel-ews-utils.c
+++ b/src/EWS/camel/camel-ews-utils.c
@@ -1554,7 +1554,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
@@ -1550,7 +1550,7 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
gboolean changed = FALSE;
/* cannot save, when evolution is not installed */
- if (!e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.mail"))
+ if (!true)
return FALSE;
if (!old_categories || !new_categories)
@@ -1558,7 +1558,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
evo_labels = g_ptr_array_new_full (5, g_free);
@ -23,10 +32,19 @@ index 44a20d6..90d5729 100644
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
index 3db3564..a233d4d 100644
index 7374c36..7da2023 100644
--- a/src/Microsoft365/camel/camel-m365-store.c
+++ b/src/Microsoft365/camel/camel-m365-store.c
@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
@@ -305,7 +305,7 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
gboolean changed = FALSE;
/* cannot save, when evolution is not installed */
- if (!e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.mail"))
+ if (!true)
return FALSE;
if (!old_categories || !new_categories)
@@ -313,7 +313,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
evo_labels = g_ptr_array_new_full (5, g_free);
@ -47,51 +65,58 @@ index 3db3564..a233d4d 100644
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/Microsoft365/common/e-m365-tz-utils.c b/src/Microsoft365/common/e-m365-tz-utils.c
index 7a1d7f4..3c0d5e1 100644
index cec5417..2e744a0 100644
--- a/src/Microsoft365/common/e-m365-tz-utils.c
+++ b/src/Microsoft365/common/e-m365-tz-utils.c
@@ -192,7 +192,18 @@ e_m365_tz_utils_get_user_timezone (void)
gchar *location;
@@ -192,10 +192,21 @@ e_m365_tz_utils_get_user_timezone (void)
gchar *location = NULL;
ICalTimezone *zone = NULL;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
- if (e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.calendar")) {
+ if (true) {
GSettings *settings;
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
diff --git a/src/common/e-ews-common-utils.c b/src/common/e-ews-common-utils.c
index 5017d40..34547e3 100644
index 3458c10..7d21784 100644
--- a/src/common/e-ews-common-utils.c
+++ b/src/common/e-ews-common-utils.c
@@ -218,7 +218,19 @@ e_ews_common_utils_get_configured_icaltimezone (void)
if (schema) {
GSettings *settings;
@@ -208,10 +208,21 @@ e_ews_common_utils_get_configured_icaltimezone (void)
ICalTimezone *zone = NULL;
gchar *location = NULL;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL,
+ NULL);
+ }
- if (e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.calendar")) {
+ if (true) {
GSettings *settings;
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();

View file

@ -23,11 +23,11 @@
stdenv.mkDerivation rec {
pname = "evolution-ews";
version = "3.54.3.0";
version = "3.56.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-GscHzyWRqERRJXViGkkwx2GyF028XsscihhSYpRqFPY=";
hash = "sha256-DgC2qxV9j+r7T1HXchusP2IfI4f1WrS7PEPRN0KFrWs=";
};
patches = [
@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
"org.gnome.evolution.mail" = "evo";
"org.gnome.evolution.calendar" = "evo";
};
schemaExistsFunction = "e_ews_common_utils_gsettings_schema_exists";
};
updateScript =

View file

@ -16,7 +16,7 @@
librsvg,
streamripper,
udisks,
webkitgtk_4_0,
webkitgtk_4_1,
iconTheme ? adwaita-icon-theme,
deviceDetectionSupport ? true,
documentationSupport ? true,
@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
++ lib.optional multimediaKeySupport keybinder3
++ lib.optional (musicBrainzSupport || cdMetadataSupport) python3.pkgs.musicbrainzngs
++ lib.optional podcastSupport python3.pkgs.feedparser
++ lib.optional wikipediaSupport webkitgtk_4_0;
++ lib.optional wikipediaSupport webkitgtk_4_1;
nativeCheckInputs = with python3.pkgs; [
pytest

View file

@ -18,21 +18,20 @@
nix-update-script,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "eyedropper";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitHub {
owner = "FineFindus";
repo = "eyedropper";
rev = "v${version}";
hash = "sha256-FyGj0180Wn8iIDTdDqnNEvFYegwdWCsCq+hmyTTUIo4=";
tag = "v${finalAttrs.version}";
hash = "sha256-t/OFA4oDXtnMmyFptG7zsGW5ubaSNrSnaDR1l9nVbLQ=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
name = "${pname}-${version}";
hash = "sha256-nYmH7Nu43TDJKvwfSaBKSihD0acLPmIUQpQM6kV4CAk=";
inherit (finalAttrs) pname src version;
hash = "sha256-39BWpyGhX6fYzxwrodiK1A3ASuRiI7tOA+pSKu8Bx5Q=";
};
nativeBuildInputs = [
@ -61,10 +60,11 @@ stdenv.mkDerivation rec {
meta = {
description = "Pick and format colors";
homepage = "https://github.com/FineFindus/eyedropper";
changelog = "https://github.com/FineFindus/eyedropper/releases/tag/v${finalAttrs.version}";
mainProgram = "eyedropper";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ zendo ];
teams = [ lib.teams.gnome-circle ];
};
}
})

View file

@ -31,7 +31,6 @@ stdenv.mkDerivation rec {
];
buildInputs = [
extra-cmake-modules
fcitx5
fmt
gtest

View file

@ -17,13 +17,13 @@
vala,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "five-or-more";
version = "3.32.3";
version = "48.1";
src = fetchurl {
url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/five-or-more-${version}.tar.xz";
hash = "sha256-LRDXLu/esyS0R9YyrwwySW4l/BWjwB230vAMm1HQnvQ=";
url = "mirror://gnome/sources/five-or-more/${lib.versions.major finalAttrs.version}/five-or-more-${finalAttrs.version}.tar.xz";
hash = "sha256-2UHOLjfqZsDYDx6BeX+8u+To72WnkLPMXla58QtepaM=";
};
nativeBuildInputs = [
@ -50,7 +50,9 @@ stdenv.mkDerivation rec {
'';
passthru = {
updateScript = gnome.updateScript { packageName = "five-or-more"; };
updateScript = gnome.updateScript {
packageName = "five-or-more";
};
};
meta = with lib; {
@ -61,4 +63,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl2;
platforms = platforms.unix;
};
}
})

View file

@ -6,12 +6,12 @@
lib,
libogg,
nix-update-script,
pandoc,
buildPackages,
pkg-config,
stdenv,
versionCheckHook,
enableManpages ? buildPackages.pandoc.compiler.bootstrapAvailable,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "flac";
version = "1.5.0";
@ -29,13 +29,18 @@ stdenv.mkDerivation (finalAttrs: {
cmake
doxygen
graphviz
pandoc
pkg-config
];
] ++ lib.optional enableManpages buildPackages.pandoc;
buildInputs = [ libogg ];
cmakeFlags = lib.optionals (!stdenv.hostPlatform.isStatic) [ "-DBUILD_SHARED_LIBS=ON" ];
cmakeFlags =
lib.optionals (!stdenv.hostPlatform.isStatic) [
"-DBUILD_SHARED_LIBS=ON"
]
++ lib.optionals (!enableManpages) [
"-DINSTALL_MANPAGES=OFF"
];
CFLAGS = [
"-O3"
@ -46,13 +51,16 @@ stdenv.mkDerivation (finalAttrs: {
patches = [ ./package.patch ];
doCheck = true;
outputs = [
"bin"
"dev"
"doc"
"man"
"out"
];
outputs =
[
"bin"
"dev"
"doc"
"out"
]
++ lib.optionals enableManpages [
"man"
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;

View file

@ -30,19 +30,19 @@
stdenv.mkDerivation rec {
pname = "fractal";
version = "10.1";
version = "11";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "fractal";
tag = version;
hash = "sha256-61xiHVzmLMbLNZlobH6JVcvuO9eoFwqBZBo1rVtPYOc=";
hash = "sha256-gb6DHb7pFFAmNQxK1vnBQtVRiMRu0BCvkhACkLeRHXs=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-e3IW8D4aLU6d36ErUHDUDiXF1lN4HCn5OCX6GwaT3iQ=";
hash = "sha256-Yc+/aTaIq/9NmdIhHSKixWTwSZRNtxA6p5n9OWkYH/U=";
};
patches = [

View file

@ -19,19 +19,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fretboard";
version = "8.0";
version = "9.1";
src = fetchFromGitHub {
owner = "bragefuglseth";
repo = "fretboard";
rev = "v${finalAttrs.version}";
hash = "sha256-8xINlVhWgg73DrRi8S5rhNc1sbG4DbWOsiEBjU8NSXo=";
hash = "sha256-LTUZPOecX1OiLcfdiY/P2ffq91QcnFjW6knM9H/Z+Lc=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
src = finalAttrs.src;
name = "${finalAttrs.pname}-${finalAttrs.version}";
hash = "sha256-wYDlJ5n878Apv+ywnHnDy1Rgn+WJtcuePsGYEWSNvs4=";
hash = "sha256-Gl78z9FR/sB14uFDLKgnfN4B5yOi6A6MH64gDXcLiWA=";
};
nativeBuildInputs = [

View file

@ -43,7 +43,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "gdm";
version = "47.0";
version = "48.0";
outputs = [
"out"
@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/gdm/${lib.versions.major finalAttrs.version}/gdm-${finalAttrs.version}.tar.xz";
hash = "sha256-xYWDJr+8yKzlgTUuK+RGItwOnlwoAchpD9Lu1QJgf4Q=";
hash = "sha256-G8Btr/CT7HteN+y0+S5do0dKGxugdu25FR7pZ9HDCt8=";
};
mesonFlags = [

View file

@ -22,7 +22,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ghex";
version = "46.2";
version = "48.alpha";
outputs = [
"out"
@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/ghex/${lib.versions.major finalAttrs.version}/ghex-${finalAttrs.version}.tar.xz";
hash = "sha256-qPJ2o2OXpw0guGL/fGZCQ9nPKJHeub4G10Wk8axmHzE=";
hash = "sha256-QP7kmZfZGhkmYmEXDEi7hy+zBupB+2WnIVBghow73+I=";
};
nativeBuildInputs = [

View file

@ -64,13 +64,13 @@ let
in
stdenv.mkDerivation rec {
pname = "ghostscript${lib.optionalString x11Support "-with-X"}";
version = "10.05.0";
version = "10.05.1";
src = fetchurl {
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${
lib.replaceStrings [ "." ] [ "" ] version
}/ghostscript-${version}.tar.xz";
hash = "sha256-qsnE/fYYBadvYiABJzXBroMoE3iDFL/AQFXMDIlZuaM=";
hash = "sha256-IvK9yhXCiDDJcVzdxcKW6maJi/2rC2BKTgvP6wOvbK0=";
};
patches = [

View file

@ -9,7 +9,7 @@
wrapGAppsHook4,
gtk4,
gdk-pixbuf,
webkitgtk_4_0,
webkitgtk_4_1,
gtksourceview5,
glib-networking,
libadwaita,
@ -43,7 +43,7 @@ python3.pkgs.buildPythonApplication rec {
buildInputs = [
gtk4
gdk-pixbuf
webkitgtk_4_0
webkitgtk_4_1
gtksourceview5
glib-networking
libadwaita

View file

@ -8,6 +8,7 @@
pkg-config,
gnome,
gtk3,
gtk4,
atk,
gobject-introspection,
spidermonkey_128,
@ -30,6 +31,7 @@
let
testDeps = [
gtk3
gtk4
atk
pango.out
gdk-pixbuf
@ -39,7 +41,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gjs";
version = "1.82.1";
version = "1.84.2";
outputs = [
"out"
@ -49,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor finalAttrs.version}/gjs-${finalAttrs.version}.tar.xz";
hash = "sha256-+zmqVjZXbeDloRcfVqGlgl4r0aaZcvsSC6eL0Qm1aTw=";
hash = "sha256-NRQu3zRXBWNjACkew6fVg/FJaf8/rg/zD0qVseZ0AWY=";
};
patches = [
@ -123,6 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
ln -s $PWD/libgjs.so.0 $out/lib/libgjs.so.0
ln -s $PWD/subprojects/gobject-introspection-tests/libgimarshallingtests.so $installedTests/libexec/installed-tests/gjs/libgimarshallingtests.so
ln -s $PWD/subprojects/gobject-introspection-tests/libregress.so $installedTests/libexec/installed-tests/gjs/libregress.so
ln -s $PWD/subprojects/gobject-introspection-tests/libutility.so $installedTests/libexec/installed-tests/gjs/libutility.so
ln -s $PWD/subprojects/gobject-introspection-tests/libwarnlib.so $installedTests/libexec/installed-tests/gjs/libwarnlib.so
ln -s $PWD/installed-tests/js/libgjstesttools/libgjstesttools.so $installedTests/libexec/installed-tests/gjs/libgjstesttools.so
'';
@ -142,6 +145,8 @@ stdenv.mkDerivation (finalAttrs: {
checkPhase = ''
runHook preCheck
GTK_A11Y=none \
HOME=$(mktemp -d) \
xvfb-run -s '-screen 0 800x600x24' \
meson test --print-errorlogs
runHook postCheck

View file

@ -74,7 +74,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "glib";
version = "2.82.5";
version = "2.84.1";
outputs = [
"bin"
@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
hash = "sha256-BcIDH5vfa1q6egbKhPC0rO0osZvxtQxqslzGdSd8vD8=";
hash = "sha256-K0vC7ElhGl/DX4asqFXy7QGW5p5TCSura7czlr8weJo=";
};
patches =

View file

@ -11,13 +11,13 @@
}:
stdenv.mkDerivation rec {
pname = "glslang";
version = "15.1.0";
version = "15.3.0";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = version;
hash = "sha256-E1Zenf7XSGoozx4hxdOlMu+XZ6mJROSu7jIVYPWe3go=";
hash = "sha256-HwFP4KJuA+BMQVvBWV0BCRj9U5I3CLEU+5bBtde2f6w=";
};
outputs = [

View file

@ -1,17 +1,17 @@
diff --git a/vendor/glycin/src/sandbox.rs b/vendor/glycin/src/sandbox.rs
index 7d00b36..aa70dc7 100644
index 08db832..4f44b21 100644
--- a/vendor/glycin/src/sandbox.rs
+++ b/vendor/glycin/src/sandbox.rs
@@ -165,7 +165,7 @@ impl Sandbox {
@@ -202,7 +202,7 @@ impl Sandbox {
args.push(self.command);
args.push(self.exec());
- ("bwrap".into(), args, Some(seccomp_memfd))
+ ("@bwrap@".into(), args, Some(seccomp_memfd))
}
SandboxMechanism::FlatpakSpawn => {
let memory_limit = Self::memory_limit();
@@ -233,8 +233,8 @@ impl Sandbox {
@@ -299,8 +299,8 @@ impl Sandbox {
"/",
// Make /usr available as read only
"--ro-bind",

View file

@ -24,11 +24,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "glycin-loaders";
version = "1.1.6";
version = "1.2.1";
src = fetchurl {
url = "mirror://gnome/sources/glycin/${lib.versions.majorMinor finalAttrs.version}/glycin-${finalAttrs.version}.tar.xz";
hash = "sha256-2EzFaBTyKEEArTQ5pDCDe7IfD5jUbg0rWGifLBlwjwQ=";
hash = "sha256-zMV46aPoPQ3BU1c30f2gm6qVxxZ/Xl7LFfeGZUCU7tU=";
};
patches = [
@ -81,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Glycin loaders for several formats";
homepage = "https://gitlab.gnome.org/sophie-h/glycin";
homepage = "https://gitlab.gnome.org/GNOME/glycin";
teams = [ teams.gnome ];
license = with licenses; [
mpl20 # or

View file

@ -25,11 +25,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-applets";
version = "3.54.0";
version = "3.56.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-applets/${lib.versions.majorMinor finalAttrs.version}/gnome-applets-${finalAttrs.version}.tar.xz";
hash = "sha256-FASM8amK2U4U715E/f6IVvo/KDZAHHkr/83mi4db2vk=";
hash = "sha256-+heu3JVa3ZgaouQ7TAcTU/aGu9HuwdcXqJCnNTIK0XE=";
};
nativeBuildInputs = [

View file

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "gnome-backgrounds";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/gnome-backgrounds-${version}.tar.xz";
hash = "sha256-h0pKOcQmFzb2qFRyKDNAC2EkQcRoGqWYLZCxWryckf0=";
hash = "sha256-LWuqAR7peATHVh9+HL2NR2PjC1W4gY3aePn3WvuNjQU=";
};
patches = [

View file

@ -50,11 +50,11 @@
stdenv.mkDerivation rec {
pname = "gnome-boxes";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-boxes/${lib.versions.major version}/gnome-boxes-${version}.tar.xz";
hash = "sha256-Zb9sLeG/TVFpXJGSxbHmKFyzLJihiqlIo3bqMgOLx48=";
hash = "sha256-0F9fQlaPr79tiHcRYbBu1fc51DEhJ41BjK6VxW5RPq0=";
};
patches = [

View file

@ -42,7 +42,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-builder";
version = "47.2";
version = "48.0";
outputs = [
"out"
@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/gnome-builder/${lib.versions.major finalAttrs.version}/gnome-builder-${finalAttrs.version}.tar.xz";
hash = "sha256-Roe5PEfNHjNmWi3FA3kLYhPugnhy/ABNl40UvL+ptJU=";
hash = "sha256-ev6aejs8ZiF2i8RqYdaY3XiLNlP7RqcII4vcz03me6Q=";
};
patches = [

View file

@ -26,11 +26,11 @@
stdenv.mkDerivation rec {
pname = "gnome-calculator";
version = "47.1";
version = "48.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/gnome-calculator-${version}.tar.xz";
hash = "sha256-vp+SJ5m35+ZclzSLm35kf/4zyDG7OlHTniwWjSrcQOA=";
hash = "sha256-vEvUGpuhkPRcvuDYxnUs3F0osM7xxr0MAeLa4fPBkWI=";
};
nativeBuildInputs = [

View file

@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "gnome-calendar";
version = "47.0";
version = "48.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-calendar/${lib.versions.major version}/gnome-calendar-${version}.tar.xz";
hash = "sha256-OwMxPxxNEtyCHgfiCdFZbVPq+iVdSS0s5av5LtG1HnY=";
hash = "sha256-Bs6t1cAL6ONYGB1CHs8mgs4K6i/LEtkDsw0pyjMonwI=";
};
nativeBuildInputs = [

View file

@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "gnome-characters";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/gnome-characters-${version}.tar.xz";
hash = "sha256-a88Foi8w8THYqANbD2PYapVnAHpfbfXOhVa6Bnd7dXQ=";
hash = "sha256-osMspU2RHbJARCA1DTRC5pGi3Oiw9dAImfZs/4w8jXE=";
};
nativeBuildInputs = [

View file

@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "gnome-chess";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/gnome-chess-${version}.tar.xz";
hash = "sha256-OkQ6LHiA5q0TG3Wt2AdO2+WYK3aruEKQT+PfnCxQ6H4=";
hash = "sha256-eDTEdvCLvyd5BrApNjLtMugDdMuUQyayGeqQVqapXz8=";
};
nativeBuildInputs = [

View file

@ -26,11 +26,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-clocks";
version = "47.0";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major finalAttrs.version}/gnome-clocks-${finalAttrs.version}.tar.xz";
hash = "sha256-QovfS9F+Jt5s7wFM16fuvYkUPD8nMrJLfaaYErqlITE=";
hash = "sha256-YW7h+3UwCx8muXZiGelUdRNgyg+g9JExG8+DvzgIfGI=";
};
nativeBuildInputs = [

View file

@ -22,11 +22,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-connections";
version = "47.2.1";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-connections/${lib.versions.major finalAttrs.version}/gnome-connections-${finalAttrs.version}.tar.xz";
hash = "sha256-BSPjy4edSsC5Xn7l8y22YSi1q4QE/xGSMHHNVs/k2Lg=";
hash = "sha256-Nw75QFBrVybG8rfLl5ayI9HW1Chfg8/DOFvWdMMon9A=";
};
nativeBuildInputs = [

View file

@ -20,11 +20,11 @@
stdenv.mkDerivation rec {
pname = "gnome-console";
version = "47.1";
version = "48.0.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-0/YAtFtRcWaRrukocDMunJqMqJ1VNWXzEx2eKAdHJdA=";
hash = "sha256-AY6Qjk2uvPyxUNTxuyjZgnKqnRTWgV6vjaRfiJ2wXEk=";
};
nativeBuildInputs = [

View file

@ -29,11 +29,11 @@
stdenv.mkDerivation rec {
pname = "gnome-contacts";
version = "47.1.1";
version = "48.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/gnome-contacts-${version}.tar.xz";
hash = "sha256-R+GuRbcEGgXV4nZJ2RLiwwAlYYisRg7cukaJnGYIpHg=";
hash = "sha256-onYplbWUJ+w/GF8otVlONwd7cqcM18GSF+1jRjfswbU=";
};
nativeBuildInputs = [

Some files were not shown because too many files have changed in this diff Show more