diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-06-08 14:46:24 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-06-08 14:46:24 +0200 |
commit | 8c3e9da13a3c92a7db308db8c0d81cb474ad7799 (patch) | |
tree | 88d06952aa5cc3a9c4991d9c43eb7950ff174fe1 /gnu/packages/web.scm | |
parent | 5439c04ebdb7b6405f5ea2446b375f1d155a8d95 (diff) | |
parent | 0c5299200ffcd16370f047b7ccb187c60f30da34 (diff) |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 493 |
1 files changed, 267 insertions, 226 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 89533d8469..64d747a312 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> @@ -15,8 +15,8 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2017, 2018, 2019, 2021 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2022 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> ;;; Copyright © 2017, 2018, 2020, 2021, 2022 Marius Bakke <marius@gnu.org> @@ -56,6 +56,7 @@ ;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2022 cage <cage-dev@twistfold.it> +;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -112,6 +113,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) + #:use-module (gnu packages django) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) @@ -154,6 +156,7 @@ #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) @@ -162,6 +165,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -177,7 +182,9 @@ #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) + #:use-module (gnu packages video) #:use-module (gnu packages vim) + #:use-module (gnu packages wget) #:use-module (gnu packages xml) #:use-module ((srfi srfi-1) #:select (delete-duplicates))) @@ -373,89 +380,86 @@ the same, being completely separated from the Internet.") ;; Track the ‘mainline’ branch. Upstream considers it more reliable than ;; ’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/) - (version "1.21.5") + (version "1.21.6") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "1fygvl19cch100d15k74666jcbc7xpz7v5m7ygqac6556gskn3xj")))) + "1bh52jqqcaj5wlh2kvhxr00jhk2hnk8k97ki4pwyj4c8920p1p36")))) (build-system gnu-build-system) (inputs (list libxml2 libxslt openssl pcre zlib)) (arguments - `(#:tests? #f ; no test target - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-/bin/sh - (lambda _ - (substitute* "auto/feature" - (("/bin/sh") (which "sh"))) - #t)) - (replace 'configure - ;; The configure script is hand-written, not from GNU autotools. - (lambda* (#:key configure-flags inputs outputs #:allow-other-keys) - (let ((flags - (append (list (string-append "--prefix=" (assoc-ref outputs "out")) - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-http_xslt_module" - "--with-http_gzip_static_module" - "--with-http_gunzip_module" - "--with-http_addition_module" - "--with-http_sub_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. - ,(let ((system "Linux") ; uname -s - (release "3.2.0") ; uname -r - ;; uname -m - (machine (match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "x86_64") - ("i686-linux" "i686") - ("mips64el-linux" "mips64") - ;; Prevent errors when querying - ;; this package on unsupported - ;; platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED")))) - (string-append "--crossbuild=" - system ":" release ":" machine))) - configure-flags))) - (setenv "CC" ,(cc-for-target)) - ;; Fix ./configure test for ‘#include <libxml/parser.h>’. - (setenv "CFLAGS" ; CPPFLAGS is not respected - (string-append "-I" (assoc-ref inputs "libxml2") - "/include/libxml2")) - (format #t "configure flags: ~s~%" flags) - (apply invoke "./configure" flags) - #t))) - (add-after 'install 'install-man-page - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (man (string-append out "/share/man"))) - (install-file "objs/nginx.8" (string-append man "/man8")) - #t))) - (add-after 'install 'fix-root-dirs - (lambda* (#:key outputs #:allow-other-keys) - ;; 'make install' puts things in strange places, so we need to - ;; clean it up ourselves. - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share/nginx"))) - ;; This directory is empty, so get rid of it. - (rmdir (string-append out "/logs")) - ;; Example configuration and HTML files belong in - ;; /share. - (mkdir-p share) - (rename-file (string-append out "/conf") - (string-append share "/conf")) - (rename-file (string-append out "/html") - (string-append share "/html")) - #t)))))) + (list + #:tests? #f ; no test target + #:configure-flags + #~(list "--with-http_ssl_module" + "--with-http_v2_module" + "--with-http_xslt_module" + "--with-http_gzip_static_module" + "--with-http_gunzip_module" + "--with-http_addition_module" + "--with-http_sub_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. + #$(let ((system "Linux") ; uname -s + (release "3.2.0") ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ("mips64el-linux" "mips64") + ;; Prevent errors when querying + ;; this package on unsupported + ;; platforms, e.g. when running + ;; "guix package --search=" + (_ "UNSUPPORTED")))) + (string-append "--crossbuild=" + system ":" release ":" machine))) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'patch-/bin/sh + (lambda _ + (substitute* "auto/feature" + (("/bin/sh") (which "sh"))))) + (replace 'configure + ;; The configure script is hand-written, not from GNU autotools. + (lambda* (#:key configure-flags inputs #:allow-other-keys) + (setenv "CC" #$(cc-for-target)) + ;; Fix ./configure test for ‘#include <libxml/parser.h>’. + (setenv "CFLAGS" ; CPPFLAGS is not respected + (string-append "-O2 -g " + "-I" (search-input-directory + inputs "/include/libxml2"))) + (format #t "configure flags: ~s~%" configure-flags) + (apply invoke "./configure" + (string-append "--prefix=" #$output) + configure-flags))) + (add-after 'install 'install-man-page + (lambda _ + (let ((man (string-append #$output "/share/man"))) + (install-file "objs/nginx.8" (string-append man "/man8"))))) + (add-after 'install 'fix-root-dirs + (lambda _ + ;; 'make install' puts things in strange places, so we need to + ;; clean it up ourselves. + (let* ((out #$output) + (share (string-append out "/share/nginx"))) + ;; This directory is empty, so get rid of it. + (rmdir (string-append out "/logs")) + ;; Example configuration and HTML files belong in + ;; /share. + (mkdir-p share) + (rename-file (string-append out "/conf") + (string-append share "/conf")) + (rename-file (string-append out "/html") + (string-append share "/html")))))))) (home-page "https://nginx.org") (synopsis "HTTP and reverse proxy server") (description @@ -471,9 +475,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (define-public nginx-documentation ;; This documentation should be relevant for the current nginx package. - (let ((version "1.21.5") - (revision 2816) - (changeset "ae1d713a06e2")) + (let ((version "1.21.6") + (revision 2829) + (changeset "1ecf0e0526da")) (package (name "nginx-documentation") (version (simple-format #f "~A-~A-~A" version revision changeset)) @@ -485,7 +489,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (file-name (string-append name "-" version)) (sha256 (base32 - "03j85wj6qb32q5xhq9nvcjzarq98802gaq6n3f7k85aqj731bml0")))) + "1r3y9wv4bhji5b16ljb557llf6ih3z2mzgwbia79h7223468w3fg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite @@ -729,42 +733,42 @@ documentation.") ,@(package-inputs nginx))) (arguments (substitute-keyword-arguments - `(#:configure-flags '("--add-dynamic-module=.") - #:make-flags '("modules") + `(#:make-flags '("modules") #:modules ((guix build utils) (guix build gnu-build-system) (ice-9 popen) (ice-9 regex) (ice-9 textual-ports)) - ,@(package-arguments nginx)) + ,@(package-arguments nginx) + #:configure-flags '("--add-dynamic-module=.")) ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'unpack-nginx-sources - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (begin - ;; The nginx source code is part of the module’s source. - (format #t "decompressing nginx source code~%") - (let ((tar (assoc-ref inputs "tar")) - (nginx-srcs (assoc-ref inputs "nginx-sources"))) - (invoke (string-append tar "/bin/tar") - "xvf" nginx-srcs "--strip-components=1")) - #t))) - (add-before 'configure 'set-luajit-env - (lambda* (#:key inputs #:allow-other-keys) - (let ((luajit (assoc-ref inputs "luajit"))) - (setenv "LUAJIT_LIB" - (string-append luajit "/lib")) - (setenv "LUAJIT_INC" - (string-append luajit "/include/luajit-2.1")) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((modules-dir (string-append (assoc-ref outputs "out") - "/etc/nginx/modules"))) - (install-file "objs/ngx_http_lua_module.so" modules-dir) - #t))) - (delete 'fix-root-dirs) - (delete 'install-man-page))))) + #~(modify-phases #$phases + (add-after 'unpack 'unpack-nginx-sources + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (let ((tar (assoc-ref inputs "tar")) + (nginx-srcs (assoc-ref inputs "nginx-sources"))) + (invoke (string-append tar "/bin/tar") + "xvf" nginx-srcs "--strip-components=1")) + #t))) + (add-before 'configure 'set-luajit-env + (lambda* (#:key inputs #:allow-other-keys) + (let ((luajit (assoc-ref inputs "luajit"))) + (setenv "LUAJIT_LIB" + (string-append luajit "/lib")) + (setenv "LUAJIT_INC" + (string-append luajit "/include/luajit-2.1")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((modules-dir (string-append (assoc-ref outputs "out") + "/etc/nginx/modules"))) + (install-file "objs/ngx_http_lua_module.so" modules-dir) + #t))) + (delete 'fix-root-dirs) + (delete 'install-man-page))))) (synopsis "NGINX module for Lua programming language support") (description "This NGINX module provides a scripting support with Lua programming language."))) @@ -789,34 +793,31 @@ programming language."))) ,@(package-inputs nginx))) (arguments (substitute-keyword-arguments - `(#:configure-flags '("--add-dynamic-module=.") - #:make-flags '("modules") - #:modules ((guix build utils) - (guix build gnu-build-system)) + `(#:make-flags '("modules") ;Only build this module not all of nginx. ,@(package-arguments nginx)) + ((#:configure-flags flags) + #~(cons "--add-dynamic-module=." #$flags)) ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'unpack-nginx-sources - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (begin - ;; The nginx source code is part of the module’s source. - (format #t "decompressing nginx source code~%") - (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources") - ;; This package's LICENSE file would be - ;; overwritten with the one from nginx when - ;; unpacking the nginx source, so rename the nginx - ;; one when unpacking. - "--transform=s,/LICENSE$,/LICENSE.nginx," - "--strip-components=1") - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((modules-dir (string-append (assoc-ref outputs "out") - "/etc/nginx/modules"))) - (install-file "objs/ngx_rtmp_module.so" modules-dir) - #t))) - (delete 'fix-root-dirs) - (delete 'install-man-page))))) + #~(modify-phases #$phases + (add-after 'unpack 'unpack-nginx-sources + (lambda _ + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (invoke "tar" "xvf" #$(this-package-input "nginx-sources") + ;; This package's LICENSE file would be + ;; overwritten with the one from nginx when + ;; unpacking the nginx source, so rename the nginx + ;; one when unpacking. + "--transform=s,/LICENSE$,/LICENSE.nginx," + "--strip-components=1")))) + (replace 'install + (lambda _ + (let ((modules-dir (string-append #$output + "/etc/nginx/modules"))) + (install-file "objs/ngx_rtmp_module.so" modules-dir)))) + (delete 'fix-root-dirs) + (delete 'install-man-page))))) (home-page "https://github.com/arut/nginx-rtmp-module") (synopsis "NGINX module for audio and video streaming with RTMP") (description "This NGINX module provides streaming with the @acronym{RTMP, @@ -830,7 +831,7 @@ stream. Remote control of the module is possible over HTTP.") (define-public lighttpd (package (name "lighttpd") - (version "1.4.59") + (version "1.4.64") (source (origin (method url-fetch) (uri (string-append "https://download.lighttpd.net/lighttpd/" @@ -838,43 +839,51 @@ stream. Remote control of the module is possible over HTTP.") "lighttpd-" version ".tar.xz")) (sha256 (base32 - "1mc421yrbnq3k6yrc708svp0fgcamrn5a0p2nvnhivysffr3v5gv")))) + "09hf3cp4ivy9a9z9drgi4f6d60137dcqncqw0wpbyvs9lygrsj71")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list "--with-krb5" - "--with-ldap" - "--with-libev" - "--with-libunwind" - "--with-openssl" - "--with-pam" - "--with-sasl") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'embed-/bin/sh-reference - (lambda _ - (substitute* "src/mod_ssi.c" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'fix-tests - (lambda _ - (setenv "SHELL" (which "sh")) - ;; gethostbyaddr fails - (substitute* "tests/LightyTest.pm" - (("\\{HOSTNAME\\} = \\$name;") - "{HOSTNAME} = \"127.0.0.1\";")) - #t))))) + (list #:configure-flags + #~(list "--with-krb5" + "--with-ldap" + "--with-libev" + "--with-libunwind" + "--with-openssl" + "--with-pam" + "--with-sasl") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'embed-/bin/sh-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/mod_ssi.c" + (("/bin/sh") (search-input-file inputs "/bin/sh"))))) + (add-after 'unpack 'fix-tests + (lambda _ + (setenv "SHELL" (which "sh")) + ;; gethostbyaddr fails + (substitute* "tests/LightyTest.pm" + (("\\{HOSTNAME\\} = \\$name;") + "{HOSTNAME} = \"127.0.0.1\";")))) + (add-after 'unpack 'skip-failing-tests + ;; XXX It would be wonderful if you, reader, felt suddenly and + ;; irresistibly compelled to investigate & fix these failures. + (lambda _ + ;; Throws a bunch of ‘connect failed: Connection refused’. + (delete-file "tests/mod-scgi.t") + + ;; test_mod_ssi_read_fd: Assertion `cq->first' failed. + (substitute* "src/t/test_mod.c" + ((".*\\btest_mod_ssi\\b.*") ""))))))) (inputs - `(("cyrus-sasl" ,cyrus-sasl) - ("libev" ,libev) - ("libunwind" ,libunwind) - ("linux-pam" ,linux-pam) - ("mit-krb5" ,mit-krb5) - ("openldap" ,openldap) - ("openssl" ,openssl) - ("pcre" ,pcre) - ("pcre:bin" ,pcre "bin") - ("zlib" ,zlib))) + (list bash-minimal + cyrus-sasl + libev + libunwind + linux-pam + mit-krb5 + openldap + openssl + pcre2 + zlib)) (native-inputs (list perl ; for tests pkg-config which)) @@ -2258,17 +2267,17 @@ instance of a component on each request.") (define-public perl-catalyst-devel (package (name "perl-catalyst-devel") - (version "1.41") + (version "1.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Catalyst-Devel-" version ".tar.gz")) (sha256 - (base32 "1r8arq7sw37d0mjyfzkc3pg1a9plgydqbscryc8qpvba4swpljls")))) + (base32 "1gcaqivyxwsdq87v9za1ijjibh6llirzqsbpwjbw1f5mravg1iky")))) (build-system perl-build-system) (native-inputs - (list perl-test-fatal)) + (list perl-file-sharedir-install perl-test-fatal)) (propagated-inputs (list perl-catalyst-action-renderview perl-catalyst-plugin-configloader @@ -4643,33 +4652,9 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (license (list license:bsd-2 ; source code license:freebsd-doc)))) ; documentation -(define-public python2-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 "27c34a9ca5ea010f207a4acad597ce98e84d3567") - (revision "30")) + (let ((commit "198b6ef719745a48918e703990d1e846ffcd65b0") + (revision "31")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4681,7 +4666,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (file-name (git-file-name name version)) (sha256 (base32 - "1jjdvld3gp711dp8qd4rnhicbl7322jjzx4plizkg89k7j4x0xhx")))) + "00ma74v9nrza5xpgpgr757hfdlp1cd9rnrpks99mqpjkz73sj1m6")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -4889,10 +4874,14 @@ It uses the uwsgi protocol for all the networking/interprocess communications.") (inputs (list oniguruma)) (native-inputs - (list ;; TODO fix gems to generate documentation - ;;("ruby" ,ruby) - ;;("bundler" ,bundler) - valgrind)) + (append + ;; TODO: fix gems to generate documentation + ;(list ruby bundler) + '() + (if (member (%current-system) + (package-supported-systems valgrind)) + (list valgrind) + '()))) (build-system gnu-build-system) (home-page "https://stedolan.github.io/jq/") (synopsis "Command-line JSON processor") @@ -5537,6 +5526,12 @@ w3c webidl files and a binding configuration file.") #:phases (modify-phases %standard-phases (delete 'configure) + (add-after 'unpack 'remove-timestamps + ;; Avoid embedding timestamp for reproducible builds + (lambda _ + (substitute* "utils/git-testament.pl" + (("WT_COMPILEDATE ..$compiledate") + "WT_COMPILEDATE \\\"")))) (add-after 'build 'adjust-welcome (lambda _ (substitute* "frontends/gtk/res/welcome.html" @@ -6240,14 +6235,14 @@ inspired by Ruby's @code{fakeweb}.") (define-public jo (package (name "jo") - (version "1.4") + (version "1.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/jpmens/jo/releases/download/" version "/jo-" version ".tar.gz")) (sha256 - (base32 "18jna9xlpxci3cak3z85c448zv2zr41baclgym3hk433p0p4vii4")))) + (base32 "18fizi0368jgajrmy13xpdiks76jwch8lhx1d1sagmd63cpmj5gb")))) (build-system gnu-build-system) (home-page "https://github.com/jpmens/jo") (synopsis "Output JSON from a shell") @@ -6365,9 +6360,6 @@ internetarchive python module for programmatic access to archive.org.") snippets on @url{https://commandlinefu.com}.") (license license:expat)))) -(define-public python2-clf - (package-with-python2 python-clf)) - (define-public rss-bridge (package (name "rss-bridge") @@ -7710,14 +7702,27 @@ bookmarks directly. It can also present them in a web interface with (define-public anonip (package (name "anonip") - (version "1.0.0") + (version "1.1.0") + ;; The version on PyPi does not include fixture definitions for tests. (source (origin - (method url-fetch) - (uri (pypi-uri "anonip" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DigitaleGesellschaft/Anonip") + (commit "beab328945547b0147a53655f32c5cc76ab4488b"))) + (file-name (git-file-name name version)) (sha256 (base32 - "0ckn9nnfhpdnz8b92q8pkysdqj6pdh71ckfqvfj0z01cq0hzbhd2")))) + "0cssdcridadjzichz1vv1ng7jwphqkn8ihh83hpz9mcjmxyb94qc")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv" "tests.py" "anonip.py"))))))) + (native-inputs + (list python-pytest python-pytest-cov)) (home-page "https://github.com/DigitaleGesellschaft/Anonip") (synopsis "Anonymize IP addresses in log files") (description @@ -7842,7 +7847,7 @@ solution for any project's interface needs: (define-public gmid (package (name "gmid") - (version "1.8.1") + (version "1.8.3") (source (origin (method url-fetch) (uri (string-append @@ -7850,7 +7855,7 @@ solution for any project's interface needs: version "/gmid-" version ".tar.gz")) (sha256 (base32 - "0m4809mwy888bqsacmyck68grqfvynq74kswm109al6wjbvd61bn")))) + "1qbzlrzhyj7gvhgbm057zs1g5ajw1w6499qz61154v7ax8fwrdpp")))) (build-system gnu-build-system) (arguments (list #:test-target "regress" @@ -7865,8 +7870,7 @@ solution for any project's interface needs: coreutils flex pkg-config - procps - which)) + procps)) (inputs (list libevent libressl)) (home-page "https://git.omarpolo.com/gmid/about/") (synopsis "Simple and secure Gemini server") @@ -8178,13 +8182,13 @@ Unicode.") "1znvnr30xi5vgd6n3wvgv9pwj992zpzzjk0fmq28ydf1l6kqvkm7")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags - (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + (list #:tests? #f ; no tests + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) ; no configure script (home-page "https://tools.suckless.org/quark/") (synopsis "Small and simple HTTP GET/HEAD-only web server for static content") @@ -8197,3 +8201,40 @@ provided by a TLS reverse proxy (e.g. tlstunnel, hitch or stunnel).") ;; "cpe:2.3:a:comelz:quark" package. The proper fix is for (guix cve) ;; to account for "vendor names". (properties '((lint-hidden-cve . ("CVE-2019-15520"))))))) + +(define-public archivebox + (package + (name "archivebox") + (version "0.6.2") + (source (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 + "1mnq82ynq01l7vx957bbx4bvgwdh59qsnx6pdydaqszbakp74yyc")))) + (build-system python-build-system) + (propagated-inputs + (list curl + node)) + (inputs + (list python + youtube-dl + wget + git + python-w3lib + python-ipython + python-croniter + python-crontab + python-dateparser + python-django-extensions + python-django-3.1.14 + python-mypy-extensions)) + (native-inputs + (list python-wheel)) + (synopsis "Self-hosted Web archiving") + (description "ArchiveBox is a powerful, self-hosted Web archiving +solution to collect, save, and view sites you want to preserve offline. +You can feed it URLs one at a time, or schedule regular imports. It saves +snapshots of the URLs you feed it in several formats.") + (home-page "https://archivebox.io/") + (license license:expat))) |