~ruther/guix-local

ee748c1df093dd63da982e2f3cd0e11c6633d3d6 — Liliana Marie Prikler 2 years ago b4c907a
gnu: Make webkitgtk-next the new webkitgtk.

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, gnome-online-accounts)
(gnome-online-accounts-3.44, 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.
M gnu/packages/geo.scm => gnu/packages/geo.scm +1 -1
@@ 529,7 529,7 @@ topology functions.")
           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,

M gnu/packages/gnome.scm => gnu/packages/gnome.scm +14 -14
@@ 1577,7 1577,7 @@ extraction, and lookup for applications on the desktop.")
           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 @@ sharing to the masses.")
           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 @@ compiles to GTKBuilder XML.")
           python-pygobject
           python-lxml
           webkitgtk
           webkitgtk-next))
           webkitgtk))
    (native-inputs
     (list `(,glib "bin")
           gobject-introspection


@@ 6130,7 6130,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
           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 @@ throughout GNOME for API documentation).")
  (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


@@ 8036,7 8036,7 @@ window manager.")
           libsecret
           mit-krb5
           rest-next
           webkitgtk))
           webkitgtk-for-gtk3))
    (synopsis "Single sign-on framework for GNOME")
    (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
    (description


@@ 8069,7 8069,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                      (delete 'disable-gtk-update-icon-cache)))))
    (inputs (modify-inputs (package-inputs gnome-online-accounts)
              (replace "rest" rest)
              (replace "webkitgtk" webkitgtk-with-libsoup2)))))
              (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2)))))

(define-public evolution-data-server
  (package


@@ 8155,7 8155,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
           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 @@ Evolution (hence the name), but is now used by other packages as well.")
     (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 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
           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 @@ generic enough to work for everyone.")
           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 @@ integrate seamlessly with the GNOME desktop.")
           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 @@ non-privileged user.")
           libstemmer
           libunwind
           sqlite
           webkitgtk
           webkitgtk-for-gtk3
           ytnef))
    (native-inputs
     (list appstream-glib


@@ 13173,7 13173,7 @@ profiler via Sysprof, debugging support, and more.")
           python-rarfile
           python-requests
           python-unidecode
           webkitgtk-next))
           webkitgtk))
    (native-inputs
     (list desktop-file-utils
           gettext-minimal

M gnu/packages/guile-xyz.scm => gnu/packages/guile-xyz.scm +3 -3
@@ 3350,7 3350,7 @@ list of components.  This module takes care of that for you.")
                  (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 @@ list of components.  This module takes care of that for you.")
    (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 @@ processing filters.")
       ("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)

M gnu/packages/lisp-xyz.scm => gnu/packages/lisp-xyz.scm +1 -1
@@ 5039,7 5039,7 @@ is a library for creating graphical user interfaces.")
    (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)

M gnu/packages/mail.scm => gnu/packages/mail.scm +1 -1
@@ 3915,7 3915,7 @@ tools and applications:
           libsecret
           openldap
           sqlite
           webkitgtk))
           webkitgtk-for-gtk3))
    (native-inputs
     (list compface
           `(,glib "bin") intltool pkg-config yelp-tools))

M gnu/packages/mate.scm => gnu/packages/mate.scm +1 -1
@@ 775,7 775,7 @@ infamous 'Wanda the Fish'.")
       ;;   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

M gnu/packages/music.scm => gnu/packages/music.scm +1 -1
@@ 538,7 538,7 @@ list(APPEND ctrlrLibs \"iberty\")")))))
             freetype
             libiberty
             libx11
             webkitgtk))
             webkitgtk-for-gtk3))
      (native-inputs
       (list pkg-config))
      (home-page "https://ctrlr.org/")

M gnu/packages/rednotebook.scm => gnu/packages/rednotebook.scm +2 -1
@@ 71,7 71,8 @@
                 `("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

M gnu/packages/syndication.scm => gnu/packages/syndication.scm +1 -1
@@ 622,7 622,7 @@ parser.  It is \"not fit for use at this point\", but gfeeds uses it anyway.")
           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+

M gnu/packages/telegram.scm => gnu/packages/telegram.scm +1 -1
@@ 531,7 531,7 @@ Telegram project, for its use in telegram desktop client.")
           rnnoise
           wayland
           wayland-protocols
           webkitgtk
           webkitgtk-for-gtk3
           webrtc-for-telegram-desktop
           xcb-util-keysyms
           xxhash

M gnu/packages/vnc.scm => gnu/packages/vnc.scm +1 -1
@@ 151,7 151,7 @@
           telepathy-glib
           vte                          ; for st plugin
           wayland
           webkitgtk                    ; for www plugin
           webkitgtk-for-gtk3           ; for www plugin
           libx11
           libxext                      ; for xdmcp plugin
           xdg-utils

M gnu/packages/web-browsers.scm => gnu/packages/web-browsers.scm +1 -1
@@ 711,7 711,7 @@ driven and does not detract you from your daily work.")
                  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")

M gnu/packages/webkit.scm => gnu/packages/webkit.scm +12 -15
@@ 126,7 126,7 @@ engine that uses Wayland for graphics output.")

(define-public webkitgtk
  (package
    (name "webkitgtk")                  ; webkit2gtk4
    (name "webkitgtk")
    (version "2.42.1")
    (source (origin
              (method url-fetch)


@@ 149,10 149,8 @@ engine that uses Wayland for graphics output.")
      #: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 @@ engine that uses Wayland for graphics output.")
           ruby-2.7
           unifdef))
    (propagated-inputs
     (list gtk+ libsoup))
     (list gtk libsoup))
    (inputs
     (list at-spi2-core
           bubblewrap


@@ 251,7 249,6 @@ engine that uses Wayland for graphics output.")
           libjpeg-turbo
           libjxl
           libmanette
           libnotify
           libpng
           libseccomp
           libsecret


@@ 284,28 281,28 @@ propagated by default) such as @code{gst-plugins-good} and
                   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)