~ruther/guix-local

43bfbf137043c2e86ae907528ab830d66e86c642 — Eric Bavier 9 years ago ef61177
gnu: Add hubbub.

* gnu/packages/web.scm (hubbub): New variable.
3 files changed, 45 insertions(+), 0 deletions(-)

M gnu/local.mk
A gnu/packages/patches/hubbub-sort-entities.patch
M gnu/packages/web.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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			\

A gnu/packages/patches/hubbub-sort-entities.patch => gnu/packages/patches/hubbub-sort-entities.patch +13 -0
@@ 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});
 }
 

M gnu/packages/web.scm => gnu/packages/web.scm +31 -0
@@ 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")