diff options
Diffstat (limited to 'gnu/packages/webkit.scm')
-rw-r--r-- | gnu/packages/webkit.scm | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index b671e44d18..c5238a8a65 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -24,6 +24,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -32,6 +33,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages enchant) #:use-module (gnu packages flex) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -85,23 +87,7 @@ ;; XXX Disable WOFF2 ‘web fonts’. These were never ;; supported in our previous builds. Enabling them ;; requires building libwoff2 and possibly woff2dec. - "-DUSE_WOFF2=OFF") - #:phases - (modify-phases %standard-phases - (add-after - 'set-paths 'add-gst-plugins-base-include-path - (lambda* (#:key inputs #:allow-other-keys) - ;; XXX Work around a problem in the build system, which neglects - ;; to add -I for gst-plugins-base when compiling - ;; Source/WebKit2/UIProcess/WebPageProxy.cpp, apparently assuming - ;; that it will be in the same directory as gstreamer's header - ;; files. - (setenv "CPATH" - (string-append (getenv "C_INCLUDE_PATH") - ":" - (assoc-ref inputs "gst-plugins-base") - "/include/gstreamer-1.0")) - #t))))) + "-DUSE_WOFF2=OFF"))) (native-inputs `(("bison" ,bison) ("gettext" ,gettext-minimal) @@ -149,3 +135,32 @@ HTML/CSS applications to full-fledged web browsers.") license:lgpl2.1+ license:bsd-2 license:bsd-3)))) + +;; This version of webkitgtk needs to be kept separate, because it requires a +;; newer version of GCC than our default compiler, and this causes problems +;; when linked with C++ libraries built using our default compiler. For now, +;; we use this newer webkitgtk only for selected packages, e.g. epiphany. +(define-public webkitgtk-2.22 + (package/inherit webkitgtk + (name "webkitgtk") + (version "2.22.2") + (source (origin + (method url-fetch) + (uri (string-append "https://www.webkitgtk.org/releases/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1flrbr8pzbrlwv09b4pmgh6vklw7jghd2lgrhcb72vl9s7a8fm1l")))) + (native-inputs + `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer + ,@(package-native-inputs webkitgtk))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'work-around-gcc-7-include-path-issue + ;; FIXME: Work around a problem with gcc-7 includes (see + ;; <https://bugs.gnu.org/30756>). + (lambda _ + (unsetenv "C_INCLUDE_PATH") + (unsetenv "CPLUS_INCLUDE_PATH") + #t))) + ,@(package-arguments webkitgtk))))) |