1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
3 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
4 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
6 ;;; This file is part of GNU Guix.
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 (define-module (gnu packages webkit)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system cmake)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages base)
29 #:use-module (gnu packages bison)
30 #:use-module (gnu packages databases)
31 #:use-module (gnu packages enchant)
32 #:use-module (gnu packages flex)
33 #:use-module (gnu packages gettext)
34 #:use-module (gnu packages gl)
35 #:use-module (gnu packages glib)
36 #:use-module (gnu packages gnome)
37 #:use-module (gnu packages gnutls)
38 #:use-module (gnu packages gperf)
39 #:use-module (gnu packages gstreamer)
40 #:use-module (gnu packages gtk)
41 #:use-module (gnu packages icu4c)
42 #:use-module (gnu packages image)
43 #:use-module (gnu packages perl)
44 #:use-module (gnu packages pkg-config)
45 #:use-module (gnu packages python)
46 #:use-module (gnu packages ruby)
47 #:use-module (gnu packages video)
48 #:use-module (gnu packages xml)
49 #:use-module (gnu packages xorg))
51 (define-public webkitgtk
57 (uri (string-append "http://www.webkitgtk.org/releases/"
58 name "-" version ".tar.xz"))
61 "1zv030ryfwwp57yzlpr9bgpxcmc64izsxk2vsyd4kjhns9cl88bx"))))
62 (build-system cmake-build-system)
64 '(#:tests? #f ; no tests
65 #:build-type "Release" ; turn off debugging symbols to save space
66 #:configure-flags (list
68 (string-append ; uses lib64 by default
70 (assoc-ref %outputs "out") "/lib"))))
73 ("gettext" ,gnu-gettext)
74 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
75 ("gobject-introspection" ,gobject-introspection)
78 ("pkg-config" ,pkg-config)
79 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
83 ("libsoup" ,libsoup)))
85 `(("at-spi2-core" ,at-spi2-core)
89 ("gst-plugins-base" ,gst-plugins-base)
91 ("harfbuzz" ,harfbuzz)
94 ("libnotify" ,libnotify)
96 ("libsecret" ,libsecret)
98 ("libxcomposite" ,libxcomposite)
104 (home-page "http://www.webkitgtk.org/")
105 (synopsis "Web content engine for GTK+")
107 "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
108 suitable for projects requiring any kind of web integration, from hybrid
109 HTML/CSS applications to full-fledged web browsers.")
110 ;; WebKit's JavaScriptCore and WebCore components are available under
111 ;; the GNU LGPL, while the rest is available under a BSD-style license.
112 (license (list license:lgpl2.0
117 ;; Latest release of the stable 2.4 series, with WebKit1 support.
118 (define-public webkitgtk-2.4
119 (package (inherit webkitgtk)
124 (uri (string-append "http://www.webkitgtk.org/releases/"
125 name "-" version ".tar.xz"))
128 "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg"))))
129 (build-system gnu-build-system)
131 '(#:tests? #f ; no tests
132 #:phases (modify-phases %standard-phases
135 (lambda _ (setenv "CC" "gcc") #t)))))
139 ,@(package-native-inputs webkitgtk)))))
141 ;; Last GTK+2 port, required by GnuCash.
142 (define-public webkitgtk/gtk+-2
143 (package (inherit webkitgtk-2.4)
147 '("--enable-webkit2=no"
149 ,@(package-arguments webkitgtk-2.4)))
152 ("libsoup" ,libsoup)))))