Subject: [bug#66480] [PATCH gnome-team v2 2/2] gnu: Make webkitgtk-next the new webkitgtk.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 12 Oct 2023 08:25:26 +0200

As of version 2.42.0, the WebKit 6.0 typelib is considered stable.
With GNOME itself moving to GTK4 as time marches on, we should reflect
the fact that this is the preferred Webkit for future applications.

* gnu/packages/webkit.scm (webkitgtk-next): Remove variable.  Inline logic…
(webkitgtk): … here.  Move old value …
(webkitgtk-for-gtk3): … here.
(webkitgtk-with-libsoup2): Inherit from webkitgtk-for-gtk3.
* gnu/packages/geo.scm (gnome-maps): Adjust accordingly.
* gnu/packages/gnome.scm (gnome-initial-setup, sushi)
(cambalache, devhelp, devhelp-with-libsoup2, evolution-data-server)
(evolution-data-server-3.44, lollypop, evolution, gnome-boxes)
(geary, komikku): Likewise.
* gnu/packages/guile-xyz.scm (guile-gi, nomad): Likewise.
* gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Likewise.
* gnu/packages/mail.scm (balsa): Likewise.
* gnu/packages/mate.scm (atril): Likewise.
* gnu/packages/music.scm (ctrlr): Likewise.
* gnu/packages/rednotebook.scm (rednotebook): Likewise.
* gnu/packages/syndication.scm (gfeeds): Likewise.
* gnu/packages/telegram.scm (telegram-desktop): Likewise.
* gnu/packages/vnc.scm (remmina): Likewise.
* gnu/packages/web-browsers.scm (nyxt): Likewise.
---
 gnu/packages/geo.scm          |  2 +-
 gnu/packages/gnome.scm        | 24 ++++++++++++------------
 gnu/packages/guile-xyz.scm    |  6 +++---
 gnu/packages/lisp-xyz.scm     |  2 +-
 gnu/packages/mail.scm         |  2 +-
 gnu/packages/mate.scm         |  2 +-
 gnu/packages/music.scm        |  2 +-
 gnu/packages/rednotebook.scm  |  3 ++-
 gnu/packages/syndication.scm  |  2 +-
 gnu/packages/telegram.scm     |  2 +-
 gnu/packages/vnc.scm          |  2 +-
 gnu/packages/web-browsers.scm |  2 +-
 gnu/packages/webkit.scm       | 27 ++++++++++++---------------
 13 files changed, 38 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 3c238cd62a..bbf371a88c 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -529,7 +529,7 @@ (define-public gnome-maps
            libsoup
            libxml2
            rest-next
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (synopsis "Graphical map viewer and wayfinding program")
     (description "GNOME Maps is a graphical map viewer.  It uses map data from
 the OpenStreetMap project.  It can provide directions for walking, bicycling,
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index fc2a6b24bd..c61fbcc295 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1577,7 +1577,7 @@ (define-public gnome-initial-setup
            polkit
            rest-next
            upower
-           webkitgtk-next))
+           webkitgtk))
     (synopsis "Initial setup wizard for GNOME desktop")
     (description "This package provides a set-up wizard when a
 user logs into GNOME for the first time.  It typically provides a
@@ -1665,7 +1665,7 @@ (define-public sushi
            libmusicbrainz
            libxml2
            neon
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (synopsis "File previewer for the GNOME desktop")
     (description "Sushi is a DBus-activated service that allows applications
 to preview files on the GNOME desktop.")
@@ -3369,7 +3369,7 @@ (define-public cambalache
            python-pygobject
            python-lxml
            webkitgtk
-           webkitgtk-next))
+           webkitgtk))
     (native-inputs
      (list `(,glib "bin")
            gobject-introspection
@@ -6130,7 +6130,7 @@ (define-public devhelp
            pkg-config))
     (inputs
      (list amtk
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (home-page "https://wiki.gnome.org/Apps/Devhelp")
     (synopsis "API documentation browser for GNOME")
     (description
@@ -6143,7 +6143,7 @@ (define-public devhelp-with-libsoup2
   (hidden-package
    (package/inherit devhelp
      (inputs (modify-inputs (package-inputs devhelp)
-               (replace "webkitgtk" webkitgtk-with-libsoup2))))))
+               (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2))))))
 
 (define-public cogl
   (package
@@ -8155,7 +8155,7 @@ (define-public evolution-data-server
            libphonenumber
            mit-krb5
            openldap
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (synopsis "Store address books and calendars")
     (home-page "https://wiki.gnome.org/Apps/Evolution")
     (description
@@ -8182,7 +8182,7 @@ (define-public evolution-data-server-3.44
      (modify-inputs (package-inputs evolution-data-server)
        (replace "gnome-online-accounts" gnome-online-accounts-3.44)
        (replace "libgweather4" libgweather)
-       (replace "webkitgtk" webkitgtk-with-libsoup2)))
+       (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2)))
     (propagated-inputs
      (modify-inputs (package-propagated-inputs evolution-data-server)
        (delete "gtk")
@@ -11315,7 +11315,7 @@ (define-public lollypop
            python-pygobject
            python-pylast
            totem-pl-parser
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (propagated-inputs
      (list gst-plugins-good             ;required to start lollypop
            gst-plugins-ugly))           ;required for streaming
@@ -11784,7 +11784,7 @@ (define-public evolution
            libsoup
            nss
            openldap
-           webkitgtk
+           webkitgtk-for-gtk3
            ytnef))
     (home-page "https://gitlab.gnome.org/GNOME/evolution")
     (synopsis "Manage your email, contacts and schedule")
@@ -12400,7 +12400,7 @@ (define-public gnome-boxes
            spice-gtk
            tracker
            vte
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (home-page "https://wiki.gnome.org/Apps/Boxes")
     (synopsis "View, access, and manage remote and virtual systems")
     (description "GNOME Boxes is a simple application to view, access, and
@@ -12474,7 +12474,7 @@ (define-public geary
            libstemmer
            libunwind
            sqlite
-           webkitgtk
+           webkitgtk-for-gtk3
            ytnef))
     (native-inputs
      (list appstream-glib
@@ -13173,7 +13173,7 @@ (define-public komikku
            python-rarfile
            python-requests
            python-unidecode
-           webkitgtk-next))
+           webkitgtk))
     (native-inputs
      (list desktop-file-utils
            gettext-minimal
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index fc52af4612..871d418bc2 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3350,7 +3350,7 @@ (define-public guile-gi
                   (guix build utils)
                   (ice-9 popen)
                   (ice-9 rdelim))
-       #:disallowed-references ,(list gtk+ webkitgtk)
+       #:disallowed-references ,(list gtk+ webkitgtk-for-gtk3)
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'remove-dotted-circle-from-combining-character
@@ -3396,7 +3396,7 @@ (define-public guile-gi
     (propagated-inputs (list gobject-introspection))
     (inputs (list guile-3.0 glib
                   ;; For tests, only relevant when compiling natively
-                  gtk+ webkitgtk))
+                  gtk+ webkitgtk-for-gtk3))
     (home-page "https://github.com/spk121/guile-gi")
     (synopsis "GObject bindings for Guile")
     (description
@@ -3935,7 +3935,7 @@ (define-public nomad
        ("glib-networking" ,glib-networking)
        ("gtk+" ,gtk+)
        ("gtk+:bin" ,gtk+ "bin")
-       ("webkitgtk" ,webkitgtk)
+       ("webkitgtk" ,webkitgtk-for-gtk3)
        ("gtksourceview" ,gtksourceview-4)
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("vte" ,vte)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5ba5c7d519..8cda1d00ab 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -5039,7 +5039,7 @@ (define-public sbcl-cl-webkit
     (inputs
      `(("cffi" ,sbcl-cffi)
        ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
-       ("webkitgtk" ,webkitgtk)))
+       ("webkitgtk" ,webkitgtk-for-gtk3)))
     (native-inputs
      `(;; Tests seem to need Xorg.
        ;; ("xorg-server" ,xorg-server-for-tests)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index be458a2d92..5e65ded3f2 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3915,7 +3915,7 @@ (define-public balsa
            libsecret
            openldap
            sqlite
-           webkitgtk))
+           webkitgtk-for-gtk3))
     (native-inputs
      (list compface
            `(,glib "bin") intltool pkg-config yelp-tools))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 5c3b4a265e..5a6c6b5b64 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -775,7 +775,7 @@ (define-public atril
        ;;   Build libkpathsea as a shared library for DVI support.
        ;; ("libkpathsea" ,texlive-bin)
        ("poppler" ,poppler)
-       ("webkitgtk" ,webkitgtk)))
+       ("webkitgtk" ,webkitgtk-for-gtk3)))
     (home-page "https://mate-desktop.org")
     (synopsis "Document viewer for Mate")
     (description
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 6b19e9dde4..f6d418ce81 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -538,7 +538,7 @@ (define-public ctrlr
              freetype
              libiberty
              libx11
-             webkitgtk))
+             webkitgtk-for-gtk3))
       (native-inputs
        (list pkg-config))
       (home-page "https://ctrlr.org/")
