summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm80
-rw-r--r--gnu/packages/patches/seed-webkit.patch49
3 files changed, 130 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 221a49e985..348db63188 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1551,6 +1551,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/screen-hurd-path-max.patch		\
   %D%/packages/patches/scribus-1.5.5-poppler-0.86-build-fix.patch	\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
+  %D%/packages/patches/seed-webkit.patch			\
   %D%/packages/patches/seq24-rename-mutex.patch			\
   %D%/packages/patches/sharutils-CVE-2018-1000097.patch		\
   %D%/packages/patches/shadow-hurd-pctrl.patch			\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 563b259940..2abb73a175 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -292,6 +292,86 @@ bindings.")
     (home-page "https://wiki.gnome.org/Projects/Seed")
     (license license:gpl3+)))
 
+(define-public seed
+  (package
+    (name "seed")
+    (version "3.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
+       (patches
+        (search-patches "seed-webkit.patch"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-xorg-module"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
+        "--with-webkit=4.0")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The seed-webkit.patch patches configure.ac.
+         ;; So the source files need to be re-bootstrapped.
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (for-each delete-file
+                       (list
+                        "configure"
+                        "Makefile.in"))
+             #t))
+         (add-before 'build 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("gnome-js-common" ,gnome-js-common)
+       ("gtk+" ,gtk+)
+       ("gtk+-2" ,gtk+-2)
+       ("libffi" ,libffi)
+       ("libxml2" ,libxml2)
+       ("mpfr" ,mpfr)
+       ("readline" ,readline)
+       ("sqlite" ,sqlite)
+       ("xscrnsaver" ,libxscrnsaver)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("webkit" ,webkitgtk)))
+    (synopsis "GObject JavaScriptCore bridge")
+    (description "Seed is a library and interpreter, dynamically bridging
+(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
+GNOME platform.  It serves as something which enables you to write standalone
+applications in JavaScript, or easily enable your application to be extensible
+in JavaScript.")
+    (home-page "https://wiki.gnome.org/Projects/Seed")
+    (license license:lgpl2.0+)))
+
 (define-public libdmapsharing
   (package
     (name "libdmapsharing")
diff --git a/gnu/packages/patches/seed-webkit.patch b/gnu/packages/patches/seed-webkit.patch
new file mode 100644
index 0000000000..55f15af12f
--- /dev/null
+++ b/gnu/packages/patches/seed-webkit.patch
@@ -0,0 +1,49 @@
+From 6d512b5c4d774a9853b51dae464a10cea7e3423a Mon Sep 17 00:00:00 2001
+From: Peter Rustler <peter.rustler@basyskom.com>
+Date: Mon, 7 Dec 2015 11:40:05 +0000
+Subject: [PATCH] Add support for new webkit version 4.0 to build system
+
+Add new configure value for option --with-webkit.
+Now you can add 4.0 as value to --with-webkit.
+Default is still 3.0.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759171
+---
+ configure.ac | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2313c093..3d5d4823 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -77,12 +77,12 @@ dnl ==============================WebKit=======================================
+ m4_define([webkit_default], [3.0])
+ 
+ AC_ARG_WITH([webkit],
+-            [AC_HELP_STRING([--with-webkit=@<:@3.0/1.0@:>@],
++            [AC_HELP_STRING([--with-webkit=@<:@4.0/3.0/1.0@:>@],
+                             [Select the Webkit backend, default=3.0])],
+ 	    [],
+             [with_webkit=webkit_default])
+ 
+-dnl=== support both 1.0 and 3.0 (default 3.0) ==
++dnl=== support all 1.0, 3.0 and 4.0 (default 3.0) ==
+ AS_CASE([$with_webkit],
+ 	[3.0], [
+ 		WEBKIT_PC=webkitgtk-3.0
+@@ -90,6 +90,12 @@ AS_CASE([$with_webkit],
+ 		AC_CHECK_LIB(webkitgtk-3.0, JSContextGroupCreate,,
+ 	                AC_CHECK_LIB(javascriptcoregtk-3.0, JSContextGroupCreate,WEBKIT_PC=javascriptcoregtk-3.0)) 
+ 	],
++	[4.0], [
++		WEBKIT_PC=webkitgtk-4.0
++		SEED_GTK_VERSION=-gtk4
++		AC_CHECK_LIB(webkitgtk-4.0, JSContextGroupCreate,,
++	                AC_CHECK_LIB(javascriptcoregtk-4.0, JSContextGroupCreate,WEBKIT_PC=javascriptcoregtk-4.0))
++	],
+ 	[1.0], [
+ 		AC_CHECK_LIB(webkitgtk-1.0, JSContextGroupCreate,WEBKIT_PC=webkitgtk-1.0,
+ 	                AC_CHECK_LIB(javascriptcoregtk-1.0, JSContextGroupCreate,WEBKIT_PC=javascriptcoregtk-1.0, 
+-- 
+GitLab
+