GNU bug report logs - #54703
[PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features.

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Mon, 4 Apr 2022 04:17:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54703 in the body.
You can then email your comments to 54703 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Mon, 04 Apr 2022 04:17:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 04 Apr 2022 04:17:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features.
Date: Mon,  4 Apr 2022 00:15:21 -0400
Hello,

This started as a simple fix to woff2, but seeing it triggered a rebuild of
webkitgtk, I decided to update it at the same time.

Thank you!

Maxim Cournoyer (3):
  gnu: woff2: Propagate brotli.
  gnu: webkitgtk: Update to 2.36.0 and enable extra features.
  gnu: wpewebkit: Update to 2.36.0.

 gnu/local.mk                                  |   2 -
 gnu/packages/fontutils.scm                    |   9 +-
 .../patches/webkitgtk-bind-all-fonts.patch    |  25 --
 .../webkitgtk-canonicalize-paths.patch        |  66 ----
 gnu/packages/webkit.scm                       | 360 +++++++-----------
 5 files changed, 141 insertions(+), 321 deletions(-)
 delete mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
 delete mode 100644 gnu/packages/patches/webkitgtk-canonicalize-paths.patch

-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Mon, 04 Apr 2022 04:18:01 GMT) Full text and rfc822 format available.

Message #8 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 1/3] gnu: woff2: Propagate brotli.
Date: Mon,  4 Apr 2022 00:17:41 -0400
* gnu/packages/fontutils.scm (woff2)[phases]: Delete trailing #t.
[inputs]: Move brotli to ...
[propagated-inputs]: ... here.
---
 gnu/packages/fontutils.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 04b868d31b..c8c32fd5a9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -286,7 +286,7 @@ (define-public woff2
     (build-system cmake-build-system)
     (outputs '("out" "bin"))
     (arguments
-     `(#:tests? #f                      ; No target
+     `(#:tests? #f                      ;no test suite
        #:configure-flags
        (list
         (string-append "-DCMAKE_INSTALL_BINDIR="
@@ -305,12 +305,11 @@ (define-public woff2
            (lambda _
              (substitute* "CMakeLists.txt"
                (("NOT BUILD_SHARED_LIBS")
-                "BUILD_SHARED_LIBS"))
-             #t)))))
+                "BUILD_SHARED_LIBS")))))))
     (native-inputs
      (list pkg-config))
-    (inputs
-     (list brotli))
+    (propagated-inputs
+     (list brotli))                     ;libwoff2dec.pc requires libbrotlidec
     (synopsis "Libraries and tools for WOFF2 font format")
     (description "WOFF2 provides libraries and tools to handle the Web Open
 Font Format (WOFF).")
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Mon, 04 Apr 2022 04:19:02 GMT) Full text and rfc822 format available.

Message #11 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra
 features.
Date: Mon,  4 Apr 2022 00:17:42 -0400
* gnu/packages/webkit.scm (webkitgtk): Update to 2.36.0.
[source]: Remove the webkitgtk-bind-all-fonts.patch and
webkitgtk-canonicalize-paths.patch patches.
[arguments]: Use gexp.
[tests?]: Add a TODO comment.
[configure-flags]: Enable gamepad support,  remove nonexistent
USE_SYSTEMD option, enable accelerated 2D canvas and mini-browser.
[phases]{do-not-disable-new-dtags}: New phase.
{help-cmake-find-elogind}: Likewise.
{patch-gtk-doc-scan}: Simplify to avoid for-each.  Locate docbookx.dtd via
search-input-file.
{embed-absolute-wpebackend-reference}: Use search-input-file.
[native-inputs]: Use new style.
[inputs]: Likewise.  Add elogind and libmanette.
[description]: Adjust indentation.
(webkitgtk-with-libsoup2): Re-format comment, fixing spacing.
[configure-flags]: Use gexp.
[propagated-inputs]: Use modify-inputs to replace libsoup with
libsoup-minimal-2.
* gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Delete file.
* gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise.
* gnu/local.mk: De-register them.
---
 gnu/local.mk                                  |   2 -
 .../patches/webkitgtk-bind-all-fonts.patch    |  25 --
 .../webkitgtk-canonicalize-paths.patch        |  66 -----
 gnu/packages/webkit.scm                       | 234 ++++++++++--------
 4 files changed, 126 insertions(+), 201 deletions(-)
 delete mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
 delete mode 100644 gnu/packages/patches/webkitgtk-canonicalize-paths.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index aac7362475..7f9c2fe1a1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1931,9 +1931,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
   %D%/packages/patches/vtk-fix-freetypetools-build-failure.patch	\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
-  %D%/packages/patches/webkitgtk-bind-all-fonts.patch		\
   %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
-  %D%/packages/patches/webkitgtk-canonicalize-paths.patch	\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
   %D%/packages/patches/wicd-bitrate-none-fix.patch		\
diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
deleted file mode 100644
index 27013180c4..0000000000
--- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..8de174be3c0e 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args)
-     const char* homeDir = g_get_home_dir();
-     const char* dataDir = g_get_user_data_dir();
-     const char* cacheDir = g_get_user_cache_dir();
-+    const char* const * dataDirs = g_get_system_data_dirs();
- 
-     // Configs can include custom dirs but then we have to parse them...
-     GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", nullptr));
-@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args)
-     bindIfExists(args, fontHomeConfigDir.get());
-     bindIfExists(args, fontData.get());
-     bindIfExists(args, fontHomeData.get());
-+    for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++) {
-+        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", nullptr));
-+        bindIfExists(args, fontDataDir.get());
-+    }
-     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
- }
- 
diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
deleted file mode 100644
index 741d534831..0000000000
--- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..a2a1c9d7a4dd 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -27,7 +27,6 @@
- #include <seccomp.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <unistd.h>
- #include <wtf/FileSystem.h>
- #include <wtf/UniStdExtras.h>
- #include <wtf/glib/GRefPtr.h>
-@@ -165,6 +164,15 @@ enum class BindFlags {
-     Device,
- };
- 
-+static void bindSymlinksRealPath(Vector<CString>& args, const char* path, const char* bindOption = "--ro-bind")
-+{
-+    WTF::String realPath = FileSystem::realPath(path);
-+    if (path != realPath) {
-+        CString rpath = realPath.utf8();
-+        args.appendVector(Vector<CString>({ bindOption, rpath.data(), rpath.data() }));
-+    }
-+}
-+
- static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bindFlags = BindFlags::ReadOnly)
- {
-     if (!path || path[0] == '\0')
-@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bind
-         bindType = "--ro-bind-try";
-     else
-         bindType = "--bind-try";
--    args.appendVector(Vector<CString>({ bindType, path, path }));
-+
-+    // Canonicalize the source path, otherwise a symbolic link could
-+    // point to a location outside of the namespace.
-+    bindSymlinksRealPath(args, path, bindType);
-+
-+    // As /etc is exposed wholesale, do not layer extraneous bind
-+    // directives on top, which could fail in the presence of symbolic
-+    // links.
-+    if (!g_str_has_prefix(path, "/etc/"))
-+        args.appendVector(Vector<CString>({ bindType, path, path }));
- }
- 
- static void bindDBusSession(Vector<CString>& args, bool allowPortals)
-@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args)
-     }));
- }
- 
--static void bindSymlinksRealPath(Vector<CString>& args, const char* path)
--{
--    char realPath[PATH_MAX];
--
--    if (realpath(path, realPath) && strcmp(path, realPath)) {
--        args.appendVector(Vector<CString>({
--            "--ro-bind", realPath, realPath,
--        }));
--    }
--}
--
- // Translate a libseccomp error code into an error message. libseccomp
- // mostly returns negative errno values such as -ENOMEM, but some
- // standard errno values are used for non-standard purposes where their
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..cd19404228 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages webkit)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix build utils)
   #:use-module (guix build-system cmake)
