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.scm116
1 files changed, 70 insertions, 46 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 49afdbd54a..24991879ff 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1030,19 +1030,29 @@ libraries for working with JNLP applets.")
(define-public jansson
(package
(name "jansson")
- (version "2.13.1")
+ (version "2.14")
(source (origin
(method url-fetch)
- (uri
- (string-append "http://www.digip.org/jansson/releases/jansson-"
- version ".tar.bz2"))
+ (uri (string-append "https://github.com/akheron/jansson"
+ "/releases/download/v" version
+ "/jansson-" version ".tar.bz2"))
(sha256
(base32
- "1g8h18vh8gyxlwfmvdivdp1siad26ywj5zr4j4avgdyjg7wa147f"))))
+ "1fdgji964mrrz19glx0zh91asji542fvybymvzk6rrbagkr5dagv"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--disable-static")))
- (home-page "http://www.digip.org/jansson/")
+ (list
+ #:configure-flags #~'("--disable-static")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ ;; Take a fix from upstream for testing with symbol versioning:
+ ;; https://github.com/akheron/jansson/pull/593
+ (substitute* "test/suites/api/check-exports"
+ (("(grep ' \\[DT\\] ' \\$test_log/symbols.*) \\| sort" _ cmd)
+ (string-append cmd "| sed 's/@@libjansson.*//' | sort"))))))))
+ (home-page "https://github.com/akheron/jansson")
(synopsis "JSON C library")
(description
"Jansson is a C library for encoding, decoding and manipulating JSON
@@ -7481,7 +7491,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
- (version "1.44.0")
+ (version "1.48.0")
(source
(origin
(method url-fetch)
@@ -7490,7 +7500,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
"nghttp2-" version ".tar.xz"))
(sha256
(base32
- "0p9wvva4g8hwj55x19rbyvnq2dbsnf65rphhxnpqs7ll54xlg6an"))))
+ "1r0ns1r6g03wji273nk3bhrkmj1s3g5640yicqan5g7iwh7g7n27"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
@@ -7500,44 +7510,42 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
cunit python tzdata-for-tests))
(inputs
;; Required to build the tools (i.e. without ‘--enable-lib-only’).
- `(("c-ares" ,c-ares)
- ("jansson" ,jansson) ; for HPACK tools
- ,@(if (hurd-target?) '()
- `(("jemalloc" ,jemalloc))) ; fight nghttpd{,x} heap fragmentation
- ("libev" ,libev)
- ("libxml2" ,libxml2) ; for ‘nghttp -a’
- ("openssl" ,openssl)
- ,@(if (hurd-target?)
- `(("openssl-static" ,openssl "static"))
- '())))
+ (append
+ (if (hurd-target?)
+ `(,openssl "static")
+ (list jemalloc)) ; fight nghttpd{,x} heap fragmentation
+ (list c-ares
+ jansson ; for HPACK tools
+ libev
+ libxml2 ; for ‘nghttp -a’
+ openssl)))
(arguments
- `(#:configure-flags
- (list (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib")
- "--enable-app" ; build all the tools
- "--enable-hpack-tools" ; ...all the tools
- "--disable-examples"
- "--disable-static" ; don't bother building .a files
- ,@(if (%current-target-system)
- '("--disable-python-bindings")
- '()))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'break-circular-reference
- ;; libnghttp2.pc by default retains a reference to the ‘out’ output,
- ;; which is not allowed. Break this cycle. While we could install
- ;; only the library to ‘out’ and move everything else to a separate
- ;; output, this would inconvenience the majority of (human) users.
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "lib/libnghttp2.pc.in"
- (("@prefix@")
- (assoc-ref outputs "lib")))
- #t))
- (add-before 'check 'set-timezone-directory
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (setenv "TZDIR" (string-append
- (assoc-ref (or native-inputs inputs) "tzdata")
- "/share/zoneinfo"))
- #t)))))
+ (list
+ #:configure-flags
+ #~(list (string-append "--libdir=" #$output:lib "/lib")
+ "--enable-app" ; build all the tools
+ "--enable-hpack-tools" ; ...all the tools
+ "--disable-examples"
+ "--disable-static" ; don't bother building .a files
+ #$@(if (%current-target-system)
+ '("--disable-python-bindings")
+ '()))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'break-circular-reference
+ ;; libnghttp2.pc by default retains a reference to the ‘out’ output,
+ ;; which is not allowed. Break this cycle. While we could install
+ ;; only the library to ‘out’ and move everything else to a separate
+ ;; output, this would inconvenience the majority of (human) users.
+ (lambda _
+ (substitute* "lib/libnghttp2.pc.in"
+ (("@prefix@")
+ #$output:lib))))
+ (add-before 'check 'set-timezone-directory
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (setenv "TZDIR" (search-input-directory
+ (or native-inputs inputs)
+ "share/zoneinfo")))))))
(home-page "https://nghttp2.org/")
(synopsis "HTTP/2 protocol client, proxy, server, and library")
(description
@@ -7565,6 +7573,22 @@ compressed JSON header blocks.
@end itemize\n")
(license license:expat)))
+;; Older variant for Node versions < 17 (upstream commit 43291b98edaa682
+;; add support for newer nghttp2, but is difficult to backport).
+(define-public nghttp2-for-node
+ (hidden-package
+ (package
+ (inherit nghttp2)
+ (version "1.44.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nghttp2/nghttp2/"
+ "releases/download/v" version "/"
+ "nghttp2-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0p9wvva4g8hwj55x19rbyvnq2dbsnf65rphhxnpqs7ll54xlg6an")))))))
+
(define-public hpcguix-web
(package
(name "hpcguix-web")