From ea283e2fac23b9e613e56a58523f98e53547c761 Mon Sep 17 00:00:00 2001 From: whispers Date: Sat, 30 May 2026 22:50:09 -0400 Subject: [PATCH 01/19] hqplayerd: mark broken due to libsoup 2.4 removal HQPlayer 5.x has a dependency on gupnp, gssdp, and an old version of Rygel, which all depend on the insecure libsoup 2.4. As we drop libsoup 2.4, we must thus mark this as broken. It appears that upstream has published HQPlayer 6.x, which supposedly comes with no dependency on Rygel and a new in-house UPnP implementation. If that is the case, this package may be fixed by bumping the version. --- pkgs/by-name/hq/hqplayerd/package.nix | 13 +++++++++---- pkgs/by-name/hq/hqplayerd/rygel.nix | 17 +++++++++++------ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/hq/hqplayerd/package.nix b/pkgs/by-name/hq/hqplayerd/package.nix index 54f8c7d13a2e..ef52b3ad614b 100644 --- a/pkgs/by-name/hq/hqplayerd/package.nix +++ b/pkgs/by-name/hq/hqplayerd/package.nix @@ -8,8 +8,8 @@ fetchurl, flac, gcc14, - gssdp, - gupnp, + # gssdp, + # gupnp, gupnp-av, lame, libgmpris, @@ -49,8 +49,8 @@ stdenv.mkDerivation rec { flac gcc14.cc.lib rygel-hqplayerd - gssdp - gupnp + # gssdp + # gupnp gupnp-av lame libgmpris @@ -111,6 +111,11 @@ stdenv.mkDerivation rec { }; meta = { + # libsoup 2.4 and its dependents (specifically gupnp and gssdp) were + # removed due to being insecure and having many known vulnerabilities. this + # thus no longer builds. this may be unbroken by updating to hqplayer 6.0, + # as it ostensibly removes the need for rygel and gupnp at all. + broken = true; homepage = "https://www.signalyst.com/custom.html"; description = "High-end upsampling multichannel software embedded HD-audio player"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/hq/hqplayerd/rygel.nix b/pkgs/by-name/hq/hqplayerd/rygel.nix index 14d7c082a830..b8fb0c496e6e 100644 --- a/pkgs/by-name/hq/hqplayerd/rygel.nix +++ b/pkgs/by-name/hq/hqplayerd/rygel.nix @@ -12,13 +12,13 @@ wrapGAppsHook3, python3, glib, - gssdp, - gupnp, + # gssdp, + # gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, - libsoup_2_4, + # libsoup_2_4, gtk3, libmediaart, sqlite, @@ -61,12 +61,12 @@ stdenv.mkDerivation rec { buildInputs = [ glib - gssdp - gupnp + # gssdp + # gupnp gupnp-av gupnp-dlna libgee - libsoup_2_4 + # libsoup_2_4 gtk3 libmediaart sqlite @@ -105,6 +105,11 @@ stdenv.mkDerivation rec { }; meta = { + # libsoup 2.4 and its dependents (specifically gupnp and gssdp) were + # removed due to being insecure and having many known vulnerabilities. this + # thus no longer builds. this derivation might be obsoleted by updating to + # hqplayer 6.0, as it ostensibly removes the need for rygel. + broken = true; description = "Home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices"; homepage = "https://gitlab.gnome.org/GNOME/rygel"; license = lib.licenses.lgpl21Plus; From 0675a5f5fb5d41aa58db06918c39be90d5831f9f Mon Sep 17 00:00:00 2001 From: whispers Date: Sat, 30 May 2026 22:55:09 -0400 Subject: [PATCH 02/19] citrix_workspace: mark broken due to libsoup 2.4 removal citrix_workspace has a hard dependency on libsoup 2.4 (autoPatchelf fails if it is not present), which is being removed as it is insecure. Thus, this package is broken for now. --- .../networking/remote/citrix-workspace/generic.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix index 1ea48306fe1f..2a9cfe788317 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix @@ -46,7 +46,7 @@ libredirect, libseccomp, libsecret, - libsoup_2_4, + # libsoup_2_4, libvorbis, libxml2_13, libxslt, @@ -210,7 +210,7 @@ stdenv.mkDerivation rec { libpulseaudio libseccomp libsecret - libsoup_2_4 + # libsoup_2_4 libvorbis libxml2_13 libxslt @@ -443,9 +443,11 @@ stdenv.mkDerivation rec { ''; meta = { - # Older versions need webkitgtk_4_0 which was removed. - # 25.08 bundles the same. - broken = lib.versionOlder version "25.08"; + # citrix_workspace has a hard dependency on libsoup 2.4 (autoPatchelf + # fails if it is not present), which was removed for being insecure. + # + # Versions older than 25.08 also required webkitgtk_4_0, which was removed. + broken = true; license = lib.licenses.unfree; description = "Citrix Workspace"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; From f85c6a18a02e13be0b094dc019c8fe17fe89278b Mon Sep 17 00:00:00 2001 From: whispers Date: Sat, 30 May 2026 23:00:42 -0400 Subject: [PATCH 03/19] pragha: remove withLibsoup override option The withLibsoup option brings in libsoup 2.4, which is insecure and being removed, so we get rid of it. --- pkgs/by-name/pr/pragha/package.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/by-name/pr/pragha/package.nix b/pkgs/by-name/pr/pragha/package.nix index c6acc17d9575..1a03d2059c1f 100644 --- a/pkgs/by-name/pr/pragha/package.nix +++ b/pkgs/by-name/pr/pragha/package.nix @@ -28,8 +28,6 @@ withKeybinder ? false, libnotify, withLibnotify ? false, - libsoup_2_4, - withLibsoup ? false, libgudev, withGudev ? false, # experimental libmtp, @@ -95,7 +93,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional withLibnotify libnotify ++ lib.optional withLastfm liblastfm-vambrose ++ lib.optional withGlyr glyr - ++ lib.optional withLibsoup libsoup_2_4 ++ lib.optional withMtp libmtp ++ lib.optional withXfce4ui libxfce4ui ++ lib.optional withTotemPlParser totem-pl-parser From 17cd1f1e60b7b8b26c93d12f2aa98730ac659c3f Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:02:26 -0400 Subject: [PATCH 04/19] desktop-postflop: drop This package is dependent on webkitgtk 4.0 and libsoup 2.4 via Tauri v1, and has been marked broken since October 2025. It has been unmaintained upstream since the author started developing a similar product for a business in October 2023. It is extremely unlikely this will work in Nixpkgs again, so we get rid of it. --- pkgs/by-name/de/desktop-postflop/package.nix | 85 -------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 85 deletions(-) delete mode 100644 pkgs/by-name/de/desktop-postflop/package.nix diff --git a/pkgs/by-name/de/desktop-postflop/package.nix b/pkgs/by-name/de/desktop-postflop/package.nix deleted file mode 100644 index a3eec5bbb07d..000000000000 --- a/pkgs/by-name/de/desktop-postflop/package.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ - lib, - rustPlatform, - buildNpmPackage, - fetchFromGitHub, - copyDesktopItems, - makeDesktopItem, - pkg-config, - gtk3, - libsoup_2_4, -}: - -rustPlatform.buildRustPackage rec { - pname = "desktop-postflop"; - version = "0.2.7"; - - src = fetchFromGitHub { - owner = "b-inary"; - repo = "desktop-postflop"; - rev = "v${version}"; - hash = "sha256-pOPxNHM4mseIuyyWNoU0l+dGvfURH0+9+rmzRIF0I5s="; - }; - - npmDist = buildNpmPackage { - name = "${pname}-${version}-dist"; - inherit src; - - npmDepsHash = "sha256-HWZLicyKL2FHDjZQj9/CRwVi+uc/jHmVNxtlDuclf7s="; - - installPhase = '' - mkdir -p $out - cp -r dist/* $out - ''; - }; - - sourceRoot = "${src.name}/src-tauri"; - - cargoHash = "sha256-pMvh2Rr+rMe0nMB9yRDrGatrS36+VM7os0eeBR31oCM="; - - postPatch = '' - substituteInPlace tauri.conf.json \ - --replace "../dist" "${npmDist}" - ''; - - # postflop-solver requires unstable rust features - env.RUSTC_BOOTSTRAP = 1; - - nativeBuildInputs = [ - copyDesktopItems - pkg-config - ]; - - buildInputs = [ - gtk3 - libsoup_2_4 - # webkitgtk_4_0 - ]; - - postInstall = '' - install -Dm644 ${src}/public/favicon.png $out/share/icons/hicolor/128x128/apps/desktop-postflop.png - ''; - - desktopItems = [ - (makeDesktopItem { - name = "desktop-postflop"; - exec = "desktop-postflop"; - icon = "desktop-postflop"; - desktopName = "Desktop Postflop"; - comment = meta.description; - categories = [ "Utility" ]; - terminal = false; - }) - ]; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - changelog = "https://github.com/b-inary/desktop-postflop/releases/tag/${src.rev}"; - description = "Free, open-source GTO solver for Texas hold'em poker"; - homepage = "https://github.com/b-inary/desktop-postflop"; - license = lib.licenses.agpl3Plus; - mainProgram = "desktop-postflop"; - maintainers = with lib.maintainers; [ tomasajt ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e048b8ad382d..9fddc9782561 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -623,6 +623,7 @@ mapAliases { degit-rs = throw "'degit-rs' has been removed because it is unmaintained upstream and has vulnerable dependencies."; # Added 2025-07-11 deltachat-cursed = throw "'deltachat-cursed' has been renamed to/replaced by 'arcanechat-tui'"; # Converted to throw 2025-10-27 deltatouch = throw "'deltatouch' has been removed as it depended on qt5 webengine which reached EOL"; # Added 2026-04-25 + desktop-postflop = throw "'desktop-postflop' has been removed as it has been unmaintained upstream since October 2023 and depended on webkitgtk 4.0"; # Added 2026-06-07 devdocs-desktop = throw "'devdocs-desktop' has been removed as it is unmaintained upstream and vendors insecure dependencies"; # Added 2025-06-11 dfilemanager = throw "'dfilemanager' has been dropped as it was unmaintained"; # Added 2025-06-03 discord-screenaudio = throw "discord-screenaudio has been removed because it was archived upstream. Use vesktop instead."; # added 2025-11-29 From f64a00248956c38fc3c57f13c175bfb39f2a5ec6 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:08:43 -0400 Subject: [PATCH 05/19] fondo: drop fondo has not been updated upstream since September 2021. It has a hard dependency on libsoup 2.4, so as we remove libsoup_2_4, we drop this as well. --- pkgs/by-name/fo/fondo/package.nix | 72 ------------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 72 deletions(-) delete mode 100644 pkgs/by-name/fo/fondo/package.nix diff --git a/pkgs/by-name/fo/fondo/package.nix b/pkgs/by-name/fo/fondo/package.nix deleted file mode 100644 index 3a917d067515..000000000000 --- a/pkgs/by-name/fo/fondo/package.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - nix-update-script, - pantheon, - vala, - pkg-config, - meson, - ninja, - python3, - glib, - gsettings-desktop-schemas, - gtk3, - libgee, - libhandy, - libsoup_2_4, - json-glib, - glib-networking, - desktop-file-utils, - wrapGAppsHook3, -}: - -stdenv.mkDerivation rec { - pname = "fondo"; - version = "1.6.1"; - - src = fetchFromGitHub { - owner = "calo001"; - repo = "fondo"; - rev = version; - sha256 = "sha256-JiDbkVs+EZRWRohSiuh8xFFgEhbnMYZfnZtz5Z4Wdb0="; - }; - - nativeBuildInputs = [ - desktop-file-utils - meson - ninja - pkg-config - python3 - vala - wrapGAppsHook3 - ]; - - buildInputs = [ - glib - glib-networking - gsettings-desktop-schemas - gtk3 - json-glib - libgee - libhandy - libsoup_2_4 - pantheon.granite - ]; - - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - - passthru.updateScript = nix-update-script { }; - - meta = { - homepage = "https://github.com/calo001/fondo"; - description = "Find the most beautiful wallpapers for your desktop"; - license = lib.licenses.agpl3Plus; - teams = [ lib.teams.pantheon ]; - platforms = lib.platforms.linux; - mainProgram = "com.github.calo001.fondo"; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9fddc9782561..1f299999bb2c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -764,6 +764,7 @@ mapAliases { flutter327 = throw "flutter327 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-10-28 fmsynth = throw "'fmsynth' has been removed as it was broken and unmaintained both upstream and in nixpkgs."; # Added 2025-09-01 follow = warnAlias "follow has been renamed to folo" folo; # Added 2025-05-18 + fondo = throw "'fondo' has been removed as it was unmaintained upstream and depended on libsoup 2.4"; # Added 2026-06-07 fontadobe75dpi = font-adobe-75dpi; # Added 2026-01-19 fontadobe100dpi = font-adobe-100dpi; # Added 2026-02-04 fontadobeutopia75dpi = font-adobe-utopia-75dpi; # Added 2026-01-19 From 5d191f25c869b1a9aecf4637ec5234bbb28a90e5 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:14:45 -0400 Subject: [PATCH 06/19] gamehub: drop GameHub has been archived upstream since April 2025, and hadn't gotten commits before that since May 2022. It has been broken in Nixpkgs for some months due to the webkitgtk 4.0 removal. Other than its init PR, it has had no changes in Nixpkgs other than treewides, so this seems compelely fine to drop. --- pkgs/by-name/ga/gamehub/package.nix | 70 ----------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 pkgs/by-name/ga/gamehub/package.nix diff --git a/pkgs/by-name/ga/gamehub/package.nix b/pkgs/by-name/ga/gamehub/package.nix deleted file mode 100644 index c5f3ede58a80..000000000000 --- a/pkgs/by-name/ga/gamehub/package.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - meson, - ninja, - vala, - pkg-config, - desktop-file-utils, - glib, - gtk3, - glib-networking, - libgee, - libsoup_2_4, - json-glib, - sqlite, - # webkitgtk_4_0, - libmanette, - libxtst, - wrapGAppsHook3, -}: - -stdenv.mkDerivation rec { - pname = "GameHub"; - version = "0.16.3-2"; - - src = fetchFromGitHub { - owner = "tkashkin"; - repo = "GameHub"; - rev = "${version}-master"; - hash = "sha256-dBGzXwDO9BvnEIcdfqlGnMzUdBqaVA96Ds0fY6eukes="; - }; - - nativeBuildInputs = [ - desktop-file-utils - meson - ninja - pkg-config - vala - wrapGAppsHook3 - ]; - - buildInputs = [ - glib - glib-networking - gtk3 - json-glib - libgee - libmanette - libsoup_2_4 - libxtst - sqlite - # webkitgtk_4_0 - ]; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - homepage = "https://tkashkin.github.io/projects/gamehub"; - description = "Unified library for all your games"; - longDescription = '' - GameHub is a unified library for all your games. It allows you to store - your games from different platforms into one program to make it easier - for you to manage your games. - ''; - maintainers = with lib.maintainers; [ pasqui23 ]; - license = with lib.licenses; [ gpl3Only ]; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1f299999bb2c..ef29cfa94f57 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -831,6 +831,7 @@ mapAliases { g4music = throw "'g4music' has been renamed to/replaced by 'gapless'"; # Converted to throw 2025-10-27 galene-stt = throw "'galene-stt' has been removed as it is unmaintained and broken"; # Added 2026-01-27 gamecube-tools = throw "gamecube-tools was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 + gamehub = throw "'gamehub' has been removed as it was archived upstream and depended on webkitgtk 4.0"; # Added 2026-06-07 gandi-cli = throw "'gandi-cli' has been removed as it is unmaintained upstream"; # Added 2026-01-11 garage_0_8 = throw "'garage_0_8' has been removed as it is unmaintained upstream"; # Added 2025-06-23 garage_0_8_7 = throw "'garage_0_8_7' has been removed as it is unmaintained upstream"; # Added 2025-06-23 From c3f3d49ff555948543117eee3449632665bb1a6c Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:20:33 -0400 Subject: [PATCH 07/19] glom: drop glom has been archived upstream, and hasn't otherwise received code changes since 2020. It transitively depends on the insecure libsoup 2.4 via libepc, so we drop it as part of that removal effort. --- pkgs/by-name/gl/glom/package.nix | 161 ------------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 161 deletions(-) delete mode 100644 pkgs/by-name/gl/glom/package.nix diff --git a/pkgs/by-name/gl/glom/package.nix b/pkgs/by-name/gl/glom/package.nix deleted file mode 100644 index 7b734670b04d..000000000000 --- a/pkgs/by-name/gl/glom/package.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - pkg-config, - autoconf, - automake, - libtool, - mm-common, - intltool, - itstool, - doxygen, - graphviz, - makeFontsConf, - freefont_ttf, - boost, - libxmlxx3, - libxslt, - libgdamm, - libarchive, - libepc, - python311, - python3, - ncurses, - glibmm, - gtk3, - openssl, - gtkmm3, - goocanvasmm2, - evince, - isocodes, - gtksourceview, - gtksourceviewmm, - postgresql, - gobject-introspection, - yelp-tools, - wrapGAppsHook3, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "glom"; - version = "1.32.0"; - - outputs = [ - "out" - "lib" - "dev" - "doc" - "devdoc" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/glom/${lib.versions.majorMinor finalAttrs.version}/glom-${finalAttrs.version}.tar.xz"; - hash = "sha256-U78gfryoLFY7nme86XdFmhfn/ZTjXCfBlphnNtokjfE="; - }; - - gda = libgdamm.override { - mysqlSupport = true; - postgresSupport = true; - }; - - python = python311.withPackages ( - pkgs: with pkgs; [ - pygobject3 - distutils - ] - ); - - python_boost = python311.withPackages (pkgs: with pkgs; [ pygobject3 ]); - - sphinx-build = python311.pkgs.sphinx.overrideAttrs (super: { - postFixup = super.postFixup or "" + '' - # Do not propagate Python - rm $out/nix-support/propagated-build-inputs - ''; - }); - - boost_python = boost.override { - enablePython = true; - python = finalAttrs.python_boost; - }; - - nativeBuildInputs = [ - pkg-config - autoconf - automake - libtool - mm-common - intltool - (yelp-tools.override { - python3 = python311; - }) - itstool - doxygen - graphviz - finalAttrs.sphinx-build - wrapGAppsHook3 - gobject-introspection # for setup hook - ]; - - buildInputs = [ - finalAttrs.boost_python - glibmm - gtk3 - openssl - libxmlxx3 - libxslt - python311.pkgs.pygobject3 - finalAttrs.gda - libarchive - libepc - finalAttrs.python - ncurses # for python - gtkmm3 - goocanvasmm2 - evince - isocodes - gtksourceview - gtksourceviewmm - postgresql # for postgresql utils - ]; - - enableParallelBuilding = true; - - preConfigure = "NOCONFIGURE=1 ./autogen.sh"; - - configureFlags = [ - "--with-boost-python=boost_python${lib.versions.major python311.version}${lib.versions.minor python311.version}" - "--with-postgres-utils=${lib.getBin postgresql}/bin" - ]; - - makeFlags = [ - "libdocdir=${placeholder "doc"}/share/doc/$(book_name)" - "devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)" - ]; - - # Fontconfig error: Cannot load default config file - env.FONTCONFIG_FILE = makeFontsConf { - fontDirectories = [ freefont_ttf ]; - }; - - preFixup = '' - gappsWrapperArgs+=( - --prefix PYTHONPATH : "${placeholder "out"}/${python311.sitePackages}" - --set PYTHONHOME "${finalAttrs.python}" - ) - ''; - - meta = { - description = "Easy-to-use database designer and user interface"; - license = with lib.licenses; [ - lgpl2 - gpl2 - ]; - homepage = "https://gitlab.gnome.org/Archive/glom"; - maintainers = with lib.maintainers; [ - bot-wxt1221 - ]; - platforms = lib.platforms.linux; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ef29cfa94f57..304673153894 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -881,6 +881,7 @@ mapAliases { glfw-wayland = throw "'glfw-wayland' has been renamed to/replaced by 'glfw'"; # Converted to throw 2025-10-27 glfw-wayland-minecraft = throw "'glfw-wayland-minecraft' has been renamed to/replaced by 'glfw3-minecraft'"; # Converted to throw 2025-10-27 globalprotect-openconnect = throw "'globalprotect-openconnect' was removed because it was unmaintained in Nixpkgs and needed upgrading to the Tauri rewrite, as the old version depends on the removed Qt 5 WebEngine"; # Added 2026-04-26 + glom = throw "'glom' has been removed as it was archived upstream and depended on libsoup 2.4"; # Added 2026-06-07 glxinfo = throw "'glxinfo' has been renamed to/replaced by 'mesa-demos'"; # Converted to throw 2025-10-27 gmnisrv = throw "'gmnisrv' has been removed due to lack of maintenance upstream"; # Added 2025-06-07 gmu = throw "'gmu' has been removed as it was broken and unmaintained in Nixpkgs"; # Added 2026-04-04 From 84b59fafeda7ce60f7ef06bf6e907c733e8deb3d Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:23:02 -0400 Subject: [PATCH 08/19] libepc: drop libepc has been archived upstream, and hasn't otherwise received code changes since before 2018. It also depends on the insecure libsoup 2.4, so we drop it as part of that removal effort. --- pkgs/by-name/li/libepc/no-avahi-ui.patch | 36 ------------ pkgs/by-name/li/libepc/package.nix | 75 ------------------------ pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 111 deletions(-) delete mode 100644 pkgs/by-name/li/libepc/no-avahi-ui.patch delete mode 100644 pkgs/by-name/li/libepc/package.nix diff --git a/pkgs/by-name/li/libepc/no-avahi-ui.patch b/pkgs/by-name/li/libepc/no-avahi-ui.patch deleted file mode 100644 index 4649ecbe27ce..000000000000 --- a/pkgs/by-name/li/libepc/no-avahi-ui.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index acf0d25..13022d1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -32,8 +32,6 @@ noinst_PROGRAMS = \ - examples/lookup-resource \ - examples/service-browser \ - examples/simple-publisher \ -- examples/consumer-ui \ -- examples/publisher-ui \ - examples/server-credentials \ - $(TESTS) - TESTS = \ -@@ -155,10 +153,6 @@ examples_service_browser_LDADD = $(example_epc_libs) - examples_simple_publisher_CFLAGS = $(example_epc_cflags) - examples_simple_publisher_LDADD = $(example_epc_libs) - --examples_consumer_ui_CFLAGS = $(example_epc_ui_cflags) $(AVAHI_UI_CFLAGS) --examples_consumer_ui_LDADD = $(example_epc_ui_libs) $(AVAHI_UI_LIBS) --examples_publisher_ui_CFLAGS = $(example_epc_ui_cflags) $(AVAHI_UI_CFLAGS) -rdynamic --examples_publisher_ui_LDADD = $(example_epc_ui_libs) $(AVAHI_UI_LIBS) - examples_server_credentials_CFLAGS = $(example_epc_ui_cflags) - examples_server_credentials_LDADD = $(example_epc_ui_libs) - -diff --git a/configure.ac b/configure.ac -index d68bf94..89bd471 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -53,7 +53,6 @@ PKG_CHECK_EXISTS([$GIO_REQUIREMENT], - GIO=$GIO_REQUIREMENT], - [AC_MSG_RESULT([no])]) - --PKG_CHECK_MODULES(AVAHI_UI, [avahi-ui-gtk3 >= 0.6]) - PKG_CHECK_MODULES(LIBEPC, [avahi-client >= 0.6 - avahi-glib >= 0.6 - glib-2.0 >= 2.36 diff --git a/pkgs/by-name/li/libepc/package.nix b/pkgs/by-name/li/libepc/package.nix deleted file mode 100644 index e9d642d2a7d1..000000000000 --- a/pkgs/by-name/li/libepc/package.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - autoreconfHook, - gnome-common, - pkg-config, - intltool, - gtk-doc, - glib, - avahi, - gnutls, - libuuid, - libsoup_2_4, - gtk3, - gnome, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "libepc"; - version = "0.4.6"; - - outputs = [ - "out" - "dev" - "devdoc" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/libepc/${lib.versions.majorMinor finalAttrs.version}/libepc-${finalAttrs.version}.tar.xz"; - sha256 = "1s3svb2slqjsrqfv50c2ymnqcijcxb5gnx6bfibwh9l5ga290n91"; - }; - - patches = [ - # Remove dependency that is only needed by uninstalled examples. - ./no-avahi-ui.patch - ]; - - nativeBuildInputs = [ - autoreconfHook - gnome-common - pkg-config - intltool - gtk-doc - ]; - - buildInputs = [ - glib - libuuid - gtk3 - ]; - - propagatedBuildInputs = [ - avahi - gnutls - libsoup_2_4 - ]; - - enableParallelBuilding = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = "libepc"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = { - description = "Easy Publish and Consume Library"; - homepage = "https://gitlab.gnome.org/Archive/libepc"; - license = lib.licenses.lgpl21Plus; - maintainers = [ lib.maintainers.bot-wxt1221 ]; - platforms = lib.platforms.linux; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 304673153894..72f8e29ebc7b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1138,6 +1138,7 @@ mapAliases { libdevil-nox = throw "libdevil has been removed, as it was unmaintained in Nixpkgs and upstream since 2017"; # Added 2025-09-16 libdwarf-lite = throw "`libdwarf-lite` has been replaced by `libdwarf` as it's mostly a mirror"; # Added 2025-06-16 libdynd = throw "'libdynd' has been removed due to lack of maintenance"; # Added 2026-03-24 + libepc = throw "'libepc' has been removed as it was archived upstream and depended on libsoup 2.4"; # Added 2026-06-07 libertine-g = warnAlias "'libertine-g' has been renamed to 'linux-libertine-g'" linux-libertine-g; # Added 2026-02-20 libevdevplus = throw "'libevdevplus' has been removed, as it was unmaintained upstream since 2021, no longer builds, and is no longer used by anything"; # Added 2025-11-02 libfakeXinerama = warnAlias "'libfakeXinerama' has been renamed to 'libfakexinerama'" libfakexinerama; # Added 2026-02-08 From 1e7e61c6c3f84360dc0459be0d15d059fbf2de3b Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:39:01 -0400 Subject: [PATCH 09/19] gupnp: drop GUPnP 1.4, which the `gupnp` name refers to, is unmaintained upstream and depends on the insecure libsoup 2.4. In the process of its removal, we drop this as well. `gupnp` has a single in-tree dependent, `hqplayerd`, which has been marked broken. All other consumers have already migrated to `gupnp_1_6`. --- ...eclare-header-dependencies-as-public.patch | 55 --------- pkgs/by-name/gu/gupnp/package.nix | 107 ------------------ pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 162 deletions(-) delete mode 100644 pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch delete mode 100644 pkgs/by-name/gu/gupnp/package.nix diff --git a/pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch b/pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch deleted file mode 100644 index 46a2dae382d2..000000000000 --- a/pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch +++ /dev/null @@ -1,55 +0,0 @@ -From a3461f69222ef23b2edd411c5fc8daefea556a2c Mon Sep 17 00:00:00 2001 -From: Jan Tojnar -Date: Wed, 20 Oct 2021 20:55:29 +0200 -Subject: [PATCH] pkg-config: Declare header dependencies as public -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The headers include libsoup and libxml2 headers but those libraries are only -listed in Requires.private. This does not matter for upstream pkg-config -because it uses Cflags from libraries in Requires.private as well but as our -pkg-config is patched to only use Requires.private for static linking. - -Let’s add libsoup-2.4 and libxml-2.0 to Requires rather than Requires.private -to make the reverse dependencies correctly find their headers. ---- - libgupnp/meson.build | 2 +- - meson.build | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libgupnp/meson.build b/libgupnp/meson.build -index cb8a102..5fda9d8 100644 ---- a/libgupnp/meson.build -+++ b/libgupnp/meson.build -@@ -129,7 +129,7 @@ pkg.generate( - libgupnp, - subdirs: 'gupnp-1.2', - name : 'gupnp-1.2', -- requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2'], -+ requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2', 'libsoup-2.4 >= ' + libsoup_version, 'libxml-2.0'], - description : 'GObject-based UPnP library', - version : meson.project_version(), - filebase : 'gupnp-1.2' -diff --git a/meson.build b/meson.build -index 3790bcf..c96a983 100644 ---- a/meson.build -+++ b/meson.build -@@ -25,12 +25,13 @@ gssdp_dep = dependency('gssdp-1.2', version : '>= 1.3.0', default_options: ['sni - - gio_unix = dependency('gio-unix-2.0', version: '>= 2.44', required: host_machine.system() != 'windows') - -+libsoup_version = '2.48.0' - dependencies = [ - dependency('glib-2.0', version : '>= ' + glib_version), - dependency('gio-2.0', version : '>= ' + glib_version), - dependency('gmodule-2.0', version : '>= ' + glib_version), - dependency('gobject-2.0', version : '>= ' + glib_version), -- dependency('libsoup-2.4', version : '>= 2.48.0'), -+ dependency('libsoup-2.4', version : '>= ' + libsoup_version), - gssdp_dep, - dependency('libxml-2.0'), - ] --- -2.33.0 - diff --git a/pkgs/by-name/gu/gupnp/package.nix b/pkgs/by-name/gu/gupnp/package.nix deleted file mode 100644 index 74d70e05e5f8..000000000000 --- a/pkgs/by-name/gu/gupnp/package.nix +++ /dev/null @@ -1,107 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - fetchpatch2, - meson, - ninja, - pkg-config, - gobject-introspection, - vala, - gtk-doc, - docbook_xsl, - docbook_xml_dtd_412, - docbook_xml_dtd_45, - glib, - gssdp, - libsoup_2_4, - libxml2, - libuuid, - gnome, -}: - -stdenv.mkDerivation rec { - pname = "gupnp"; - version = "1.4.4"; - - outputs = [ - "out" - "dev" - ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-N2GxXLBjYh+Efz7/t9djfwMXUA/Ka9oeGQT3OSF1Ch8="; - }; - - patches = [ - # Bring .pc file in line with our patched pkg-config. - ./0001-pkg-config-Declare-header-dependencies-as-public.patch - - # Unbreak build with Meson 1.2.0 - # https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/33 - (fetchpatch2 { - name = "meson-1.2-fix.patch"; - url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/85c0244cfbf933d3e90d50ab68394c68d86f9ed5.patch"; - hash = "sha256-poDhkEgDTpgGnTbbZLPwx8Alf0h81vmzJyx3izWmDGw="; - }) - - # Fix build against libxml2 2.11 - # https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/34 - (fetchpatch2 { - name = "libxml2-2.11-fix.patch"; - url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/bc56f02b0f89e96f2bd74af811903d9931965f58.patch"; - hash = "sha256-KCHlq7Es+WLIWKgIgGVTaHarVQIiZPEi5r6nMAhXTgY="; - }) - ]; - - depsBuildBuild = [ - pkg-config - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - gtk-doc - docbook_xsl - docbook_xml_dtd_412 - docbook_xml_dtd_45 - ]; - - buildInputs = [ - libuuid - ]; - - propagatedBuildInputs = [ - glib - gssdp - libsoup_2_4 - libxml2 - ]; - - mesonFlags = [ - "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" - ]; - - # Bail out! ERROR:../tests/test-bugs.c:168:test_on_timeout: code should not be reached - doCheck = !stdenv.hostPlatform.isDarwin; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gupnp"; - freeze = true; - }; - }; - - meta = { - homepage = "http://www.gupnp.org/"; - description = "Implementation of the UPnP specification"; - mainProgram = "gupnp-binding-tool-1.2"; - license = lib.licenses.lgpl2Plus; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 72f8e29ebc7b..4a62527df9f5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -957,6 +957,7 @@ mapAliases { gui-for-clash = throw "'gui-for-clash' has been removed, as it is unmaintained"; # Added 2026-05-28 guile-disarchive = throw "'guile-disarchive' has been renamed to/replaced by 'disarchive'"; # Converted to throw 2025-10-27 guile-sdl = throw "guile-sdl has been removed, as it was broken"; # Added 2025-08-25 + gupnp = throw "'gupnp' (version 1.4) has been removed as it was unmaintained upstream and depended on libsoup 2.4. Consider using 'gupnp_1_6' instead"; # Added 2026-06-07 gutenprintBin = gutenprint-bin; # Added 2025-08-21 gwrap = warnAlias "The 'gwrap' alias has been removed. The correct name of the package is 'g-wrap'" g-wrap; # Added 2026-01-25 gxneur = throw "'gxneur' has been removed due to lack of maintenance and reliance on gnome2 and 2to3."; # Added 2025-08-17 From aa960730ff8d95b3baaedef9ca2014be324ab13c Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:44:52 -0400 Subject: [PATCH 10/19] gssdp: drop GSSDP 1.4, which the `gssdp` name refers to, is unmaintained upstream and depends on the insecure libsoup 2.4. In the process of its removal, we drop this as well. `gssdp` has two in-tree dependents: `hqplayerd` and `gupnp`. The former has been already been marked broken and the latter has been dropped. All other consumers have already migrated to `gssdp_1_6`. --- pkgs/by-name/gs/gssdp/package.nix | 109 ------------------------------ pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 109 deletions(-) delete mode 100644 pkgs/by-name/gs/gssdp/package.nix diff --git a/pkgs/by-name/gs/gssdp/package.nix b/pkgs/by-name/gs/gssdp/package.nix deleted file mode 100644 index 41ef85ad7d16..000000000000 --- a/pkgs/by-name/gs/gssdp/package.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ - stdenv, - lib, - fetchpatch2, - fetchurl, - meson, - ninja, - pkg-config, - gobject-introspection, - vala, - gi-docgen, - python3, - libsoup_2_4, - glib, - gnome, - gssdp-tools, - buildPackages, - withIntrospection ? - lib.meta.availableOn stdenv.hostPlatform gobject-introspection - && stdenv.hostPlatform.emulatorAvailable buildPackages, -}: - -stdenv.mkDerivation rec { - pname = "gssdp"; - version = "1.4.1"; - - outputs = [ - "out" - "dev" - ] - ++ lib.optionals withIntrospection [ "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/gssdp-${version}.tar.xz"; - sha256 = "VySWVDV9PVGxQDFRaaJMBnHeeqUsb3XIxcmr1Ao1JSk="; - }; - - patches = [ - (fetchpatch2 { - # https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/11 - url = "https://gitlab.gnome.org/GNOME/gssdp/-/commit/db9d02c22005be7e5e81b43a3ab777250bd7b27b.diff"; - hash = "sha256-DJQrg6MhzpX8R0QaNnqdwA1+v8xncDU8jcX+I3scW1M="; - }) - ]; - - strictDeps = true; - - depsBuildBuild = [ - pkg-config - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - python3 - ] - ++ lib.optionals withIntrospection [ - gobject-introspection - vala - gi-docgen - ]; - - buildInputs = [ - libsoup_2_4 - ]; - - propagatedBuildInputs = [ - glib - ]; - - mesonFlags = [ - "-Dsniffer=false" - (lib.mesonBool "gtk_doc" withIntrospection) - (lib.mesonBool "introspection" withIntrospection) - (lib.mesonBool "vapi" withIntrospection) - ]; - - # Bail out! GLib-GIO-FATAL-CRITICAL: g_inet_address_to_string: assertion 'G_IS_INET_ADDRESS (address)' failed - doCheck = !stdenv.hostPlatform.isDarwin; - - postFixup = lib.optionalString withIntrospection '' - # Move developer documentation to devdoc output. - # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. - find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ - | while IFS= read -r -d ''' file; do - moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc" - done - ''; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gssdp"; - freeze = true; - }; - - tests = { - inherit gssdp-tools; - }; - }; - - meta = { - description = "GObject-based API for handling resource discovery and announcement over SSDP"; - homepage = "http://www.gupnp.org/"; - license = lib.licenses.lgpl2Plus; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4a62527df9f5..dde0ea124056 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -950,6 +950,7 @@ mapAliases { grub4dos = throw "'grub4dos' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 gscrabble = throw "'gscrabble' has been removed, as it is unmaintained upstream, and broken in nixpkgs"; # Added 2026-01-03 gsettings-qt = lomiri.gsettings-qt; # Added 2025-12-06 + gssdp = throw "'gssdp' (version 1.4) has been removed as it was unmaintained upstream and depended on libsoup 2.4. Consider using `gssdp_1_6` instead"; # Added 2026-06-07 gtkcord4 = throw "'gtkcord4' has been renamed to/replaced by 'dissent'"; # Converted to throw 2025-10-27 gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10 gtkgnutella = gtk-gnutella; # Added 2026-05-21 From 14d99f9d242a7539291c11f5209cf983f9e5659d Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:51:28 -0400 Subject: [PATCH 11/19] mouse-actions-gui: drop mouse-actions-gui is reliant on Tauri v1, which pulls in webkitgtk 4.0 and libsoup 2.4. The former has already been dropped, and the latter's is imminent. It has been marked broken in Nixpkgs since October 2025. --- nixos/modules/programs/mouse-actions.nix | 4 +- .../mouse-actions-gui/80-mouse-actions.rules | 2 - pkgs/by-name/mo/mouse-actions-gui/package.nix | 81 ------------------- pkgs/top-level/aliases.nix | 1 + 4 files changed, 2 insertions(+), 86 deletions(-) delete mode 100644 pkgs/by-name/mo/mouse-actions-gui/80-mouse-actions.rules delete mode 100644 pkgs/by-name/mo/mouse-actions-gui/package.nix diff --git a/nixos/modules/programs/mouse-actions.nix b/nixos/modules/programs/mouse-actions.nix index 3022a1059b1f..625c30308c37 100644 --- a/nixos/modules/programs/mouse-actions.nix +++ b/nixos/modules/programs/mouse-actions.nix @@ -17,9 +17,7 @@ in Note that only users in the "uinput" group will be able to use the package ''; }; - package = lib.mkPackageOption pkgs "mouse-actions" { - example = "mouse-actions-gui"; - }; + package = lib.mkPackageOption pkgs "mouse-actions" { }; autorun = lib.mkOption { type = lib.types.bool; default = false; diff --git a/pkgs/by-name/mo/mouse-actions-gui/80-mouse-actions.rules b/pkgs/by-name/mo/mouse-actions-gui/80-mouse-actions.rules deleted file mode 100644 index 7d07d034c0fb..000000000000 --- a/pkgs/by-name/mo/mouse-actions-gui/80-mouse-actions.rules +++ /dev/null @@ -1,2 +0,0 @@ -KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" -KERNEL=="/dev/input/event*", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" diff --git a/pkgs/by-name/mo/mouse-actions-gui/package.nix b/pkgs/by-name/mo/mouse-actions-gui/package.nix deleted file mode 100644 index 0c284d120cce..000000000000 --- a/pkgs/by-name/mo/mouse-actions-gui/package.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - lib, - fetchFromGitHub, - - npmHooks, - fetchNpmDeps, - nodejs, - - rustPlatform, - cargo-tauri_1, - - pkg-config, - wrapGAppsHook3, - libxtst, - libevdev, - udevCheckHook, - gtk3, - libsoup_2_4, -}: - -rustPlatform.buildRustPackage rec { - pname = "mouse-actions-gui"; - version = "0.4.5"; - - src = fetchFromGitHub { - owner = "jersou"; - repo = "mouse-actions"; - tag = "v${version}"; - hash = "sha256-44F4CdsDHuN2FuijnpfmoFy4a/eAbYOoBYijl9mOctg="; - }; - - sourceRoot = "${src.name}/config-editor"; - - nativeBuildInputs = [ - npmHooks.npmConfigHook - nodejs - cargo-tauri_1.hook - pkg-config - wrapGAppsHook3 - udevCheckHook - ]; - - buildInputs = [ - # Base deps - libxtst - libevdev - - # Tauri deps - gtk3 - libsoup_2_4 - # webkitgtk_4_0 - ]; - - npmDeps = fetchNpmDeps { - inherit src sourceRoot; - hash = "sha256-amDTYAvEoDHb7+dg39+lUne0dv0M9vVe1vHoXk2agZA="; - }; - - cargoRoot = "src-tauri"; - buildAndTestSubdir = cargoRoot; - - cargoHash = "sha256-G5PQWPcPOVhq11BQIplbB3mLAGFCVm+vQ4eM4/5MFwI="; - - doInstallCheck = true; - - postInstall = '' - install -Dm644 ${./80-mouse-actions.rules} $out/etc/udev/rules.d/80-mouse-actions.rules - ''; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - changelog = "https://github.com/jersou/mouse-actions/blob/${src.rev}/CHANGELOG.md"; - description = "Mouse event based command executor, a mix between Easystroke and Comiz edge commands"; - homepage = "https://github.com/jersou/mouse-actions"; - license = lib.licenses.mit; - mainProgram = "mouse-actions-gui"; - maintainers = with lib.maintainers; [ tomasajt ]; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index dde0ea124056..5306fd25f574 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1493,6 +1493,7 @@ mapAliases { moralerspace-hwnf = throw "moralerspace-hwnf has been removed, use moralerspace-hw instead."; # Added 2025-08-30 moralerspace-nf = throw "moralerspace-nf has been removed, use moralerspace instead."; # Added 2025-08-30 morty = throw "morty has been removed, as searxng removed support for it and it was unmaintained."; # Added 2025-09-26 + mouse-actions-gui = throw "'mouse-actions-gui' has been removed as it depended on webkitgtk 4.0 and libsoup 2.4"; # Added 2026-06-07 move-mount-beneath = throw "move-mount-beneath has been removed, it is now superseded by util-linux's mount"; # Added 2026-05-19 moz-phab = throw "'moz-phab' has been renamed to/replaced by 'mozphab'"; # Converted to throw 2025-10-27 mp3splt = throw "'mp3splt' has been removed due to lack of maintenance upstream."; # Added 2025-05-17 From 27eb6c78c3ceee52cdb3361c43abae5bc0dc20da Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 00:57:15 -0400 Subject: [PATCH 12/19] squirreldisk: drop This package is dependent on webkitgtk 4.0 and libsoup 2.4 via Tauri v1, and has been marked broken since October 2025. It has not been changed upstream since February 2023, so this is unlikely to change. --- pkgs/by-name/sq/squirreldisk/package.nix | 112 ---- .../sq/squirreldisk/remove-pdu-crate.patch | 487 ------------------ .../squirreldisk/update-pdu-json-format.patch | 77 --- pkgs/top-level/aliases.nix | 1 + 4 files changed, 1 insertion(+), 676 deletions(-) delete mode 100644 pkgs/by-name/sq/squirreldisk/package.nix delete mode 100644 pkgs/by-name/sq/squirreldisk/remove-pdu-crate.patch delete mode 100644 pkgs/by-name/sq/squirreldisk/update-pdu-json-format.patch diff --git a/pkgs/by-name/sq/squirreldisk/package.nix b/pkgs/by-name/sq/squirreldisk/package.nix deleted file mode 100644 index fe0811878726..000000000000 --- a/pkgs/by-name/sq/squirreldisk/package.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - lib, - stdenv, - rustPlatform, - - fetchFromGitHub, - fetchNpmDeps, - - cargo-tauri_1, - makeBinaryWrapper, - nodejs, - npmHooks, - pkg-config, - wrapGAppsHook3, - - dbus, - freetype, - gtk3, - libsoup_2_4, - openssl, - parallel-disk-usage, -}: - -rustPlatform.buildRustPackage rec { - pname = "squirreldisk"; - version = "0.3.4"; - - src = fetchFromGitHub { - owner = "adileo"; - repo = "squirreldisk"; - rev = "v${version}"; - hash = "sha256-As2nvc68knjeLPuX0QLBoybj8vuvkpS5Vr+7U7E5CjA="; - }; - - cargoRoot = "src-tauri"; - buildAndTestSubdir = "src-tauri"; - - cargoHash = "sha256-PfpbzawgwkqykG4u2G05rgZwksuxWJUcv6asnJvZJvU="; - - npmDeps = fetchNpmDeps { - name = "squirreldisk-${version}-npm-deps"; - inherit src; - hash = "sha256-Japcn0KYP7aYIDK8+Ns+mrnbbAb0fLWXHIV2+yltI6I="; - }; - - patches = [ - # Update field names to work with pdu versions >=0.10.0 - # https://github.com/adileo/squirreldisk/pull/47 - ./update-pdu-json-format.patch - ]; - - cargoPatches = [ - # Remove dependency on parallel-disk-usage crate. The version is outdated and - # does not compile anymore with Rust 1.87.0. - # https://github.com/adileo/squirreldisk/pull/49 - ./remove-pdu-crate.patch - ]; - - postPatch = '' - # Use pdu binary from nixpkgs instead of the vendored prebuilt binary - rm src-tauri/bin/pdu-* - cp ${parallel-disk-usage}/bin/pdu src-tauri/bin/pdu-${stdenv.hostPlatform.rust.rustcTarget} - ''; - - nativeBuildInputs = [ - cargo-tauri_1.hook - npmHooks.npmConfigHook - nodejs - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - pkg-config - wrapGAppsHook3 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeBinaryWrapper - ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - dbus - freetype - gtk3 - libsoup_2_4 - openssl - # webkitgtk_4_0 - ]; - - # Disable checkPhase, since the project doesn't contain tests - doCheck = false; - - # We'll wrap the main binary manually - dontWrapGApps = true; - - # WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079 - postFixup = - lib.optionalString stdenv.hostPlatform.isLinux '' - wrapGApp "$out/bin/squirrel-disk" \ - --set WEBKIT_DISABLE_COMPOSITING_MODE 1 - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - makeWrapper "$out/Applications/SquirrelDisk.app/Contents/MacOS/SquirrelDisk" "$out/bin/squirrel-disk" - ''; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - description = "Cross-platform disk usage analysis tool"; - homepage = "https://www.squirreldisk.com/"; - license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ peret ]; - mainProgram = "squirrel-disk"; - }; -} diff --git a/pkgs/by-name/sq/squirreldisk/remove-pdu-crate.patch b/pkgs/by-name/sq/squirreldisk/remove-pdu-crate.patch deleted file mode 100644 index bb1ac7fbf330..000000000000 --- a/pkgs/by-name/sq/squirreldisk/remove-pdu-crate.patch +++ /dev/null @@ -1,487 +0,0 @@ -diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock -index 667c8b7..440d72a 100644 ---- a/src-tauri/Cargo.lock -+++ b/src-tauri/Cargo.lock -@@ -38,12 +38,6 @@ version = "1.0.68" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" - --[[package]] --name = "assert-cmp" --version = "0.2.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "737bf4aa6df38f69a17efc233b4d0343cc5aa0d2c3b53e7007bd4c9866038ffd" -- - [[package]] - name = "atk" - version = "0.15.1" -@@ -252,64 +246,6 @@ version = "1.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - --[[package]] --name = "clap" --version = "4.1.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" --dependencies = [ -- "bitflags", -- "clap_derive", -- "clap_lex", -- "is-terminal", -- "once_cell", -- "strsim", -- "termcolor", --] -- --[[package]] --name = "clap-utilities" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "15bcff807ef65113605e59223ac0ce77adc2cc0976e3ece014e0f2c17e4a7798" --dependencies = [ -- "clap", -- "clap_complete", -- "pipe-trait", -- "thiserror", --] -- --[[package]] --name = "clap_complete" --version = "4.1.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75" --dependencies = [ -- "clap", --] -- --[[package]] --name = "clap_derive" --version = "4.1.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" --dependencies = [ -- "heck 0.4.0", -- "proc-macro-error", -- "proc-macro2", -- "quote", -- "syn", --] -- --[[package]] --name = "clap_lex" --version = "0.3.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" --dependencies = [ -- "os_str_bytes", --] -- - [[package]] - name = "cocoa" - version = "0.24.1" -@@ -518,38 +454,14 @@ version = "0.2.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" - --[[package]] --name = "darling" --version = "0.12.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" --dependencies = [ -- "darling_core 0.12.4", -- "darling_macro 0.12.4", --] -- - [[package]] - name = "darling" - version = "0.13.4" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" - dependencies = [ -- "darling_core 0.13.4", -- "darling_macro 0.13.4", --] -- --[[package]] --name = "darling_core" --version = "0.12.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" --dependencies = [ -- "fnv", -- "ident_case", -- "proc-macro2", -- "quote", -- "strsim", -- "syn", -+ "darling_core", -+ "darling_macro", - ] - - [[package]] -@@ -566,24 +478,13 @@ dependencies = [ - "syn", - ] - --[[package]] --name = "darling_macro" --version = "0.12.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" --dependencies = [ -- "darling_core 0.12.4", -- "quote", -- "syn", --] -- - [[package]] - name = "darling_macro" - version = "0.13.4" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" - dependencies = [ -- "darling_core 0.13.4", -+ "darling_core", - "quote", - "syn", - ] -@@ -599,37 +500,6 @@ dependencies = [ - "winapi", - ] - --[[package]] --name = "derive_builder" --version = "0.10.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30" --dependencies = [ -- "derive_builder_macro", --] -- --[[package]] --name = "derive_builder_core" --version = "0.10.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5" --dependencies = [ -- "darling 0.12.4", -- "proc-macro2", -- "quote", -- "syn", --] -- --[[package]] --name = "derive_builder_macro" --version = "0.10.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73" --dependencies = [ -- "derive_builder_core", -- "syn", --] -- - [[package]] - name = "derive_more" - version = "0.99.17" -@@ -722,27 +592,6 @@ dependencies = [ - "cfg-if", - ] - --[[package]] --name = "errno" --version = "0.2.8" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" --dependencies = [ -- "errno-dragonfly", -- "libc", -- "winapi", --] -- --[[package]] --name = "errno-dragonfly" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" --dependencies = [ -- "cc", -- "libc", --] -- - [[package]] - name = "fastrand" - version = "1.8.0" -@@ -784,16 +633,6 @@ dependencies = [ - "miniz_oxide", - ] - --[[package]] --name = "fmt-iter" --version = "0.2.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d0b9289d76691c7084d8830f1d0a29ddefbad768f8b5f276e012840bb0fca610" --dependencies = [ -- "derive_more", -- "itertools", --] -- - [[package]] - name = "fnv" - version = "1.0.7" -@@ -1329,37 +1168,6 @@ dependencies = [ - "cfg-if", - ] - --[[package]] --name = "io-lifetimes" --version = "1.0.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" --dependencies = [ -- "libc", -- "windows-sys 0.42.0", --] -- --[[package]] --name = "is-terminal" --version = "0.4.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" --dependencies = [ -- "hermit-abi", -- "io-lifetimes", -- "rustix", -- "windows-sys 0.42.0", --] -- --[[package]] --name = "itertools" --version = "0.10.5" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" --dependencies = [ -- "either", --] -- - [[package]] - name = "itoa" - version = "0.4.8" -@@ -1477,12 +1285,6 @@ dependencies = [ - "safemem", - ] - --[[package]] --name = "linux-raw-sys" --version = "0.1.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" -- - [[package]] - name = "lock_api" - version = "0.4.9" -@@ -1892,12 +1694,6 @@ dependencies = [ - "windows-sys 0.42.0", - ] - --[[package]] --name = "os_str_bytes" --version = "6.4.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" -- - [[package]] - name = "overload" - version = "0.1.1" -@@ -1929,31 +1725,6 @@ dependencies = [ - "system-deps 6.0.3", - ] - --[[package]] --name = "parallel-disk-usage" --version = "0.8.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e42b33f85d6d5a345c243fff616265c2b8263a44641e88e4afd80f32dbd7279b" --dependencies = [ -- "assert-cmp", -- "clap", -- "clap-utilities", -- "clap_complete", -- "derive_more", -- "fmt-iter", -- "itertools", -- "pipe-trait", -- "rayon", -- "rounded-div", -- "serde", -- "serde_json", -- "smart-default", -- "terminal_size", -- "text-block-macros", -- "thiserror", -- "zero-copy-pads", --] -- - [[package]] - name = "parking_lot" - version = "0.12.1" -@@ -2115,12 +1886,6 @@ version = "0.1.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - --[[package]] --name = "pipe-trait" --version = "0.4.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c1be1ec9e59f0360aefe84efa6f699198b685ab0d5718081e9f72aa2344289e2" -- - [[package]] - name = "pkg-config" - version = "0.3.26" -@@ -2432,12 +2197,6 @@ dependencies = [ - "windows 0.37.0", - ] - --[[package]] --name = "rounded-div" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "464c8fb0a126d6a0326baf6abf1aa62c2da0d5780aa781a81451d64f543f5e2f" -- - [[package]] - name = "rustc_version" - version = "0.3.3" -@@ -2456,20 +2215,6 @@ dependencies = [ - "semver 1.0.16", - ] - --[[package]] --name = "rustix" --version = "0.36.7" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" --dependencies = [ -- "bitflags", -- "errno", -- "io-lifetimes", -- "libc", -- "linux-raw-sys", -- "windows-sys 0.42.0", --] -- - [[package]] - name = "rustversion" - version = "1.0.11" -@@ -2658,7 +2403,7 @@ version = "1.5.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" - dependencies = [ -- "darling 0.13.4", -+ "darling", - "proc-macro2", - "quote", - "syn", -@@ -2747,17 +2492,6 @@ version = "1.10.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - --[[package]] --name = "smart-default" --version = "0.6.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" --dependencies = [ -- "proc-macro2", -- "quote", -- "syn", --] -- - [[package]] - name = "soup2" - version = "0.2.1" -@@ -2792,7 +2526,6 @@ version = "0.0.0" - dependencies = [ - "cocoa", - "objc", -- "parallel-disk-usage", - "raw-window-handle", - "regex", - "serde", -@@ -3200,31 +2933,6 @@ dependencies = [ - "utf-8", - ] - --[[package]] --name = "termcolor" --version = "1.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" --dependencies = [ -- "winapi-util", --] -- --[[package]] --name = "terminal_size" --version = "0.2.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cb20089a8ba2b69debd491f8d2d023761cbf196e999218c591fa1e7e15a21907" --dependencies = [ -- "rustix", -- "windows-sys 0.42.0", --] -- --[[package]] --name = "text-block-macros" --version = "0.1.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7f8b59b4da1c1717deaf1de80f0179a9d8b4ac91c986d5fd9f4a8ff177b84049" -- - [[package]] - name = "thin-slice" - version = "0.1.1" -@@ -3452,12 +3160,6 @@ version = "1.10.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" - --[[package]] --name = "unicode-width" --version = "0.1.10" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" -- - [[package]] - name = "url" - version = "2.3.1" -@@ -4036,18 +3738,6 @@ dependencies = [ - "libc", - ] - --[[package]] --name = "zero-copy-pads" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5649a5dce1370c707880332f781f6566883736a41861a5749890f4671d5746b6" --dependencies = [ -- "derive_builder", -- "derive_more", -- "fmt-iter", -- "unicode-width", --] -- - [[package]] - name = "zip" - version = "0.6.3" -diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml -index c930949..3ae2c83 100644 ---- a/src-tauri/Cargo.toml -+++ b/src-tauri/Cargo.toml -@@ -22,7 +22,6 @@ window-vibrancy = "0.3.2" - window-shadows = { git = "https://github.com/adileo/window-shadows" } - raw-window-handle = "0.5.0" - walkdir = "2" --parallel-disk-usage = "0.8.3" - regex = "1" - - [target."cfg(target_os = \"windows\")".dependencies] - diff --git a/pkgs/by-name/sq/squirreldisk/update-pdu-json-format.patch b/pkgs/by-name/sq/squirreldisk/update-pdu-json-format.patch deleted file mode 100644 index 88e168d576b5..000000000000 --- a/pkgs/by-name/sq/squirreldisk/update-pdu-json-format.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/src/components/FileLine.tsx b/src/components/FileLine.tsx -index e55f3bd..bd722d7 100644 ---- a/src/components/FileLine.tsx -+++ b/src/components/FileLine.tsx -@@ -65,7 +65,7 @@ export const FileLine = ({ - {/* {JSON.stringify(item.data)} */} - {item && - item.data && -- (item.data.data / mul / mul / mul).toFixed(2)}{" "} -+ (item.data.size / mul / mul / mul).toFixed(2)}{" "} - GB - - -diff --git a/src/d3chart.ts b/src/d3chart.ts -index 855886b..d85c682 100644 ---- a/src/d3chart.ts -+++ b/src/d3chart.ts -@@ -191,7 +191,7 @@ const updateData = ( - isDirectory: false, - name: "Smaller Items", - value: item.value || 0, -- data: item.value || 0, -+ size: item.value || 0, - children: [], - }; - accumulator = d3.hierarchy(v) as D3HierarchyDiskItem; -@@ -248,7 +248,7 @@ const updateData = ( - .ancestors() - .map((d) => d.data.name) - .reverse() -- .join("/")}\n${((d.data.data || 0) / mul / mul / mul).toFixed( -+ .join("/")}\n${((d.data.size || 0) / mul / mul / mul).toFixed( - 2 - )} GB` - ); -diff --git a/src/index.d.ts b/src/index.d.ts -index daa7233..81b5243 100644 ---- a/src/index.d.ts -+++ b/src/index.d.ts -@@ -5,7 +5,7 @@ interface DiskItem { - id: string; - name: string; - value: number; -- data: number; -+ size: number; - isDirectory: boolean; - children: Array; - } -diff --git a/src/pruneData.ts b/src/pruneData.ts -index 37e70d8..040e227 100644 ---- a/src/pruneData.ts -+++ b/src/pruneData.ts -@@ -18,7 +18,7 @@ export const itemMap = (obj: any, parent: any = null) => { - //recursive call to scan property - if (obj["children"].length > 0) { - obj.isDirectory = true; -- obj.value = obj.data; -+ obj.value = obj.size; - obj["children"].forEach((element: any) => { - itemMap(element, obj); - }); -@@ -31,13 +31,13 @@ const partition = (data: DiskItem) => { - const hierarchy = d3 - .hierarchy(data) - .sum(function (d) { -- return !d.children || d.children.length === 0 ? d.data : 0; -+ return !d.children || d.children.length === 0 ? d.size : 0; - }) - - // .sum(d => d.value) - // .sum((d: DiskItem) => (d.children ? d.data : d.data)) - // .sum(d => d.data ? 0 : d.value) -- .sort((a: any, b: any) => (b.data || 0) - (a.data || 0)); -+ .sort((a: any, b: any) => (b.size || 0) - (a.size || 0)); - // debugger; - const partition = d3 - .partition() diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5306fd25f574..481a736ce857 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2053,6 +2053,7 @@ mapAliases { springLobby = throw "springLobby has been removed, as it had been broken since 2023"; # Added 2025-09-16 sqlar = throw "'sqlar' has been removed, as it is umaintained upstream, and depends on fuse2. Consider using the sqlite builtin VACUUM"; sqlbag = throw "sqlbag has been removed because it has been marked as broken since May 2024."; # Added 2025-10-11 + squirreldisk = throw "'squirreldisk' has been removed as it depended on webkitgtk 4.0"; # Added 2026-06-07 src = throw "The \"src\" package has been renamed to \"simple-revision-control\". If you encounter this error and did not intend to use that package you may have a falsely constructed overlay."; # Added 2025-11-19 ssm-agent = throw "'ssm-agent' has been renamed to/replaced by 'amazon-ssm-agent'"; # Converted to throw 2025-10-27 stacer = throw "'stacer' has been removed because it was abandoned upstream and relied upon vulnerable software"; # Added 2025-11-08 From 27a1416e735b7aa6e07f659d177da980515ff383 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 01:03:20 -0400 Subject: [PATCH 13/19] xplorer: drop xplorer as-is is currently dependent on webkitgtk 4.0 and libsoup 2.4 (the former of which is dropped and the latter which will soon be) via Tauri v1, and has been marked broken since October 2025. It is also unmaintained in Nixpkgs. There is an experimental rewrite using Tauri v2 upstream, but it exhibits some odd behavior and we have elected not to repackage it. Someone may elect to resurrect this package using that rewrite in the future. --- pkgs/by-name/xp/xplorer/package.nix | 98 ----------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 98 deletions(-) delete mode 100644 pkgs/by-name/xp/xplorer/package.nix diff --git a/pkgs/by-name/xp/xplorer/package.nix b/pkgs/by-name/xp/xplorer/package.nix deleted file mode 100644 index d61102e6fe8d..000000000000 --- a/pkgs/by-name/xp/xplorer/package.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ - lib, - cmake, - dbus, - fetchFromGitHub, - fetchYarnDeps, - freetype, - gtk3, - libsoup_2_4, - stdenvNoCC, - yarnConfigHook, - yarnBuildHook, - nodejs, - openssl, - pkg-config, - rustPlatform, -}: - -let - - pname = "xplorer"; - version = "unstable-2023-03-19"; - - src = fetchFromGitHub { - owner = "kimlimjustin"; - repo = "xplorer"; - rev = "8d69a281cbceda277958796cb6b77669fb062ee3"; - sha256 = "sha256-VFRdkSfe2mERaYYtZlg9dvH1loGWVBGwiTRj4AoNEAo="; - }; - - frontend-build = stdenvNoCC.mkDerivation (finalAttrs: { - inherit version src; - pname = "xplorer-ui"; - - offlineCache = fetchYarnDeps { - yarnLock = src + "/yarn.lock"; - sha256 = "sha256-H37vD0GTSsWV5UH7C6UANDWnExTGh8yqajLn3y7P2T8="; - }; - nativeBuildInputs = [ - yarnConfigHook - yarnBuildHook - nodejs - ]; - yarnBuildScript = "prebuild"; - installPhase = '' - cp -r out $out - ''; - }); -in - -rustPlatform.buildRustPackage { - inherit version src pname; - - sourceRoot = "${src.name}/src-tauri"; - - cargoHash = "sha256-D7qgmxDYQEgOkEYKDSLA875bXeTKDvAntF7kB4esn24="; - - # copy the frontend static resources to final build directory - # Also modify tauri.conf.json so that it expects the resources at the new location - postPatch = '' - mkdir -p frontend-build - cp -R ${frontend-build}/src frontend-build - - substituteInPlace tauri.conf.json --replace '"distDir": "../out/src",' '"distDir": "frontend-build/src",' - ''; - - nativeBuildInputs = [ - cmake - pkg-config - ]; - buildInputs = [ - dbus - openssl - freetype - libsoup_2_4 - gtk3 - # webkitgtk_4_0 - ]; - - checkFlags = [ - # tries to mutate the parent directory - "--skip=test_file_operation" - ]; - - postInstall = '' - mv $out/bin/app $out/bin/xplorer - ''; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - description = "Customizable, modern file manager"; - homepage = "https://xplorer.space"; - license = lib.licenses.asl20; - maintainers = [ ]; - mainProgram = "xplorer"; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 481a736ce857..91fe4a01669c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2677,6 +2677,7 @@ mapAliases { xow_dongle-firmware = throw "'xow_dongle-firmware' has been renamed to/replaced by 'xone-dongle-firmware'"; # Added 2025-12-30 xp-pen-deco-01-v2-driver = warnAlias "'xp-pen-deco-01-v2-driver' has been replaced by 'xppen_4'. Consider using it with 'programs.xppen' module." xppen_4; # Added 2026-02-02 xp-pen-g430-driver = warnAlias "'xp-pen-g430-driver' has been replaced by 'xppen_3'. Consider using it with 'programs.xppen' module." xppen_3; # Added 2026-02-02 + xplorer = throw "'xplorer' has been removed as was unmaintained in Nixpkgs and needed upgrading to the experimental Tauri v2 rewrite, as the old version depended on webkitgtk 4.0"; # Added 2026-06-07 xsw = throw "'xsw' has been removed due to lack of upstream maintenance"; # Added 2025-08-22 xsynth-dssi = throw "'xsynth-dssi' was removed due to lack of upstream maintenance and relying on gtk2"; # Added 2025-12-02 xtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 From 478173a5ed92a45840010b6e8c41c66c4952cb14 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 7 Jun 2026 20:52:20 -0400 Subject: [PATCH 14/19] alexandria: drop This package is dependent on webkitgtk 4.0 and libsoup 2.4 via Tauri v1, and has been marked broken since October 2025. It has been unmaintained upstream since July 2025, so this is unlikely to change. --- pkgs/by-name/al/alexandria/package.nix | 76 -------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 76 deletions(-) delete mode 100644 pkgs/by-name/al/alexandria/package.nix diff --git a/pkgs/by-name/al/alexandria/package.nix b/pkgs/by-name/al/alexandria/package.nix deleted file mode 100644 index 7ada5f42977e..000000000000 --- a/pkgs/by-name/al/alexandria/package.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - rustPlatform, - lib, - fetchFromGitHub, - pkg-config, - # webkitgtk_4_0, - openssl, - nodejs, - npmHooks, - fetchNpmDeps, - gtk3, - wrapGAppsHook3, - cargo-tauri_1, - librsvg, - libappindicator-gtk3, -}: - -rustPlatform.buildRustPackage rec { - pname = "alexandria"; - version = "0.13.1"; - - src = fetchFromGitHub { - owner = "btpf"; - repo = "Alexandria"; - tag = "v${version}"; - hash = "sha256-18i3/HLTfhBSa9/c55dCOfFal+V40wcHcLoYt1dU+d0="; - fetchSubmodules = true; - }; - - npmDeps = fetchNpmDeps { - inherit src; - hash = "sha256-6r9bEY7e1Eef/0/CJ26ITpFJcCVUEKLrFx+TNEomLPE="; - }; - - cargoRoot = "src-tauri"; - buildAndTestSubdir = "src-tauri"; - - cargoHash = "sha256-VX/G4dF9DhlGfifp4xf9xkXli7BHFtKY2+HaMHqqPiA="; - - env = { - OPENSSL_NO_VENDOR = 1; - }; - - nativeBuildInputs = [ - cargo-tauri_1.hook - nodejs - npmHooks.npmConfigHook - pkg-config - rustPlatform.bindgenHook - wrapGAppsHook3 - ]; - - buildInputs = [ - openssl - # webkitgtk_4_0 - gtk3 - librsvg - libappindicator-gtk3 - ]; - - meta = { - # webkitgtk_4_0 was removed - broken = true; - homepage = "https://github.com/btpf/Alexandria"; - changelog = "https://github.com/btpf/Alexandria/releases/tag/v${version}"; - description = "Minimalistic cross-platform eBook reader"; - maintainers = with lib.maintainers; [ bot-wxt1221 ]; - mainProgram = "alexandria"; - platforms = [ - "x86_64-linux" - "aarch64-darwin" - "x86_64-darwin" - ]; - license = lib.licenses.gpl3Plus; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 91fe4a01669c..635a519c1362 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -283,6 +283,7 @@ mapAliases { akkoma-emoji = throw "'akkoma-emoji' has been renamed to/replaced by 'blobs_gg'"; # Converted to throw 2025-10-27 akkoma-frontends.admin-fe = throw "'akkoma-frontends.admin-fe' has been renamed to/replaced by 'akkoma-admin-fe'"; # Converted to throw 2025-10-27 akkoma-frontends.akkoma-fe = throw "'akkoma-frontends.akkoma-fe' has been renamed to/replaced by 'akkoma-fe'"; # Converted to throw 2025-10-27 + alexandria = throw "'alexandria' has been removed as it was unmaintained upstream and depended on webkitgtk 4.0 and libsoup 2.4 via Tauri v1"; # Added 2026-06-07 amazon-ecs-cli = throw "'amazon-ecs-cli' has been removed due to being unmaintained upstream"; # Added 2026-01-19 amazon-qldb-shell = throw "'amazon-qldb-shell' has been removed due to being unmaintained upstream"; # Added 2025-07-30 AMB-plugins = amb-plugins; # Added 2026-02-08 From 5eea0aaba059e410cbbcb72d95cb102bd5d6b748 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 7 Jun 2026 20:59:02 -0400 Subject: [PATCH 15/19] cargo-tauri_1: drop Tauri v1 requires webkitgtk 4.0 and libsoup 2.4 to be inputs of all of its users. The former was dropped in August 2025 and the latter is now being dropped. Given that it is unusable in-tree, and has no in-tree dependents besides alexandria (which is now dropped) we remove it here. --- pkgs/by-name/ca/cargo-tauri_1/package.nix | 68 ----------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 68 deletions(-) delete mode 100644 pkgs/by-name/ca/cargo-tauri_1/package.nix diff --git a/pkgs/by-name/ca/cargo-tauri_1/package.nix b/pkgs/by-name/ca/cargo-tauri_1/package.nix deleted file mode 100644 index 167596c9f2fc..000000000000 --- a/pkgs/by-name/ca/cargo-tauri_1/package.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - lib, - stdenv, - bzip2, - pkg-config, - rustPlatform, - xz, - zstd, - cargo-tauri, -}: - -cargo-tauri.overrideAttrs ( - finalAttrs: oldAttrs: { - version = "1.6.6"; - - src = oldAttrs.src.override { - hash = "sha256-UE/mJ0WdbVT4E1YuUCtu80UB+1WR+KRWs+4Emy3Nclc="; - }; - - patches = [ ]; - - postPatch = ""; - - # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at - # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 - sourceRoot = "${finalAttrs.src.name}/tooling/cli"; - - cargoDeps = rustPlatform.fetchCargoVendor { - inherit (finalAttrs) - pname - version - src - sourceRoot - ; - hash = "sha256-kAaq6Kam3e5n8569Y4zdFEiClI8q97XFX1hBD7NkUqw="; - }; - - nativeBuildInputs = oldAttrs.nativeBuildInputs or [ ] ++ [ pkg-config ]; - - buildInputs = [ - # Required by `zip` in `tauri-bundler` - bzip2 - zstd - ] - # Required by `rpm` in `tauri-bundler` - ++ lib.optionals stdenv.hostPlatform.isLinux [ xz ]; - - env = { - ZSTD_SYS_USE_PKG_CONFIG = true; - }; - - passthru = { - inherit (oldAttrs.passthru) hook gst-plugin; - tests = { inherit (oldAttrs.passthru.tests) version; }; - }; - - meta = { - inherit (oldAttrs.meta) - description - homepage - changelog - license - maintainers - mainProgram - ; - }; - } -) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 635a519c1362..88297921e6ee 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -435,6 +435,7 @@ mapAliases { cargo-espflash = throw "'cargo-espflash' has been renamed to/replaced by 'espflash'"; # Converted to throw 2025-10-27 cargo-raze = throw "'cargo-raze' has been removed, as it is unmaintained"; # Added 2026-05-04 cargo-sync-readme = throw "'cargo-sync-readme' has been removed because upstream 404s"; # Converted to throw 2025-12-18 + cargo-tauri_1 = throw "'cargo-tauri_1' has been removed as it required webkitgtk 4.0 and libsoup 2.4"; # Added 2026-06-07 cargonode = throw "'cargonode' has been removed due to lack of upstream maintenance"; # Added 2025-06-18 carp = throw "'carp' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 cask = throw "'cask' has been renamed to/replaced by 'emacs.pkgs.cask'"; # Converted to throw 2025-10-27 From 214e546fc4fe3882b3c221b1c78194cc4b3717f3 Mon Sep 17 00:00:00 2001 From: whispers Date: Mon, 8 Jun 2026 11:03:31 -0400 Subject: [PATCH 16/19] haskellPackages: regenerate hackage packages --- .../transitive-broken.yaml | 20 +------------------ .../haskell-modules/hackage-packages.nix | 20 +------------------ 2 files changed, 2 insertions(+), 38 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index fa1a48b5ba95..a4af0c13080c 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -280,7 +280,6 @@ dont-distribute-packages: - Bitly - bitly-cli - bitmaps - - bits-extra - bittorrent - bla - blakesum-demo @@ -1189,6 +1188,7 @@ dont-distribute-packages: - grapefruit-records - grapefruit-ui - grapefruit-ui-gtk + - grapesy-etcd - graph-rewriting-cl - graph-rewriting-gl - graph-rewriting-lambdascope @@ -1708,11 +1708,8 @@ dont-distribute-packages: - huzzy - hw-all - hw-balancedparens - - hw-bits - hw-eliasfano - hw-excess - - hw-int - - hw-ip - hw-json - hw-json-demo - hw-json-lens @@ -1721,7 +1718,6 @@ dont-distribute-packages: - hw-kafka-avro - hw-rankselect - hw-simd - - hw-streams - hw-succinct - hw-uri - hworker-ses @@ -1763,20 +1759,6 @@ dont-distribute-packages: - ihaskell-inline-r - ihaskell-rlangqq - ihaskell-symtegration - - ihp - - ihp-datasync - - ihp-datasync-typescript - - ihp-graphql - - ihp-hspec - - ihp-ide - - ihp-job-dashboard - - ihp-mail - - ihp-schema-compiler - - ihp-sitemap - - ihp-ssc - - ihp-typed-sql - - ihp-welcome - - ihp-zip - ihttp - imap - imbib diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index b37b61acb201..5c4085d2211d 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -110622,7 +110622,6 @@ self: { ]; description = "Useful bitwise operations"; license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -289319,6 +289318,7 @@ self: { ]; description = "grapesy-etcd - GRPC interface to etcd"; license = lib.meta.getLicenseFromSpdxId "Apache-2.0"; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -376777,7 +376777,6 @@ self: { ]; description = "Bit manipulation"; license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -377536,7 +377535,6 @@ self: { ]; description = "Additional facilities for Integers"; license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -377608,7 +377606,6 @@ self: { doHaddock = false; description = "Library for manipulating IP addresses and CIDR blocks"; license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; mainProgram = "hw-ip"; } ) { }; @@ -379301,7 +379298,6 @@ self: { ]; description = "Primitive functions and data types"; license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -386392,7 +386388,6 @@ self: { ]; description = "Haskell Web Framework"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -386561,7 +386556,6 @@ self: { ]; description = "IHP DataSync Framework"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -386603,7 +386597,6 @@ self: { ]; description = "TypeScript code generation for IHP DataSync"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; mainProgram = "generate-datasync-types"; } ) { }; @@ -386658,7 +386651,6 @@ self: { ]; description = "GraphQL support for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -386696,7 +386688,6 @@ self: { ]; description = "Test helpers for IHP apps"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387034,7 +387025,6 @@ self: { ]; description = "Dev tools for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -387106,7 +387096,6 @@ self: { ]; description = "Dashboard for IHP job runners"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387179,7 +387168,6 @@ self: { ]; description = "Email support for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387561,7 +387549,6 @@ self: { ]; description = "Lightweight schema compiler for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; mainProgram = "build-generated-code"; } ) { }; @@ -387605,7 +387592,6 @@ self: { ]; description = "SEO"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387651,7 +387637,6 @@ self: { ]; description = "Server Side Components for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387720,7 +387705,6 @@ self: { ]; description = "Compile-time typed SQL quasiquoter for IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387748,7 +387732,6 @@ self: { ]; description = "IHP Welcome Controller"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -387774,7 +387757,6 @@ self: { ]; description = "Support for making ZIP archives with IHP"; license = lib.meta.getLicenseFromSpdxId "MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; From 8b79d46084a37016cf96bde6a86e831f2886f287 Mon Sep 17 00:00:00 2001 From: whispers Date: Mon, 8 Jun 2026 09:50:15 -0400 Subject: [PATCH 17/19] haskellPackages.{gi-soup2,spike}: mark broken We are dropping libsoup 2.4 due to it having been long insecure. There are two remaining dependents in the Hackage set: - spike is a 15 year old "experimental web browser" - gi-soup2 is autogenerated bindings for libsoup 2.4 Neither of these justify being kept around, so we mark them broken so the package set can continue to evaluate. --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 2 ++ pkgs/development/haskell-modules/hackage-packages.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 3e2852cd6669..a0e6893938f2 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -2198,6 +2198,7 @@ broken-packages: - gi-gtksheet # failure in job https://hydra.nixos.org/build/233211386 at 2023-09-02 - gi-ibus # failure in job https://hydra.nixos.org/build/233220272 at 2023-09-02 - gi-keybinder # failure in job https://hydra.nixos.org/build/265273447 at 2024-07-14 + - gi-soup2 # depends on libsoup 2.4, which has been dropped from Nixpkgs - gi-webkit # failure in job https://hydra.nixos.org/build/307610609 at 2025-09-19 - gi-webkit2webextension # failure in job https://hydra.nixos.org/build/254424710 at 2024-03-31 - gi-webkitwebprocessextension # failure in job https://hydra.nixos.org/build/233227647 at 2023-09-02 @@ -5952,6 +5953,7 @@ broken-packages: - speculation # failure in job https://hydra.nixos.org/build/233211559 at 2023-09-02 - sphinx-cli # failure in job https://hydra.nixos.org/build/295097187 at 2025-04-22 - sphinxesc # failure in job https://hydra.nixos.org/build/233194825 at 2023-09-02 + - spike # depends on libsoup 2.4, which has been dropped from Nixpkgs - spir-v # failure in job https://hydra.nixos.org/build/233191427 at 2023-09-02 - spiros # failure in job https://hydra.nixos.org/build/233249615 at 2023-09-02 - splay # failure in job https://hydra.nixos.org/build/233217055 at 2023-09-02 diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 5c4085d2211d..a8e594f12c1f 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -274676,6 +274676,7 @@ self: { description = "Libsoup 2.4.x bindings"; license = lib.licenses.lgpl21Only; hydraPlatforms = lib.platforms.none; + broken = true; } ) { inherit (pkgs) libsoup_2_4; }; @@ -650795,6 +650796,7 @@ self: { license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; mainProgram = "spike"; + broken = true; } ) { inherit (pkgs) libsoup_2_4; }; From 7ab90434751fa1dbd05f0ed8f9ace7bd1d3c5ad9 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 31 May 2026 01:55:15 -0400 Subject: [PATCH 18/19] libsoup_2_4: drop libsoup is end-of-life, and has many known unfixed security issues. The package was marked vulnerable in July 2025, and all in-tree consumers have either been migrated off, marked broken, or dropped. There remains very little reason to keep this package around. --- .../development/libraries/libsoup/default.nix | 169 ------------------ pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - .../top-level/pkg-config/pkg-config-data.json | 5 - 4 files changed, 1 insertion(+), 176 deletions(-) delete mode 100644 pkgs/development/libraries/libsoup/default.nix diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix deleted file mode 100644 index d8710b19efb7..000000000000 --- a/pkgs/development/libraries/libsoup/default.nix +++ /dev/null @@ -1,169 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - fetchpatch, - glib, - libxml2, - meson, - ninja, - pkg-config, - gnome, - libsysprof-capture, - gobject-introspection, - vala, - libpsl, - brotli, - gnomeSupport ? true, - sqlite, - buildPackages, - withIntrospection ? - lib.meta.availableOn stdenv.hostPlatform gobject-introspection - && stdenv.hostPlatform.emulatorAvailable buildPackages, -}: - -stdenv.mkDerivation rec { - pname = "libsoup"; - version = "2.74.3"; - - outputs = [ - "out" - "dev" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/libsoup/${lib.versions.majorMinor version}/libsoup-${version}.tar.xz"; - sha256 = "sha256-5Ld8Qc/EyMWgNfzcMgx7xs+3XvfFoDQVPfFBP6HZLxM="; - }; - - patches = [ - (fetchpatch { - name = "CVE-2024-52530.patch"; - url = "https://gitlab.gnome.org/GNOME/libsoup/-/commit/04df03bc092ac20607f3e150936624d4f536e68b.patch"; - hash = "sha256-WRLiW2B/xxr3hW0nmeRNrXtZL44S0nTptPRdTqBV8Iw="; - }) - (fetchpatch { - name = "CVE-2024-52531_1.patch"; - url = "https://git.launchpad.net/ubuntu/+source/libsoup2.4/patch/?id=4ce2f2dc8ba0c458edce0f039a087fb3ac57787e"; - hash = "sha256-wg1qz8xHcnTiinBTF0ECMkrsD8W6M4IbiKGgbJ1gp9o="; - }) - (fetchpatch { - name = "CVE-2024-52531_2.patch"; - url = "https://git.launchpad.net/ubuntu/+source/libsoup2.4/patch/?id=5866d63aed3500700c5f1d2868ff689bb2ba8b82"; - hash = "sha256-e/VXtKX+agCw+ESGbgQ83NaVNbB3jLTxL7+VgNGbZ7U="; - }) - (fetchpatch { - name = "CVE-2024-52532_1.patch"; - url = "https://git.launchpad.net/ubuntu/+source/libsoup2.4/patch/?id=98e096a0d2142e3c63de2cca7d4023f9c52ed2c6"; - hash = "sha256-h7k+HpcKlsVYlAONxTOiupMhsMkf2v246ouxLejurcY="; - }) - (fetchpatch { - name = "CVE-2024-52532_2.patch"; - url = "https://git.launchpad.net/ubuntu/+source/libsoup2.4/patch/?id=030e72420e8271299c324273f393d92f6d4bb53e"; - hash = "sha256-0BEJpEKgjmKACf53lHMglxhmevKsSXR4ejEoTtr4wII="; - }) - ]; - - depsBuildBuild = [ - pkg-config - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - ] - ++ lib.optionals withIntrospection [ - gobject-introspection - vala - ]; - - buildInputs = [ - sqlite - libpsl - glib.out - brotli - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - libsysprof-capture - ]; - - propagatedBuildInputs = [ - glib - libxml2 - ]; - - mesonFlags = [ - "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency - "-Dgssapi=disabled" - "-Dvapi=${if withIntrospection then "enabled" else "disabled"}" - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" - "-Dgnome=${lib.boolToString gnomeSupport}" - "-Dntlm=disabled" - ] - ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - "-Dsysprof=disabled" - ]; - - env.NIX_CFLAGS_COMPILE = "-lpthread"; - - doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200) - separateDebugInfo = true; - - postPatch = '' - # fixes finding vapigen when cross-compiling - # the commit is in 3.0.6 - # https://gitlab.gnome.org/GNOME/libsoup/-/commit/5280e936d0a76f94dbc5d8489cfbdc0a06343f65 - substituteInPlace meson.build \ - --replace "required: vapi_opt)" "required: vapi_opt, native: false)" - - patchShebangs libsoup/ - ''; - - passthru = { - updateScript = gnome.updateScript { - attrPath = "libsoup_2_4"; - packageName = "libsoup"; - versionPolicy = "odd-unstable"; - freeze = true; - }; - }; - - meta = { - description = "HTTP client/server library for GNOME"; - homepage = "https://gitlab.gnome.org/GNOME/libsoup"; - license = lib.licenses.lgpl2Plus; - platforms = lib.platforms.unix ++ lib.platforms.windows; - pkgConfigModules = [ - "libsoup-2.4" - "libsoup-gnome-2.4" - ]; - knownVulnerabilities = [ - '' - libsoup 2 is EOL, with many known unfixed CVEs. - The last release happened 2023-10-11, - with few security backports since and no stable release. - - Vulnerabilities likely include (incomplete list): - - CVE-2025-4948: https://gitlab.gnome.org/GNOME/libsoup/-/issues/449 - - CVE-2025-46421: https://gitlab.gnome.org/GNOME/libsoup/-/issues/439 - - CVE-2025-32914: https://gitlab.gnome.org/GNOME/libsoup/-/issues/436 - - CVE-2025-32913: https://gitlab.gnome.org/GNOME/libsoup/-/issues/435 - - CVE-2025-32912: https://gitlab.gnome.org/GNOME/libsoup/-/issues/434 - - CVE-2025-32911: https://gitlab.gnome.org/GNOME/libsoup/-/issues/433 - - CVE-2025-32910: https://gitlab.gnome.org/GNOME/libsoup/-/issues/432 - - CVE-2025-32909: https://gitlab.gnome.org/GNOME/libsoup/-/issues/431 - - CVE-2025-32907: https://gitlab.gnome.org/GNOME/libsoup/-/issues/428 - - CVE-2025-32053: https://gitlab.gnome.org/GNOME/libsoup/-/issues/426 - - CVE-2025-32052: https://gitlab.gnome.org/GNOME/libsoup/-/issues/425 - - CVE-2025-32050: https://gitlab.gnome.org/GNOME/libsoup/-/issues/424 - - CVE-2024-52531: https://gitlab.gnome.org/GNOME/libsoup/-/issues/423 - - CVE-2025-2784: https://gitlab.gnome.org/GNOME/libsoup/-/issues/422 - - These vulnerabilities were fixed in libsoup 3, - with the vulnerable code present in libsoup 2 versions. - '' - ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 88297921e6ee..892f0c8b0c09 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1196,6 +1196,7 @@ mapAliases { libSM = libsm; # Added 2026-02-04 libsmartcols = warnAlias "'util-linux' should be used instead of 'libsmartcols'" util-linux; # Added 2025-09-03 libsoup = throw "'libsoup' has been renamed to/replaced by 'libsoup_2_4'"; # Converted to throw 2025-10-27 + libsoup_2_4 = throw "'libsoup_2_4' has been removed as it was end-of-life and has many known unfixed security issues. Consider migrating to 'libsoup_3' instead"; # Added 2026-06-07 libtap = throw "libtap has been removed, as it was unused and deprecated by its author in favour of cmocka"; # Added 2025-09-16 libtcod = throw "'libtcod' has been removed due to being unused and having an incompatible build-system"; # Added 2025-10-04 libtensorflow-bin = throw "'libtensorflow-bin' has been renamed to/replaced by 'libtensorflow'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6030ccf0a383..387694a1c554 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6440,8 +6440,6 @@ with pkgs; libsigcxx30 = callPackage ../development/libraries/libsigcxx/3.0.nix { }; - libsoup_2_4 = callPackage ../development/libraries/libsoup { }; - libsoup_3 = callPackage ../development/libraries/libsoup/3.x.nix { }; libtorrent-rasterbar = libtorrent-rasterbar-2_0_x; diff --git a/pkgs/top-level/pkg-config/pkg-config-data.json b/pkgs/top-level/pkg-config/pkg-config-data.json index 1218479881a0..fd362323c12b 100644 --- a/pkgs/top-level/pkg-config/pkg-config-data.json +++ b/pkgs/top-level/pkg-config/pkg-config-data.json @@ -566,11 +566,6 @@ "libsodium" ] }, - "libsoup-gnome-2.4": { - "attrPath": [ - "libsoup_2_4" - ] - }, "libssh2": { "attrPath": [ "libssh2" From 1e4bb05fbdca28db4047fe270851b21357e66ad5 Mon Sep 17 00:00:00 2001 From: whispers Date: Mon, 8 Jun 2026 11:31:16 -0400 Subject: [PATCH 19/19] haskellPackages: regenerate hackage packages after libsoup_2_4 drop --- .../configuration-hackage2nix/transitive-broken.yaml | 11 +++++++++++ pkgs/development/haskell-modules/hackage-packages.nix | 11 +++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index a4af0c13080c..3c0778f58658 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -730,6 +730,7 @@ dont-distribute-packages: - dhscanner-kbgen - dia-functions - diagrams-html5 + - diagrams-reflex - diagrams-wx - dialog - difference-monoid @@ -1102,6 +1103,7 @@ dont-distribute-packages: - ghc-plugs-out - ghc-session - ghci-pretty + - ghcjs-dom-hello - ghcjs-dom-webkit - ghcjs-hplay - ght @@ -1109,6 +1111,7 @@ dont-distribute-packages: - gi-ges - gi-gstpbutils - gi-gtk-declarative-app-simple + - gi-webkit2 - git-config - git-fmt - git-gpush @@ -1864,6 +1867,8 @@ dont-distribute-packages: - jordan-servant-client - jordan-servant-openapi - jordan-servant-server + - jsaddle-hello + - jsaddle-webkit2gtk - jsaddle-webkitgtk - jsc - JsContracts @@ -2015,6 +2020,7 @@ dont-distribute-packages: - legion-discovery - legion-discovery-client - legion-extra + - leksah - leksah-server - lens-utils - lenz @@ -2850,9 +2856,12 @@ dont-distribute-packages: - refh - reflex-animation - reflex-backend-wai + - reflex-dom + - reflex-dom-colonnade - reflex-gloss-scene - reflex-libtelnet - reflex-localize + - reflex-localize-dom - reflex-monad-auth - refractor - refurb @@ -3408,6 +3417,7 @@ dont-distribute-packages: - techlab - telegram-bot - telegram-raw-api + - templates - temporal-sdk - ten-lens - ten-unordered-containers @@ -3485,6 +3495,7 @@ dont-distribute-packages: - trasa-client - trasa-extra - trasa-form + - trasa-reflex - trasa-server - trasa-th - TreeCounter diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index a8e594f12c1f..e4046f6bc884 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -197730,6 +197730,7 @@ self: { ]; description = "reflex backend for diagrams drawing EDSL"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -274678,7 +274679,7 @@ self: { hydraPlatforms = lib.platforms.none; broken = true; } - ) { inherit (pkgs) libsoup_2_4; }; + ) { libsoup_2_4 = null; }; gi-soup3 = callPackage ( { @@ -427963,6 +427964,7 @@ self: { ]; description = "Haskell IDE written in Haskell"; license = "GPL"; + hydraPlatforms = lib.platforms.none; mainProgram = "leksah"; } ) { inherit (pkgs) gtk3; }; @@ -584909,6 +584911,7 @@ self: { ]; description = "Functional Reactive Web Apps with Reflex"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.maralorn ]; } ) { }; @@ -584980,6 +584983,7 @@ self: { ]; description = "Use colonnade with reflex-dom"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -586042,6 +586046,7 @@ self: { description = "Helper widgets for reflex-localize"; license = lib.licenses.mit; badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -650798,7 +650803,7 @@ self: { mainProgram = "spike"; broken = true; } - ) { inherit (pkgs) libsoup_2_4; }; + ) { libsoup_2_4 = null; }; spine = callPackage ( { mkDerivation, base }: @@ -693001,6 +693006,7 @@ self: { ]; description = "Out of the box reflex-dom elements"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -714350,6 +714356,7 @@ self: { ]; description = "Reactive Type Safe Routing"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; } ) { };