diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 197 |
1 files changed, 100 insertions, 97 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 59bacf61be..fc3b4acaf8 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> -;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016, 2023 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2016–2024 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016–2025 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -46,7 +46,7 @@ ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> -;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> @@ -385,16 +385,16 @@ one.") (define-public miniflux (package (name "miniflux") - (version "2.2.9") + (version "2.2.12") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/miniflux/v2") - (commit version))) + (url "https://github.com/miniflux/v2") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1mfynlwbmzfgh24pv3bz7i0mprxbajx417v8hxjaalyvhxm917x6")))) + (base32 "0nz12an801r9d2da8p6fic9qy4524y7cprfpimw13ac5c4iqvr0d")))) (build-system go-build-system) (arguments (list @@ -417,8 +417,7 @@ one.") (rename-file (string-append bindir "v2") (string-append bindir "miniflux")))))))) (inputs - (list go-github-com-abadojack-whatlanggo - go-github-com-andybalholm-brotli + (list go-github-com-andybalholm-brotli go-github-com-coreos-go-oidc-v3 go-github-com-go-webauthn-webauthn go-github-com-gorilla-mux @@ -426,13 +425,11 @@ one.") go-github-com-prometheus-client-golang go-github-com-puerkitobio-goquery go-github-com-tdewolff-minify-v2 - go-github-com-yuin-goldmark go-golang-org-x-crypto go-golang-org-x-image go-golang-org-x-net go-golang-org-x-oauth2 - go-golang-org-x-term - go-golang-org-x-text)) + go-golang-org-x-term)) (home-page "https://miniflux.app/") (synopsis "Minimalist and opinionated feed reader") (description @@ -1117,7 +1114,7 @@ similar to live activity monitoring provided with NGINX plus.") (define-public lighttpd (package (name "lighttpd") - (version "1.4.81") + (version "1.4.82") (source (origin (method url-fetch) (uri (string-append "https://download.lighttpd.net/lighttpd/" @@ -1125,7 +1122,7 @@ similar to live activity monitoring provided with NGINX plus.") "lighttpd-" version ".tar.xz")) (sha256 (base32 - "0h2q5a251kw1ky83x8yvgn9wbjm39n7x39ssj4ybd57xs8zjrm6p")))) + "0qn98rib9wxhndzd8kpg0vlygnwly5j7x82f2nmndgcw3wwp9zmb")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -1495,6 +1492,68 @@ project) @end itemize") (license license:bsd-2))) +(define-public webhook + (package + (name "webhook") + (version "2.8.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/adnanh/webhook") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15cihbf49kbhgwavjsvl4qfcf3lyqa39vyqdxglmnkn603c3nk6w")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Remove bundled dependencies. + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list #:go go-1.23 + #:import-path "github.com/adnanh/webhook" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/github.com/adnanh/webhook/webhook_test.go" + (("/bin/echo") + (search-input-file inputs "bin/echo")) + (("/bin/sh") + (search-input-file inputs "bin/sh")))))))) + (native-inputs + (list go-github-com-clbanning-mxj-v2 + go-github-com-coreos-go-systemd-v22 + go-github-com-dustin-go-humanize + go-github-com-fsnotify-fsnotify + go-github-com-ghodss-yaml + go-github-com-go-chi-chi-v5 + go-github-com-gofrs-uuid-v5 + go-github-com-gorilla-mux + go-golang-org-x-sys)) + (home-page "https://github.com/adnanh/webhook") + (synopsis "Lightweight incoming webhook server") + (description "webhook is a lightweight configurable tool to create HTTP +endpoints (hooks) which can execute configured commands. Data from the HTTP +request (such as headers, payload or query variables) can be passed on to the +configured commands. Hooks may also be configured to trigger only when +certain rules are satisfied. + +webhook aims to be minimal and do nothing more than it should do. And, that +is: + +@itemize +@item receive the request +@item parse the headers, payload and query variables +@item check if the specified rules for the hook are satisfied +@item and finally, pass the specified arguments to the specified command via +command line arguments or via environment variables. +@end itemize") + (license (list license:expat ;; main license + license:asl2.0)))) ;; internal/pidfile + (define-public qjson (package (name "qjson") @@ -5522,11 +5581,9 @@ Cloud.") (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (guile (assoc-ref inputs "guile")) (guile-effective-version (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") + (open-pipe* OPEN_READ (which "guile") "-c" "(display (effective-version))"))) (scm (string-append out "/share/guile/site/" guile-effective-version)) @@ -5542,13 +5599,11 @@ Cloud.") `("PATH" ":" prefix ,(cons* bin - (map (lambda (input) - (string-append - (assoc-ref inputs input) - "/bin")) - '("ephemeralpg" - "util-linux" - "postgresql")))) + (map (lambda (file) + (search-input-file inputs file)) + '("/bin/pg_tmp" ;ephemeralpg + "/bin/ionice" ;util-linux + "/bin/psql")))) ;postgresql `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix @@ -5575,7 +5630,9 @@ Cloud.") guile-squee guile-lzlib)) (native-inputs - (list (lookup-package-native-input guix "guile") + ;; Use the highest Guile version found among dependencies to ensure .go + ;; files can be loaded. + (list (lookup-package-native-input guile-fibers-next "guile") autoconf automake emacs-minimal @@ -5736,75 +5793,6 @@ you'd expect.") (properties `((lint-hidden-cve . ("CVE-2023-50246" "CVE-2023-50268")))))) -(define-public go-github-com-mikefarah-yq-v4 - (package - (name "go-github-com-mikefarah-yq-v4") - (version "4.45.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mikefarah/yq") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1adrbxqsmpsvz2jfjkvarvnvblj5zdznr3sxpakv85vvs3njdjx9")))) - (build-system go-build-system) - (arguments - (list - #:skip-build? #t - #:import-path "github.com/mikefarah/yq/v4" - #:phases - #~(modify-phases %standard-phases - ;; Tests need this. - (add-after 'unpack 'fix-access-to-doc - (lambda* (#:key import-path #:allow-other-keys) - (with-directory-excursion (string-append "src/" import-path) - (for-each make-file-writable - (find-files "./pkg/yqlib/doc" "\\.md")))))))) - (propagated-inputs - (list go-github-com-a8m-envsubst - go-github-com-alecthomas-participle-v2 - go-github-com-alecthomas-repr - go-github-com-dimchansky-utfbom - go-github-com-elliotchance-orderedmap - go-github-com-fatih-color - go-github-com-goccy-go-json - go-github-com-goccy-go-yaml - go-github-com-jinzhu-copier - go-github-com-magiconair-properties - go-github-com-pelletier-go-toml-v2 - go-github-com-pkg-diff - go-github-com-spf13-cobra - go-github-com-spf13-pflag - go-github-com-yuin-gopher-lua - go-golang-org-x-net - go-golang-org-x-text - go-gopkg-in-op-go-logging-v1 - go-gopkg-in-yaml-v3)) - (home-page "https://mikefarah.gitbook.io/yq/") - (synopsis - "Command-line YAML, JSON, XML, CSV, TOML and properties processor") - (description - "This package provides @code{yq}, a command-line YAML, JSON and XML -processor. It uses @code{jq}-like syntax but works with YAML files as well as -JSON, XML, properties, CSV and TSV.") - (license license:expat))) - -(define-public yq - (package - (inherit go-github-com-mikefarah-yq-v4) - (name "yq") - (arguments - (substitute-keyword-arguments - (package-arguments go-github-com-mikefarah-yq-v4) - ((#:install-source? _ #t) #f) - ((#:skip-build? _ #t) #f) - ((#:tests? _ #t) #f) - ((#:import-path _) "github.com/mikefarah/yq"))) - (propagated-inputs '()) - (inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4)))) - (define-public go-github-com-itchyny-gojq (package (name "go-github-com-itchyny-gojq") @@ -8923,7 +8911,7 @@ It does not support server push.") (define-public hpcguix-web (package (name "hpcguix-web") - (version "0.4.2") + (version "0.4.3") (source (origin (method git-fetch) (uri (git-reference @@ -8932,7 +8920,7 @@ It does not support server push.") (file-name (git-file-name name version)) (sha256 (base32 - "09xfyyz3004qcfjjlg903gnsb9wsrrdk7gw7xawsvw58l6vrialb")))) + "1mcy4p5pw623gmwcx5jpry27njqyq1fp74wpq1c34s06gkhdarji")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -9694,6 +9682,21 @@ for ZIM files.") It contains the code shared by all Kiwix ports.") (license license:gpl3))) +(define-public kiwix-lib-13 + (package + (inherit kiwix-lib) + (name "kiwix-lib") + (version "13.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kiwix/kiwix-lib/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mgzmqar70rj83x27a4zh7qr6yl5pi95g6i3fvvxysdjy76v18qc")))))) + (define-public kiwix-desktop (package (name "kiwix-desktop") @@ -9764,7 +9767,7 @@ offline (such as Wikipedia), without any access to Internet.") (inputs (list curl icu4c - kiwix-lib + kiwix-lib-13 libmicrohttpd libzim pugixml |