Skip to content

webkitgtk_4_0: drop#450065

Merged
jtojnar merged 7 commits intomasterfrom
wip-no-webkitgtk_4_0
Oct 18, 2025
Merged

webkitgtk_4_0: drop#450065
jtojnar merged 7 commits intomasterfrom
wip-no-webkitgtk_4_0

Conversation

@jtojnar
Copy link
Member

@jtojnar jtojnar commented Oct 8, 2025

libsoup 2 is unmaintained so WebkitGTK decided to drop support for it in next release in March 2026:
https://discourse.gnome.org/t/webkitgtk-is-removing-support-for-libsoup-2/31873

Since the package is security critical, we backport all updates to stable.
Let’s remove it before branch-off to avoid breaking stable when that version is backported.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@LunNova
Copy link
Member

LunNova commented Oct 8, 2025

(Replying here to avoid a thread on an issue with many subscribers)

… I would like some help with #450065

What help do you need?

@jtojnar
Copy link
Member Author

jtojnar commented Oct 8, 2025

We need to either port each package referencing webkitgtk_4_0 to webkitgtk_4_1 or drop it.

If the package does not have any other transitive dependency on libsoup_2_4 porting should be trivial – it is API compatible so you can just replace pkg-config name in the build system and in gi.require_version (example).

Symbols from libsoup_2_4 and libsoup_3 (that would be brought by webkitgtk_4_1) conflict so if the webview feature cannot be disabled, dropping the package will be the only option.

@jtojnar jtojnar moved this from To do to In progress in Picking up garbage Oct 8, 2025
@LordGrimmauld
Copy link
Contributor

We could technically just bump everything to webkitgtk_4_1 and add a meta.broken entry. That is not great, but may make sense for things we expect to update eventually (e.g. cinny-desktop, i am still hoping that one upgrades to tauri v2)

@jtojnar

This comment was marked as resolved.

@marius851000
Copy link
Contributor

marius851000 commented Oct 8, 2025

