diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 177 |
1 files changed, 122 insertions, 55 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 34739bf088..d7314f2932 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -40,7 +40,7 @@ ;;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2021, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de> @@ -67,6 +67,7 @@ ;;; Copyright © 2023 Evgeny Pisemsky <mail@pisemsky.site> ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,6 +194,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -345,7 +347,7 @@ and its related documentation.") (define-public miniflux (package (name "miniflux") - (version "2.2.1") + (version "2.2.3") (source (origin (method git-fetch) @@ -354,7 +356,7 @@ and its related documentation.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "08z8z1a1mfvk1q7jbi6kpgq5463hmi92s51anb1ppyr54h02b2vg")))) + (base32 "0bllgjv7cdqrk3dm98dmp7mx0wmcbh410jcdcvid7z5qkr0fiy07")))) (build-system go-build-system) (arguments (list @@ -399,7 +401,7 @@ and its related documentation.") go-golang-org-x-oauth2 go-golang-org-x-term go-golang-org-x-text - go-mvdan-cc-xurls)) + go-mvdan-cc-xurls-v2)) (home-page "https://miniflux.app/") (synopsis "Minimalist and opinionated feed reader") (description @@ -1694,7 +1696,7 @@ for efficient socket-like bidirectional reliable communication channels.") (define-public wabt (package (name "wabt") - (version "1.0.34") + (version "1.0.36") (source (origin (method git-fetch) @@ -1704,7 +1706,7 @@ for efficient socket-like bidirectional reliable communication channels.") (recursive? #true))) (file-name (git-file-name name version)) (sha256 - (base32 "1vxvc34b7a7lkrmzdb5cjv0b54vhiyr33sy0i2ps5jrmg5rqqmia")) + (base32 "1gypy9bn2nvmfa469fi6kwsyw11j0vqkxm7givs3gidjpsy1bk0a")) (modules '((guix build utils))) (snippet '(delete-file-recursively "third_party/gtest/")))) @@ -2081,7 +2083,7 @@ of people.") (base32 "0ysqylpyv17s52634wn3vrwf7y9b5ig7fdfv8vwj1272lvv68qgk")))) (build-system pyproject-build-system) - (native-inputs (list python-nose2)) + (native-inputs (list python-nose2 python-setuptools python-wheel)) (inputs (list python-jwcrypto python-numpy @@ -2201,7 +2203,7 @@ changes, and much more.") (arguments (list #:tests? #f)) ; requires internet access (home-page "https://github.com/paullouisageneau/libjuice") (synopsis "UDP Interactive Connectivity Establishment library") - (description "@code{libjuice} allows to open bidirectionnal User Datagram + (description "@code{libjuice} opens bidirectionnal User Datagram Protocol (UDP) streams with Network Address Translator (NAT) traversal. It's a simplified implementation of the Interactive Connectivity Establishment (ICE) protocol, client-side and server-side, written in C without dependencies for @@ -5206,11 +5208,15 @@ their web site.") (string-append indent "os.utime(os.path.join(root, file), (315619200, 315619200))\n" line)))))))) + (native-inputs + (list python-setuptools + python-wheel)) (inputs (list python)) (propagated-inputs (list python-boto3 python-botocore python-docutils + python-pip python-six python-virtualenv)) (home-page "https://github.com/4dn-dcic/python-lambda") @@ -5256,13 +5262,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (define-public python-tibanna (package (name "python-tibanna") - (version "4.0.0") + (version "5.4.3") (source (origin (method url-fetch) (uri (pypi-uri "tibanna" version)) (sha256 (base32 - "185jr5b1dfgh82xcjal0y9wbzds37s0yhx0hp8awlvw26v72awv2")))) + "11pbyw881qaj08syc9mwr301rm3jhy6vyci98pxin2dwvyzkgwhd")))) (build-system pyproject-build-system) (arguments ;; Tests require AWS credentials and access to the internet. @@ -5284,8 +5290,8 @@ Cloud.") (license license:expat))) (define-public guix-data-service - (let ((commit "a204bda36d0433b5835375cbdc9e640a2a196674") - (revision "54")) + (let ((commit "62d6b5901331ad5f78ac65a8a9cb5410b60942cb") + (revision "56")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -5297,7 +5303,7 @@ Cloud.") (file-name (git-file-name name version)) (sha256 (base32 - "0f86sxxm0gnbkkb3x0kzrf9ld561y3mch4nkjylbmqdihh0609f0")))) + "0nfh13sgp9f66bpm476866lpwgfzhxg0k04rxbxnxq2qqij3s9g4")))) (build-system gnu-build-system) (arguments (list @@ -5364,10 +5370,12 @@ Cloud.") (propagated-inputs (list guix guile-fibers + guile-knots guile-json-4 guile-email guile-prometheus - guile-squee)) + guile-squee + guile-lzlib)) (native-inputs (list (car (assoc-ref (package-native-inputs guix) "guile")) autoconf @@ -5605,8 +5613,7 @@ JSON, XML, properties, CSV and TSV.") (build-system go-build-system) (arguments (list - #:import-path "github.com/itchyny/gojq/cmd/gojq" - #:unpack-path "github.com/itchyny/gojq")) + #:import-path "github.com/itchyny/gojq")) (inputs (list go-github-com-google-go-cmp go-github-com-itchyny-timefmt-go @@ -5627,7 +5634,48 @@ processor.") (arguments (ensure-keyword-arguments (package-arguments go-github-com-itchyny-gojq) - (list #:install-source? #f))))) + (list #:import-path "github.com/itchyny/gojq/cmd/gojq" + #:unpack-path "github.com/itchyny/gojq" + #:install-source? #f))))) + +(define-public go-jqp + (package + (name "go-jqp") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/noahgorstein/jqp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11xqh4113gkzp32hd4dg4cvjp40q3hxfh3889wd4bw2snl0alvcb")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.22 + #:embed-files #~(list ".*.xml") + #:install-source? #f + #:import-path "github.com/noahgorstein/jqp")) + (inputs + (list go-github-com-spf13-viper + go-github-com-spf13-cobra + go-github-com-muesli-termenv + go-github-com-itchyny-gojq + go-github-com-itchyny-timefmt-go + go-github-com-charmbracelet-lipgloss + go-github-com-charmbracelet-bubbletea + go-github-com-charmbracelet-bubbles + go-github-com-atotto-clipboard + go-github-com-alecthomas-chroma-v2)) + (home-page "https://github.com/noahgorstein/jqp") + (synopsis "TUI playground to experiment with jq") + (description + "This package provides an interactive TUI to explor the @code{jq} command +line utility. The command accepts an optional query argument which will be +executed against the input JSON or newline-delimited JSON (NDJSON).") + (license license:expat))) (define-public pup (let ((revision "1") @@ -5879,6 +5927,8 @@ NetSurf project.") (setenv "XDG_DATA_DIRS" (string-append (assoc-ref inputs "shared-mime-info") "/share")) + ;; This test fails: "Cannot read from a file without refname". + (rename-file "t/po.t" "t/po.t-") ;; CC is needed by IkiWiki/Wrapper.pm. (setenv "CC" "gcc"))) (add-after 'install 'wrap-programs @@ -6417,7 +6467,7 @@ and similar services.") (define-public darkhttpd (package (name "darkhttpd") - (version "1.13") + (version "1.16") (source (origin (method git-fetch) @@ -6426,20 +6476,19 @@ and similar services.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0w11xq160q9yyffv4mw9ncp1n0dl50d9plmwxb0yijaaxls9i4sk")))) + (base32 "15mmq1v8p50mm9wx5w6g4rlr40b7d044lw7rs1wyzdiw9lcnihvm")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (list (string-append "CC=" ,(cc-for-target))) - #:tests? #f ; No test suite - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (install-file "darkhttpd" - (string-append (assoc-ref outputs "out") - "/bin"))))))) + (list + #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install + (lambda _ + (install-file "darkhttpd" (string-append #$output "/bin"))))))) + (native-inputs (list which python-minimal)) (synopsis "Simple static web server") (description "darkhttpd is a simple static web server. It is standalone and does not need inetd or ucspi-tcp. It does not need any @@ -6891,48 +6940,66 @@ exploit attempts.") (define-public python-httpbin (package (name "python-httpbin") - (version "0.5.0") + (version "0.10.2") (source (origin (method url-fetch) (uri (pypi-uri "httpbin" version)) (sha256 - (base32 - "1dc92lnk846hpilslrqnr63x55cxll4qx88gif8fm521gv9cbyvr")))) - (build-system python-build-system) + (base32 "1a8pcf6411pqkpl3c5z93wml0nw4xb6j9dnjl976ij31h9llh8b3")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-setuptools + python-wheel)) (propagated-inputs - (list python-decorator python-flask python-itsdangerous - python-markupsafe python-six)) - (home-page "https://github.com/Runscope/httpbin") + (list python-brotlicffi + python-decorator + python-flasgger + python-flask + python-greenlet-2 + python-itsdangerous + python-markupsafe + python-six + python-werkzeug)) + ;; The archive in PyPI points to a fork of + ;; <https://github.com/postmanlabs/httpbin> which is unmaintained for 6y, + ;; where <https://github.com/Runscope/httpbin> rediects to. See + ;; <https://github.com/postmanlabs/httpbin/issues/719> + (home-page "https://github.com/psf/httpbin") (synopsis "HTTP request and response service") - (description "Testing an HTTP Library can become difficult sometimes. -@code{RequestBin} is fantastic for testing POST requests, but doesn't let you control the -response. This exists to cover all kinds of HTTP scenarios. All endpoint responses are -JSON-encoded.") + (description + "Testing an HTTP Library can become difficult sometimes. +@code{RequestBin} is fantastic for testing POST requests, but doesn't let you +control the response. This exists to cover all kinds of HTTP scenarios. All +endpoint responses are JSON-encoded.") (license license:isc))) (define-public python-pytest-httpbin (package (name "python-pytest-httpbin") - (version "0.2.3") + (version "2.1.0") (source (origin (method url-fetch) - (uri (pypi-uri "pytest-httpbin" version)) + (uri (pypi-uri "pytest_httpbin" version)) (sha256 - (base32 - "1y0v2v7xpzpyd4djwp7ad8ifnlxp8r1y6dfbxg5ckzvllkgridn5")))) - (build-system python-build-system) + (base32 "1iikdji2136mybjk7sczqa2qivlb6gchhkzyz4kq68j3hj1pj1fl")))) + (build-system pyproject-build-system) + (native-inputs + (list python-setuptools + python-wheel)) (propagated-inputs - (list python-six python-httpbin python-pytest)) - (home-page - "https://github.com/kevin1024/pytest-httpbin") - (synopsis - "Test your HTTP library against a local copy of httpbin") + (list python-httpbin + python-pytest + python-six)) + (home-page "https://github.com/kevin1024/pytest-httpbin") + (synopsis "Test your HTTP library against a local copy of httpbin") (description - "@code{Pytest-httpbin} creates a @code{pytest} fixture that is dependency-injected -into your tests. It automatically starts up a HTTP server in a separate thread running -@code{httpbin} and provides your test with the URL in the fixture.") + "@code{Pytest-httpbin} creates a @code{pytest} fixture that is +dependency-injected into your tests. It automatically starts up a HTTP server +in a separate thread running @code{httpbin} and provides your test with the +URL in the fixture.") (license license:expat))) (define-public http-parser @@ -8848,7 +8915,7 @@ bookmarks directly. It can also present them in a web interface with (string-append #$output path)))))))) (inputs (list buku rofi)) (home-page "https://github.com/carnager/buku_run") - (synopsis "rofi frontend for buku bookmarks manager") + (synopsis "@command{rofi} frontend for buku bookmarks manager") (description "This package provides a rofi frontend for the buku bookmark manager.") (license license:gpl3+))) |