;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 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 © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2019, 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018, 2019 Julien Lepiller <julien@lepiller.eu>
#:use-module (guix build-system ant)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (gnu packages xml)
#:use-module ((srfi srfi-1) #:select (delete-duplicates)))
+(define-public qhttp
+ (package
+ (name "qhttp")
+ (version "3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/azadkuh/qhttp")
+ (commit (string-append "version-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cx23g4y4k4v9p5ph6h7gfhp8sfy1gcdv1g6bl44hppar1y0zfdq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no target
+ #:imported-modules
+ ((guix build copy-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules
+ (((guix build copy-build-system) #:prefix copy:)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "commondir.pri"
+ (("\\$\\$PRJDIR/xbin")
+ (string-append (assoc-ref outputs "out") "/lib"))
+ (("-L")
+ "-lhttp_parser -L")
+ (("\\$\\$PRJDIR/3rdparty")
+ ""))
+ (substitute* "src/src.pro"
+ (("SOURCES \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.c")
+ "")
+ (("HEADERS \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.h")
+ ""))
+ (substitute* '("src/private/qhttpbase.hpp" "src/qhttpabstracts.cpp")
+ (("http-parser/http_parser.h")
+ "http_parser.h"))
+ #t))
+ (replace 'configure
+ (lambda _ (invoke "qmake")))
+ (replace 'install
+ (lambda args
+ (apply (assoc-ref copy:%standard-phases 'install)
+ #:install-plan
+ '(("src" "include"
+ #:include-regexp ("\\.hpp$")))
+ args)))
+ (add-after 'install 'remove-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append (assoc-ref outputs "out") "/lib")
+ (for-each delete-file
+ (list
+ "basic-server"
+ "helloworld"
+ "postcollector")))
+ #t)))))
+ (inputs
+ `(("http-parser" ,http-parser)
+ ("qtbase" ,qtbase)))
+ (home-page "https://github.com/azadkuh/qhttp/")
+ (synopsis "Qt-based HTTP Library")
+ (description
+ "Qhttp is a light-weight and asynchronous HTTP library
+(both server & client) in Qt5 and C++14.")
+ (license license:expat)))
+
(define-public httpd
(package
(name "httpd")
(define-public monolith
(package
(name "monolith")
- (version "2.4.0")
+ (version "2.4.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "18c6bsv9m3spiyfhqp08v807m93r6n9hrlv4qbfiqp4kw5aryb4h"))))
+ (base32 "1z0bcvk2cvx2cd0hs8addzcb070xvrkcxvg25691xw0ikiynpkwz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
- (("rust-base64" ,rust-base64-0.13)
+ (("rust-atty" ,rust-atty-0.2)
+ ("rust-base64" ,rust-base64-0.13)
("rust-chrono" ,rust-chrono-0.4)
("rust-clap" ,rust-clap-2)
- ("rust-cssparser" ,rust-cssparser-0.27)
+ ("rust-cssparser" ,rust-cssparser-0.28)
("rust-html5ever" ,rust-html5ever-0.24)
("rust-regex" ,rust-regex-1)
- ("rust-reqwest" ,rust-reqwest-0.10)
+ ("rust-reqwest" ,rust-reqwest-0.11)
("rust-sha2" ,rust-sha2-0.9)
("rust-url" ,rust-url-2))
#:cargo-development-inputs
;; ’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.19.6")
+ (version "1.19.10")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "1d9kzks8x1226prjbpdin4dz93fjnv304zlqybfqachx5fh9a4di"))))
+ "121d11693d6dbim3lh64hrqi66z129z30cvcrpbnm631yl7jkl78"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
"--with-http_v2_module"
"--with-pcre-jit"
"--with-debug"
+ "--with-stream"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
(define-public nginx-documentation
;; This documentation should be relevant for the current nginx package.
- (let ((version "1.19.6")
- (revision 2636)
- (changeset "a0824dab33ff"))
+ (let ((version "1.19.10")
+ (revision 2708)
+ (changeset "f8686d85df53"))
(package
(name "nginx-documentation")
(version (simple-format #f "~A-~A-~A" version revision changeset))
(file-name (string-append name "-" version))
(sha256
(base32
- "06w6fg33pnkqpaagzp9rqizill61vj7db7083mrd6i6by0j7cp1b"))))
+ "00b0dkpblw3m2cwbbzv3miw47c0m3s0dvh1xy0hihkggy7mqv2r2"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
(define-public libwebsockets
(package
(name "libwebsockets")
- (version "1.3")
+ (version "4.1.6")
(source (origin
;; The project does not publish tarballs, so we have to take
;; things from Git.
(method git-fetch)
(uri (git-reference
(url "https://github.com/warmcat/libwebsockets")
- (commit (string-append "v" version
- "-chrome37-firefox30"))))
+ (commit (string-append "v" version))))
(sha256
(base32
- "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
+ "0x56v4hsx92vm1zibfmnqb5g3v23kzciffn3fjlsc3sly2pknhsg"))
(file-name (string-append name "-" version))))
(build-system cmake-build-system)
(define-public esbuild
(package
(name "esbuild")
- (version "0.8.51")
+ (version "0.11.12")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1j4qza2chng3az1h1fh9zbhxh99q7bfrqbgppyyq5947svi8fvaz"))
+ (base32 "1mxj4mrq1zbvv25alnc3s36bhnnhghivgwp45a7m3cp1389ffcd1"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public perl-net-http
(package
(name "perl-net-http")
- (version "6.20")
+ (version "6.21")
(source (origin
(method url-fetch)
(uri (string-append
"Net-HTTP-" version ".tar.gz"))
(sha256
(base32
- "07lzfycza7qqxli18xgsnqwiwxapl0b64z33wfw62aai4hm7nllj"))))
+ "1i7fk6q1iaxzgf82mjd5hg77hvy7dbb79488cijg16dyfrds6nip"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-io-socket-ssl" ,perl-io-socket-ssl)
(define-public python-feedparser
(package
(name "python-feedparser")
- (version "5.2.1")
+ (version "6.0.2")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "feedparser" version ".tar.bz2"))
+ (uri (pypi-uri "feedparser" version ".tar.gz"))
(sha256
(base32
- "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))
+ "0x0hm9brh3j71645pydvlkrwxaaca9dnwd7xahwjyjaz882s200v"))))
(build-system python-build-system)
(arguments
'(#:tests? #f))
license:freebsd-doc)))) ; documentation
(define-public python2-feedparser
- (package-with-python2 python-feedparser))
+ (package
+ (name "python2-feedparser")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "feedparser" version ".tar.bz2"))
+ (sha256
+ (base32
+ "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f
+ #:python ,python-2))
+ (home-page
+ "https://github.com/kurtmckee/feedparser")
+ (synopsis "Parse feeds in Python")
+ (description
+ "Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,
+CDF, Atom 0.3, and Atom 1.0 feeds.")
+ (license (list license:bsd-2 ; source code
+ license:freebsd-doc)))) ; documentation
(define-public guix-data-service
- (let ((commit "b7ba8d0c2ca3aca9ba5b5f9f27b9778ee949d20e")
- (revision "25"))
+ (let ((commit "df2a0a73f1f35ea53ba6c07a6ad4c5347ba12b8f")
+ (revision "27"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
(file-name (git-file-name name version))
(sha256
(base32
- "0brv64bsqysl7dncz067blwvmqrlx99c2kwrgpz6k0nqv8nzsa28"))))
+ "1ss1prr98zdjkm97w24rd04lfnnvcw6xs0gwxqgd40briqisaa5g"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
#t)))
(delete 'strip)))) ; As the .go files aren't compatible
(inputs
- `(("guix" ,guile3.0-guix)
- ("guile-fibers" ,guile3.0-fibers)
- ("guile-json" ,guile3.0-json)
- ("guile-email" ,guile3.0-email)
+ `(("guix" ,guix)
+ ("guile-fibers" ,guile-fibers)
+ ("guile-json" ,guile-json-4)
+ ("guile-email" ,guile-email)
("guile-prometheus" ,guile-prometheus)
- ("guile-squee" ,guile3.0-squee)
+ ("guile-squee" ,guile-squee)
("ephemeralpg" ,ephemeralpg)
("util-linux" ,util-linux)
- ("postgresql" ,postgresql-11)
+ ("postgresql" ,postgresql-13)
("sqitch" ,sqitch)))
(native-inputs
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
(define-public stunnel
(package
(name "stunnel")
- (version "5.58")
+ (version "5.59")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.stunnel.org/downloads/stunnel-"
version ".tar.gz"))
(sha256
- (base32 "0y9vjzjqi340vy6h321r1cskb7l6a4prr9d2ysixqzjpjv04rhfl"))))
+ (base32 "17yf2n47j5hw2y9527mrkx3j7q9jk5vvg46m3hgp1wg8dggpcxqk"))))
(build-system gnu-build-system)
(native-inputs
;; For tests.
(package
(name "varnish-modules")
(home-page "https://github.com/varnish/varnish-modules")
- (version "0.17.0")
+ (version "0.17.1")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0zg8y2sgkygdani70zp9rbx278431fmssj26d47c5qsiw939i519"))))
+ "1mzkad9r4rpm1fi7j7skwrsyzzbwcapfnlvvl1ls3rng2djcqb5j"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
JSON-encoded.")
(license license:isc)))
-(define-public python2-httpbin
- (package-with-python2 python-httpbin))
-
(define-public python-pytest-httpbin
(package
(name "python-pytest-httpbin")
(define-public python-httpretty
(package
(name "python-httpretty")
- (version "0.9.6")
+ (version "1.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "httpretty" version))
(sha256
- (base32 "1p1rb4mpngh0632xrmdfhvc8yink519yfkqz97d2ww3y0x2jvd81"))))
+ (base32 "1dg0nfl7i9kjnq98ww98x2afzav4mpgiwzvjc43ily1x9my94g75"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-six" ,python-six)))
+ (arguments
+ `(#:tests? #f ; Tests require network access.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "nosetests"))
+ #t)))))
(native-inputs
`(("python-coverage" ,python-coverage)
- ("python-httplib2" ,python-httplib2)
- ("python-mock" ,python-mock)
+ ("python-eventlet" ,python-eventlet)
("python-nose" ,python-nose)
- ("python-nose-randomly" ,python-nose-randomly)
("python-rednose" ,python-rednose)
("python-requests" ,python-requests)
("python-sure" ,python-sure)
- ("python-tornado" ,python-tornado)
- ("python-urllib3" ,python-urllib3)))
+ ("python-tornado" ,python-tornado)))
(home-page "https://httpretty.readthedocs.io")
(synopsis "HTTP client mock for Python")
(description "@code{httpretty} is a helper for faking web requests,
(define-public java-tomcat
(package
(name "java-tomcat")
- (version "8.5.53")
+ (version "8.5.63")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/tomcat/tomcat-8/v"
version "/src/apache-tomcat-" version "-src.tar.gz"))
(sha256
(base32
- "15lwq3clf21hzk7mma70sffpxjqn8ww5mjq6zhmwcp4m17m22z26"))
+ "1wr6mpgbk2gs18vp8mdggiq6vifj68a875dd1fkdf7cs31q54rns"))
(modules '((guix build utils)))
;; Delete bundled jars.
(snippet
(define-public java-eclipse-jetty-util
(package
(name "java-eclipse-jetty-util")
- (version "9.4.6")
+ (version "9.4.39")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/eclipse/jetty.project/"
- "archive/jetty-" version ".v20170531.tar.gz"))
+ "archive/jetty-" version ".v20210325.tar.gz"))
(sha256
(base32
- "0x7kbdvkmgr6kbsmbwiiyv3bb0d6wk25frgvld9cf8540136z9p1"))))
+ "0b4hy4zmdmfbqk9bzmxk7v75y2ysqiappkip4z3hb9lxjvjh0b19"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "eclipse-jetty-util.jar"
#:source-dir "src/main/java"
+ #:tests? #f; require junit 5
#:test-exclude
(list "**/Abstract*.java"
;; requires network
(inputs
`(("slf4j" ,java-slf4j-api)
("servlet" ,java-javaee-servletapi)))
- (native-inputs
- `(("junit" ,java-junit)
- ("hamcrest" ,java-hamcrest-all)
- ("perf-helper" ,java-eclipse-jetty-perf-helper)
- ("test-helper" ,java-eclipse-jetty-test-helper)))
(home-page "https://www.eclipse.org/jetty/")
(synopsis "Utility classes for Jetty")
(description "The Jetty Web Server provides an HTTP server and Servlet
`(#:jar-name "eclipse-jetty-io.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:test-exclude (list "**/Abstract*.java"
;; Abstract class
"**/EndPointTest.java")
`(#:jar-name "eclipse-jetty-http.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
("io" ,java-eclipse-jetty-io)
("jmx" ,java-eclipse-jetty-jmx)
("util" ,java-eclipse-jetty-util)))
- (native-inputs
- `(("test-classes" ,java-eclipse-jetty-http-test-classes)
- ,@(package-native-inputs java-eclipse-jetty-util)))
(synopsis "Core jetty server artifact")
(description "The Jetty Web Server provides an HTTP server and Servlet
container capable of serving static and dynamic content either from a standalone
`(#:jar-name "eclipse-jetty-security.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:test-exclude (list "**/ConstraintTest.*") ; This test fails
#:phases
(modify-phases %standard-phases
("http" ,java-eclipse-jetty-http)
("server" ,java-eclipse-jetty-server)
("util" ,java-eclipse-jetty-util)))
- (native-inputs
- `(("io" ,java-eclipse-jetty-io)
- ,@(package-native-inputs java-eclipse-jetty-util)))
(synopsis "Jetty security infrastructure")
(description "The Jetty Web Server provides an HTTP server and Servlet
container capable of serving static and dynamic content either from a standalone
`(("io" ,java-eclipse-jetty-io-9.2)
,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
+(define-public java-eclipse-jetty-util-ajax
+ (package
+ (inherit java-eclipse-jetty-util)
+ (name "java-eclipse-jetty-util-ajax")
+ (arguments
+ `(#:jar-name "eclipse-jetty-util-ajax.jar"
+ #:source-dir "jetty-util-ajax/src/main/java"
+ #:tests? #f)); require junit 5
+ (inputs
+ `(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)
+ ("java-javaee-servletapi" ,java-javaee-servletapi)))))
+
(define-public java-eclipse-jetty-servlet
(package
(inherit java-eclipse-jetty-util)
`(#:jar-name "eclipse-jetty-servlet.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
(inputs
`(("slf4j" ,java-slf4j-api)
("java-javaee-servletapi" ,java-javaee-servletapi)
+ ("java-eclipse-jetty-util-ajax" ,java-eclipse-jetty-util-ajax)
("http" ,java-eclipse-jetty-http)
- ("http-test" ,java-eclipse-jetty-http-test-classes)
("io" ,java-eclipse-jetty-io)
("jmx" ,java-eclipse-jetty-jmx)
("security" ,java-eclipse-jetty-security)
`(#:jar-name "eclipse-jetty-webapp.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
;; One test fails
#:test-exclude (list "**/WebAppContextTest.java")
#:phases
(inputs
`(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)
("java-eclipse-jetty-http" ,java-eclipse-jetty-http)
+ ("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
("java-eclipse-jetty-server" ,java-eclipse-jetty-server)
("java-eclipse-jetty-servlet" ,java-eclipse-jetty-servlet)
("java-eclipse-jetty-security" ,java-eclipse-jetty-security)
("java-eclipse-jetty-xml" ,java-eclipse-jetty-xml)
- ("java-javaee-servletapi" ,java-javaee-servletapi)))
- (native-inputs
- `(("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
- ,@(package-native-inputs java-eclipse-jetty-util)))))
+ ("java-javaee-servletapi" ,java-javaee-servletapi)))))
(define-public java-eclipse-jetty-webapp-9.2
(package