Already removing it from skytemple #449192
It didn't worked when I tried with 4.1, but I suspect it might instead be something wrong with how webkit communicate its framebuffer, but I don't really want to spend the time looking at the source of the problem for now (I haven't tried with 4.0. Webkit is a very optional dependancy)

This was referenced Oct 8, 2025
@ryand56
Copy link
Member

ryand56 commented Oct 8, 2025

cinny-desktop has been waiting on this. cinnyapp/cinny-desktop#429
It currently depends on the insecure soup2-sys crate.

Bumping webkitgtk is not enough. It has to be updated to support Tauri v2

@PerchunPak PerchunPak mentioned this pull request Oct 8, 2025
13 tasks
@bobby285271 bobby285271 mentioned this pull request Oct 8, 2025
13 tasks
@linsui linsui mentioned this pull request Oct 9, 2025
13 tasks
@misuzu misuzu mentioned this pull request Oct 9, 2025
13 tasks
@vcunat
Copy link
Member

vcunat commented Oct 9, 2025

The remains could be later just added into ZHF regressions, and then perhaps marked as broken if not resolved during ZHF.

@sternenseemann

This comment was marked as resolved.

@jtojnar

This comment was marked as resolved.

@jtojnar jtojnar force-pushed the wip-no-webkitgtk_4_0 branch from 6eb54b5 to 7b0b419 Compare October 9, 2025 23:39
@jtojnar
Copy link
Member Author

jtojnar commented Oct 9, 2025

We could technically just bump everything to webkitgtk_4_1 and add a meta.broken entry. That is not great, but may make sense for things we expect to update eventually (e.g. cinny-desktop, i am still hoping that one upgrades to tauri v2)

Good idea, did that. Thanks.

@jtojnar jtojnar marked this pull request as ready for review October 9, 2025 23:40
@jtojnar jtojnar force-pushed the wip-no-webkitgtk_4_0 branch from 1744efc to 2aefa67 Compare October 13, 2025 23:16
@jtojnar
Copy link
Member Author

jtojnar commented Oct 13, 2025

Well, currently that just comments out all webkitgtk_4_0, it doesn't replace them with webkitgtk_4_1

Thanks. Reworded.

As you currently mark these packages as broken, they will not appear during normal ZHF workflows.

I decided to just mark them as broken myself since they were already marked as insecure and switching them to webkitgtk_4_1 might lead to successful builds with runtime issues.

@jtojnar jtojnar force-pushed the wip-no-webkitgtk_4_0 branch from 2aefa67 to 2216040 Compare October 14, 2025 21:59
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Oct 15, 2025
jtojnar and others added 7 commits October 18, 2025 03:05
hackage2nix can't run if there are unrecoverable errors while generating
the nixpkgs package Nix. To create this change, I temporarily added
webkitgtk_4_0 = null to all-packages.nix to solve those errors. Then
running ./maintainers/scripts/haskell/regenerate-hackage-packages.sh --fast
effects the desired change.

See also NixOS/cabal2nix#674.
Unused and it depends on `webkitgtk_4_0` about to be dropped.
We are removing `webkitgtk_4_0` let’s switch to 4.1 since emacs supports both.

Though the build system caps it to unmaintained versions:

    > checking for webkit2gtk-4.1 >= 2.12 webkit2gtk-4.1 < 2.41.92... no
    > checking for webkit2gtk-4.0 >= 2.12 webkit2gtk-4.0 < 2.41.92... no
    > configure: error: xwidgets requested but WebKitGTK+ or WebKit framework not found.

Let’s also mark webkitgtk support as broken.

(It is disabled by default since a755ead.)

Co-authored-by: Lin Jian <me@linj.tech>
`webkitgtk_4_0` was already transitively insecure because of `libsoup_2_4` and it will be removed soon.

Ideally, we would just replace it with `libsoup_3`-based `webkitgtk_4_1`
but it is unclear if they would work with the 4.1 ABI. At best, the programs
would only be looking for 4.0, failing to build or start, at worst there
might be conflicts with libsoup 2 symbols if that is pulled in by anything
or crashes that will only happen after certain action.

Let’s mark the packages as broken to ensure human intervention.
libsoup 2 is unmaintained so WebkitGTK decided to drop support for it in next release in March 2026:
https://discourse.gnome.org/t/webkitgtk-is-removing-support-for-libsoup-2/31873

Since the package is security critical, we backport all updates to stable.
Let’s remove it before branch-off to avoid breaking stable when that version is backported.
@jtojnar jtojnar force-pushed the wip-no-webkitgtk_4_0 branch from 2216040 to a8b1837 Compare October 18, 2025 01:06
@nixpkgs-ci nixpkgs-ci bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Oct 18, 2025
Copy link
Contributor

@LordGrimmauld LordGrimmauld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff looks generally very reasonable. You are being inconsistent in whether you comment or remove webkitgtk_4_0 from package arguments, but that is a minor thing. Tbh i'd be happy to merge this soon.

pkg-config,
gtk3,
libsoup_2_4,
webkitgtk_4_0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason why you removed this but commented the other occurrences? Not a big deal, but just a little inconsistent.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am removing it when it's in the last position because otherwise, formatter will handle it weirdly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fwiw, this was just fixed in nixfmt. It should be fine on the next release

freetype,
libsoup_2_4,
openssl,
webkitgtk_4_0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

udevCheckHook,
gtk3,
libsoup_2_4,
webkitgtk_4_0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here

libopus,
curl,
gtk3,
webkitgtk_4_0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here... I guess it is really very mixed... Oh well

@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Oct 18, 2025
@jtojnar jtojnar added this pull request to the merge queue Oct 18, 2025
Merged via the queue into master with commit 944f141 Oct 18, 2025
29 of 31 checks passed
@jtojnar jtojnar deleted the wip-no-webkitgtk_4_0 branch October 18, 2025 20:18
@github-project-automation github-project-automation bot moved this from In progress to Done in Picking up garbage Oct 18, 2025
sternenseemann added a commit to NixOS/cabal2nix that referenced this pull request Oct 18, 2025
@PowerUser64 PowerUser64 mentioned this pull request Oct 20, 2025
13 tasks
mhutter added a commit to mhutter/nix that referenced this pull request Oct 20, 2025
Nixpkgs has removed webkit 4.0 (which is outdated but required by Citrix
Workspace), hence importing the nixpkgs repo commit just before the
removal to make sure Citrix Workspace can still be built.

See: NixOS/nixpkgs#450065

Signed-off-by: Manuel Hutter <manuel@hutter.io>
khaneliman added a commit to khaneliman/khanelinix that referenced this pull request Oct 21, 2025
GetPsyched added a commit to GetPsyched/homeless-shelter that referenced this pull request Oct 23, 2025
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/5a21f4819ee1be645f46d6b255d49f4271ef6723?narHash=sha256-G104PUPKBgJmcu4NWs0LUaPpSOTD4jiq4mamLWu3Oc0%3D' (2025-09-30)
  → 'github:nix-community/home-manager/9b4a2a7c4fbd75b422f00794af02d6edb4d9d315?narHash=sha256-IwpfaKg5c/WWQiy8b5QGaVPMvoEQ2J6kpwRFdpVpBNQ%3D' (2025-10-21)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/e087756cf4abbe1a34f3544c480fc1034d68742f?narHash=sha256-wPd5oGvBBpUEzMF0kWnXge0WITNsITx/aGI9qLHgJ4g%3D' (2025-09-30)
  → 'github:nixos/nixos-hardware/d6645c340ef7d821602fd2cd199e8d1eed10afbc?narHash=sha256-2m1S4jl%2BGEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU%3D' (2025-10-20)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e9f00bd893984bc8ce46c895c3bf7cac95331127?narHash=sha256-0m27AKv6ka%2Bq270dw48KflE0LwQYrO7Fm4/2//KCVWg%3D' (2025-09-28)
  → 'github:nixos/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)

Pin older nixpkgs for Citrix to build.
See: NixOS/nixpkgs#450065
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: emacs Text editor 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons.

Projects

Development

Successfully merging this pull request may close these issues.