* [bug#54703] [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features.
@ 2022-04-04 4:15 Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
0 siblings, 2 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-04 4:15 UTC (permalink / raw)
To: 54703; +Cc: Maxim Cournoyer
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
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli.
2022-04-04 4:15 [bug#54703] [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features Maxim Cournoyer
@ 2022-04-04 4:17 ` Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
1 sibling, 2 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-04 4:17 UTC (permalink / raw)
To: 54703; +Cc: Maxim Cournoyer
* 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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features.
2022-04-04 4:17 ` [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
@ 2022-04-04 4:17 ` Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
1 sibling, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-04 4:17 UTC (permalink / raw)
To: 54703; +Cc: 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.
[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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
2022-04-04 4:17 ` [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
@ 2022-04-04 4:17 ` Maxim Cournoyer
2022-04-04 6:14 ` Liliana Marie Prikler
1 sibling, 1 reply; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-04 4:17 UTC (permalink / raw)
To: 54703; +Cc: 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")))))
--
2.34.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
2022-04-04 4:17 ` [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
@ 2022-04-04 6:14 ` Liliana Marie Prikler
2022-04-05 0:26 ` Maxim Cournoyer
` (3 more replies)
0 siblings, 4 replies; 14+ messages in thread
From: Liliana Marie Prikler @ 2022-04-04 6:14 UTC (permalink / raw)
To: Maxim Cournoyer, 54703
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.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0.
2022-04-04 6:14 ` Liliana Marie Prikler
@ 2022-04-05 0:26 ` Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
` (2 subsequent siblings)
3 siblings, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-05 0:26 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 54703
Hello,
Liliana Marie Prikler <liliana.prikler@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
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v2 1/3] gnu: woff2: Propagate brotli.
2022-04-04 6:14 ` Liliana Marie Prikler
2022-04-05 0:26 ` Maxim Cournoyer
@ 2022-04-05 0:27 ` Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
3 siblings, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-05 0:27 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, Maxim Cournoyer
* 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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features.
2022-04-04 6:14 ` Liliana Marie Prikler
2022-04-05 0:26 ` Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
@ 2022-04-05 0:27 ` Maxim Cournoyer
2022-04-05 5:59 ` Liliana Marie Prikler
2022-04-05 0:27 ` [bug#54703] [PATCH v2 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
3 siblings, 1 reply; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-05 0:27 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, 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.
[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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v2 3/3] gnu: wpewebkit: Update to 2.36.0.
2022-04-04 6:14 ` Liliana Marie Prikler
` (2 preceding siblings ...)
2022-04-05 0:27 ` [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
@ 2022-04-05 0:27 ` Maxim Cournoyer
3 siblings, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-05 0:27 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, Maxim Cournoyer
* 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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features.
2022-04-05 0:27 ` [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
@ 2022-04-05 5:59 ` Liliana Marie Prikler
0 siblings, 0 replies; 14+ messages in thread
From: Liliana Marie Prikler @ 2022-04-05 5:59 UTC (permalink / raw)
To: Maxim Cournoyer, 54703
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 :)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli.
2022-04-04 4:15 [bug#54703] [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
@ 2022-04-09 14:42 ` Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
1 sibling, 2 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-09 14:42 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, Maxim Cournoyer
* 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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v3 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features.
2022-04-09 14:42 ` [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
@ 2022-04-09 14:42 ` Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
1 sibling, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-09 14:42 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, 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.
[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@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#54703] [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0.
2022-04-09 14:42 ` [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
@ 2022-04-09 14:42 ` Maxim Cournoyer
2022-04-13 5:13 ` bug#54703: [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features Maxim Cournoyer
1 sibling, 1 reply; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-09 14:42 UTC (permalink / raw)
To: 54703; +Cc: liliana.prikler, Maxim Cournoyer
* 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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#54703: [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features.
2022-04-09 14:42 ` [bug#54703] [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
@ 2022-04-13 5:13 ` Maxim Cournoyer
0 siblings, 0 replies; 14+ messages in thread
From: Maxim Cournoyer @ 2022-04-13 5:13 UTC (permalink / raw)
To: 54703-done; +Cc: liliana.prikler
Hello,
Maxim Cournoyer <maxim.cournoyer@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
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-04-13 5:15 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-04 4:15 [bug#54703] [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-04 4:17 ` [bug#54703] [PATCH 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
2022-04-04 6:14 ` Liliana Marie Prikler
2022-04-05 0:26 ` Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-05 0:27 ` [bug#54703] [PATCH v2 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-05 5:59 ` Liliana Marie Prikler
2022-04-05 0:27 ` [bug#54703] [PATCH v2 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 1/3] gnu: woff2: Propagate brotli Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 2/3] gnu: webkitgtk: Update to 2.36.0 and enable extra features Maxim Cournoyer
2022-04-09 14:42 ` [bug#54703] [PATCH v3 3/3] gnu: wpewebkit: Update to 2.36.0 Maxim Cournoyer
2022-04-13 5:13 ` bug#54703: [PATCH 0/3] Update webkitgtk to 2.36.0 and enable new features Maxim Cournoyer
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).