diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 174 |
1 files changed, 125 insertions, 49 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 66b567c09d..ced6dc2eee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,39 +68,39 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) - #:use-module (guix git-download) #:use-module (guix cvs-download) #:use-module (guix hg-download) + #:use-module (guix git-download) #:use-module (guix utils) - #:use-module (guix build-system gnu) + #:use-module (guix build-system ant) + #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system perl) - #:use-module (guix build-system cmake) - #:use-module (guix build-system trivial) #:use-module (guix build-system python) - #:use-module (guix build-system ant) #:use-module (guix build-system scons) - #:use-module (guix build-system go) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages adns) #:use-module (gnu packages apr) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) - #:use-module (gnu packages documentation) - #:use-module (gnu packages docbook) - #:use-module (gnu packages emacs) - #:use-module (gnu packages emacs-xyz) - #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) - #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages kerberos) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -113,11 +114,12 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) - #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages kde) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) @@ -132,19 +134,18 @@ #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) - #:use-module (gnu packages base) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) - #:use-module (gnu packages readline) #:use-module (gnu packages re2c) + #:use-module (gnu packages readline) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -254,31 +255,32 @@ Interface} specification.") #t)) (replace 'configure ;; The configure script is hand-written, not from GNU autotools. - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key configure-flags outputs #:allow-other-keys) (let ((flags - (list (string-append "--prefix=" (assoc-ref outputs "out")) - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-pcre-jit" - "--with-debug" - ;; 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))))) + (append (list (string-append "--prefix=" (assoc-ref outputs "out")) + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-pcre-jit" + "--with-debug" + ;; 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" "gcc") (format #t "configure flags: ~s~%" flags) (apply invoke "./configure" flags) @@ -1345,6 +1347,50 @@ used to validate and fix HTML data.") (home-page "http://tidy.sourceforge.net/") (license (license:x11-style "file:///include/tidy.h")))) +(define-public esbuild + (package + (name "esbuild") + (version "0.7.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/evanw/esbuild") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y5hqymv2r8r29f8vh8kgncj3wlkg4fzi0zlc7mgyss872ajkc7i")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove prebuilt binaries + (delete-file-recursively "npm") + #t)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/evanw/esbuild/cmd/esbuild" + #:unpack-path "github.com/evanw/esbuild" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? unpack-path #:allow-other-keys) + (if tests? + (with-directory-excursion (string-append "src/" unpack-path) + (invoke "make" "test-go"))) + #t))))) + (inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (native-inputs + `(("go-github-com-kylelemons-godebug" ,go-github-com-kylelemons-godebug))) + (home-page "https://github.com/evanw/esbuild") + (synopsis "Bundler and minifier tool for JavaScript and TypeScript") + (description + "The esbuild tool provides a unified bundler, transpiler and +minifier. It packages up JavaScript and TypeScript code, along with JSON +and other data, for distribution on the web.") + (license license:expat))) + (define-public tinyproxy (package (name "tinyproxy") @@ -2632,15 +2678,14 @@ development server with Starman.") (define-public perl-cgi (package (name "perl-cgi") - (version "4.47") + (version "4.51") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/" "CGI-" version ".tar.gz")) (sha256 - (base32 - "1a9cylhqsm5icvbg09m21nj0xx4zy5gbk4p74npm1ch3qlryzyyr")))) + (base32 "02k0p8zwbn0fz9r39rg8jvbmky8fwdg6kznklzk557rg07kiblhb")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -2858,15 +2903,15 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.") (define-public perl-file-listing (package (name "perl-file-listing") - (version "6.04") + (version "6.11") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" + "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-" version ".tar.gz")) (sha256 (base32 - "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) + "0vmzw1mhv580flzkla80gvwfpficnhlbqr1dnlf9x50bw7n18k62")))) (build-system perl-build-system) (propagated-inputs `(("perl-http-date" ,perl-http-date))) @@ -5606,14 +5651,14 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.56") + (version "5.57") (source (origin (method url-fetch) (uri (string-append "https://www.stunnel.org/downloads/stunnel-" version ".tar.gz")) (sha256 - (base32 "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k")))) + (base32 "1q8gc05fiz7w55ws0whwzb94ffjnhzfppf1mhz1hf671vmrvjnmg")))) (build-system gnu-build-system) (native-inputs ;; For tests. @@ -7425,6 +7470,37 @@ update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.") (license license:gpl3+))) +(define-public buku + (package + (name "buku") + (version "4.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "buku" version)) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g1xhdskfn72xaraqzz2v8dl2iza7bzfpn17z2wdrzkq3ih7yvgg")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;FIXME: many tests need network access + (inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-certifi" ,python-certifi) + ("python-cryptography" ,python-cryptography) + ("python-html5lib" ,python-html5lib) + ("python-urllib3" ,python-urllib3))) + (home-page "https://github.com/jarun/buku") + (synopsis "Bookmark manager") + (description + "buku is a powerful bookmark manager written in Python3 and SQLite3. +@command{buku} can auto-import bookmarks from your browser and present them +in an interactive command-line interface that lets you compose and update +bookmarks directly. It can also present them in a web interface with +@command{bukuserver}.") + (license license:gpl3+))) + (define-public anonip (package (name "anonip") |