X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/fb9a23a3f3ad3d7b5b7f03b2007baf27684d6bbd..c263cfdcde0402cf44be7b14841d567f00e0af11:/gnu/packages/webkit.scm diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 538c97675d..90be7d2625 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -2,9 +2,10 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages enchant) #:use-module (gnu packages flex) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -46,6 +48,7 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -53,20 +56,80 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages virtualization) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) +(define-public libwpe + (package + (name "libwpe") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (string-append "https://wpewebkit.org/releases/libwpe-" + version ".tar.xz")) + (sha256 + (base32 + "141w35b488jjhanl3nrm0awrbcy6hb579fk8n9vbpx07m2wcd1rm")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("mesa" ,mesa))) + (propagated-inputs + `(;; In Requires of wpe-1.0.pc. + ("libxkbcommon" ,libxkbcommon))) + (home-page "https://wpewebkit.org/") + (synopsis "Platform agnostic WebKit interfaces") + (description + "@code{libwpe} is a small library that defines programming interfaces +for use by WebKit, and provides a mechanism for loading a platform-specific +backend which implements them.") + (license license:bsd-2))) + +(define-public wpebackend-fdo + (package + (name "wpebackend-fdo") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (string-append "https://wpewebkit.org/releases/" + "wpebackend-fdo-" version ".tar.xz")) + (sha256 + (base32 + "0rzm16m3mw9dh2jis9avk2rhz7bijanrzlywyiaicyzrv2wxfnvz")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libwpe" ,libwpe) + ("mesa" ,mesa) + ("wayland" ,wayland))) + (home-page "https://wpewebkit.org/") + (synopsis "Wayland WPE backend") + (description + "This package provides a backend implementation for the WPE WebKit +engine that uses Wayland for graphics output.") + (license license:bsd-2))) + (define-public webkitgtk (package (name "webkitgtk") - (version "2.24.3") + (version "2.28.2") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" - name "-" version ".tar.xz")) + "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "0lbcrw5axwrbrajxq7fqywfyh0djqi23ynzb5wi5ghw2grnp83cl")))) + "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr")) + (patches (search-patches "webkitgtk-share-store.patch")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments @@ -94,6 +157,15 @@ "-DUSE_WOFF2=OFF") #: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)) + #t))) (add-after 'unpack 'patch-gtk-doc-scan (lambda* (#:key inputs #:allow-other-keys) (for-each (lambda (file) @@ -103,6 +175,13 @@ "/xml/dtd/docbook/docbookx.dtd")))) (find-files "Source" "\\.sgml$")) #t)) + (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))) + #t))) (add-after 'install 'move-doc-files (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -128,6 +207,7 @@ ("libsoup" ,libsoup))) (inputs `(("at-spi2-core" ,at-spi2-core) + ("bubblewrap" ,bubblewrap) ("enchant" ,enchant) ("geoclue" ,geoclue) ("gst-plugins-base" ,gst-plugins-base) @@ -136,19 +216,23 @@ ("hyphen" ,hyphen) ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("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))) + ("sqlite" ,sqlite) + ("wpebackend-fdo" ,wpebackend-fdo) + ("xdg-dbus-proxy" ,xdg-dbus-proxy))) (home-page "https://www.webkitgtk.org/") (synopsis "Web content engine for GTK+") (description