summaryrefslogtreecommitdiff
path: root/gnu/packages/web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r--gnu/packages/web.scm362
1 files changed, 255 insertions, 107 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 46cba2317c..ce86c9e6de 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -123,9 +123,11 @@
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp-xyz)
+ #:use-module (gnu packages lsof)
#:use-module (gnu packages lua)
#:use-module (gnu packages markup)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack)
@@ -227,14 +229,14 @@ Interface} specification.")
;; ’stable’ and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one.
- (version "1.17.9")
+ (version "1.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "12dnrdxwnlid0wr797vdxj9z1fmxnk7ib55bznvl2g3mbi05vmkx"))))
+ "1j1n3rlvan6l9j3vw8axbbdm96w7s0x6ygmgqvbplzfd3wbid9j4"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@@ -276,7 +278,6 @@ Interface} specification.")
(string-append "--crossbuild="
system ":" release ":" machine)))))
(setenv "CC" "gcc")
- (format #t "environment variable `CC' set to `gcc'~%")
(format #t "configure flags: ~s~%" flags)
(apply invoke "./configure" flags)
#t)))
@@ -358,13 +359,13 @@ documentation.")
(license license:bsd-2))))
(define-public nginx-documentation
- ;; This documentation should be relevant for nginx@1.15.9.
- (let ((revision 2345)
- (changeset "7ef11708457e"))
+ ;; This documentation should be relevant for the current nginx package.
+ (let ((version "1.19.0")
+ (revision 2549)
+ (changeset "c13a55aae487"))
(package
(name "nginx-documentation")
- (version
- (simple-format #f "2019-03-01-~A-~A" revision changeset))
+ (version (simple-format #f "~A-~A-~A" version revision changeset))
(source
(origin (method hg-fetch)
(uri (hg-reference
@@ -373,7 +374,7 @@ documentation.")
(file-name (string-append name "-" version))
(sha256
(base32
- "15975jvh53mnsgi4hhgrwdwy3by23v4kxnhy2vnkziq8v7wkmy4y"))))
+ "0vwwvk6wf8f6c6n6yffmya9a287s6dbx1p739hdl3hwxfyh2ygc5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
@@ -768,7 +769,7 @@ data.")
(define-public json-c
(package
(name "json-c")
- (version "0.13.1")
+ (version "0.14")
(source (origin
(method url-fetch)
(uri (string-append
@@ -776,7 +777,29 @@ data.")
version ".tar.gz"))
(sha256
(base32
- "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq"))
+ "0w381krr99q5a2rypx4g437fa7gzgl82i64sgnrs6g5jr44dwxxk"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/json-c/json-c/wiki")
+ (synopsis "JSON implementation in C")
+ (description
+ "JSON-C implements a reference counting object model that allows you to
+easily construct JSON objects in C, output them as JSON-formatted strings and
+parse JSON-formatted strings back into the C representation of JSON objects.
+It aims to conform to RFC 7159.")
+ (license license:x11)))
+
+;; TODO: Remove these old versions when all dependents have been updated.
+(define-public json-c-0.13
+ (package
+ (inherit json-c)
+ (version "0.13.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -786,20 +809,11 @@ data.")
(set-file-time "config.h.in"
(stat "aclocal.m4"))
#t))))
- (build-system gnu-build-system)
- (home-page "https://github.com/json-c/json-c/wiki")
- (synopsis "JSON implementation in C")
- (description
- "JSON-C implements a reference counting object model that allows you to
-easily construct JSON objects in C, output them as JSON-formatted strings and
-parse JSON-formatted strings back into the C representation of JSON objects.
-It aims to conform to RFC 7159.")
- (license license:x11)))
+ (build-system gnu-build-system)))
-;; TODO: remove this old version when all dependents have been updated.
(define-public json-c-0.12
(package
- (inherit json-c)
+ (inherit json-c-0.13)
(version "0.12.1")
(source (origin
(method url-fetch)
@@ -1177,7 +1191,7 @@ other systems that want to manipulate WebAssembly files.")
(define-public websocketpp
(package
(name "websocketpp")
- (version "0.8.1")
+ (version "0.8.2")
(source
(origin
(method git-fetch)
@@ -1186,8 +1200,8 @@ other systems that want to manipulate WebAssembly files.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy"))
- (patches (search-patches "websocketpp-fix-for-boost-1.70.patch"))))
+ (base32 "1ww4fhl8qf12hkv6jaild8zzsygdspxm1gqpk2f63gv1xfi31wpm"))
+ (patches (search-patches "websocketpp-fix-for-cmake-3.15.patch"))))
(build-system cmake-build-system)
(inputs `(("boost" ,boost)
("openssl" ,openssl)))
@@ -1574,7 +1588,7 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://archive.apache.org/dist/serf/serf-"
+ (uri (string-append "mirror://apache/serf/serf-"
version ".tar.bz2"))
(sha256
(base32 "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l"))))
@@ -2605,7 +2619,7 @@ development server with Starman.")
(define-public perl-cgi
(package
(name "perl-cgi")
- (version "4.46")
+ (version "4.47")
(source
(origin
(method url-fetch)
@@ -2613,7 +2627,7 @@ development server with Starman.")
"CGI-" version ".tar.gz"))
(sha256
(base32
- "16225vmdsfa2y7i1ydv7634nd0qxxb0ccwnfszjq58rwqgfri2bq"))))
+ "1a9cylhqsm5icvbg09m21nj0xx4zy5gbk4p74npm1ch3qlryzyyr"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-deep" ,perl-test-deep)
@@ -3718,6 +3732,35 @@ possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
and retry a few times.")
(license license:perl-license)))
+(define-public perl-lwpx-paranoidagent
+ (package
+ (name "perl-lwpx-paranoidagent")
+ (version "1.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0gfhw3jbs25yya2dryv8xvyn9myngcfcmsybj7gkq62fnznil16c"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-libwww" ,perl-libwww)
+ ;; Users should instead make sure SSL_ca_path is set properly.
+ ;; ("perl-mozilla-ca" ,perl-mozilla-ca)
+ ("perl-net-dns" ,perl-net-dns)))
+ (home-page "https://metacpan.org/release/LWPx-ParanoidAgent")
+ (synopsis "Security enhanced subclass of LWP::UserAgent")
+ (description "@code{LWPx::ParanoidAgent} is a class subclassing
+@code{LWP::UserAgent} but paranoid against attackers. Its purpose is
+to vet requests for a remote resource on behalf of a possibly
+malicious user. The class can do the same as @code{LWP::UserAgent},
+except that proxy support has been removed. Support for URI schemes
+is limited to http and https.")
+ (license license:perl-license)))
+
(define-public perl-net-amazon-s3
(package
(name "perl-net-amazon-s3")
@@ -4640,15 +4683,14 @@ you'd expect.")
(define-public uhttpmock
(package
(name "uhttpmock")
- (version "0.5.1")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://tecnocode.co.uk/downloads/uhttpmock/"
- name "-" version ".tar.xz"))
+ "uhttpmock-" version ".tar.xz"))
(sha256
- (base32
- "163py4klka423x7li2b685gmg3a6hjf074mlff2ajhmi3l0lm8x6"))))
+ (base32 "0glyx07kxc3s3cx5vp30kfgscl9q6bghcq1zysfyxm24r0h6j58p"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@@ -4705,7 +4747,7 @@ tools they trust (e.g. wget).")
(define netsurf-buildsystem
(package
(name "netsurf-buildsystem")
- (version "1.7")
+ (version "1.9")
(source
(origin
(method url-fetch)
@@ -4713,7 +4755,7 @@ tools they trust (e.g. wget).")
"buildsystem-" version ".tar.gz"))
(sha256
(base32
- "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw"))))
+ "0alsmaig9ln8dgllb3z63gq90fiz75jz0ic71fi0k0k898qix14k"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
@@ -4769,7 +4811,7 @@ C. It is developed as part of the NetSurf project.")
(define-public hubbub
(package
(name "hubbub")
- (version "0.3.6")
+ (version "0.3.7")
(source
(origin
(method url-fetch)
@@ -4777,7 +4819,7 @@ C. It is developed as part of the NetSurf project.")
"libhubbub-" version "-src.tar.gz"))
(sha256
(base32
- "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp"))
+ "1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly"))
(patches (search-patches "hubbub-sort-entities.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -4821,15 +4863,6 @@ NetSurf project.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'include-PERL5LIB-in-wrapper
- (lambda _
- (substitute* "IkiWiki/Wrapper.pm"
- (("^@wrapper\\_hooks")
- (string-append
- "@wrapper_hooks\n"
- " addenv(\"PERL5LIB\", \""
- (getenv "PERL5LIB")
- "\");")))))
(add-after 'patch-source-shebangs 'patch-Makefiles
(lambda _
(substitute* "Makefile.PL"
@@ -4846,6 +4879,33 @@ NetSurf project.")
(invoke "find" "doc" "underlays" "-type" "f" "-exec"
"touch" "{}" "+")
#t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Six tests use IPC::Run. For these tests the PERL5LIB
+ ;; variable is needed in the runtime environment and also
+ ;; in the search path list in the setup file.
+ (substitute*
+ '("t/aggregate-file.t" "t/git-cgi.t" "t/git-untrusted.t"
+ "t/passwordauth.t" "t/relativity.t" "t/wrapper-environ.t")
+ (("(.*)\"perl\"(.*)$" _ prefix suffix)
+ (string-append prefix "qw(env), 'PERL5LIB='.$ENV{PERL5LIB}"
+ ", qw(perl)" suffix))
+ (("(.*) PERL5LIB=(.*) perl(.*)$" _ prefix middle suffix)
+ (string-append prefix "), 'PERL5LIB='.$ENV{PERL5LIB}.':"
+ middle "', qw(perl" suffix))
+ (("(.*)setup(.* )getcwd(.*)$" _ prefix middle suffix)
+ (string-append prefix "setup" middle
+ "$ENV{PERL5LIB}.':'.getcwd" suffix))
+ (("^ENV(.*): '(.*)$" _ middle suffix)
+ (string-append "ENV" middle
+ ": '$ENV{PERL5LIB}:" suffix)))
+ ;; XDG_DATA_DIRS is needed by the podcast.t test.
+ (setenv "XDG_DATA_DIRS"
+ (string-append (assoc-ref inputs "shared-mime-info")
+ "/share"))
+ ;; CC is needed by IkiWiki/Wrapper.pm.
+ (setenv "CC" "gcc")
+ #t))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -4867,26 +4927,29 @@ NetSurf project.")
(inputs
`(("python" ,python-wrapper)
("perl-authen-passphrase" ,perl-authen-passphrase)
- ("perl-cgi-formbuilder" ,perl-cgi-formbuilder)
- ("perl-cgi-session" ,perl-cgi-session)
("perl-cgi-simple" ,perl-cgi-simple)
("perl-db-file" ,perl-db-file)
("perl-file-mimeinfo" ,perl-file-mimeinfo)
("perl-html-tagset" ,perl-html-tagset)
("perl-image-magick" ,perl-image-magick)
- ("perl-mail-sendmail" ,perl-mail-sendmail)
- ("perl-timedate" ,perl-timedate)
+ ("perl-ipc-run" ,perl-ipc-run)
+ ("perl-lwpx-paranoidagent" ,perl-lwpx-paranoidagent)
+ ("perl-xml-feed" ,perl-xml-feed)
("perl-xml-sax" ,perl-xml-sax)
- ("perl-xml-simple" ,perl-xml-simple)
("perl-xml-twig" ,perl-xml-twig)
("po4a" ,po4a)))
(propagated-inputs
- `(("perl-html-parser" ,perl-html-parser)
+ `(("perl-cgi-formbuilder" ,perl-cgi-formbuilder)
+ ("perl-cgi-session" ,perl-cgi-session)
+ ("perl-html-parser" ,perl-html-parser)
("perl-html-scrubber" ,perl-html-scrubber)
("perl-html-template" ,perl-html-template)
("perl-json" ,perl-json)
+ ("perl-mail-sendmail" ,perl-mail-sendmail)
("perl-text-markdown-discount" ,perl-text-markdown-discount)
+ ("perl-timedate" ,perl-timedate)
("perl-uri" ,perl-uri)
+ ("perl-xml-simple" ,perl-xml-simple)
("perl-yaml-libyaml" ,perl-yaml-libyaml)))
(home-page "https://ikiwiki.info/")
(synopsis "Wiki compiler, capable of generating HTML")
@@ -4899,7 +4962,7 @@ commenting.")
(define-public libwapcaplet
(package
(name "libwapcaplet")
- (version "0.4.2")
+ (version "0.4.3")
(source
(origin
(method url-fetch)
@@ -4907,7 +4970,7 @@ commenting.")
"libwapcaplet-" version "-src.tar.gz"))
(sha256
(base32
- "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86"))))
+ "0p0c2q9lsj4vs97aa7vjllfhw33zv3dpysdkjblzhib6dpfs2alv"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
@@ -4925,7 +4988,7 @@ developed as part of the Netsurf project.")
(define-public libcss
(package
(name "libcss")
- (version "0.9.0")
+ (version "0.9.1")
(source
(origin
(method url-fetch)
@@ -4933,7 +4996,7 @@ developed as part of the Netsurf project.")
"libcss-" version "-src.tar.gz"))
(sha256
(base32
- "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr"))))
+ "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
@@ -4993,7 +5056,7 @@ in which the loaded data is arranged in memory.")
(define-public libdom
(package
(name "libdom")
- (version "0.4.0")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
@@ -5001,7 +5064,7 @@ in which the loaded data is arranged in memory.")
"libdom-" version "-src.tar.gz"))
(sha256
(base32
- "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy"))))
+ "0jpg5hx3y0mdxk5szd47dyijqimd2321brbqk2620pp5f4j0gvlq"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
@@ -5060,7 +5123,7 @@ project.")
(define-public libnsbmp
(package
(name "libnsbmp")
- (version "0.1.5")
+ (version "0.1.6")
(source
(origin
(method url-fetch)
@@ -5068,7 +5131,7 @@ project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35"))))
+ "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
@@ -5106,7 +5169,7 @@ C. It is developed as part of the NetSurf project.")
(define-public libnslog
(package
(name "libnslog")
- (version "0.1.2")
+ (version "0.1.3")
(source
(origin
(method url-fetch)
@@ -5114,12 +5177,12 @@ C. It is developed as part of the NetSurf project.")
"libnslog-" version "-src.tar.gz"))
(sha256
(base32
- "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd"))))
+ "1l2k0kdv9iv18svhv360vszjavhl4g09cp8a8yb719pgsylxr67w"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
("pkg-config" ,pkg-config)
- ("check" ,check-0.12) ; For tests
+ ("check" ,check) ; For tests
("bison" ,bison)
("flex" ,flex)))
(arguments netsurf-buildsystem-arguments)
@@ -5134,7 +5197,7 @@ client applications. It is developed as part of the NetSurf project.")
(define-public libnsutils
(package
(name "libnsutils")
- (version "0.0.5")
+ (version "0.1.0")
(source
(origin
(method url-fetch)
@@ -5142,7 +5205,7 @@ client applications. It is developed as part of the NetSurf project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf"))))
+ "1w5fyy2i60a3v3if3iqcn9sy9sycx6966rcx53v85gja6hb6a33r"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
@@ -5157,7 +5220,7 @@ developed as part of the NetSurf project.")
(define-public libnspsl
(package
(name "libnspsl")
- (version "0.1.5")
+ (version "0.1.6")
(source
(origin
(method url-fetch)
@@ -5165,7 +5228,7 @@ developed as part of the NetSurf project.")
"libnspsl-" version "-src.tar.gz"))
(sha256
(base32
- "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd"))))
+ "02q28n5i6fwqcz1nn167rb71k1q95mx38mfah6zi1lvqrc2q5ifk"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
@@ -5180,7 +5243,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(define-public nsgenbind
(package
(name "nsgenbind")
- (version "0.7")
+ (version "0.8")
(source
(origin
(method url-fetch)
@@ -5188,7 +5251,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
"nsgenbind-" version "-src.tar.gz"))
(sha256
(base32
- "0rplmky4afsjwiwh7grkmcdmzg86zksa55j93dvq92f91yljwqqq"))))
+ "1cqwgwca49jvmijwiyaab2bwxicgxdrnlpinf8kp3nha02nm73ad"))))
(build-system gnu-build-system)
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)
@@ -5208,7 +5271,7 @@ w3c webidl files and a binding configuration file.")
(define-public netsurf
(package
(name "netsurf")
- (version "3.9")
+ (version "3.10")
(source
(origin
(method url-fetch)
@@ -5216,7 +5279,7 @@ w3c webidl files and a binding configuration file.")
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
- "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp"))
+ "0plra64c5xyiw12yx2q13brxsv8apmany97zqa2lcqckw4ll8j1n"))
(patches (search-patches "netsurf-system-utf8proc.patch"
"netsurf-y2038-tests.patch"
"netsurf-longer-test-timeout.patch"
@@ -5283,18 +5346,18 @@ w3c webidl files and a binding configuration file.")
(display (read-line in 'concat) out)
(sxml->xml
(let rec ((sxml (xml->sxml in
- #:default-entity-handler
- (lambda (port name)
- (string-append "<ENTITY>"
- (symbol->string name)
- "</ENTITY>")))))
+ #:default-entity-handler
+ (lambda (port name)
+ (string-append "<ENTITY>"
+ (symbol->string name)
+ "</ENTITY>")))))
;; We'd like to use sxml-match here, but it can't
;; match against generic tag symbols...
(match sxml
(`(div (@ (class "links")) . ,rest)
'())
- (`(ENTITY ,ent)
- `(*ENTITY* ,ent))
+ (`(ENTITY ,ent)
+ `(*ENTITY* ,ent))
((x ...)
(map rec x))
(x x)))
@@ -5437,6 +5500,60 @@ HTTP statistics for system administrators that require a visual server report
on the fly.")
(license license:x11)))
+(define-public hitch
+ (package
+ (name "hitch")
+ (version "1.5.2")
+ (home-page "https://hitch-tls.org/")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "source/hitch-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nnzqqigfw78nqhp81a72x1s8d6v49ayw4w5df0zzm2cb1jgv95i"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Most tests attempts to access hitch-tls.org which is
+ ;; unavailable in the build container. Run them against
+ ;; a dummy local web server instead.
+ (for-each (lambda (test)
+ (substitute* test
+ (("\\[hitch-tls\\.org\\]:80")
+ "[localhost]:8000")))
+ (find-files "src/tests" "\\.sh$"))
+ (system "python3 -m http.server &")
+
+ ;; The build container does not reap zombie processes,
+ ;; causing stop_hitch to hang indefinitely while waiting
+ ;; for the process to terminate because 'kill -0' never
+ ;; succeeds. Use a different test to see whether the
+ ;; process has shut down.
+ (substitute* "src/tests/hitch_test.sh"
+ (("kill -0 \"\\$HITCH_PID\"")
+ "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+
+ ;; For tests.
+ ("curl" ,curl)
+ ("egrep" ,grep)
+ ("lsof" ,lsof)
+ ("python" ,python)))
+ (inputs
+ `(("libev" ,libev)
+ ("openssl" ,openssl)))
+ (synopsis "Scalable TLS proxy")
+ (description
+ "Hitch is a performant TLS proxy based on @code{libev}. It terminates
+SSL/TLS connections and forwards the unencrypted traffic to a backend such
+as a web server. It is designed to handle many thousand connections on
+multicore machines.")
+ (license license:bsd-2)))
+
(define-public httptunnel
(package
(name "httptunnel")
@@ -5600,15 +5717,15 @@ configuration language.")
(package
(name "varnish-modules")
(home-page "https://github.com/varnish/varnish-modules")
- (version "0.15.0")
+ (version "0.16.0")
(source (origin
(method url-fetch)
- (uri (string-append "https://download.varnish-software.com"
- "/varnish-modules/varnish-modules-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/varnish/varnish-modules"
+ "/releases/download/varnish-modules-" version
+ "/varnish-modules-" version ".tar.gz"))
(sha256
(base32
- "09li9lqa1kb275w1rby2zldyg8r9cfcl4qyv53qyd9xbzilrz751"))))
+ "1ph5bplsip4rycql1c2hgbvmrwbgcrgv2ldgfp7saxxbsv5cpcds"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -5618,7 +5735,7 @@ configuration language.")
(synopsis "Collection of Varnish modules")
(description
"This package provides a collection of modules (@dfn{vmods}) for the Varnish
-cache server, extending the @dfn{Varnish Configuration Language} (VCL) with
+cache server, extending the @acronym{VCL, Varnish Configuration Language} with
additional capabilities.")
(license license:bsd-2)))
@@ -5825,30 +5942,30 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(define-public http-parser
(package
(name "http-parser")
- (version "2.9.3")
+ (version "2.9.4")
(home-page "https://github.com/nodejs/http-parser")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (patches
- ;; When parsing URLs, treat an empty port (eg
- ;; `http://hostname:/`) as if it were unspecified. This patch is
- ;; applied to Fedora's http-parser and to libgit2's bundled version.
- (list
- (origin
- (method url-fetch)
- (uri (string-append
- "https://src.fedoraproject.org/rpms/http-parser/raw/"
- "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/"
- "f/0001-url-treat-empty-port-as-default.patch"))
- (sha256
- (base32
- "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g")))))
- (sha256
- (base32
- "189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1vda4dp75pjf5fcph73sy0ifm3xrssrmf927qd1x8g3q46z0cv6c"))
+ (file-name (git-file-name name version))
+ (patches
+ (list
+ (origin
+ ;; Treat an empty port (e.g. `http://hostname:/`) when parsing
+ ;; URLs as if no port were specified. This patch is applied
+ ;; to Fedora's http-parser and to libgit2's bundled version.
+ (method url-fetch)
+ (uri (string-append
+ "https://src.fedoraproject.org/rpms/http-parser/raw/"
+ "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/"
+ "f/0001-url-treat-empty-port-as-default.patch"))
+ (sha256
+ (base32
+ "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g")))))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -5861,6 +5978,14 @@ into your tests. It automatically starts up a HTTP server in a separate thread
'("CC=gcc")))
#:phases
(modify-phases %standard-phases
+ ,@(match (%current-system)
+ ("armhf-linux"
+ '((add-before 'check 'apply-assertion.patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch (assoc-ref inputs "assertion.patch")))
+ (invoke "patch" "-p1" "-i" patch)
+ #t)))))
+ (_ '()))
,@(if (%current-target-system)
'((replace 'configure
(lambda* (#:key target #:allow-other-keys)
@@ -5871,6 +5996,14 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(string-append "AR=" target "-ar\n")))
#t)))
'((delete 'configure))))))
+ (native-inputs
+ `(,@(match (%current-system)
+ ("armhf-linux"
+ ;; A fix for <https://issues.guix.gnu.org/40604> which in turn
+ ;; breaks i686-linux builds.
+ `(("assertion.patch"
+ ,@(search-patches "http-parser-fix-assertion-on-armhf.patch"))))
+ (_ '()))))
(synopsis "HTTP request/response parser for C")
(description "This is a parser for HTTP messages written in C. It parses
both requests and responses. The parser is designed to be used in
@@ -7073,6 +7206,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(package
(name "nghttp2")
(version "1.40.0")
+ (replacement nghttp2-1.41)
(source
(origin
(method url-fetch)
@@ -7152,6 +7286,20 @@ compressed JSON header blocks.
@end itemize\n")
(license license:expat)))
+(define-public nghttp2-1.41 ;fixes CVE-2020-11080
+ (package
+ (inherit nghttp2)
+ (version "1.41.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nghttp2/nghttp2/"
+ "releases/download/v" version "/"
+ "nghttp2-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1hk77vngjmvvzb5y1gi1aqwf6qywrc7yak08zvzb7x81qs6mphmb"))))))
+
(define-public hpcguix-web
(let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74")
(revision "5"))
@@ -7226,7 +7374,7 @@ compressed JSON header blocks.
(propagated-inputs
`(("guile" ,guile-3.0)
("guile-commonmark" ,guile-commonmark)
- ("guile-json" ,guile-json-3)))
+ ("guile-json" ,guile-json-4)))
(home-page "https://github.com/UMCUGenetics/hpcguix-web")
(synopsis "Web interface for cluster deployments of Guix")
(description "Hpcguix-web provides a web interface to the list of packages