gnu: webkitgtk: Update to 2.40.0.
The version is re-integrated with the package to allow 'guix refresh -l' to work. * gnu/packages/patches/webkitgtk-libelogind.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/webkit.scm (%webkit-version): Delete variable. (webkitgtk): Update to 2.40.0. Apply new patch. [arguments]: Add a CMAKE_CXX_FLAGS configure flag. Delete help-cmake-find-elogind phase. [native-inputs]: Add unifdef. [inputs]: Remove gtk+-2. Add libavif. (wpewebkit): Update to 2.40.0. (webkitgtk-next) [inputs]: Remove now extraneous gtk+-2 deletion.
This commit is contained in:
parent
9634b927a8
commit
30f0fd2176
3 changed files with 71 additions and 30 deletions
|
@ -2001,6 +2001,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||||
|
%D%/packages/patches/webkitgtk-libelogind.patch \
|
||||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||||
%D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \
|
%D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \
|
||||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||||
|
|
38
gnu/packages/patches/webkitgtk-libelogind.patch
Normal file
38
gnu/packages/patches/webkitgtk-libelogind.patch
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
From 8d46803c09edc2b6d4e35c778a3d2f90e5baad0b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
|
Date: Sat, 25 Mar 2023 22:55:16 -0400
|
||||||
|
Subject: [PATCH] Fallback to elogind when systemd is unavailable at build time
|
||||||
|
https://bugs.webkit.org/show_bug.cgi?id=254475
|
||||||
|
|
||||||
|
Reviewed by NOBODY (OOPS!).
|
||||||
|
|
||||||
|
The build system supports elogind, but it only considers the
|
||||||
|
'libsystemd' library name for the pkg-config lookup and not
|
||||||
|
'libelogind'. This change makes the build system fallback to search
|
||||||
|
for libelogind when libsystemd was not found.
|
||||||
|
|
||||||
|
* Source/cmake/FindJournald.cmake [!PC_SYSTEMD_FOUND]: Search for libelogind.
|
||||||
|
---
|
||||||
|
Source/cmake/FindJournald.cmake | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/Source/cmake/FindJournald.cmake b/Source/cmake/FindJournald.cmake
|
||||||
|
index 18dd6b50908c..e0dc9ce1d397 100644
|
||||||
|
--- a/Source/cmake/FindJournald.cmake
|
||||||
|
+++ b/Source/cmake/FindJournald.cmake
|
||||||
|
@@ -55,6 +55,10 @@ find_package(PkgConfig QUIET)
|
||||||
|
|
||||||
|
# libelogind provides compatible pc and header files
|
||||||
|
pkg_check_modules(PC_SYSTEMD QUIET libsystemd)
|
||||||
|
+if (NOT PC_SYSTEMD_FOUND)
|
||||||
|
+ pkg_check_modules(PC_SYSTEMD QUIET libelogind)
|
||||||
|
+endif ()
|
||||||
|
+
|
||||||
|
set(Journald_COMPILE_OPTIONS ${PC_SYSTEMD_CFLAGS_OTHER})
|
||||||
|
set(Journald_VERSION ${PC_SYSTEMD_VERSION})
|
||||||
|
|
||||||
|
|
||||||
|
base-commit: 43ea8744bc6065aad7ae5988e32d31d253905e5f
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -36,6 +36,7 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
|
#:use-module (gnu packages c)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages docbook)
|
#:use-module (gnu packages docbook)
|
||||||
#:use-module (gnu packages enchant)
|
#:use-module (gnu packages enchant)
|
||||||
|
@ -123,20 +124,19 @@ the WPE-flavored port of WebKit.")
|
||||||
engine that uses Wayland for graphics output.")
|
engine that uses Wayland for graphics output.")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
(define %webkit-version "2.38.5")
|
|
||||||
|
|
||||||
(define-public webkitgtk
|
(define-public webkitgtk
|
||||||
(package
|
(package
|
||||||
(name "webkitgtk") ; webkit2gtk4
|
(name "webkitgtk") ; webkit2gtk4
|
||||||
(version %webkit-version)
|
(version "2.40.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.webkitgtk.org/releases/"
|
(uri (string-append "https://www.webkitgtk.org/releases/"
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "19y1n05mp370mq4bp2bk0pm3wk49z9a10azjjdcdyx12091hrhj0"))
|
(base32 "14xkgamqlshxqw6fcslvw0yzj4y5mvx66b6bn64rwrl9pyhpwq54"))
|
||||||
(patches (search-patches
|
(patches (search-patches
|
||||||
"webkitgtk-adjust-bubblewrap-paths.patch"))))
|
"webkitgtk-adjust-bubblewrap-paths.patch"
|
||||||
|
"webkitgtk-libelogind.patch"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(outputs '("out" "doc" "debug"))
|
(outputs '("out" "doc" "debug"))
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -148,18 +148,26 @@ engine that uses Wayland for graphics output.")
|
||||||
;; binaries require 20 GiB of memory to link (even with ld.gold or lld)
|
;; binaries require 20 GiB of memory to link (even with ld.gold or lld)
|
||||||
;; and produce 4.6 GiB of debug symbols.
|
;; and produce 4.6 GiB of debug symbols.
|
||||||
#:build-type "Release"
|
#:build-type "Release"
|
||||||
#:configure-flags #~(list
|
#:configure-flags
|
||||||
"-DPORT=GTK"
|
#~(list "-DPORT=GTK"
|
||||||
;; GTKDOC will be removed upstream soon in favor of
|
;; GTKDOC will be removed upstream soon in favor of
|
||||||
;; gi-docgen; it is normally disabled because the
|
;; gi-docgen; it is normally disabled because the
|
||||||
;; doc is rather expensive to build.
|
;; doc is rather expensive to build.
|
||||||
"-DENABLE_GTKDOC=ON"
|
"-DENABLE_GTKDOC=ON"
|
||||||
;; The minibrowser, not built by default, is a good
|
;; The minibrowser, not built by default, is a good
|
||||||
;; tool to validate the good operation of
|
;; tool to validate the good operation of
|
||||||
;; webkitgtk.
|
;; webkitgtk.
|
||||||
"-DENABLE_MINIBROWSER=ON"
|
"-DENABLE_MINIBROWSER=ON"
|
||||||
;; The default lib installation prefix is lib64.
|
;; The default lib installation prefix is lib64.
|
||||||
(string-append "-DLIB_INSTALL_DIR=" #$output "/lib"))
|
(string-append "-DLIB_INSTALL_DIR=" #$output "/lib")
|
||||||
|
;; XXX: WebKitGTK makes use of elogind's systemd-compatible
|
||||||
|
;; headers, which are under the include/elogind prefix. The WTF
|
||||||
|
;; component doesn't propagate the Journald header correctly
|
||||||
|
;; detected (stubs from elogind), hence the following hack (see:
|
||||||
|
;; https://bugs.webkit.org/show_bug.cgi?id=254495).
|
||||||
|
(string-append "-DCMAKE_CXX_FLAGS=-I"
|
||||||
|
(search-input-directory
|
||||||
|
%build-inputs "include/elogind")))
|
||||||
;; The build may fail with -j1 (see:
|
;; The build may fail with -j1 (see:
|
||||||
;; https://bugs.webkit.org/show_bug.cgi?id=195251).
|
;; https://bugs.webkit.org/show_bug.cgi?id=195251).
|
||||||
#:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
|
#:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
|
||||||
|
@ -186,13 +194,6 @@ engine that uses Wayland for graphics output.")
|
||||||
(substitute* "Source/cmake/OptionsCommon.cmake"
|
(substitute* "Source/cmake/OptionsCommon.cmake"
|
||||||
(("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
|
(("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
|
||||||
"if (FALSE)"))))
|
"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 'embed-absolute-wpebackend-reference
|
(add-after 'unpack 'embed-absolute-wpebackend-reference
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
|
(let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
|
||||||
|
@ -222,7 +223,8 @@ engine that uses Wayland for graphics output.")
|
||||||
pkg-config
|
pkg-config
|
||||||
python-wrapper
|
python-wrapper
|
||||||
gi-docgen
|
gi-docgen
|
||||||
ruby))
|
ruby
|
||||||
|
unifdef))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list gtk+ libsoup))
|
(list gtk+ libsoup))
|
||||||
(inputs
|
(inputs
|
||||||
|
@ -233,11 +235,11 @@ engine that uses Wayland for graphics output.")
|
||||||
geoclue
|
geoclue
|
||||||
gst-plugins-base
|
gst-plugins-base
|
||||||
gst-plugins-bad-minimal
|
gst-plugins-bad-minimal
|
||||||
gtk+-2
|
|
||||||
harfbuzz
|
harfbuzz
|
||||||
hyphen
|
hyphen
|
||||||
icu4c
|
icu4c
|
||||||
lcms
|
lcms
|
||||||
|
libavif
|
||||||
libgcrypt
|
libgcrypt
|
||||||
libgudev
|
libgudev
|
||||||
libjpeg-turbo
|
libjpeg-turbo
|
||||||
|
@ -290,7 +292,7 @@ propagated by default) such as @code{gst-plugins-good} and
|
||||||
(replace "gtk+" gtk)))
|
(replace "gtk+" gtk)))
|
||||||
(inputs
|
(inputs
|
||||||
(modify-inputs (package-inputs webkitgtk)
|
(modify-inputs (package-inputs webkitgtk)
|
||||||
(delete "gtk+-2" "libnotify")
|
(delete "libnotify")
|
||||||
(append pango-next))))) ;TODO: remove after it's the default
|
(append pango-next))))) ;TODO: remove after it's the default
|
||||||
|
|
||||||
;;; Required by e.g. emacs-next-pgtk, emacs-xwidgets, and some other GNOME
|
;;; Required by e.g. emacs-next-pgtk, emacs-xwidgets, and some other GNOME
|
||||||
|
@ -310,13 +312,13 @@ propagated by default) such as @code{gst-plugins-good} and
|
||||||
(package
|
(package
|
||||||
(inherit webkitgtk)
|
(inherit webkitgtk)
|
||||||
(name "wpewebkit")
|
(name "wpewebkit")
|
||||||
(version %webkit-version)
|
(version "2.40.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(inherit (package-source webkitgtk))
|
(inherit (package-source webkitgtk))
|
||||||
(uri (string-append "https://wpewebkit.org/releases/"
|
(uri (string-append "https://wpewebkit.org/releases/"
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0q8nmk9l6bqv2bhljm9wv7mvgdl393z7v2m7a0c5avac18yzs07z"))))
|
(base32 "1dl663nbm011sx099x9gdhk3aj119yn5rxp77jmnhdv1l77jpv58"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments webkitgtk)
|
(substitute-keyword-arguments (package-arguments webkitgtk)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
|
|
Reference in a new issue