@@ -41,6 +42,7 @@ (define-module (gnu packages webkit)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages games)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -239,121 +241,137 @@ (define-public wpewebkit
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.34.6")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   "webkitgtk-" version ".tar.xz"))
               (sha256
                (base32
-                "1xn1hhd0qaxmjf6vy6664i4mmmjsw9zgrr4w8ni3415d981zvj3b"))
-              (patches (search-patches "webkitgtk-bind-all-fonts.patch"
-                                       "webkitgtk-adjust-bubblewrap-paths.patch"
-                                       "webkitgtk-canonicalize-paths.patch"))))
+                "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+              (patches (search-patches
+                        "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
-     `(#:tests? #f ; no tests
-       #:build-type "Release" ; turn off debugging symbols to save space
-       #:configure-flags (list
-                          "-DPORT=GTK"
-                          "-DENABLE_GTKDOC=ON" ; No doc by default
-                          ;; Requires libmanette, new dependency added in 2.32.0.
-                          ;; TODO Decide if we should enable this
-                          "-DENABLE_GAMEPAD=OFF"
-                          "-DUSE_SYSTEMD=OFF"
-                          (string-append ; uses lib64 by default
-                           "-DLIB_INSTALL_DIR="
-                           (assoc-ref %outputs "out") "/lib"))
-       #:make-flags
-       ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
-       (list "-j" (number->string (max 2 (parallel-job-count))))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'configure-bubblewrap-store-directory
-           (lambda _
-             ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
-             ;; avoid hard coding /gnu/store, for users with other prefixes.
-             (let ((store-directory (%store-directory)))
-               (substitute*
-                   "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
-                 (("@storedir@") store-directory)))))
-         (add-after 'unpack 'patch-gtk-doc-scan
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/docbookx.dtd"))))
-                       (find-files "Source" "\\.sgml$"))))
-         (add-after 'unpack 'embed-absolute-wpebackend-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
-               (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
-                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
-                  (string-append wpebackend-fdo "/lib/" all))))))
-         ,@(if (target-x86-64?)
-               '()
-               '((add-after 'unpack 'disable-sse2
-                   (lambda _
-                     (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
-                       (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
-                        "FALSE"))))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file (string-append out "/share/gtk-doc")
-                            (string-append doc "/share/gtk-doc"))))))))
+     (list
+      #:tests? #f                    ;TODO: run test suite
+      #:build-type "Release"         ;turn off debugging symbols to save space
+      #:configure-flags #~(list
+                           "-DPORT=GTK"
+                           "-DENABLE_GTKDOC=ON" ;disabled by default
+                           "-DENABLE_ACCELERATED_2D_CANVAS=ON" ;disabled by default
+                           "-DENABLE_MINIBROWSER=ON" ;disabled by default
+                           ;; The default lib installation prefix is lib64.
+                           (string-append "-DLIB_INSTALL_DIR=" #$output "/lib"))
+      ;; The build may fail with -j1 (see:
+      ;; https://bugs.webkit.org/show_bug.cgi?id=195251).
+      #:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'configure-bubblewrap-store-directory
+            (lambda _
+              ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
+              ;; avoid hard coding /gnu/store, for users with other prefixes.
+              (let ((store-directory (%store-directory)))
+                (substitute*
+                    "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
+                  (("@storedir@") store-directory)))))
+          (add-after 'unpack 'do-not-disable-new-dtags
+            ;; Ensure the linker uses new dynamic tags as this is what Guix
+            ;; uses and validates in the validate-runpath phase.
+            (lambda _
+              (substitute* "Source/cmake/OptionsCommon.cmake"
+                (("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
+                 "if (FALSE)"))))
+          (add-after 'unpack 'help-cmake-find-elogind
+            (lambda _
+              (substitute* "Source/cmake/FindJournald.cmake"
+                ;; Otherwise, CMake would throw an error because it relies on
+                ;; the pkg-config search to locate headers.
+                (("pkg_check_modules\\(PC_SYSTEMD QUIET libsystemd")
+                 "pkg_check_modules(PC_SYSTEMD QUIET libelogind"))))
+          (add-after 'unpack 'patch-gtk-doc-scan
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* (find-files "Source" "\\.sgml$")
+                (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                 (search-input-file (or native-inputs inputs)
+                                    "xml/dtd/docbook/docbookx.dtd")))))
+          (add-after 'unpack 'embed-absolute-wpebackend-reference
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
+                (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
+                  (("libWPEBackend-fdo-[\\.0-9]+\\.so" all)
+                   (search-input-file inputs (string-append "lib/" all)))))))
+          #$@(if (target-x86-64?)
+                 '()
+                 '((add-after 'unpack 'disable-sse2
+                     (lambda _
+                       (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
+                         (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
+                          "FALSE"))))))
+          (add-after 'install 'move-doc-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((doc (assoc-ref outputs "doc")))
+                (mkdir-p (string-append doc "/share"))
+                (rename-file (string-append #$output "/share/gtk-doc")
+                             (string-append doc "/share/gtk-doc")))))
+          (replace 'build
+            (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
+              (apply invoke "make"
+                     `(,@(if parallel-build?
+                             `("-j" ,(number->string (parallel-job-count)))
+                             '())
+                       ,@make-flags)))))))
     (native-inputs
-     `(("bison" ,bison)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gperf" ,gperf)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("gtk-doc" ,gtk-doc/stable) ; For documentation generation
-       ("docbook-xml" ,docbook-xml) ; For documentation generation
-       ("ruby" ,ruby)))
+     (list bison
+           gettext-minimal
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gobject-introspection
+           gperf
+           perl
+           pkg-config
+           python-wrapper
+           gtk-doc/stable               ;for documentation generation
+           docbook-xml                  ;for documentation generation
+           ruby))
     (propagated-inputs
      (list gtk+ libsoup))
     (inputs
-     `(("at-spi2-core" ,at-spi2-core)
-       ("bubblewrap" ,bubblewrap)
-       ("enchant" ,enchant)
-       ("geoclue" ,geoclue)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gtk+-2" ,gtk+-2)
-       ("harfbuzz" ,harfbuzz)
-       ("hyphen" ,hyphen)
-       ("icu4c" ,icu4c)
-       ("lcms" ,lcms)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libnotify" ,libnotify)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libsecret" ,libsecret)
-       ("libtasn1" ,libtasn1)
-       ("libwebp" ,libwebp)
-       ("libwpe" ,libwpe)
-       ("libxcomposite" ,libxcomposite)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("libxt" ,libxt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("woff2" ,woff2)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
+     (list at-spi2-core
+           bubblewrap
+           elogind
+           enchant
+           geoclue
+           gst-plugins-base
+           gtk+-2
+           harfbuzz
+           hyphen
+           icu4c
+           lcms
+           libgcrypt
+           libjpeg-turbo
+           libmanette
+           libnotify
+           libpng
+           libseccomp
+           libsecret
+           libtasn1
+           libwebp
+           libwpe
+           libxcomposite
+           libxml2
+           libxslt
+           libxt
+           mesa
+           openjpeg
+           sqlite
+           woff2
+           wpebackend-fdo
+           xdg-dbus-proxy))
     (home-page "https://www.webkitgtk.org/")
     (synopsis "Web content engine for GTK+")
-    (description
-     "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
+    (description "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
 suitable for projects requiring any kind of web integration, from hybrid
 HTML/CSS applications to full-fledged web browsers.  WebKitGTK+ video playing
 capabilities can be extended through the use of GStreamer plugins (not
@@ -366,17 +384,17 @@ (define-public webkitgtk
                    license:bsd-2
                    license:bsd-3))))
 
-;;; Required by gnome-online-accounts; as webkitgtk 2.34 propagates libsoup 3,
-;;; which causes the build to fail.
-;;; Also 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
+;;; Required by gnome-online-accounts as webkitgtk propagates libsoup 3, which
+;;; causes the build to fail.  Also 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
     (name "webkitgtk-with-libsoup2")
     (arguments (substitute-keyword-arguments (package-arguments webkitgtk)
                  ((#:configure-flags flags)
-                  `(cons "-DUSE_SOUP2=ON" ,flags))))
+                  #~(cons "-DUSE_SOUP2=ON" #$flags))))
     (propagated-inputs
-     (alist-replace "libsoup" (list libsoup-minimal-2)
-                    (package-propagated-inputs webkitgtk)))))
+     (modify-inputs (package-propagated-inputs webkitgtk)
+       (replace "libsoup" libsoup-minimal-2)))))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Mon, 04 Apr 2022 04:19:02 GMT) Full text and rfc822 format available.

Message #14 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
Date: Mon,  4 Apr 2022 00:17:43 -0400
* gnu/packages/webkit.scm (wpewebkit): Update to 2.36.0, rewriting package to
inherit from webkitgtk.
---
 gnu/packages/webkit.scm | 126 ++++------------------------------------
 1 file changed, 11 insertions(+), 115 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index cd19404228..bc3ae388f7 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -123,121 +123,6 @@ (define-public wpebackend-fdo
 engine that uses Wayland for graphics output.")
     (license license:bsd-2)))
 
