;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
-;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
-;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages apr)
+ #:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages autotools)
#:use-module (gnu packages databases)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
- #:use-module (gnu packages mit-krb5)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages gd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnu-doc)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libidn)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages base)
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (gnu packages curl)
(define-public httpd
(package
(name "httpd")
- (version "2.4.23")
+ (version "2.4.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"))
- (patches (search-patches "httpd-CVE-2016-8740.patch"))
- (patch-flags '("-p0"))))
+ "1cl0bkqg6srb1sypga0cn8dcmdyxldavij73zmmkxvlz3kgw4zpq"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
(define-public nginx
(package
(name "nginx")
- (version "1.11.6")
+ (version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "1gc5phrzm2hbpvryaya6rlvasa00vjips4hv5q1rqbcfa6xsnlri"))))
+ "0c2vg6530qplwk8rhldww5r3cwcbw1avka53qg9sh85nzlk2w8ml"))))
(build-system gnu-build-system)
(inputs `(("pcre" ,pcre)
("openssl" ,openssl)
(add-before 'configure 'patch-/bin/sh
(lambda _
(substitute* "auto/feature"
- (("/bin/sh") (which "bash")))
+ (("/bin/sh") (which "sh")))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(patches (search-patches "fcgi-2.4.0-poll.patch"
"fcgi-2.4.0-gcc44-fixes.patch"))))
(build-system gnu-build-system)
+ ;; Parallel building is not supported.
+ (arguments `(#:parallel-build? #f))
(home-page "http://www.fastcgi.com")
(synopsis "Language-independent, high-performant extension to CGI")
(description "FastCGI is a language independent, scalable extension to CGI
'(substitute* (find-files "." "^CMakeLists\\.txt$")
(("-Werror") "")))))
(build-system cmake-build-system)
+ (arguments
+ `(,@(if (string-prefix? "aarch64" (or (%current-target-system)
+ (%current-system)))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-aarch-march-detection
+ (lambda _
+ (substitute* (find-files "." "^CMakeLists\\.txt$")
+ (("native") "armv8-a"))
+ #t))))
+ '())))
(home-page "https://github.com/miloyip/rapidjson")
(synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
(description
(define-public libpsl
(package
(name "libpsl")
- (version "0.15.0")
+ (version "0.17.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rockdaboot/libpsl/"
"/libpsl-" version ".tar.gz"))
(sha256
(base32
- "0wm9i3qshfdasd5s5nrdihl4f5c6zrd1nkqrqjnh7zhhv1an755m"))))
+ "0jyxwc6bcvkcahkwcq237a0x209cysb63n5lak5m7zbglbb2jmq2"))))
(build-system gnu-build-system)
(inputs
`(("icu4c" ,icu4c)
%standard-phases)))
;; All of the below are used to generate the documentation
;; (Should they be propagated inputs of asciidoc ??)
- (native-inputs `(("asciidoc" ,asciidoc)
- ("libxml2" ,libxml2)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("libxslt" ,libxslt)))
+ (native-inputs `(("asciidoc" ,asciidoc)))
(home-page "https://tinyproxy.github.io/")
(synopsis "Light-weight HTTP/HTTPS proxy daemon")
(description "Tinyproxy is a light-weight HTTP/HTTPS proxy
of people.")
(license l:expat)))
+(define-public wwwoffle
+ (package
+ (name "wwwoffle")
+ (version "2.9j")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.gedanken.org.uk/software/"
+ "wwwoffle/download/wwwoffle-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "1ihil1xq9dp21hf108khxbw6f3baq0w5c0j3af038y6lkmad4vdi"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--with-gnutls")
+ #:tests? #f)) ; no test target
+ (native-inputs `(("flex" ,flex)))
+ (inputs `(("gnutls" ,gnutls)
+ ("libcrypt", libgcrypt)))
+ (home-page "https://www.gedanken.org.uk/software/wwwoffle/")
+ (synopsis "Caching web proxy optimized for intermittent internet links")
+ (description "WWWOFFLE is a proxy web server that is especially good for
+intermittent internet links. It can cache HTTP, HTTPS, FTP, and finger
+protocols, and supports browsing and requesting pages while offline, indexing,
+modifying pages and incoming and outgoing headers, monitoring pages for
+changes, and much more.")
+ (license l:gpl2+)))
+
(define-public libyaml
(package
(name "libyaml")
(define-public r-jsonlite
(package
(name "r-jsonlite")
- (version "1.1")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (cran-uri "jsonlite" version))
(sha256
(base32
- "0mrfzh0mxxrhqdmxai434wvyd7skkw28vxr7pyls19yrg941g6r3"))))
+ "11rgkjp5qir79niad0aizjxvjzyvkl6l9nsrv3ikv446vllmrasn"))))
(build-system r-build-system)
(home-page "http://arxiv.org/abs/1403.2805")
(synopsis "Robust, high performance JSON parser and generator for R")
(define-public r-servr
(package
(name "r-servr")
- (version "0.4")
+ (version "0.5")
(source (origin
(method url-fetch)
(uri (cran-uri "servr" version))
(sha256
(base32
- "1fkqf5ynd1g0932qwv5nr70bw42m8vxpc9rhi0qxmdamwqcw8qjn"))))
+ "1ixcl9xjc1k9zvl6v6bsw4kpramr1h53b4s46qg8kahkqy6kqd8a"))))
(build-system r-build-system)
(propagated-inputs
`(("r-httpuv" ,r-httpuv)
(define-public r-htmlwidgets
(package
(name "r-htmlwidgets")
- (version "0.7")
+ (version "0.8")
(source (origin
(method url-fetch)
(uri (cran-uri "htmlwidgets" version))
(sha256
(base32
- "1xh8aiaci5hi3r67ym7r37hm89m9vzywk292avnmaj125kq7w1d0"))))
+ "1df3pwl34rvdbr9sgr5h27q9bmqpckvpwq4frl3d1v614y3vfclj"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
(define-public r-htmltable
(package
(name "r-htmltable")
- (version "1.7")
+ (version "1.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "htmlTable" version))
(sha256
(base32
- "0x2f2hrbhvm53zqwn0ny9wxbk34nwf6zww8cx4bjy5ax15asdllm"))))
+ "0ciic1f4iczq14j81fg7kxibn65sy8z1zxkvk1yxnxxg6dzplj2v"))))
(properties `((upstream-name . "htmlTable")))
(build-system r-build-system)
(propagated-inputs
- `(("r-knitr" ,r-knitr)
+ `(("r-checkmate" ,r-checkmate)
+ ("r-htmlwidgets" ,r-htmlwidgets)
+ ("r-knitr" ,r-knitr)
("r-magrittr" ,r-magrittr)
("r-stringr" ,r-stringr)))
(home-page "http://gforge.se/packages/")
(define-public r-curl
(package
(name "r-curl")
- (version "2.2")
+ (version "2.5")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "0hyvyjzf5ja7kfhzmlfgp86hg1lxrriiwbnr6pxabwwslswj3cmj"))))
+ "09p86i5f88gx1i7cidm1ka56g0jjkghqfam96p1jhwlh2fv6nrks"))))
(build-system r-build-system)
(arguments
`(#:phases
tools they trust (e.g. wget).")
(license l:gpl2+)))
+(define netsurf-buildsystem
+ (package
+ (name "netsurf-buildsystem")
+ (version "1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ "buildsystem-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wdgvasrjik1dgvvpqbppbpyfzkqd1v45x3g9rq7p67n773azinv"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)))
+ (arguments
+ '(#:make-flags (list (string-append "PREFIX=" %output))
+ #:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build))))
+ (home-page "http://www.netsurf-browser.org")
+ (synopsis "Build system for the Netsurf project")
+ (description
+ "This package provides the shared build system for Netsurf project
+libraries.")
+ (license l:expat)))
+
+(define netsurf-buildsystem-arguments
+ `(#:make-flags `("COMPONENT_TYPE=lib-shared"
+ "CC=gcc" "BUILD_CC=gcc"
+ ,(string-append "PREFIX=" %output)
+ ,(string-append "NSSHARED="
+ (assoc-ref %build-inputs
+ "netsurf-buildsystem")
+ "/share/netsurf-buildsystem"))
+ #:test-target "test"
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))))
+
+(define-public libparserutils
+ (package
+ (name "libparserutils")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("pkg-config" ,pkg-config)
+ ("perl" ,perl))) ;for test harness
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libparserutils/")
+ (synopsis "Parser building library")
+ (description
+ "LibParserUtils is a library for building efficient parsers, written in
+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 libwapcaplet
+ (package
+ (name "libwapcaplet")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0cs1dd2afjgc3wf5gqg434hv6jdabrp9qvlpl4dp53nhkyfywna3"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("pkg-config" ,pkg-config)
+ ("check" ,check))) ;for tests
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libwapcaplet/")
+ (synopsis "String internment library")
+ (description
+ "LibWapcaplet provides a reference counted string internment system
+designed to store small strings and allow rapid comparison of them. It is
+developed as part of the Netsurf project.")
+ (license l:expat)))
+
+(define-public libcss
+ (package
+ (name "libcss")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0qp4p1q1dwgdra4pkrzd081zjzisxkgwx650ijx323j8bj725daf"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("pkg-config" ,pkg-config)
+ ("perl" ,perl)))
+ (propagated-inputs ;needed for libcss.pc
+ `(("libparserutils" ,libparserutils)
+ ("libwapcaplet" ,libwapcaplet)))
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libcss/")
+ (synopsis "CSS parser and selection library")
+ (description
+ "LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,
+written in C. It is developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public libdom
+ (package
+ (name "libdom")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0qy7c8b229aiamyqqjgp6m1jlzc3fpl8s9dk33kxzkj70na8l7hv"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("pkg-config" ,pkg-config)
+ ("perl" ,perl) ;for test harness
+ ("perl-libxml" ,perl-libxml)
+ ("perl-switch" ,perl-switch)
+ ("perl-xml-xpath" ,perl-xml-xpath)))
+ (inputs
+ `(("libparserutils" ,libparserutils)
+ ("libwapcaplet" ,libwapcaplet)))
+ (propagated-inputs
+ `(("expat" ,expat) ;needed for headers and linking
+ ("hubbub" ,hubbub))) ;for libdom.pc
+ (arguments
+ `(#:tests? #f ;TODO: re-enable. tests take a looong time.
+ ,@netsurf-buildsystem-arguments))
+ (home-page "http://www.netsurf-browser.org/projects/libdom/")
+ (synopsis "Implementation of the W3C DOM")
+ (description
+ "LibDOM is an implementation of the W3C DOM, written in C. It is
+developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public libsvgtiny
+ (package
+ (name "libsvgtiny")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0w5hab9x1saz4lq2s9w47x1r64fbzcsl5bvdjph9c9dq68qv3f8a"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("pkg-config" ,pkg-config)
+ ("gperf" ,gperf-3.0)))
+ (inputs
+ `(("libwapcaplet" ,libwapcaplet)))
+ (propagated-inputs
+ `(("libdom" ,libdom))) ;for libsvgtiny.pc
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libsvgtiny/")
+ (synopsis "Library for parsing SVG files")
+ (description
+ "Libsvgtiny takes some SVG as input and returns a list of paths and texts
+which can be rendered easily, as defined in
+@url{http://www.w3.org/TR/SVGMobile/}. It is developed as part of the NetSurf
+project.")
+ (license l:expat)))
+
+(define-public libnsbmp
+ (package
+ (name "libnsbmp")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0y4a0gn4l6lq4z9183wix0mdsgalqyw24k19k8jr8sz4h3lb7jrb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)))
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libnsbmp/")
+ (synopsis "Decoding library for BMP and ICO files")
+ (description
+ "Libnsbmp is a decoding library for BMP and ICO image file formats,
+written in C. It is developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public libnsgif
+ (package
+ (name "libnsgif")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "1ldsyscsgqwc8g5481h9nqmwirpp1pp57hmss450hr0mqra26g0k"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)))
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/projects/libnsgif/")
+ (synopsis "Decoding library for GIF files")
+ (description
+ "Libnsgif is a decoding library for the GIF image file format, written in
+C. It is developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public libnsutils
+ (package
+ (name "libnsutils")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0wrxn4rcn7xrfnkmf60jafqn3n1kicgsdpnakd821q56bmqvzf0m"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)))
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/")
+ (synopsis "Utility library for NetSurf")
+ (description
+ "Libnsutils provides a small number of useful utility routines. It is
+developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public libnspsl
+ (package
+ (name "libnspsl")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "0x3frscrp9bzxlm9ama5laxjr3zi8cg20r8lhsamw4x4zyyk145y"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)))
+ (arguments netsurf-buildsystem-arguments)
+ (home-page "http://www.netsurf-browser.org/")
+ (synopsis "Library to generate a static Public Suffix List")
+ (description
+ "Libnspsl is a library to generate a static code representation of the
+Public Suffix List. It is developed as part of the NetSurf project.")
+ (license l:expat)))
+
+(define-public nsgenbind
+ (package
+ (name "nsgenbind")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32
+ "078gpbfcs96bgcba0ygha0ph9jzqr6ry5s3a8p6sl61px2908s66"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("bison" ,bison)
+ ("flex" ,flex)))
+ (arguments
+ (substitute-keyword-arguments netsurf-buildsystem-arguments
+ ((#:make-flags flags)
+ `(delete "COMPONENT_TYPE=lib-shared" ,flags))))
+ (home-page "http://www.netsurf-browser.org/")
+ (synopsis "Generate JavaScript to DOM bindings")
+ (description
+ "@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from
+w3c webidl files and a binding configuration file.")
+ (license l:expat)))
+
(define-public netsurf
(package
(name "netsurf")
- (version "3.5")
+ (version "3.6")
(source
(origin
(method url-fetch)
- (uri (string-append "https://download.netsurf-browser.org/"
- "netsurf/releases/source-full/netsurf-all-"
- version ".tar.gz"))
+ (uri (string-append "http://download.netsurf-browser.org/netsurf/"
+ "releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
- "1vdldzcv42wykajmw8vbql0f1yd44gbx30kywfrrh2x3064ly609"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Makefile"
- ;; Do not clobber PKG_CONFIG_PATH from the environment
- (("PKG_CONFIG_PATH = \\$")
- "PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$")
- ;; Honor make variables
- (("shell cc") "shell $(CC)"))))
- (patches (search-patches "netsurf-about.patch"))))
+ "174sjx0566agckwmlj4w2cip5qbxdiafyhlp185a1qprxx84pbjr"))
+ (patches (search-patches "netsurf-system-utf8proc.patch"
+ "netsurf-y2038-tests.patch"
+ "netsurf-longer-test-timeout.patch"))))
(build-system glib-or-gtk-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("netsurf-buildsystem" ,netsurf-buildsystem)
+ ("nsgenbind" ,nsgenbind)
+ ("libidn" ,libidn) ;only for tests
+ ("check" ,check)
("perl" ,perl)
("perl-html-parser" ,perl-html-parser)
- ("flex" ,flex)
- ("bison" ,bison)))
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("gtk+" ,gtk+-2)
- ("gperf" ,gperf)
- ("curl" ,curl)
+ `(("curl" ,curl)
+ ("gtk+" ,gtk+-2)
("openssl" ,openssl)
+ ("utf8proc" ,utf8proc)
("libpng" ,libpng)
("libjpeg" ,libjpeg)
- ("expat" ,expat)))
+ ("libcss" ,libcss)
+ ("libdom" ,libdom)
+ ("libnsbmp" ,libnsbmp)
+ ("libnsgif" ,libnsgif)
+ ("libnspsl" ,libnspsl)
+ ("libnsutils" ,libnsutils)
+ ("libsvgtiny" ,libsvgtiny)
+ ("miscfiles" ,miscfiles)))
(arguments
`(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
- ,(string-append "PREFIX=" %output))
- #:parallel-build? #f ;parallel builds not supported
- #:tests? #f ;no way to easily run from release tarball
+ ,(string-append "PREFIX=" %output)
+ ,(string-append "NSSHARED="
+ (assoc-ref %build-inputs
+ "netsurf-buildsystem")
+ "/share/netsurf-buildsystem"))
+ #:test-target "test"
#:modules ((ice-9 rdelim)
(ice-9 match)
(srfi srfi-1)
,@%glib-or-gtk-build-system-modules)
#:phases
(modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (call-with-output-file "netsurf/Makefile.config"
- (lambda (port)
- (format port "~
- NETSURF_GTK_RESOURCES := $(PREFIX)/share/netsurf/~@
- ")))
- #t))
+ (delete 'configure)
(add-after 'build 'adjust-welcome
(lambda _
;; First, fix some unended tags and simple substitutions
- (substitute* "netsurf/gtk/res/welcome.html"
+ (substitute* "frontends/gtk/res/welcome.html"
(("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />"))
(("Licence") "License") ;prefer GNU spelling
(("Google Search") "DuckDuckGo Search")
(("name=\"btnG\"") ""))
;; Remove default links so it doesn't seem we're endorsing them
- (with-atomic-file-replacement "netsurf/gtk/res/welcome.html"
+ (with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out)
;; Leave the DOCTYPE header as is
(display (read-line in 'concat) out)
(x x)))
out)))
#t))
+ (add-before 'check 'patch-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("test/bloom.c" "test/hashtable.c")
+ (("/usr/share/dict/words")
+ (string-append (assoc-ref inputs "miscfiles") "/share/web2")))
+ #t))
(add-after 'install 'install-more
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(desktop (string-append out "/share/applications/"
"netsurf.desktop")))
(mkdir-p (dirname desktop))
- (copy-file "netsurf/gtk/res/netsurf-gtk.desktop"
+ (copy-file "frontends/gtk/res/netsurf-gtk.desktop"
desktop)
(substitute* desktop
(("netsurf-gtk") (string-append out "/bin/netsurf"))
(("netsurf.png") (string-append out "/share/netsurf/"
"netsurf.xpm")))
- (install-file "netsurf/Docs/netsurf-gtk.1"
+ (install-file "Docs/netsurf-gtk.1"
(string-append out "/share/man/man1/"))
#t))))))
- (home-page "https://www.netsurf-browser.org")
+ (home-page "http://www.netsurf-browser.org")
(synopsis "Web browser")
(description
"NetSurf is a lightweight web browser that has its own layout and
(version "1.12")
(source
(origin
- ;; The darkhttpd release tarball URL fails to download with a
- ;; 'TLS warning alert'. Download from the darkhttpd git repo
- ;; until the problem has been fixed upstream.
- (method git-fetch)
- (uri (git-reference
- (url (string-append "https://unix4lyfe.org/git/darkhttpd"))
- (commit "41b68476c35270f47dcd2ddebe27cbcd87e43d41")))
+ (method url-fetch)
+ (uri (string-append "https://unix4lyfe.org/darkhttpd/darkhttpd-"
+ version ".tar.bz2"))
(sha256
(base32
- "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k"))
- (file-name (string-append name "-" version "-checkout"))))
+ "0185wlyx4iqiwfigp1zvql14zw7gxfacncii3d15yaxk4av1f155"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc")
allowed, even through a HTTP-only proxy, httptunnel can be combined with other
tools like SSH (Secure Shell) to reach the outside world.")
(license l:gpl2+)))
+
+(define-public stunnel
+ (package
+ (name "stunnel")
+ (version "5.39")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.stunnel.org/downloads/stunnel-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1vjdn32iw11zqsygwxbjmqgs4644dk3ql1h8ap890ls6a1x0i318"))))
+ (build-system gnu-build-system)
+ (inputs `(("openssl" ,openssl)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")))))
+ (home-page "https://www.stunnel.org")
+ (synopsis "TLS proxy for clients or servers")
+ (description "Stunnel is a proxy designed to add TLS encryption
+functionality to existing clients and servers without any changes in the
+programs' code. Its architecture is optimized for security, portability, and
+scalability (including load-balancing), making it suitable for large
+deployments.")
+ (license l:gpl2+)))
+
+(define-public xinetd
+ (package
+ (name "xinetd")
+ (version "2.3.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/xinetd-org/xinetd/archive/xinetd-2-3-15.tar.gz")
+ (patches (search-patches "xinetd-CVE-2013-4342.patch" "xinetd-fix-fd-leak.patch"))
+ (sha256
+ (base32
+ "0k59x52cbzp5fw0n8zn0y54j1ps0x9b72y8k5grzswjdmgs2a2v2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--with-loadavg")
+ #:tests? #f )) ; no tests
+ (home-page "https://github.com/xinetd-org/xinetd")
+ (synopsis "Internet services daemon")
+ (description "@code{xinetd}, a more secure replacement for @code{inetd},
+listens for incoming requests over a network and launches the appropriate
+service for that request. Requests are made using port numbers as identifiers
+and xinetd usually launches another daemon to handle the request. It can be
+used to start services with both privileged and non-privileged port numbers.")
+ (license (l:fsf-free "file://COPYRIGHT"))))
+
+(define-public tidy-html
+ (package
+ (name "tidy-html")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/htacg/tidy-html5/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yhbgbjl45b4sjxwc394cjra6iy02q1pi66p28zy70lr6jvm9mx2"))))
+ (build-system cmake-build-system)
+ (outputs '("out"
+ "static")) ; 1.0MiB of .a files
+ (arguments
+ `(#:tests? #f ; No tests available
+ #:configure-flags (list "-DCMAKE_BUILD_TYPE=Release")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move static libraries to the "static" output.
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (static (assoc-ref outputs "static"))
+ (slib (string-append static "/lib")))
+ (mkdir-p slib)
+ (for-each (lambda (file)
+ (install-file file slib)
+ (delete-file file))
+ (find-files lib "\\.a$"))
+ #t))))))
+ (native-inputs
+ `(("libxslt" ,libxslt)))
+ (home-page "http://www.html-tidy.org/")
+ (synopsis "HTML Tidy with HTML5 support")
+ (description
+ "Tidy is a console application which corrects and cleans up
+HTML and XML documents by fixing markup errors and upgrading
+legacy code to modern standards.
+
+Tidy also provides @code{libtidy}, a C static and dynamic library that
+developers can integrate into their applications to make use of the
+functions of Tidy.")
+ (license l:bsd-3)))
+
+(define-public hiawatha
+ (package
+ (name "hiawatha")
+ (version "10.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.hiawatha-webserver.org/files/"
+ "hiawatha-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; We use our packaged mbedtls, so delete the included copy.
+ '(delete-file-recursively "mbedtls"))
+ (sha256
+ (base32
+ "0m2llzm72s29c32abnj03532m85fawvi8ybjpx6s3mgvx2yvq3p4"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No tests included
+ #:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
+ (string-append "-DENABLE_TOMAHAWK=on")
+ (string-append "-DWEBROOT_DIR="
+ (assoc-ref %outputs "out")
+ "/share/hiawatha/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'remove-empty-dirs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ ;; The directories in "var" are empty, remove them.
+ (delete-file-recursively (string-append out "/var"))
+ #t)))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'hiawatha' finds 'mbedtls'.
+ (let* ((out (assoc-ref outputs "out"))
+ (sbin (string-append out "/sbin"))
+ (mbed (assoc-ref inputs "mbedtls-apache")))
+ (wrap-program (string-append sbin "/hiawatha")
+ `("PATH" ":" prefix (,mbed)))))))))
+ (inputs
+ ;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha"
+ `(("mbedtls-apache" ,mbedtls-apache) ;Hiawatha includes this version.
+ ("zlib" ,zlib)
+ ("libxslt" ,libxslt)
+ ("libxml2" ,libxml2)))
+ (home-page "https://www.hiawatha-webserver.org")
+ (synopsis "Webserver with focus on security")
+ (description
+ "Hiawatha has been written with security in mind.
+Features include the ability to stop SQL injections, XSS and CSRF attacks and
+exploit attempts.")
+ (license l:gpl2)))
+
+(define-public qutebrowser
+ (package
+ (name "qutebrowser")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/The-Compiler/"
+ "qutebrowser/releases/download/v" version "/"
+ "qutebrowser-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05qryn56w2pbqhir4pl99idx7apx2xqw9f8wmbrhj59b1xgr3x2p"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("asciidoc" ,asciidoc)))
+ (inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-cssutils" ,python-cssutils)
+ ("python-jinja2" ,python-jinja2)
+ ("python-markupsafe" ,python-markupsafe)
+ ("python-pygments" ,python-pygments)
+ ("python-pypeg2" ,python-pypeg2)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-pyqt" ,python-pyqt)
+ ("qtwebkit" ,qtwebkit)))
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-more
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (app (string-append out "/share/applications"))
+ (hicolor (string-append out "/share/icons/hicolor")))
+ (system* "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
+ (install-file "doc/qutebrowser.1"
+ (string-append out "/share/man/man1"))
+
+ (for-each
+ (lambda (i)
+ (let ((src (format #f "icons/qutebrowser-~dx~d.png" i i))
+ (dest (format #f "~a/~dx~d/apps/qutebrowser.png"
+ hicolor i i)))
+ (mkdir-p (dirname dest))
+ (copy-file src dest)))
+ '(16 24 32 48 64 128 256 512))
+ (install-file "icons/qutebrowser.svg"
+ (string-append hicolor "/scalable/apps"))
+
+ (substitute* "qutebrowser.desktop"
+ (("Exec=qutebrowser")
+ (string-append "Exec=" out "/bin/qutebrowser")))
+ (install-file "qutebrowser.desktop" app)
+ #t))))))
+ (home-page "https://qutebrowser.org/")
+ (synopsis "Minimal, keyboard-focused, vim-like web browser")
+ (description "qutebrowser is a keyboard-focused browser with a minimal
+GUI. It is based on PyQt5 and QtWebKit.")
+ (license l:gpl3+)))