summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/hubbub-sort-entities.patch13
-rw-r--r--gnu/packages/web.scm31
3 files changed, 45 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index fcc7eb0094..20fe3a2f25 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -634,6 +634,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/hdf-eos5-fortrantests.patch		\
   %D%/packages/patches/higan-remove-march-native-flag.patch	\
   %D%/packages/patches/hop-linker-flags.patch			\
+  %D%/packages/patches/hubbub-sort-entities.patch		\
   %D%/packages/patches/hydra-disable-darcs-test.patch		\
   %D%/packages/patches/hypre-doc-tables.patch			\
   %D%/packages/patches/hypre-ldflags.patch			\
diff --git a/gnu/packages/patches/hubbub-sort-entities.patch b/gnu/packages/patches/hubbub-sort-entities.patch
new file mode 100644
index 0000000000..012e3c3022
--- /dev/null
+++ b/gnu/packages/patches/hubbub-sort-entities.patch
@@ -0,0 +1,13 @@
+Traverse the entities hash's keys in sorted order to ensure reproducibility.
+
+--- libhubbub-0.3.3/build/make-entities.pl
++++ libhubbub-0.3.3/build/make-entities.pl
+@@ -86,7 +86,7 @@
+ 
+ my $trie;
+ 
+-foreach my $key (keys %entities) {
++foreach my $key (sort keys %entities) {
+    $trie = insert_node($trie, $key, $entities{$key});
+ }
+ 
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 37ea4e8f7d..5ace1ebe0b 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3791,6 +3791,37 @@ libraries.")
 C.  It is developed as part of the NetSurf project.")
     (license l:expat)))
 
+(define-public hubbub
+  (package
+    (name "hubbub")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+                           "lib" name "-" version "-src.tar.gz"))
+       (sha256
+        (base32
+         "101781iw32p47386fxqr01nrkywi12w17ajh02k2vlga4z8zyv86"))
+       (patches (search-patches "hubbub-sort-entities.patch"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("netsurf-buildsystem" ,netsurf-buildsystem)
+       ("pkg-config" ,pkg-config)
+       ("doxygen" ,doxygen)
+       ("json-c" ,json-c)
+       ("perl" ,perl)))
+    (propagated-inputs
+     `(("libparserutils" ,libparserutils))) ;for libhubbub.pc
+    (arguments netsurf-buildsystem-arguments)
+    (home-page "http://www.netsurf-browser.org/projects/hubbub/")
+    (synopsis "HTML5 compliant parsing library")
+    (description
+     "Hubbub is an HTML5 compliant parsing library, written in C, which can
+parse both valid and invalid web content.  It is developed as part of the
+NetSurf project.")
+    (license l:expat)))
+
 (define-public netsurf
   (package
     (name "netsurf")