diff --git a/gnu/packages/rednotebook.scm b/gnu/packages/rednotebook.scm
index f63104ad32..a5dcc26efd 100644
--- a/gnu/packages/rednotebook.scm
+++ b/gnu/packages/rednotebook.scm
@@ -71,7 +71,8 @@ (define-public rednotebook
                  `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path)))
                #t))))))
     (inputs
-     (list gtk+ gtksourceview-3 python-pyyaml python-pygobject webkitgtk))
+     (list gtk+ gtksourceview-3 python-pyyaml python-pygobject
+           webkitgtk-for-gtk3))
     ;; TODO: package the following for python3 (if possible), add them as
     ;; dependencies, and remove them from rednotebook source:
     ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index ac00d396b5..ea42c579cb 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -622,7 +622,7 @@ (define-public gfeeds
            python-readability-lxml
            python-requests
            syndication-domination
-           webkitgtk-next))
+           webkitgtk))
     (home-page "https://gfeeds.gabmus.org/")
     (synopsis "Easy-to-use GTK+ RSS/Atom feed reader")
     (description "Feeds is an RSS/Atom feed reader made with GTK+
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index d3276cbe7c..af90fc35eb 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -531,7 +531,7 @@ (define-public telegram-desktop
            rnnoise
            wayland
            wayland-protocols
-           webkitgtk
+           webkitgtk-for-gtk3
            webrtc-for-telegram-desktop
            xcb-util-keysyms
            xxhash
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index 8ba1292e28..7b39aba58d 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -151,7 +151,7 @@ (define-public remmina
            telepathy-glib
            vte                          ; for st plugin
            wayland
-           webkitgtk                    ; for www plugin
+           webkitgtk-for-gtk3           ; for www plugin
            libx11
            libxext                      ; for xdmcp plugin
            xdg-utils
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index d0b4e9f971..b5a29647bb 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -711,7 +711,7 @@ (define-public nyxt
                   gsettings-desktop-schemas
                   cl-gobject-introspection
                   gtk+                  ; For the main loop
-                  webkitgtk             ; Required when we use its typelib
+                  webkitgtk-for-gtk3    ; Required when we use its typelib
                   gobject-introspection
                   pkg-config))
     (synopsis "Extensible web-browser in Common Lisp")
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 100875dd52..a374711119 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -126,7 +126,7 @@ (define-public wpebackend-fdo
 
 (define-public webkitgtk
   (package
-    (name "webkitgtk")                  ; webkit2gtk4
+    (name "webkitgtk")
     (version "2.42.1")
     (source (origin
               (method url-fetch)
@@ -149,10 +149,8 @@ (define-public webkitgtk
       #:build-type "Release"
       #:configure-flags
       #~(list "-DPORT=GTK"
-              ;; GTKDOC will be removed upstream soon in favor of
-              ;; gi-docgen; it is normally disabled because the
-              ;; doc is rather expensive to build.
-              "-DENABLE_GTKDOC=ON"
+              "-DENABLE_INTROSPECTION=ON"
+              "-DUSE_GTK4=ON"
               ;; The minibrowser, not built by default, is a good
               ;; tool to validate the good operation of
               ;; webkitgtk.
@@ -232,7 +230,7 @@ (define-public webkitgtk
            ruby-2.7
            unifdef))
     (propagated-inputs
-     (list gtk+ libsoup))
+     (list gtk libsoup))
     (inputs
      (list at-spi2-core
            bubblewrap
@@ -251,7 +249,6 @@ (define-public webkitgtk
            libjpeg-turbo
            libjxl
            libmanette
-           libnotify
            libpng
            libseccomp
            libsecret
@@ -284,28 +281,28 @@ (define-public webkitgtk
                    license:bsd-2
                    license:bsd-3))))
 
-(define-public webkitgtk-next
+(define-public webkitgtk-for-gtk3
   (package
     (inherit webkitgtk)
-    (name "webkitgtk-next")             ; webkit2gtk5
+    (name "webkitgtk-for-gtk3")
     (arguments
      (substitute-keyword-arguments (package-arguments webkitgtk)
        ((#:configure-flags flags)
-        #~(cons* "-DENABLE_INTROSPECTION=ON"
-                 "-DUSE_GTK4=ON"
-                 (delete "-DENABLE_GTKDOC=ON" #$flags)))))
+        #~(cons* "-DENABLE_GTKDOC=ON"
+                 (delete "-DENABLE_INTROSPECTION=ON"
+                         (delete "-DUSE_GTK4=ON" #$flags))))))
     (propagated-inputs
      (modify-inputs (package-propagated-inputs webkitgtk)
-       (replace "gtk+" gtk)))
+       (replace "gtk" gtk+)))
     (inputs
      (modify-inputs (package-inputs webkitgtk)
-       (delete "libnotify")))))
+       (prepend libnotify)))))
 
 ;;; Required by e.g. emacs-next-pgtk, emacs-xwidgets, and some other GNOME
 ;;; packages for webkit2gtk-4.0.  See also the upstream tracker for libsoup 3:
 ;;; https://gitlab.gnome.org/GNOME/libsoup/-/issues/218.
 (define-public webkitgtk-with-libsoup2
-  (package/inherit webkitgtk
+  (package/inherit webkitgtk-for-gtk3
     (name "webkitgtk-with-libsoup2")
     (arguments (substitute-keyword-arguments (package-arguments webkitgtk)
                  ((#:configure-flags flags)
-- 
2.41.0