-(define-public wpewebkit
-  (package
-    (name "wpewebkit")
-    (version "2.34.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://wpewebkit.org/releases/"
-                       name "-" version ".tar.xz"))
-       (sha256
-        (base32 "1z20bza01ld4jvi0qx8xsl5y4czaniwpi8hxdjyirj1mrszy8pf3"))))
-    (build-system cmake-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:tests? #f                      ; XXX: To be enabled
-       #:configure-flags
-       (list
-        "-DPORT=WPE"
-        ;; XXX: To be enabled.
-        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
-        "-DUSE_SYSTEMD=OFF"
-        "-DENABLE_ENCRYPTED_MEDIA=OFF"
-        "-DENABLE_GTKDOC=ON"
-        "-DUSE_GSTREAMER_GL=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'setenv
-           (lambda _
-             (setenv "HOME" "/tmp")
-             #t))
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each
-              (lambda (file)
-                (substitute* file
-                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                   (string-append (assoc-ref inputs "docbook-xml")
-                                  "/xml/dtd/docbook/docbookx.dtd"))))
-              (find-files "Source" "\\.sgml$"))
-             #t))
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "Source/PlatformWPE.cmake"
-               (("(Documentation/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}"))
-               (("(html/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}")))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file
-                (string-append out "/share/gtk-doc")
-                (string-append doc "/share/gtk-doc"))
-               #t))))))
-    (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.1.2)
-       ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("python2" ,python-2.7)
-       ("ruby" ,ruby)))
-    (inputs
-     `(("atk" ,atk)
-       ("atk-bridge" ,at-spi2-atk)
-       ("bubblewrap" ,bubblewrap)
-       ("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gperf" ,gperf)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("harfbuzz" ,harfbuzz)
-       ("icu" ,icu4c)
-       ("lcms" ,lcms)
-       ("libepoxy" ,libepoxy)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libtasn1" ,libtasn1)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("webp" ,libwebp)
-       ("woff2" ,woff2)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("glib" ,glib)
-       ("libsoup" ,libsoup)
-       ("wpe" ,libwpe)))
-    (synopsis "WebKit port optimized for embedded devices")
-    (description "WPE WebKit allows embedders to create simple and performant
-systems based on Web platform technologies.  It is designed with hardware
-acceleration in mind, leveraging common 3D graphics APIs for best performance.")
-    (home-page "https://wpewebkit.org/")
-    (license
-     (list
-      ;; Rendering and JavaScript Engines.
-      license:lgpl2.1+
-      ;; Others
-      license:bsd-2))
-    (properties '((cpe-name . "wpe_webkit")))))
-
 (define-public webkitgtk
   (package
     (name "webkitgtk")
@@ -398,3 +283,14 @@ (define-public webkitgtk-with-libsoup2
     (propagated-inputs
      (modify-inputs (package-propagated-inputs webkitgtk)
        (replace "libsoup" libsoup-minimal-2)))))
+
+(define-public wpewebkit
+  (package
+    (inherit webkitgtk)
+    (name "wpewebkit")
+    (synopsis "WebKit port optimized for embedded devices")
+    (description "WPE WebKit allows embedders to create simple and performant
+systems based on Web platform technologies.  It is designed with hardware
+acceleration in mind, leveraging common 3D graphics APIs for best performance.")
+    (home-page "https://wpewebkit.org/")
+    (properties '((cpe-name . "wpe_webkit")))))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Mon, 04 Apr 2022 06:16:02 GMT) Full text and rfc822 format available.

Message #17 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 54703 <at> debbugs.gnu.org
Subject: Re: [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
Date: Mon, 04 Apr 2022 08:14:51 +0200
Am Montag, dem 04.04.2022 um 00:17 -0400 schrieb Maxim Cournoyer:
> * gnu/packages/webkit.scm (wpewebkit): Update to 2.36.0, rewriting
> package to
> inherit from webkitgtk.
> ---
>  gnu/packages/webkit.scm | 126 ++++----------------------------------
> --
>  1 file changed, 11 insertions(+), 115 deletions(-)
> 
> diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
> index cd19404228..bc3ae388f7 100644
> --- a/gnu/packages/webkit.scm
> +++ b/gnu/packages/webkit.scm
> @@ -123,121 +123,6 @@ (define-public wpebackend-fdo
>  engine that uses Wayland for graphics output.")
>      (license license:bsd-2)))
>  
> -(define-public wpewebkit
> -  (package
> -    (name "wpewebkit")
> -    (version "2.34.3")
> -    (source
> -     (origin
> -       (method url-fetch)
> -       (uri
> -        (string-append "https://wpewebkit.org/releases/"
> -                       name "-" version ".tar.xz"))
> -       (sha256
> -        (base32
> "1z20bza01ld4jvi0qx8xsl5y4czaniwpi8hxdjyirj1mrszy8pf3"))))
> -    (build-system cmake-build-system)
> -    (outputs '("out" "doc"))
> -    (arguments
> -     `(#:tests? #f                      ; XXX: To be enabled
> -       #:configure-flags
> -       (list
> -        "-DPORT=WPE"
> -        ;; XXX: To be enabled.
> -        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
> -        "-DUSE_SYSTEMD=OFF"
> -        "-DENABLE_ENCRYPTED_MEDIA=OFF"
> -        "-DENABLE_GTKDOC=ON"
> -        "-DUSE_GSTREAMER_GL=OFF")
> -       #:phases
> -       (modify-phases %standard-phases
> -         (add-after 'unpack 'setenv
> -           (lambda _
> -             (setenv "HOME" "/tmp")
> -             #t))
> -         (add-after 'unpack 'patch-docbook-xml
> -           (lambda* (#:key inputs #:allow-other-keys)
> -             (for-each
> -              (lambda (file)
> -                (substitute* file
> -                 
> (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
> -                   (string-append (assoc-ref inputs "docbook-xml")
> -                                 
> "/xml/dtd/docbook/docbookx.dtd"))))
> -              (find-files "Source" "\\.sgml$"))
> -             #t))
> -         (add-after 'unpack 'patch-cmake
> -           (lambda _
> -             (substitute* "Source/PlatformWPE.cmake"
> -               (("(Documentation/wpe(-webextensions)?-
> )\\$\\{WPE_API_VERSION\\}"
> -                 all prefix)
> -                (string-append prefix "${WPE_API_DOC_VERSION}"))
> -               (("(html/wpe(-webextensions)?-
> )\\$\\{WPE_API_VERSION\\}"
> -                 all prefix)
> -                (string-append prefix "${WPE_API_DOC_VERSION}")))))
> -         (add-after 'install 'move-doc-files
> -           (lambda* (#:key outputs #:allow-other-keys)
> -             (let* ((out (assoc-ref outputs "out"))
> -                    (doc (assoc-ref outputs "doc")))
> -               (mkdir-p (string-append doc "/share"))
> -               (rename-file
> -                (string-append out "/share/gtk-doc")
> -                (string-append doc "/share/gtk-doc"))
> -               #t))))))
> -    (native-inputs
> -     `(("docbook-xml" ,docbook-xml-4.1.2)
> -       ("docbook-xsl" ,docbook-xsl)
> -       ("glib:bin" ,glib "bin")
> -       ("gobject-introspection" ,gobject-introspection)
> -       ("gtk-doc" ,gtk-doc/stable)
> -       ("perl" ,perl)
> -       ("pkg-config" ,pkg-config)
> -       ("python" ,python-wrapper)
> -       ("python2" ,python-2.7)
> -       ("ruby" ,ruby)))
> -    (inputs
> -     `(("atk" ,atk)
> -       ("atk-bridge" ,at-spi2-atk)
> -       ("bubblewrap" ,bubblewrap)
> -       ("cairo" ,cairo)
> -       ("fontconfig" ,fontconfig)
> -       ("freetype" ,freetype)
> -       ("gperf" ,gperf)
> -       ("gstreamer" ,gstreamer)
> -       ("gst-plugins-base" ,gst-plugins-base)
> -       ("harfbuzz" ,harfbuzz)
> -       ("icu" ,icu4c)
> -       ("lcms" ,lcms)
> -       ("libepoxy" ,libepoxy)
> -       ("libgcrypt" ,libgcrypt)
> -       ("libjpeg" ,libjpeg-turbo)
> -       ("libpng" ,libpng)
> -       ("libseccomp" ,libseccomp)
> -       ("libtasn1" ,libtasn1)
> -       ("libxml2" ,libxml2)
> -       ("libxslt" ,libxslt)
> -       ("mesa" ,mesa)
> -       ("openjpeg" ,openjpeg)
> -       ("sqlite" ,sqlite)
> -       ("webp" ,libwebp)
> -       ("woff2" ,woff2)
> -       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
> -       ("zlib" ,zlib)))
> -    (propagated-inputs
> -     `(("glib" ,glib)
> -       ("libsoup" ,libsoup)
> -       ("wpe" ,libwpe)))
> -    (synopsis "WebKit port optimized for embedded devices")
> -    (description "WPE WebKit allows embedders to create simple and
> performant
> -systems based on Web platform technologies.  It is designed with
> hardware
> -acceleration in mind, leveraging common 3D graphics APIs for best
> performance.")
> -    (home-page "https://wpewebkit.org/")
> -    (license
> -     (list
> -      ;; Rendering and JavaScript Engines.
> -      license:lgpl2.1+
> -      ;; Others
> -      license:bsd-2))
> -    (properties '((cpe-name . "wpe_webkit")))))
> -
>  (define-public webkitgtk
>    (package
>      (name "webkitgtk")
> @@ -398,3 +283,14 @@ (define-public webkitgtk-with-libsoup2
>      (propagated-inputs
>       (modify-inputs (package-propagated-inputs webkitgtk)
>         (replace "libsoup" libsoup-minimal-2)))))
> +
> +(define-public wpewebkit
> +  (package
> +    (inherit webkitgtk)
> +    (name "wpewebkit")
> +    (synopsis "WebKit port optimized for embedded devices")
> +    (description "WPE WebKit allows embedders to create simple and
> performant
> +systems based on Web platform technologies.  It is designed with
> hardware
> +acceleration in mind, leveraging common 3D graphics APIs for best
> performance.")
> +    (home-page "https://wpewebkit.org/")
> +    (properties '((cpe-name . "wpe_webkit")))))
You're not packaging WPEWebkit here, you are packaging WebkitGTK and
labelling it WPEWebkit.




Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Tue, 05 Apr 2022 00:27:02 GMT) Full text and rfc822 format available.

Message #20 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>
Cc: 54703 <at> debbugs.gnu.org
Subject: Re: [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
Date: Mon, 04 Apr 2022 20:26:18 -0400
Hello,

Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at> writes:

> Am Montag, dem 04.04.2022 um 00:17 -0400 schrieb Maxim Cournoyer:
>> * gnu/packages/webkit.scm (wpewebkit): Update to 2.36.0, rewriting
>> package to
>> inherit from webkitgtk.

[...]

>> +(define-public wpewebkit
>> +  (package
>> +    (inherit webkitgtk)
>> +    (name "wpewebkit")
>> +    (synopsis "WebKit port optimized for embedded devices")
>> +    (description "WPE WebKit allows embedders to create simple and
>> performant
>> +systems based on Web platform technologies.  It is designed with
>> hardware
>> +acceleration in mind, leveraging common 3D graphics APIs for best
>> performance.")
>> +    (home-page "https://wpewebkit.org/")
>> +    (properties '((cpe-name . "wpe_webkit")))))

> You're not packaging WPEWebkit here, you are packaging WebkitGTK and
> labelling it WPEWebkit.

Hmm, indeed :-) Thanks for catching that.  A v2 will follow.

Thank you!

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Tue, 05 Apr 2022 00:28:01 GMT) Full text and rfc822 format available.

Message #23 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 1/3] gnu: woff2: Propagate brotli.
Date: Mon,  4 Apr 2022 20:27:03 -0400
* gnu/packages/fontutils.scm (woff2)[phases]: Delete trailing #t.
[inputs]: Move brotli to ...
[propagated-inputs]: ... here.
---
 gnu/packages/fontutils.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 04b868d31b..c8c32fd5a9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -286,7 +286,7 @@ (define-public woff2
     (build-system cmake-build-system)
     (outputs '("out" "bin"))
     (arguments
-     `(#:tests? #f                      ; No target
+     `(#:tests? #f                      ;no test suite
        #:configure-flags
        (list
         (string-append "-DCMAKE_INSTALL_BINDIR="
@@ -305,12 +305,11 @@ (define-public woff2
            (lambda _
              (substitute* "CMakeLists.txt"
                (("NOT BUILD_SHARED_LIBS")
-                "BUILD_SHARED_LIBS"))
-             #t)))))
+                "BUILD_SHARED_LIBS")))))))
     (native-inputs
      (list pkg-config))
-    (inputs
-     (list brotli))
+    (propagated-inputs
+     (list brotli))                     ;libwoff2dec.pc requires libbrotlidec
     (synopsis "Libraries and tools for WOFF2 font format")
     (description "WOFF2 provides libraries and tools to handle the Web Open
 Font Format (WOFF).")
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Tue, 05 Apr 2022 00:28:02 GMT) Full text and rfc822 format available.

Message #26 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra
 features.
Date: Mon,  4 Apr 2022 20:27:04 -0400
* gnu/packages/webkit.scm (webkitgtk): Update to 2.36.0.
[source]: Remove the webkitgtk-bind-all-fonts.patch and
webkitgtk-canonicalize-paths.patch patches.
[arguments]: Use gexp.
[tests?]: Update comment.
[build-type]: Add explanatory comment.
[configure-flags]: Enable gamepad support,  remove nonexistent
USE_SYSTEMD option, enable accelerated 2D canvas and mini-browser.
[phases]{do-not-disable-new-dtags}: New phase.
{help-cmake-find-elogind}: Likewise.
{patch-gtk-doc-scan}: Simplify to avoid for-each.  Locate docbookx.dtd via
search-input-file.
{embed-absolute-wpebackend-reference}: Use search-input-file.
[native-inputs]: Use new style.
[inputs]: Likewise.  Add elogind and libmanette.
[description]: Adjust indentation.
(webkitgtk-with-libsoup2): Re-format comment, fixing spacing.
[configure-flags]: Use gexp.
[propagated-inputs]: Use modify-inputs to replace libsoup with
libsoup-minimal-2.
* gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Delete file.
* gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise.
* gnu/local.mk: De-register them.
---
 gnu/local.mk                                  |   2 -
 .../patches/webkitgtk-bind-all-fonts.patch    |  25 --
 .../webkitgtk-canonicalize-paths.patch        |  66 -----
 gnu/packages/webkit.scm                       | 232 ++++++++++--------
 4 files changed, 124 insertions(+), 201 deletions(-)
 delete mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
 delete mode 100644 gnu/packages/patches/webkitgtk-canonicalize-paths.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index aac7362475..7f9c2fe1a1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1931,9 +1931,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
   %D%/packages/patches/vtk-fix-freetypetools-build-failure.patch	\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
-  %D%/packages/patches/webkitgtk-bind-all-fonts.patch		\
   %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
-  %D%/packages/patches/webkitgtk-canonicalize-paths.patch	\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
   %D%/packages/patches/wicd-bitrate-none-fix.patch		\
diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
deleted file mode 100644
index 27013180c4..0000000000
--- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..8de174be3c0e 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args)
-     const char* homeDir = g_get_home_dir();
-     const char* dataDir = g_get_user_data_dir();
-     const char* cacheDir = g_get_user_cache_dir();
-+    const char* const * dataDirs = g_get_system_data_dirs();
- 
-     // Configs can include custom dirs but then we have to parse them...
-     GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", nullptr));
-@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args)
-     bindIfExists(args, fontHomeConfigDir.get());
-     bindIfExists(args, fontData.get());
-     bindIfExists(args, fontHomeData.get());
-+    for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++) {
-+        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", nullptr));
-+        bindIfExists(args, fontDataDir.get());
-+    }
-     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
- }
- 
diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
deleted file mode 100644
index 741d534831..0000000000
--- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..a2a1c9d7a4dd 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -27,7 +27,6 @@
- #include <seccomp.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <unistd.h>
- #include <wtf/FileSystem.h>
- #include <wtf/UniStdExtras.h>
- #include <wtf/glib/GRefPtr.h>
-@@ -165,6 +164,15 @@ enum class BindFlags {
-     Device,
- };
- 
-+static void bindSymlinksRealPath(Vector<CString>& args, const char* path, const char* bindOption = "--ro-bind")
-+{
-+    WTF::String realPath = FileSystem::realPath(path);
-+    if (path != realPath) {
-+        CString rpath = realPath.utf8();
-+        args.appendVector(Vector<CString>({ bindOption, rpath.data(), rpath.data() }));
-+    }
-+}
-+
- static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bindFlags = BindFlags::ReadOnly)
- {
-     if (!path || path[0] == '\0')
-@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bind
-         bindType = "--ro-bind-try";
-     else
-         bindType = "--bind-try";
--    args.appendVector(Vector<CString>({ bindType, path, path }));
-+
-+    // Canonicalize the source path, otherwise a symbolic link could
-+    // point to a location outside of the namespace.
-+    bindSymlinksRealPath(args, path, bindType);
-+
-+    // As /etc is exposed wholesale, do not layer extraneous bind
-+    // directives on top, which could fail in the presence of symbolic
-+    // links.
-+    if (!g_str_has_prefix(path, "/etc/"))
-+        args.appendVector(Vector<CString>({ bindType, path, path }));
- }
- 
- static void bindDBusSession(Vector<CString>& args, bool allowPortals)
-@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args)
-     }));
- }
- 
--static void bindSymlinksRealPath(Vector<CString>& args, const char* path)
--{
--    char realPath[PATH_MAX];
--
--    if (realpath(path, realPath) && strcmp(path, realPath)) {
--        args.appendVector(Vector<CString>({
--            "--ro-bind", realPath, realPath,
--        }));
--    }
--}
--
- // Translate a libseccomp error code into an error message. libseccomp
- // mostly returns negative errno values such as -ENOMEM, but some
- // standard errno values are used for non-standard purposes where their
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..f453372b1e 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages webkit)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix build utils)
   #:use-module (guix build-system cmake)
@@ -41,6 +42,7 @@ (define-module (gnu packages webkit)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages games)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -239,121 +241,135 @@ (define-public wpewebkit
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.34.6")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   "webkitgtk-" version ".tar.xz"))
               (sha256
                (base32
-                "1xn1hhd0qaxmjf6vy6664i4mmmjsw9zgrr4w8ni3415d981zvj3b"))
-              (patches (search-patches "webkitgtk-bind-all-fonts.patch"
-                                       "webkitgtk-adjust-bubblewrap-paths.patch"
-                                       "webkitgtk-canonicalize-paths.patch"))))
+                "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+              (patches (search-patches
+                        "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
-     `(#:tests? #f ; no tests
-       #:build-type "Release" ; turn off debugging symbols to save space
-       #:configure-flags (list
-                          "-DPORT=GTK"
-                          "-DENABLE_GTKDOC=ON" ; No doc by default
-                          ;; Requires libmanette, new dependency added in 2.32.0.
-                          ;; TODO Decide if we should enable this
-                          "-DENABLE_GAMEPAD=OFF"
-                          "-DUSE_SYSTEMD=OFF"
-                          (string-append ; uses lib64 by default
-                           "-DLIB_INSTALL_DIR="
-                           (assoc-ref %outputs "out") "/lib"))
-       #:make-flags
-       ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
-       (list "-j" (number->string (max 2 (parallel-job-count))))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'configure-bubblewrap-store-directory
-           (lambda _
-             ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
-             ;; avoid hard coding /gnu/store, for users with other prefixes.
-             (let ((store-directory (%store-directory)))
-               (substitute*
-                   "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
-                 (("@storedir@") store-directory)))))
-         (add-after 'unpack 'patch-gtk-doc-scan
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/docbookx.dtd"))))
-                       (find-files "Source" "\\.sgml$"))))
-         (add-after 'unpack 'embed-absolute-wpebackend-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
-               (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
-                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
-                  (string-append wpebackend-fdo "/lib/" all))))))
-         ,@(if (target-x86-64?)
-               '()
-               '((add-after 'unpack 'disable-sse2
-                   (lambda _
-                     (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
-                       (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
-                        "FALSE"))))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file (string-append out "/share/gtk-doc")
-                            (string-append doc "/share/gtk-doc"))))))))
+     (list
+      ;; The release archive doesn't include the resources/sources needed to
+      ;; run the various regression tests.
+      #:tests? #f
+      ;; When building using the default RelWithDebInfo build type, the final
+      ;; binaries require 20 GiB of memory to link (even with ld.gold or lld)
+      ;; and produce 4.6 GiB of debug symbols.
+      #:build-type "Release"
+      #:configure-flags #~(list
+                           "-DPORT=GTK"
+                           "-DENABLE_GTKDOC=ON" ;disabled by default
+                           "-DENABLE_ACCELERATED_2D_CANVAS=ON" ;disabled by default
+                           "-DENABLE_MINIBROWSER=ON" ;disabled by default
+                           ;; The default lib installation prefix is lib64.
+                           (string-append "-DLIB_INSTALL_DIR=" #$output "/lib"))
+      ;; The build may fail with -j1 (see:
+      ;; https://bugs.webkit.org/show_bug.cgi?id=195251).
+      #:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'configure-bubblewrap-store-directory
+            (lambda _
+              ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
+              ;; avoid hard coding /gnu/store, for users with other prefixes.
+              (let ((store-directory (%store-directory)))
+                (substitute*
+                    "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
+                  (("@storedir@") store-directory)))))
+          (add-after 'unpack 'do-not-disable-new-dtags
+            ;; Ensure the linker uses new dynamic tags as this is what Guix
+            ;; uses and validates in the validate-runpath phase.
+            (lambda _
+              (substitute* "Source/cmake/OptionsCommon.cmake"
+                (("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
+                 "if (FALSE)"))))
+          (add-after 'unpack 'help-cmake-find-elogind
+            (lambda _
+              (substitute* "Source/cmake/FindJournald.cmake"
+                ;; Otherwise, CMake would throw an error because it relies on
+                ;; the pkg-config search to locate headers.
+                (("pkg_check_modules\\(PC_SYSTEMD QUIET libsystemd")
+                 "pkg_check_modules(PC_SYSTEMD QUIET libelogind"))))
+          (add-after 'unpack 'patch-gtk-doc-scan
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* (find-files "Source" "\\.sgml$")
+                (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                 (search-input-file (or native-inputs inputs)
+                                    "xml/dtd/docbook/docbookx.dtd")))))
+          (add-after 'unpack 'embed-absolute-wpebackend-reference
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
+                (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
+                  (("libWPEBackend-fdo-[\\.0-9]+\\.so" all)
+                   (search-input-file inputs (string-append "lib/" all)))))))
+          #$@(if (target-x86-64?)
+                 '()
+                 '((add-after 'unpack 'disable-sse2
+                     (lambda _
+                       (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
+                         (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
+                          "FALSE"))))))
+          (add-after 'install 'move-doc-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((doc (assoc-ref outputs "doc")))
+                (mkdir-p (string-append doc "/share"))
+                (rename-file (string-append #$output "/share/gtk-doc")
+                             (string-append doc "/share/gtk-doc"))))))))
     (native-inputs
-     `(("bison" ,bison)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gperf" ,gperf)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("gtk-doc" ,gtk-doc/stable) ; For documentation generation
-       ("docbook-xml" ,docbook-xml) ; For documentation generation
-       ("ruby" ,ruby)))
+     (list bison
+           gettext-minimal
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gobject-introspection
+           gperf
+           perl
+           pkg-config
+           python-wrapper
+           gtk-doc/stable               ;for documentation generation
+           docbook-xml                  ;for documentation generation
+           ruby))
     (propagated-inputs
      (list gtk+ libsoup))
     (inputs
-     `(("at-spi2-core" ,at-spi2-core)
-       ("bubblewrap" ,bubblewrap)
-       ("enchant" ,enchant)
-       ("geoclue" ,geoclue)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gtk+-2" ,gtk+-2)
-       ("harfbuzz" ,harfbuzz)
-       ("hyphen" ,hyphen)
-       ("icu4c" ,icu4c)
-       ("lcms" ,lcms)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libnotify" ,libnotify)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libsecret" ,libsecret)
-       ("libtasn1" ,libtasn1)
-       ("libwebp" ,libwebp)
-       ("libwpe" ,libwpe)
-       ("libxcomposite" ,libxcomposite)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("libxt" ,libxt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("woff2" ,woff2)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
+     (list at-spi2-core
+           bubblewrap
+           elogind
+           enchant
+           geoclue
+           gst-plugins-base
+           gtk+-2
+           harfbuzz
+           hyphen
+           icu4c
+           lcms
+           libgcrypt
+           libjpeg-turbo
+           libmanette
+           libnotify
+           libpng
+           libseccomp
+           libsecret
+           libtasn1
+           libwebp
+           libwpe
+           libxcomposite
+           libxml2
+           libxslt
+           libxt
+           mesa
+           openjpeg
+           sqlite
+           woff2
+           wpebackend-fdo
+           xdg-dbus-proxy))
     (home-page "https://www.webkitgtk.org/")
     (synopsis "Web content engine for GTK+")
-    (description
-     "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
+    (description "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
 suitable for projects requiring any kind of web integration, from hybrid
 HTML/CSS applications to full-fledged web browsers.  WebKitGTK+ video playing
 capabilities can be extended through the use of GStreamer plugins (not
@@ -366,17 +382,17 @@ (define-public webkitgtk
                    license:bsd-2
                    license:bsd-3))))
 
-;;; Required by gnome-online-accounts; as webkitgtk 2.34 propagates libsoup 3,
-;;; which causes the build to fail.
-;;; Also 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
+;;; Required by gnome-online-accounts as webkitgtk propagates libsoup 3, which
+;;; causes the build to fail.  Also 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
     (name "webkitgtk-with-libsoup2")
     (arguments (substitute-keyword-arguments (package-arguments webkitgtk)
                  ((#:configure-flags flags)
-                  `(cons "-DUSE_SOUP2=ON" ,flags))))
+                  #~(cons "-DUSE_SOUP2=ON" #$flags))))
     (propagated-inputs
-     (alist-replace "libsoup" (list libsoup-minimal-2)
-                    (package-propagated-inputs webkitgtk)))))
+     (modify-inputs (package-propagated-inputs webkitgtk)
+       (replace "libsoup" libsoup-minimal-2)))))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Tue, 05 Apr 2022 00:28:02 GMT) Full text and rfc822 format available.

Message #29 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 3/3] gnu: wpewebkit: Update to 2.36.0.
Date: Mon,  4 Apr 2022 20:27:05 -0400
* gnu/packages/webkit.scm (%webkit-version): New variable.
(wpewebkit): Update to 2.36.0, rewriting package to inherit from webkitgtk.
(webkitgtk)[source]: Use %webkit-version, and adjust definition to match that
of wpewebkit.
---
 gnu/packages/webkit.scm | 145 ++++++++--------------------------------
 1 file changed, 27 insertions(+), 118 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f453372b1e..cfb80f591c 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -123,132 +123,18 @@ (define-public wpebackend-fdo
 engine that uses Wayland for graphics output.")
     (license license:bsd-2)))
 
-(define-public wpewebkit
-  (package
-    (name "wpewebkit")
-    (version "2.34.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://wpewebkit.org/releases/"
-                       name "-" version ".tar.xz"))
-       (sha256
-        (base32 "1z20bza01ld4jvi0qx8xsl5y4czaniwpi8hxdjyirj1mrszy8pf3"))))
-    (build-system cmake-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:tests? #f                      ; XXX: To be enabled
-       #:configure-flags
-       (list
-        "-DPORT=WPE"
-        ;; XXX: To be enabled.
-        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
-        "-DUSE_SYSTEMD=OFF"
-        "-DENABLE_ENCRYPTED_MEDIA=OFF"
-        "-DENABLE_GTKDOC=ON"
-        "-DUSE_GSTREAMER_GL=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'setenv
-           (lambda _
-             (setenv "HOME" "/tmp")
-             #t))
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each
-              (lambda (file)
-                (substitute* file
-                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                   (string-append (assoc-ref inputs "docbook-xml")
-                                  "/xml/dtd/docbook/docbookx.dtd"))))
-              (find-files "Source" "\\.sgml$"))
-             #t))
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "Source/PlatformWPE.cmake"
-               (("(Documentation/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}"))
-               (("(html/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}")))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file
-                (string-append out "/share/gtk-doc")
-                (string-append doc "/share/gtk-doc"))
-               #t))))))
-    (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.1.2)
-       ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("python2" ,python-2.7)
-       ("ruby" ,ruby)))
-    (inputs
-     `(("atk" ,atk)
-       ("atk-bridge" ,at-spi2-atk)
-       ("bubblewrap" ,bubblewrap)
-       ("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gperf" ,gperf)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("harfbuzz" ,harfbuzz)
-       ("icu" ,icu4c)
-       ("lcms" ,lcms)
-       ("libepoxy" ,libepoxy)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libtasn1" ,libtasn1)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("webp" ,libwebp)
-       ("woff2" ,woff2)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("glib" ,glib)
-       ("libsoup" ,libsoup)
-       ("wpe" ,libwpe)))
-    (synopsis "WebKit port optimized for embedded devices")
-    (description "WPE WebKit allows embedders to create simple and performant
-systems based on Web platform technologies.  It is designed with hardware
-acceleration in mind, leveraging common 3D graphics APIs for best performance.")
-    (home-page "https://wpewebkit.org/")
-    (license
-     (list
-      ;; Rendering and JavaScript Engines.
-      license:lgpl2.1+
-      ;; Others
-      license:bsd-2))
-    (properties '((cpe-name . "wpe_webkit")))))
+(define %webkit-version "2.36.0")
 
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.36.0")
+    (version %webkit-version)
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
-                                  "webkitgtk-" version ".tar.xz"))
+                                  name "-" version ".tar.xz"))
               (sha256
-               (base32
-                "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+               (base32 "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
               (patches (search-patches
                         "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
@@ -396,3 +282,26 @@ (define-public webkitgtk-with-libsoup2
     (propagated-inputs
      (modify-inputs (package-propagated-inputs webkitgtk)
        (replace "libsoup" libsoup-minimal-2)))))
+
+(define-public wpewebkit
+  (package
+    (inherit webkitgtk)
+    (name "wpewebkit")
+    (version %webkit-version)
+    (source (origin
+              (inherit (package-source webkitgtk))
+              (uri (string-append "https://wpewebkit.org/releases/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32 "0nkdx6pckbkhs85z3pidnh4cbp0wfa38lf2qyn0grywvgpwajsh9"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments webkitgtk)
+       ((#:configure-flags flags)
+        #~(cons "-DPORT=WPE"
+                (delete "-DPORT=GTK" #$flags)))))
+    (synopsis "WebKit port optimized for embedded devices")
+    (description "WPE WebKit allows embedders to create simple and performant
+systems based on Web platform technologies.  It is designed with hardware
+acceleration in mind, leveraging common 3D graphics APIs for best performance.")
+    (home-page "https://wpewebkit.org/")
+    (properties '((cpe-name . "wpe_webkit")))))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Tue, 05 Apr 2022 06:00:01 GMT) Full text and rfc822 format available.

Message #32 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 54703 <at> debbugs.gnu.org
Subject: Re: [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable
 extra features.
Date: Tue, 05 Apr 2022 07:59:34 +0200
Am Montag, dem 04.04.2022 um 20:27 -0400 schrieb Maxim Cournoyer:
> * gnu/packages/webkit.scm (webkitgtk): Update to 2.36.0.
> [source]: Remove the webkitgtk-bind-all-fonts.patch and
> webkitgtk-canonicalize-paths.patch patches.
I assume they were upstreamed?
> [arguments]: Use gexp.
> [tests?]: Update comment.
> [build-type]: Add explanatory comment.
> [configure-flags]: Enable gamepad support,  remove nonexistent
> USE_SYSTEMD option, enable accelerated 2D canvas and mini-browser.
> [phases]{do-not-disable-new-dtags}: New phase.
> {help-cmake-find-elogind}: Likewise.
> {patch-gtk-doc-scan}: Simplify to avoid for-each.  Locate
> docbookx.dtd via
> search-input-file.
> {embed-absolute-wpebackend-reference}: Use search-input-file.
> [native-inputs]: Use new style.
> [inputs]: Likewise.  Add elogind and libmanette.
> [description]: Adjust indentation.
> (webkitgtk-with-libsoup2): Re-format comment, fixing spacing.
> [configure-flags]: Use gexp.
> [propagated-inputs]: Use modify-inputs to replace libsoup with
> libsoup-minimal-2.
> * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Delete file.
> * gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise.
> * gnu/local.mk: De-register them.
> ---
>  gnu/local.mk                                  |   2 -
>  .../patches/webkitgtk-bind-all-fonts.patch    |  25 --
>  .../webkitgtk-canonicalize-paths.patch        |  66 -----
>  gnu/packages/webkit.scm                       | 232 ++++++++++------
> --
>  4 files changed, 124 insertions(+), 201 deletions(-)
>  delete mode 100644 gnu/packages/patches/webkitgtk-bind-all-
> fonts.patch
>  delete mode 100644 gnu/packages/patches/webkitgtk-canonicalize-
> paths.patch
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index aac7362475..7f9c2fe1a1 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1931,9 +1931,7 @@ dist_patch_DATA
> =                                         \
>    %D%/packages/patches/vte-CVE-2012-2738-
> pt2.patch                     \
>    %D%/packages/patches/vtk-fix-freetypetools-build-
> failure.patch       \
>    %D%/packages/patches/warsow-qfusion-fix-bool-return-
> type.patch       \
> -  %D%/packages/patches/webkitgtk-bind-all-fonts.patch          \
>    %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
> -  %D%/packages/patches/webkitgtk-canonicalize-paths.patch      \
>    %D%/packages/patches/webrtc-audio-processing-big-
> endian.patch        \
>    %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch    \
>    %D%/packages/patches/wicd-bitrate-none-fix.patch             \
> diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> deleted file mode 100644
> index 27013180c4..0000000000
> --- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -Upstream commit:
> https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a
> -
> -diff --git
> a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -index ecc804663784..8de174be3c0e 100644
> ---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args)
> -     const char* homeDir = g_get_home_dir();
> -     const char* dataDir = g_get_user_data_dir();
> -     const char* cacheDir = g_get_user_cache_dir();
> -+    const char* const * dataDirs = g_get_system_data_dirs();
> - 
> -     // Configs can include custom dirs but then we have to parse
> them...
> -     GUniquePtr<char> fontConfig(g_build_filename(configDir,
> "fontconfig", nullptr));
> -@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args)
> -     bindIfExists(args, fontHomeConfigDir.get());
> -     bindIfExists(args, fontData.get());
> -     bindIfExists(args, fontHomeData.get());
> -+    for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++)
> {
> -+        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir,
> "fonts", nullptr));
> -+        bindIfExists(args, fontDataDir.get());
> -+    }
> -     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
> - }
> - 
> diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
> b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
> deleted file mode 100644
> index 741d534831..0000000000
> --- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -Upstream commit:
> https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65
> -
> -diff --git
> a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -index ecc804663784..a2a1c9d7a4dd 100644
> ---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> -@@ -27,7 +27,6 @@
> - #include <seccomp.h>
> - #include <sys/ioctl.h>
> - #include <sys/mman.h>
> --#include <unistd.h>
> - #include <wtf/FileSystem.h>
> - #include <wtf/UniStdExtras.h>
> - #include <wtf/glib/GRefPtr.h>
> -@@ -165,6 +164,15 @@ enum class BindFlags {
> -     Device,
> - };
> - 
> -+static void bindSymlinksRealPath(Vector<CString>& args, const char*
> path, const char* bindOption = "--ro-bind")
> -+{
> -+    WTF::String realPath = FileSystem::realPath(path);
> -+    if (path != realPath) {
> -+        CString rpath = realPath.utf8();
> -+        args.appendVector(Vector<CString>({ bindOption,
> rpath.data(), rpath.data() }));
> -+    }
> -+}
> -+
> - static void bindIfExists(Vector<CString>& args, const char* path,
> BindFlags bindFlags = BindFlags::ReadOnly)
> - {
> -     if (!path || path[0] == '\0')
> -@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args,
> const char* path, BindFlags bind
> -         bindType = "--ro-bind-try";
> -     else
> -         bindType = "--bind-try";
> --    args.appendVector(Vector<CString>({ bindType, path, path }));
> -+
> -+    // Canonicalize the source path, otherwise a symbolic link
> could
> -+    // point to a location outside of the namespace.
> -+    bindSymlinksRealPath(args, path, bindType);
> -+
> -+    // As /etc is exposed wholesale, do not layer extraneous bind
> -+    // directives on top, which could fail in the presence of
> symbolic
> -+    // links.
> -+    if (!g_str_has_prefix(path, "/etc/"))
> -+        args.appendVector(Vector<CString>({ bindType, path, path
> }));
> - }
> - 
> - static void bindDBusSession(Vector<CString>& args, bool
> allowPortals)
> -@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args)
> -     }));
> - }
> - 
> --static void bindSymlinksRealPath(Vector<CString>& args, const char*
> path)
> --{
> --    char realPath[PATH_MAX];
> --
> --    if (realpath(path, realPath) && strcmp(path, realPath)) {
> --        args.appendVector(Vector<CString>({
> --            "--ro-bind", realPath, realPath,
> --        }));
> --    }
> --}
> --
> - // Translate a libseccomp error code into an error message.
> libseccomp
> - // mostly returns negative errno values such as -ENOMEM, but some
> - // standard errno values are used for non-standard purposes where
> their
> diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
> index f79d6bd4f6..f453372b1e 100644
> --- a/gnu/packages/webkit.scm
> +++ b/gnu/packages/webkit.scm
> @@ -27,6 +27,7 @@ (define-module (gnu packages webkit)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix gexp)
>    #:use-module (guix utils)
>    #:use-module (guix build utils)
>    #:use-module (guix build-system cmake)
> @@ -41,6 +42,7 @@ (define-module (gnu packages webkit)
>    #:use-module (gnu packages flex)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages freedesktop)
> +  #:use-module (gnu packages games)
>    #:use-module (gnu packages gcc)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages ghostscript)
> @@ -239,121 +241,135 @@ (define-public wpewebkit
>  (define-public webkitgtk
>    (package
>      (name "webkitgtk")
> -    (version "2.34.6")
> +    (version "2.36.0")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append
> "https://www.webkitgtk.org/releases/"
>                                    "webkitgtk-" version ".tar.xz"))
>                (sha256
>                 (base32
> -               
> "1xn1hhd0qaxmjf6vy6664i4mmmjsw9zgrr4w8ni3415d981zvj3b"))
> -              (patches (search-patches "webkitgtk-bind-all-
> fonts.patch"
> -                                       "webkitgtk-adjust-bubblewrap-
> paths.patch"
> -                                       "webkitgtk-canonicalize-
> paths.patch"))))
> +               
> "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
> +              (patches (search-patches
> +                        "webkitgtk-adjust-bubblewrap-
> paths.patch"))))
>      (build-system cmake-build-system)
>      (outputs '("out" "doc" "debug"))
>      (arguments
> -     `(#:tests? #f ; no tests
> -       #:build-type "Release" ; turn off debugging symbols to save
> space
> -       #:configure-flags (list
> -                          "-DPORT=GTK"
> -                          "-DENABLE_GTKDOC=ON" ; No doc by default
> -                          ;; Requires libmanette, new dependency
> added in 2.32.0.
> -                          ;; TODO Decide if we should enable this
> -                          "-DENABLE_GAMEPAD=OFF"
> -                          "-DUSE_SYSTEMD=OFF"
> -                          (string-append ; uses lib64 by default
> -                           "-DLIB_INSTALL_DIR="
> -                           (assoc-ref %outputs "out") "/lib"))
> -       #:make-flags
> -       ;; Never build with unsupported -j1:
> https://issues.guix.gnu.org/47964#5
> -       (list "-j" (number->string (max 2 (parallel-job-count))))
> -       #:phases
> -       (modify-phases %standard-phases
> -         (add-after 'unpack 'configure-bubblewrap-store-directory
> -           (lambda _
> -             ;; This phase is a corollary to 'webkitgtk-share-
> store.patch' to
> -             ;; avoid hard coding /gnu/store, for users with other
> prefixes.
> -             (let ((store-directory (%store-directory)))
> -               (substitute*
> -                  
> "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
> -                 (("@storedir@") store-directory)))))
> -         (add-after 'unpack 'patch-gtk-doc-scan
> -           (lambda* (#:key inputs #:allow-other-keys)
> -             (for-each (lambda (file)
> -                         (substitute* file
> -                          
> (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
> -                            (string-append (assoc-ref inputs
> "docbook-xml")
> -                                          
> "/xml/dtd/docbook/docbookx.dtd"))))
> -                       (find-files "Source" "\\.sgml$"))))
> -         (add-after 'unpack 'embed-absolute-wpebackend-reference
> -           (lambda* (#:key inputs #:allow-other-keys)
> -             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-
> fdo")))
> -               (substitute*
> "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
> -                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
> -                  (string-append wpebackend-fdo "/lib/" all))))))
> -         ,@(if (target-x86-64?)
> -               '()
> -               '((add-after 'unpack 'disable-sse2
> -                   (lambda _
> -                     (substitute*
> "Source/cmake/WebKitCompilerFlags.cmake"
> -                       (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
> -                        "FALSE"))))))
> -         (add-after 'install 'move-doc-files
> -           (lambda* (#:key outputs #:allow-other-keys)
> -             (let ((out (assoc-ref outputs "out"))
> -                   (doc (assoc-ref outputs "doc")))
> -               (mkdir-p (string-append doc "/share"))
> -               (rename-file (string-append out "/share/gtk-doc")
> -                            (string-append doc "/share/gtk-
> doc"))))))))
> +     (list
> +      ;; The release archive doesn't include the resources/sources
> needed to
> +      ;; run the various regression tests.
> +      #:tests? #f
> +      ;; When building using the default RelWithDebInfo build type,
> the final
> +      ;; binaries require 20 GiB of memory to link (even with
> ld.gold or lld)
> +      ;; and produce 4.6 GiB of debug symbols.
> +      #:build-type "Release"
> +      #:configure-flags #~(list
> +                           "-DPORT=GTK"
> +                           "-DENABLE_GTKDOC=ON" ;disabled by default
> +                           "-DENABLE_ACCELERATED_2D_CANVAS=ON"
> ;disabled by default
> +                           "-DENABLE_MINIBROWSER=ON" ;disabled by
> default
Rather than saying "disabled by default" we should probably say why
we're enabling them if upstream thinks that's unwise to do.
> +                           ;; The default lib installation prefix is
> lib64.
> +                           (string-append "-DLIB_INSTALL_DIR="
> #$output "/lib"))
> +      ;; The build may fail with -j1 (see:
> +      ;; https://bugs.webkit.org/show_bug.cgi?id=195251).
> +      #:make-flags #~(list "-j" (number->string (max 2 (parallel-
> job-count))))
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-after 'unpack 'configure-bubblewrap-store-directory
> +            (lambda _
> +              ;; This phase is a corollary to 'webkitgtk-share-
> store.patch' to
> +              ;; avoid hard coding /gnu/store, for users with other
> prefixes.
That patch no longer exists AFAICS, so the comment needs to be updated.
> +              (let ((store-directory (%store-directory)))
> +                (substitute*
> +                   
> "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
> +                  (("@storedir@") store-directory)))))
> +          (add-after 'unpack 'do-not-disable-new-dtags
> +            ;; Ensure the linker uses new dynamic tags as this is
> what Guix
> +            ;; uses and validates in the validate-runpath phase.
> +            (lambda _
> +              (substitute* "Source/cmake/OptionsCommon.cmake"
> +                (("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
> +                 "if (FALSE)"))))
> +          (add-after 'unpack 'help-cmake-find-elogind
> +            (lambda _
> +              (substitute* "Source/cmake/FindJournald.cmake"
> +                ;; Otherwise, CMake would throw an error because it
> relies on
> +                ;; the pkg-config search to locate headers.
> +                (("pkg_check_modules\\(PC_SYSTEMD QUIET libsystemd")
> +                 "pkg_check_modules(PC_SYSTEMD QUIET libelogind"))))
> +          (add-after 'unpack 'patch-gtk-doc-scan
> +            (lambda* (#:key native-inputs inputs #:allow-other-keys)
> +              (substitute* (find-files "Source" "\\.sgml$")
> +               
> (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
> +                 (search-input-file (or native-inputs inputs)
> +                                   
> "xml/dtd/docbook/docbookx.dtd")))))
> +          (add-after 'unpack 'embed-absolute-wpebackend-reference
> +            (lambda* (#:key inputs #:allow-other-keys)
> +              (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-
> fdo")))
> +                (substitute*
> "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
> +                  (("libWPEBackend-fdo-[\\.0-9]+\\.so" all)
> +                   (search-input-file inputs (string-append "lib/"
> all)))))))
> +          #$@(if (target-x86-64?)
> +                 '()
> +                 '((add-after 'unpack 'disable-sse2
> +                     (lambda _
> +                       (substitute*
> "Source/cmake/WebKitCompilerFlags.cmake"
> +                         (("WTF_CPU_X86 AND NOT
> CMAKE_CROSSCOMPILING")
> +                          "FALSE"))))))

> +          (add-after 'install 'move-doc-files
> +            (lambda* (#:key outputs #:allow-other-keys)
> +              (let ((doc (assoc-ref outputs "doc")))
> +                (mkdir-p (string-append doc "/share"))
> +                (rename-file (string-append #$output "/share/gtk-
> doc")
> +                             (string-append doc "/share/gtk-
> doc"))))))))
>      (native-inputs
> -     `(("bison" ,bison)
> -       ("gettext" ,gettext-minimal)
> -       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
> -       ("gobject-introspection" ,gobject-introspection)
> -       ("gperf" ,gperf)
> -       ("perl" ,perl)
> -       ("pkg-config" ,pkg-config)
> -       ("python" ,python-wrapper)
> -       ("gtk-doc" ,gtk-doc/stable) ; For documentation generation
> -       ("docbook-xml" ,docbook-xml) ; For documentation generation
> -       ("ruby" ,ruby)))
> +     (list bison
> +           gettext-minimal
> +           `(,glib "bin")               ;for glib-mkenums, etc.
> +           gobject-introspection
> +           gperf
> +           perl
> +           pkg-config
> +           python-wrapper
> +           gtk-doc/stable               ;for documentation
> generation
> +           docbook-xml                  ;for documentation
> generation
I think "for documentation" would be enough here.  Small nitpick:
What's it with all the lacking spaces after the semicolons?
> +           ruby))
>      (propagated-inputs
>       (list gtk+ libsoup))
>      (inputs
> -     `(("at-spi2-core" ,at-spi2-core)
> -       ("bubblewrap" ,bubblewrap)
> -       ("enchant" ,enchant)
> -       ("geoclue" ,geoclue)
> -       ("gst-plugins-base" ,gst-plugins-base)
> -       ("gtk+-2" ,gtk+-2)
> -       ("harfbuzz" ,harfbuzz)
> -       ("hyphen" ,hyphen)
> -       ("icu4c" ,icu4c)
> -       ("lcms" ,lcms)
> -       ("libgcrypt" ,libgcrypt)
> -       ("libjpeg" ,libjpeg-turbo)
> -       ("libnotify" ,libnotify)
> -       ("libpng" ,libpng)
> -       ("libseccomp" ,libseccomp)
> -       ("libsecret" ,libsecret)
> -       ("libtasn1" ,libtasn1)
> -       ("libwebp" ,libwebp)
> -       ("libwpe" ,libwpe)
> -       ("libxcomposite" ,libxcomposite)
> -       ("libxml2" ,libxml2)
> -       ("libxslt" ,libxslt)
> -       ("libxt" ,libxt)
> -       ("mesa" ,mesa)
> -       ("openjpeg" ,openjpeg)
> -       ("sqlite" ,sqlite)
> -       ("woff2" ,woff2)
> -       ("wpebackend-fdo" ,wpebackend-fdo)
> -       ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
> +     (list at-spi2-core
> +           bubblewrap
> +           elogind
> +           enchant
> +           geoclue
> +           gst-plugins-base
> +           gtk+-2
> +           harfbuzz
> +           hyphen
> +           icu4c
> +           lcms
> +           libgcrypt
> +           libjpeg-turbo
> +           libmanette
> +           libnotify
> +           libpng
> +           libseccomp
> +           libsecret
> +           libtasn1
> +           libwebp
> +           libwpe
> +           libxcomposite
> +           libxml2
> +           libxslt
> +           libxt
> +           mesa
> +           openjpeg
> +           sqlite
> +           woff2
> +           wpebackend-fdo
> +           xdg-dbus-proxy))
>      (home-page "https://www.webkitgtk.org/")
>      (synopsis "Web content engine for GTK+")
> -    (description
> -     "WebKitGTK+ is a full-featured port of the WebKit rendering
> engine,
> +    (description "WebKitGTK+ is a full-featured port of the WebKit
> rendering engine,
>  suitable for projects requiring any kind of web integration, from
> hybrid
>  HTML/CSS applications to full-fledged web browsers.  WebKitGTK+
> video playing
>  capabilities can be extended through the use of GStreamer plugins
> (not
> @@ -366,17 +382,17 @@ (define-public webkitgtk
>                     license:bsd-2
>                     license:bsd-3))))
>  
> -;;; Required by gnome-online-accounts; as webkitgtk 2.34 propagates
> libsoup 3,
> -;;; which causes the build to fail.
> -;;; Also 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
> +;;; Required by gnome-online-accounts as webkitgtk propagates
> libsoup 3, which
> +;;; causes the build to fail.  Also 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
>      (name "webkitgtk-with-libsoup2")
>      (arguments (substitute-keyword-arguments (package-arguments
> webkitgtk)
>                   ((#:configure-flags flags)
> -                  `(cons "-DUSE_SOUP2=ON" ,flags))))
> +                  #~(cons "-DUSE_SOUP2=ON" #$flags))))
>      (propagated-inputs
> -     (alist-replace "libsoup" (list libsoup-minimal-2)
> -                    (package-propagated-inputs webkitgtk)))))
> +     (modify-inputs (package-propagated-inputs webkitgtk)
> +       (replace "libsoup" libsoup-minimal-2)))))
Otherwise LGTM.

You might however want to wait for more comments, particularly lfam's
security advice :)




Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Sat, 09 Apr 2022 14:43:01 GMT) Full text and rfc822 format available.

Message #35 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v3 1/3] gnu: woff2: Propagate brotli.
Date: Sat,  9 Apr 2022 10:42:18 -0400
* gnu/packages/fontutils.scm (woff2)[phases]: Delete trailing #t.
[inputs]: Move brotli to ...
[propagated-inputs]: ... here.
---
 gnu/packages/fontutils.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 04b868d31b..c8c32fd5a9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -286,7 +286,7 @@ (define-public woff2
     (build-system cmake-build-system)
     (outputs '("out" "bin"))
     (arguments
-     `(#:tests? #f                      ; No target
+     `(#:tests? #f                      ;no test suite
        #:configure-flags
        (list
         (string-append "-DCMAKE_INSTALL_BINDIR="
@@ -305,12 +305,11 @@ (define-public woff2
            (lambda _
              (substitute* "CMakeLists.txt"
                (("NOT BUILD_SHARED_LIBS")
-                "BUILD_SHARED_LIBS"))
-             #t)))))
+                "BUILD_SHARED_LIBS")))))))
     (native-inputs
      (list pkg-config))
-    (inputs
-     (list brotli))
+    (propagated-inputs
+     (list brotli))                     ;libwoff2dec.pc requires libbrotlidec
     (synopsis "Libraries and tools for WOFF2 font format")
     (description "WOFF2 provides libraries and tools to handle the Web Open
 Font Format (WOFF).")
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Sat, 09 Apr 2022 14:43:02 GMT) Full text and rfc822 format available.

Message #38 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v3 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra
 features.
Date: Sat,  9 Apr 2022 10:42:19 -0400
* gnu/packages/webkit.scm (webkitgtk): Update to 2.36.0.
[source]: Remove the webkitgtk-bind-all-fonts.patch and
webkitgtk-canonicalize-paths.patch patches.
[arguments]: Use gexp.
[tests?]: Update comment.
[build-type]: Add explanatory comment.
[configure-flags]: Enable gamepad support,  remove nonexistent
USE_SYSTEMD option and enable mini-browser.
[phases]{do-not-disable-new-dtags}: New phase.
{help-cmake-find-elogind}: Likewise.
{patch-gtk-doc-scan}: Simplify to avoid for-each.  Locate docbookx.dtd via
search-input-file.
{embed-absolute-wpebackend-reference}: Use search-input-file.
[native-inputs]: Use new style.
[inputs]: Likewise.  Add elogind and libmanette.
[description]: Adjust indentation.
(webkitgtk-with-libsoup2): Re-format comment, fixing spacing.
[configure-flags]: Use gexp.
[propagated-inputs]: Use modify-inputs to replace libsoup with
libsoup-minimal-2.
* gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Delete file.
* gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise.
* gnu/local.mk: De-register them.
---
 gnu/local.mk                                  |   2 -
 .../patches/webkitgtk-bind-all-fonts.patch    |  25 --
 .../webkitgtk-canonicalize-paths.patch        |  66 -----
 gnu/packages/webkit.scm                       | 241 ++++++++++--------
 4 files changed, 132 insertions(+), 202 deletions(-)
 delete mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
 delete mode 100644 gnu/packages/patches/webkitgtk-canonicalize-paths.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b842f311ab..b91e4939ee 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1929,9 +1929,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
   %D%/packages/patches/vtk-fix-freetypetools-build-failure.patch	\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
-  %D%/packages/patches/webkitgtk-bind-all-fonts.patch		\
   %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
-  %D%/packages/patches/webkitgtk-canonicalize-paths.patch	\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
   %D%/packages/patches/wicd-bitrate-none-fix.patch		\
diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
deleted file mode 100644
index 27013180c4..0000000000
--- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..8de174be3c0e 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args)
-     const char* homeDir = g_get_home_dir();
-     const char* dataDir = g_get_user_data_dir();
-     const char* cacheDir = g_get_user_cache_dir();
-+    const char* const * dataDirs = g_get_system_data_dirs();
- 
-     // Configs can include custom dirs but then we have to parse them...
-     GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", nullptr));
-@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args)
-     bindIfExists(args, fontHomeConfigDir.get());
-     bindIfExists(args, fontData.get());
-     bindIfExists(args, fontHomeData.get());
-+    for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++) {
-+        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", nullptr));
-+        bindIfExists(args, fontDataDir.get());
-+    }
-     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
- }
- 
diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
deleted file mode 100644
index 741d534831..0000000000
--- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..a2a1c9d7a4dd 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -27,7 +27,6 @@
- #include <seccomp.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <unistd.h>
- #include <wtf/FileSystem.h>
- #include <wtf/UniStdExtras.h>
- #include <wtf/glib/GRefPtr.h>
-@@ -165,6 +164,15 @@ enum class BindFlags {
-     Device,
- };
- 
-+static void bindSymlinksRealPath(Vector<CString>& args, const char* path, const char* bindOption = "--ro-bind")
-+{
-+    WTF::String realPath = FileSystem::realPath(path);
-+    if (path != realPath) {
-+        CString rpath = realPath.utf8();
-+        args.appendVector(Vector<CString>({ bindOption, rpath.data(), rpath.data() }));
-+    }
-+}
-+
- static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bindFlags = BindFlags::ReadOnly)
- {
-     if (!path || path[0] == '\0')
-@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bind
-         bindType = "--ro-bind-try";
-     else
-         bindType = "--bind-try";
--    args.appendVector(Vector<CString>({ bindType, path, path }));
-+
-+    // Canonicalize the source path, otherwise a symbolic link could
-+    // point to a location outside of the namespace.
-+    bindSymlinksRealPath(args, path, bindType);
-+
-+    // As /etc is exposed wholesale, do not layer extraneous bind
-+    // directives on top, which could fail in the presence of symbolic
-+    // links.
-+    if (!g_str_has_prefix(path, "/etc/"))
-+        args.appendVector(Vector<CString>({ bindType, path, path }));
- }
- 
- static void bindDBusSession(Vector<CString>& args, bool allowPortals)
-@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args)
-     }));
- }
- 
--static void bindSymlinksRealPath(Vector<CString>& args, const char* path)
--{
--    char realPath[PATH_MAX];
--
--    if (realpath(path, realPath) && strcmp(path, realPath)) {
--        args.appendVector(Vector<CString>({
--            "--ro-bind", realPath, realPath,
--        }));
--    }
--}
--
- // Translate a libseccomp error code into an error message. libseccomp
- // mostly returns negative errno values such as -ENOMEM, but some
- // standard errno values are used for non-standard purposes where their
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..9c87c02388 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2019 Marius Bakke <mbakke <at> fastmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +27,7 @@ (define-module (gnu packages webkit)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix build utils)
   #:use-module (guix build-system cmake)
@@ -41,6 +42,7 @@ (define-module (gnu packages webkit)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages games)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -239,121 +241,142 @@ (define-public wpewebkit
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.34.6")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   "webkitgtk-" version ".tar.xz"))
               (sha256
                (base32
-                "1xn1hhd0qaxmjf6vy6664i4mmmjsw9zgrr4w8ni3415d981zvj3b"))
-              (patches (search-patches "webkitgtk-bind-all-fonts.patch"
-                                       "webkitgtk-adjust-bubblewrap-paths.patch"
-                                       "webkitgtk-canonicalize-paths.patch"))))
+                "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+              (patches (search-patches
+                        "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
-     `(#:tests? #f ; no tests
-       #:build-type "Release" ; turn off debugging symbols to save space
-       #:configure-flags (list
-                          "-DPORT=GTK"
-                          "-DENABLE_GTKDOC=ON" ; No doc by default
-                          ;; Requires libmanette, new dependency added in 2.32.0.
-                          ;; TODO Decide if we should enable this
-                          "-DENABLE_GAMEPAD=OFF"
-                          "-DUSE_SYSTEMD=OFF"
-                          (string-append ; uses lib64 by default
-                           "-DLIB_INSTALL_DIR="
-                           (assoc-ref %outputs "out") "/lib"))
-       #:make-flags
-       ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
-       (list "-j" (number->string (max 2 (parallel-job-count))))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'configure-bubblewrap-store-directory
-           (lambda _
-             ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
-             ;; avoid hard coding /gnu/store, for users with other prefixes.
-             (let ((store-directory (%store-directory)))
-               (substitute*
-                   "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
-                 (("@storedir@") store-directory)))))
-         (add-after 'unpack 'patch-gtk-doc-scan
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/docbookx.dtd"))))
-                       (find-files "Source" "\\.sgml$"))))
-         (add-after 'unpack 'embed-absolute-wpebackend-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
-               (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
-                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
-                  (string-append wpebackend-fdo "/lib/" all))))))
-         ,@(if (target-x86-64?)
-               '()
-               '((add-after 'unpack 'disable-sse2
-                   (lambda _
-                     (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
-                       (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
-                        "FALSE"))))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file (string-append out "/share/gtk-doc")
-                            (string-append doc "/share/gtk-doc"))))))))
+     (list
+      ;; The release archive doesn't include the resources/sources needed to
+      ;; run the various regression tests.
+      #:tests? #f
+      ;; When building using the default RelWithDebInfo build type, the final
+      ;; binaries require 20 GiB of memory to link (even with ld.gold or lld)
+      ;; and produce 4.6 GiB of debug symbols.
+      #: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"
+                           ;; The minibrowser, not built by default, is a good
+                           ;; tool to validate the good operation of
+                           ;; webkitgtk.
+                           "-DENABLE_MINIBROWSER=ON"
+                           ;; The default lib installation prefix is lib64.
+                           (string-append "-DLIB_INSTALL_DIR=" #$output "/lib"))
+      ;; The build may fail with -j1 (see:
+      ;; https://bugs.webkit.org/show_bug.cgi?id=195251).
+      #:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'configure-bubblewrap-store-directory
+            (lambda _
+              ;; This phase works in tandem with
+              ;; webkitgtk-adjust-bubblewrap-paths.patch and avoids hard
+              ;; coding /gnu/store, for users with other prefixes.
+              (let ((store-directory (%store-directory)))
+                (substitute*
+                    "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
+                  (("@storedir@") store-directory)))))
+          (add-after 'unpack 'do-not-disable-new-dtags
+            ;; Ensure the linker uses new dynamic tags as this is what Guix
+            ;; uses and validates in the validate-runpath phase.
+            (lambda _
+              (substitute* "Source/cmake/OptionsCommon.cmake"
+                (("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
+                 "if (FALSE)"))))
+          (add-after 'unpack 'help-cmake-find-elogind
+            (lambda _
+              (substitute* "Source/cmake/FindJournald.cmake"
+                ;; Otherwise, CMake would throw an error because it relies on
+                ;; the pkg-config search to locate headers.
+                (("pkg_check_modules\\(PC_SYSTEMD QUIET libsystemd")
+                 "pkg_check_modules(PC_SYSTEMD QUIET libelogind"))))
+          (add-after 'unpack 'patch-gtk-doc-scan
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* (find-files "Source" "\\.sgml$")
+                (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                 (search-input-file (or native-inputs inputs)
+                                    "xml/dtd/docbook/docbookx.dtd")))))
+          (add-after 'unpack 'embed-absolute-wpebackend-reference
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
+                (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
+                  (("libWPEBackend-fdo-[\\.0-9]+\\.so" all)
+                   (search-input-file inputs (string-append "lib/" all)))))))
+          #$@(if (target-x86-64?)
+                 '()
+                 '((add-after 'unpack 'disable-sse2
+                     (lambda _
+                       (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
+                         (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
+                          "FALSE"))))))
+          (add-after 'install 'move-doc-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((doc (assoc-ref outputs "doc")))
+                (mkdir-p (string-append doc "/share"))
+                (rename-file (string-append #$output "/share/gtk-doc")
+                             (string-append doc "/share/gtk-doc"))))))))
     (native-inputs
-     `(("bison" ,bison)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gperf" ,gperf)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("gtk-doc" ,gtk-doc/stable) ; For documentation generation
-       ("docbook-xml" ,docbook-xml) ; For documentation generation
-       ("ruby" ,ruby)))
+     (list bison
+           gettext-minimal
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gobject-introspection
+           gperf
+           perl
+           pkg-config
+           python-wrapper
+           ;; These are required to build the documentation.
+           gtk-doc/stable
+           docbook-xml
+           ruby))
     (propagated-inputs
      (list gtk+ libsoup))
     (inputs
-     `(("at-spi2-core" ,at-spi2-core)
-       ("bubblewrap" ,bubblewrap)
-       ("enchant" ,enchant)
-       ("geoclue" ,geoclue)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gtk+-2" ,gtk+-2)
-       ("harfbuzz" ,harfbuzz)
-       ("hyphen" ,hyphen)
-       ("icu4c" ,icu4c)
-       ("lcms" ,lcms)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libnotify" ,libnotify)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libsecret" ,libsecret)
-       ("libtasn1" ,libtasn1)
-       ("libwebp" ,libwebp)
-       ("libwpe" ,libwpe)
-       ("libxcomposite" ,libxcomposite)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("libxt" ,libxt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("woff2" ,woff2)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
+     (list at-spi2-core
+           bubblewrap
+           elogind
+           enchant
+           geoclue
+           gst-plugins-base
+           gtk+-2
+           harfbuzz
+           hyphen
+           icu4c
+           lcms
+           libgcrypt
+           libjpeg-turbo
+           libmanette
+           libnotify
+           libpng
+           libseccomp
+           libsecret
+           libtasn1
+           libwebp
+           libwpe
+           libxcomposite
+           libxml2
+           libxslt
+           libxt
+           mesa
+           openjpeg
+           sqlite
+           woff2
+           wpebackend-fdo
+           xdg-dbus-proxy))
     (home-page "https://www.webkitgtk.org/")
     (synopsis "Web content engine for GTK+")
-    (description
-     "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
+    (description "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
 suitable for projects requiring any kind of web integration, from hybrid
 HTML/CSS applications to full-fledged web browsers.  WebKitGTK+ video playing
 capabilities can be extended through the use of GStreamer plugins (not
@@ -366,17 +389,17 @@ (define-public webkitgtk
                    license:bsd-2
                    license:bsd-3))))
 
-;;; Required by gnome-online-accounts; as webkitgtk 2.34 propagates libsoup 3,
-;;; which causes the build to fail.
-;;; Also 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
+;;; Required by gnome-online-accounts as webkitgtk propagates libsoup 3, which
+;;; causes the build to fail.  Also 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
     (name "webkitgtk-with-libsoup2")
     (arguments (substitute-keyword-arguments (package-arguments webkitgtk)
                  ((#:configure-flags flags)
-                  `(cons "-DUSE_SOUP2=ON" ,flags))))
+                  #~(cons "-DUSE_SOUP2=ON" #$flags))))
     (propagated-inputs
-     (alist-replace "libsoup" (list libsoup-minimal-2)
-                    (package-propagated-inputs webkitgtk)))))
+     (modify-inputs (package-propagated-inputs webkitgtk)
+       (replace "libsoup" libsoup-minimal-2)))))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#54703; Package guix-patches. (Sat, 09 Apr 2022 14:43:02 GMT) Full text and rfc822 format available.

Message #41 received at 54703 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703 <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0.
Date: Sat,  9 Apr 2022 10:42:20 -0400
* gnu/packages/webkit.scm (%webkit-version): New variable.
(wpewebkit): Update to 2.36.0, rewriting package to inherit from webkitgtk.
(webkitgtk)[source]: Use %webkit-version, and adjust definition to match that
of wpewebkit.
---
 gnu/packages/webkit.scm | 145 ++++++++--------------------------------
 1 file changed, 27 insertions(+), 118 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 9c87c02388..476c33a1cd 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -123,132 +123,18 @@ (define-public wpebackend-fdo
 engine that uses Wayland for graphics output.")
     (license license:bsd-2)))
 
-(define-public wpewebkit
-  (package
-    (name "wpewebkit")
-    (version "2.34.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://wpewebkit.org/releases/"
-                       name "-" version ".tar.xz"))
-       (sha256
-        (base32 "1z20bza01ld4jvi0qx8xsl5y4czaniwpi8hxdjyirj1mrszy8pf3"))))
-    (build-system cmake-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:tests? #f                      ; XXX: To be enabled
-       #:configure-flags
-       (list
-        "-DPORT=WPE"
-        ;; XXX: To be enabled.
-        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
-        "-DUSE_SYSTEMD=OFF"
-        "-DENABLE_ENCRYPTED_MEDIA=OFF"
-        "-DENABLE_GTKDOC=ON"
-        "-DUSE_GSTREAMER_GL=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'setenv
-           (lambda _
-             (setenv "HOME" "/tmp")
-             #t))
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each
-              (lambda (file)
-                (substitute* file
-                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                   (string-append (assoc-ref inputs "docbook-xml")
-                                  "/xml/dtd/docbook/docbookx.dtd"))))
-              (find-files "Source" "\\.sgml$"))
-             #t))
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "Source/PlatformWPE.cmake"
-               (("(Documentation/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}"))
-               (("(html/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}")))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file
-                (string-append out "/share/gtk-doc")
-                (string-append doc "/share/gtk-doc"))
-               #t))))))
-    (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.1.2)
-       ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("python2" ,python-2.7)
-       ("ruby" ,ruby)))
-    (inputs
-     `(("atk" ,atk)
-       ("atk-bridge" ,at-spi2-atk)
-       ("bubblewrap" ,bubblewrap)
-       ("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gperf" ,gperf)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("harfbuzz" ,harfbuzz)
-       ("icu" ,icu4c)
-       ("lcms" ,lcms)
-       ("libepoxy" ,libepoxy)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libtasn1" ,libtasn1)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("webp" ,libwebp)
-       ("woff2" ,woff2)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("glib" ,glib)
-       ("libsoup" ,libsoup)
-       ("wpe" ,libwpe)))
-    (synopsis "WebKit port optimized for embedded devices")
-    (description "WPE WebKit allows embedders to create simple and performant
-systems based on Web platform technologies.  It is designed with hardware
-acceleration in mind, leveraging common 3D graphics APIs for best performance.")
-    (home-page "https://wpewebkit.org/")
-    (license
-     (list
-      ;; Rendering and JavaScript Engines.
-      license:lgpl2.1+
-      ;; Others
-      license:bsd-2))
-    (properties '((cpe-name . "wpe_webkit")))))
+(define %webkit-version "2.36.0")
 
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.36.0")
+    (version %webkit-version)
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
-                                  "webkitgtk-" version ".tar.xz"))
+                                  name "-" version ".tar.xz"))
               (sha256
-               (base32
-                "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+               (base32 "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
               (patches (search-patches
                         "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
@@ -403,3 +289,26 @@ (define-public webkitgtk-with-libsoup2
     (propagated-inputs
      (modify-inputs (package-propagated-inputs webkitgtk)
        (replace "libsoup" libsoup-minimal-2)))))
+
+(define-public wpewebkit
+  (package
+    (inherit webkitgtk)
+    (name "wpewebkit")
+    (version %webkit-version)
+    (source (origin
+              (inherit (package-source webkitgtk))
+              (uri (string-append "https://wpewebkit.org/releases/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32 "0nkdx6pckbkhs85z3pidnh4cbp0wfa38lf2qyn0grywvgpwajsh9"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments webkitgtk)
+       ((#:configure-flags flags)
+        #~(cons "-DPORT=WPE"
+                (delete "-DPORT=GTK" #$flags)))))
+    (synopsis "WebKit port optimized for embedded devices")
+    (description "WPE WebKit allows embedders to create simple and performant
+systems based on Web platform technologies.  It is designed with hardware
+acceleration in mind, leveraging common 3D graphics APIs for best performance.")
+    (home-page "https://wpewebkit.org/")
+    (properties '((cpe-name . "wpe_webkit")))))
-- 
2.34.0





Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Wed, 13 Apr 2022 05:15:02 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Wed, 13 Apr 2022 05:15:02 GMT) Full text and rfc822 format available.

Message #46 received at 54703-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 54703-done <at> debbugs.gnu.org
Cc: liliana.prikler <at> ist.tugraz.at
Subject: Re: bug#54703: [PATCH 0/3] Update webkitgtk to 2.36.0 and enable
 new features.
Date: Wed, 13 Apr 2022 01:13:54 -0400
Hello,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> * gnu/packages/webkit.scm (%webkit-version): New variable.
> (wpewebkit): Update to 2.36.0, rewriting package to inherit from webkitgtk.
> (webkitgtk)[source]: Use %webkit-version, and adjust definition to match that
> of wpewebkit.

I've gone ahead and submitted this series as
7bd5394bf8564920a4e647563dc8c0092858f8dd.

Closing.

Thank you!

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 11 May 2022 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 41 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.