diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-07-10 00:55:42 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-07-10 00:55:42 +0200 |
commit | 7a05fdd0e1d5e5e26e94014d87bf85575bbec780 (patch) | |
tree | 6f68b8832b4465c9aeee734997c168840b7b1ee0 /gnu/packages | |
parent | 36175a3a9eb5bd4096de4e06e1f6b0e8cd895d84 (diff) | |
parent | 760d90cc6a5c0f9eb46ad18a30da5520fac2525e (diff) | |
download | guix-7a05fdd0e1d5e5e26e94014d87bf85575bbec780.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages')
29 files changed, 767 insertions, 455 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 7e66e42f0a..87eadf0338 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -298,6 +298,20 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (license license:gpl2) (home-page "https://pari.math.u-bordeaux.fr/"))) +(define fplll-4-cmh + (package + (inherit fplll) + (name "fplll") + (version "4.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-" + version ".tar.gz")) + (sha256 + (base32 "1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b")))))) + (define-public cmh (package (name "cmh") @@ -316,7 +330,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") ("mpfr" ,mpfr) ("mpc" ,mpc) ("mpfrcx" ,mpfrcx) - ("fplll" ,fplll) + ("fplll" ,fplll-4-cmh) ("pari-gp" ,pari-gp))) (synopsis "Igusa class polynomial computations") (description diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 29dac5b0f1..e5a2d66b2d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -652,7 +652,7 @@ database is exposed as a @code{TxDb} object.") (define-public r-txdb-mmusculus-ucsc-mm10-knowngene (package (name "r-txdb-mmusculus-ucsc-mm10-knowngene") - (version "3.4.4") + (version "3.4.7") (source (origin (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is @@ -663,7 +663,7 @@ database is exposed as a @code{TxDb} object.") version ".tar.gz")) (sha256 (base32 - "01lgxc1fx5nhlpbwjd5zqghkkbmh6axd98ikx4b0spv0jdg6gf39")))) + "04impkl8zh1gpwwrpbf19jqznsjrq2306yyhm6cmx6hr1401bd6b")))) (properties `((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene"))) (build-system r-build-system) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f8ac41c249..5d7a905f6a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7237,25 +7237,6 @@ BLAST, KEGG, GenBank, MEDLINE and GO.") ;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+) (license (list license:ruby license:lgpl2.1+ license:gpl2+ )))) -(define-public r-biocinstaller - (package - (name "r-biocinstaller") - (version "1.32.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "BiocInstaller" version)) - (sha256 - (base32 - "1s1f9qhyf3mc73ir25x2zlgi9hf45a37lg4z8fbva4i21hqisgsl")))) - (properties - `((upstream-name . "BiocInstaller"))) - (build-system r-build-system) - (home-page "https://bioconductor.org/packages/BiocInstaller") - (synopsis "Install Bioconductor packages") - (description "This package is used to install and update R packages from -Bioconductor, CRAN, and Github.") - (license license:artistic2.0))) - (define-public r-biocviews (package (name "r-biocviews") @@ -13622,10 +13603,10 @@ sequencing data.") (define-public r-xbioc (let ((revision "1") - (commit "f798c187e376fd1ba27abd559f47bbae7e3e466b")) + (commit "6ff0670a37ab3036aaf1d94aa4b208310946b0b5")) (package (name "r-xbioc") - (version (git-version "0.1.15" revision commit)) + (version (git-version "0.1.16" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -13634,13 +13615,13 @@ sequencing data.") (file-name (git-file-name name version)) (sha256 (base32 - "03hffh2f6z71y6l6dqpa5cql3hdaw7zigdi8sm2dzgx379k9rgrr")))) + "0w8bsq5myiwkfhh83nm6is5ichiyvwa1axx2szvxnzq39x6knf66")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) ("r-assertthat" ,r-assertthat) ("r-biobase" ,r-biobase) - ("r-biocinstaller" ,r-biocinstaller) + ("r-biocmanager" ,r-biocmanager) ("r-digest" ,r-digest) ("r-pkgmaker" ,r-pkgmaker) ("r-plyr" ,r-plyr) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 6e6e69ff3b..dda258a52e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -82,19 +82,22 @@ (define-public grub (package (name "grub") - (version "2.02") + (version "2.04") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz")) (sha256 (base32 - "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1")) - (patches (search-patches "grub-check-error-efibootmgr.patch" - "grub-binutils-compat.patch" - "grub-efi-fat-serial-number.patch")))) + "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5")) + (patches (search-patches "grub-efi-fat-serial-number.patch")))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases + `(#:configure-flags + ;; Counterintuitively, this *disables* a spurious Python dependency by + ;; calling the ‘true’ binary instead. Python is only needed during + ;; bootstrapping (for genptl.py), not when building from a release. + (list "PYTHON=true") + #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-stuff (lambda* (#:key inputs #:allow-other-keys) (substitute* "grub-core/Makefile.in" @@ -127,6 +130,14 @@ (substitute* "Makefile.in" (("grub_cmd_date grub_cmd_set_date grub_cmd_sleep") "grub_cmd_date grub_cmd_sleep")) + #t)) + (add-before 'check 'disable-pixel-perfect-test + (lambda _ + ;; This test compares many screenshots rendered with an + ;; older Unifont (9.0.06) than that packaged in Guix. + (substitute* "Makefile.in" + (("test_unset grub_func_test") + "test_unset")) #t))) ;; Disable tests on ARM and AARCH64 platforms. #:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system) @@ -147,9 +158,12 @@ ;; for generating alternative keyboard layouts. ("console-setup" ,console-setup) + ;; Needed for ‘grub-mount’, the only reliable way to tell whether a given + ;; file system will be readable by GRUB without rebooting. + ("fuse" ,fuse) + ("freetype" ,freetype) ;; ("libusb" ,libusb) - ;; ("fuse" ,fuse) ("ncurses" ,ncurses))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 79828ef589..3bb8978b08 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -760,9 +760,9 @@ from forcing GEXP-PROMISE." ("valgrind" ,valgrind) ("vulkan-headers" ,vulkan-headers))) - ;; Building Chromium with a single core takes around 6 hours on an x86_64 - ;; system. Give some leeway for slower or busy machines. - (properties '((timeout . 64800))) ;18 hours + ;; Building Chromium takes ... a very long time. On a single core, a busy + ;; mid-end x86 system may need more than 24 hours to complete the build. + (properties '((timeout . 144000))) ;40 hours (home-page "https://github.com/Eloston/ungoogled-chromium") (description diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 01ce5f1ae7..b5eb1845a5 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,6 +93,7 @@ #:use-module (gnu packages popt) #: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 rdf) #:use-module (gnu packages readline) @@ -3080,3 +3082,24 @@ NumPy, and other traditional Python scientific computing packages.") (define-public python2-pyarrow (package-with-python2 python-pyarrow)) + +(define-public python-crate + (package + (name "python-crate") + (version "0.23.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "crate" version)) + (sha256 + (base32 + "0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urllib3" ,python-urllib3))) + (home-page "https://github.com/crate/crate-python") + (synopsis "CrateDB Python client") + (description + "This package provides a Python client library for CrateDB. +It implements the Python DB API 2.0 specification and includes support for +SQLAlchemy.") + (license license:asl2.0))) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 06f4430b2d..187ef74b4e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Leo Famulari <leo@famulari.name> +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -236,7 +237,8 @@ to recover data more efficiently by only reading the necessary blocks.") "0wy13i3i4x2bw1hf5m4fd0myh61f9bcrs035fdlf6gyc1jksrcp6")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list (string-append "PREFIX=" %output) + `(#:configure-flags (list "--enable-compat-symlinks") + #:make-flags (list (string-append "PREFIX=" %output) "CC=gcc"))) (native-inputs `(("xxd" ,xxd))) ; for tests diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 2bb61a744a..f3d8907583 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -250,7 +250,7 @@ easy.") (define-public snap (package (name "snap") - (version "5") + (version "5.0.1") (source (origin (method git-fetch) @@ -260,7 +260,7 @@ easy.") (file-name (git-file-name name version)) (sha256 (base32 - "0bh52n7nklaaq02qb56v7bvrslf047my6irl7g8h6xfjgw04yf20")))) + "0ic0xgal19yazbd1kffmbjhiicvvlw5clj48lj80mksa2lgvnzna")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b6051c0ac1..2d9f271cc8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2225,18 +2225,20 @@ display and behaviour is easily customisable.") (define-public emacs-git-timemachine (package (name "emacs-git-timemachine") - (version "4.5") + (version "4.10") (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/pidu/git-timemachine" - "/-/archive/" version - "/git-timemachine-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/pidu/git-timemachine.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy")))) + "08zsn3lsnnf01wkv5ls38jga02s5dnf0j3gigy4qd6im3j3d04m1")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-transient" ,emacs-transient))) (home-page "https://gitlab.com/pidu/git-timemachine") (synopsis "Step through historic versions of Git-controlled files") (description "This package enables you to step through historic versions @@ -2575,7 +2577,7 @@ as horizontal rules.") (define-public emacs-simple-httpd (package (name "emacs-simple-httpd") - (version "1.4.6") + (version "1.5.1") (source (origin (method git-fetch) @@ -2584,9 +2586,9 @@ as horizontal rules.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qmkc0w28l53zzf5yd2grrk1sq222g5qnsm35ph25s1cfvc1qb2g")))) + (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb")))) (build-system emacs-build-system) - (home-page "https://github.com/skeeto/emacs-http-server") + (home-page "https://github.com/skeeto/emacs-web-server") (synopsis "HTTP server in pure Emacs Lisp") (description "This package provides a simple HTTP server written in Emacs Lisp to @@ -2596,7 +2598,7 @@ serve files and directory listings.") (define-public emacs-skewer-mode (package (name "emacs-skewer-mode") - (version "1.6.2") + (version "1.8.0") (source (origin (method git-fetch) @@ -2605,7 +2607,7 @@ serve files and directory listings.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05jndz0c26q60s416vqgvr66axdmxb7qsr2g70fvl5iqavnayhpv")))) + (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-simple-httpd" ,emacs-simple-httpd) @@ -4075,6 +4077,30 @@ organizer.") It is built on top of the custom theme support in Emacs 24 or later.") (license license:gpl3+))) +(define-public emacs-moe-theme-el + (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f") + (version "1.0") + (revision "1")) + (package + (name "emacs-moe-theme-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kuanyui/moe-theme.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc")))) + (build-system emacs-build-system) + (home-page "https://github.com/kuanyui/moe-theme.el") + (synopsis "Anime-inspired color themes") + (description + "This package provides vibrant color schemes with light and dark +variants.") + (license license:gpl3+)))) + (define-public emacs-solarized-theme (package (name "emacs-solarized-theme") @@ -4523,7 +4549,7 @@ fully-functional one.") (define-public emacs-hydra (package (name "emacs-hydra") - (version "0.14.0") + (version "0.15.0") (source (origin (method git-fetch) @@ -4533,7 +4559,7 @@ fully-functional one.") (file-name (git-file-name name version)) (sha256 (base32 - "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg")))) + "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy")))) (build-system emacs-build-system) (home-page "https://github.com/abo-abo/hydra") (synopsis "Make Emacs bindings that stick around") @@ -4757,25 +4783,26 @@ a temporary @code{keep-lines} or @code{occur}.") (license license:gpl3+))) (define-public emacs-zoutline - (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699") - (revision "0")) - (package - (name "emacs-zoutline") - (version (git-version "0.1" revision commit)) - (home-page "https://github.com/abo-abo/zoutline") - (source (origin - (method git-fetch) - (uri (git-reference (url home-page) (commit commit))) - (sha256 - (base32 - "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (synopsis "Simple outline library") - (description - "This library provides helpers for outlines. Outlines allow users to + (package + (name "emacs-zoutline") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/zoutline") + (commit version))) + (sha256 + (base32 + "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/zoutline") + (synopsis "Simple outline library") + (description + "This library provides helpers for outlines. Outlines allow users to navigate code in a tree-like fashion.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-lispy (package @@ -4835,6 +4862,36 @@ keybinding style. The provided commands allow for editing Lisp in normal state and will work even without lispy being enabled.") (license license:gpl3+)))) +(define-public emacs-lpy + (let ((commit "553d28f7b6523ae5d44d34852ab770b871b0b0ad") + (version "0.1.0") + (revision "1")) + (package + (name "emacs-lpy") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/lpy") + (commit commit))) + (sha256 + (base32 + "0kl9b3gga18cwv5cq4db8i6b7waj6mp3h2l7qjnp7wq6dpvwhn0i")) + (file-name (git-file-name name version)))) + (propagated-inputs + `(("emacs-zoutline" ,emacs-zoutline) + ("emacs-lispy" ,emacs-lispy))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/lpy") + (synopsis "Modal editing for Python") + (description + "This package provides a minor mode for Python that binds useful +commands to unprefixed keys, such as @code{j} or @code{e}, under certain +circumstances, and leaves the keys untouched outside of those situations, +allowing unprefixed keys to insert their respective characters as expected.") + (license license:gpl3+)))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") @@ -6103,28 +6160,33 @@ Emacs that Evil does not cover properly by default, such as @code{help-mode}, (license license:gpl3+)))) (define-public emacs-goto-chg - (package - (name "emacs-goto-chg") - (version "1.6") - (source - (origin - (method url-fetch) - ;; There is no versioned source. - (uri "https://www.emacswiki.org/emacs/download/goto-chg.el") - (file-name (string-append "goto-chg-" version ".el")) - (sha256 - (base32 - "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij")))) - (build-system emacs-build-system) - ;; There is no other home page. - (home-page "https://www.emacswiki.org/emacs/goto-chg.el") - (synopsis "Go to the last change in the Emacs buffer") - (description - "This package provides @code{M-x goto-last-change} command that goes to + (let ((commit "1829a13026c597e358f716d2c7793202458120b5") + (version "1.7.3") + (revision "1")) + (package + (name "emacs-goto-chg") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-evil/goto-chg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-undo-tree" ,emacs-undo-tree))) + (home-page "https://github.com/emacs-evil/goto-chg") + (synopsis "Go to the last change in the Emacs buffer") + (description + "This package provides @code{M-x goto-last-change} command that goes to the point of the most recent edit in the current Emacs buffer. When repeated, go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is used for reverse direction.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public emacs-janpath-evil-numbers (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524") @@ -8321,13 +8383,13 @@ highlighting.") (license license:gpl3+))) (define-public emacs-restclient - (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40") - (revision "1")) ;Guix package revision, + (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc") + (version "0") + (revision "2")) ;Guix package revision, ;upstream doesn't have official releases (package (name "emacs-restclient") - (version (string-append revision "." - (string-take commit 7))) + (version (git-version version revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -8335,7 +8397,7 @@ highlighting.") (commit commit))) (sha256 (base32 - "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q")) + "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -9168,33 +9230,25 @@ contexts. (define-public emacs-polymode (package (name "emacs-polymode") - (version "0.1.5") + (version "0.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/vspinu/polymode.git") + (url "https://github.com/polymode/polymode.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7")))) + "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b")))) (build-system emacs-build-system) - (arguments - `(#:include (cons* "^modes/.*\\.el$" %default-include) - #:phases - (modify-phases %standard-phases - (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path - (lambda _ - (setenv "EMACSLOADPATH" - (string-append (getenv "EMACSLOADPATH") - ":" (getcwd) "/modes" ":"))))))) - (home-page "https://github.com/vspinu/polymode") + (home-page "https://github.com/polymode/polymode") (synopsis "Framework for multiple Emacs modes based on indirect buffers") - (description "Polymode is an Emacs package that offers generic support -for multiple major modes inside a single Emacs buffer. It is lightweight, -object oriented and highly extensible. Creating a new polymode typically -takes only a few lines of code. Polymode also provides extensible facilities -for external literate programming tools for exporting, weaving and tangling.") + (description + "Polymode is an Emacs package that offers generic support for multiple +major modes inside a single Emacs buffer. It is lightweight, object oriented +and highly extensible. Creating a new polymode typically takes only a few +lines of code. Polymode also provides extensible facilities for external +literate programming tools for exporting, weaving and tangling.") (license license:gpl3+))) (define-public emacs-polymode-ansible @@ -9226,6 +9280,33 @@ for external literate programming tools for exporting, weaving and tangling.") "Edit YAML files for Ansible containing embedded Jinja2 templating.") (license license:gpl3+)))) +(define-public emacs-polymode-org + (package + (name "emacs-polymode-org") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/polymode/poly-org.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-polymode" ,emacs-polymode))) + (properties '((upstream-name . "poly-org"))) + (home-page "https://github.com/polymode/poly-org") + (synopsis "Polymode definitions for Org mode buffers") + (description + "Provides definitions for @code{emacs-polymode} to support +@code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the +native modes of the blocks' languages while remaining inside the primary Org +buffer.") + (license license:gpl3+))) + (define-public eless (package (name "eless") @@ -10675,33 +10756,30 @@ navigate and display hierarchy structures.") (license license:gpl3+)))) (define-public emacs-md4rd - (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec") - (revision "1")) - (package - (name "emacs-md4rd") - (version (string-append "0.0.2" "-" revision "." - (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ahungry/md4rd.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9")))) - (propagated-inputs - `(("emacs-hierarchy" ,emacs-hierarchy) - ("emacs-request" ,emacs-request) - ("emacs-dash" ,emacs-dash) - ("emacs-s" ,emacs-s) - ("emacs-tree-mode" ,emacs-tree-mode))) - (build-system emacs-build-system) - (home-page "https://github.com/ahungry/md4rd") - (synopsis "Emacs Mode for Reddit") - (description - "This package allows to read Reddit from within Emacs interactively.") - (license license:gpl3+)))) + (package + (name "emacs-md4rd") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ahungry/md4rd.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri")))) + (propagated-inputs + `(("emacs-hierarchy" ,emacs-hierarchy) + ("emacs-request" ,emacs-request) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-tree-mode" ,emacs-tree-mode))) + (build-system emacs-build-system) + (home-page "https://github.com/ahungry/md4rd") + (synopsis "Emacs Mode for Reddit") + (description + "This package allows to read Reddit from within Emacs interactively.") + (license license:gpl3+))) (define-public emacs-pulseaudio-control (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379") @@ -12265,12 +12343,10 @@ bookmarks and history.") (license license:gpl3+))) (define-public emacs-stumpwm-mode - (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35") - (revision "1")) + (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39")) (package (name "emacs-stumpwm-mode") - (version (string-append "0.0.1-" revision "." - (string-take commit 7))) + (version (git-version "0.0.1" "1" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -12279,7 +12355,7 @@ bookmarks and history.") (file-name (git-file-name name version)) (sha256 (base32 - "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq")))) + "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6")))) (build-system emacs-build-system) (arguments `(#:phases @@ -12552,7 +12628,7 @@ the current upstream.") (define-public emacs-company-restclient (package (name "emacs-company-restclient") - (version "0.1.0") + (version "0.3.0") (source (origin (method git-fetch) @@ -12561,7 +12637,7 @@ the current upstream.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0i1fh5lvqwlgn3g3fzh0xacxyljx6gkryipn133vfkv4jbns51n4")))) + (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-company" ,emacs-company) @@ -13051,14 +13127,14 @@ cohesion with the Emacs Way.") (version "1.1") (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/" - "archive.tar.gz?ref=" - version)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0bpvifv6c2a65nks6kvarw0hhm37fnyy74wikwf9qq1i20va0fpv")))) + "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021")))) (build-system emacs-build-system) (inputs `(("fish" ,fish))) (arguments @@ -13069,6 +13145,7 @@ cohesion with the Emacs Way.") (let ((fish (assoc-ref inputs "fish"))) ;; Specify the absolute file names of the various ;; programs so that everything works out-of-the-box. + (make-file-writable "fish-completion.el") (emacs-substitute-variables "fish-completion.el" ("fish-completion-command" @@ -14912,18 +14989,18 @@ opposed to character-based).") (package (name "emacs-disk-usage") (version "1.3.3") - (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage") (source (origin - (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/disk-usage-" - version - ".el")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj")))) + "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll")))) (build-system emacs-build-system) + (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage") (synopsis "Sort and browse disk usage listings with Emacs") (description "Disk Usage is a file system analyzer: it offers a tabulated view of file listings sorted by size. Directory sizes are computed diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 88d293ee9f..4b1dbbdb49 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7594,16 +7594,16 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (define-public lollypop (package (name "lollypop") - (version "0.9.521") + (version "1.1.3.1") (source (origin (method url-fetch) (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/" - "e4df2ed75c5ed71d64afcc668e579b2a/" + "5a7cd7c72b6d83ae08d0c54c4691f9df/" name "-" version ".tar.xz")) (sha256 (base32 - "0knsqh24siyw98vmiq6b1hzq4y4cazs9f1hq1js9c96hqqj9rvdx")))) + "1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm")))) (build-system meson-build-system) (arguments `(#:imported-modules ((guix build python-build-system) @@ -7636,6 +7636,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") ("python" ,python) ("python-beautifulsoup4" ,python-beautifulsoup4) ("python-gst" ,python-gst) + ("python-pil" ,python-pillow) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) ("python-pylast" ,python-pylast) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index f2f8647730..2653645c5d 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2019 ng0 <ng0@n0.is> -;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -146,14 +146,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.64") + (version "0.9.65") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "03imzkd1hl2mkkpi84vg5xq9x6b58gwsv86ym85km0lhb7nxi4p7")))) + "1jdk6wigvnkh5bi9if4rik8i9sbvdql61lm8ipgpypyxqmcpjipj")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 75212ed60e..852d095300 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -147,7 +147,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "2.03") + (version "2.06") (source (origin (method url-fetch) @@ -155,7 +155,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0d33yyasnx54c6i40rkr9by4qv92rqb8wkmp5r46nz7bbp9kpymv")))) + "06xp3kj099b6m2fsmgcbzgj7xk4j0drsps52m4fr8vc6fglsh44p")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 690fd1ad68..653f844b48 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1411,7 +1411,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.1.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (string-append @@ -1419,7 +1419,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "1kvvrz5mlpjxqcm7vl6i8w6l1cb2amp6p5xyq006pgzafc49hnnw")))) + "1a2dywa2kam24951byv9pl32mb9z6klh7d4vp8fwfgrm4vn5vfd5")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 0315740bcd..1fe9af38e0 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> @@ -332,12 +332,12 @@ requirements according to version 1.1 of the OpenCL specification.") (version (package-version llvm)) (source (origin (method url-fetch) - (uri (string-append "http://releases.llvm.org/" + (uri (string-append "https://releases.llvm.org/" version "/openmp-" version ".src.tar.xz")) (sha256 (base32 - "030dkg5cypd7j9hq0mcqb5gs31lxwmzfq52j81l7v9ldcy5bf5mz")) + "1mf9cpgvix34xlpv0inkgl3qmdvgvp96f7sksqizri0n5xfp1cgp")) (file-name (string-append "libomp-" version ".tar.xz")))) (build-system cmake-build-system) ;; XXX: Note this gets built with GCC because building with Clang itself diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 982a0ce5a9..3dfe88132f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3747,7 +3747,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "3.2") + (version "3.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -3756,7 +3756,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (file-name (git-file-name name version)) (sha256 (base32 - "0719p4hjlq7skga8q4hvnd5w33vhrd1a1aygvqm9pn4na02zazy6")) + "17wx1wl8ns2k31qvrr888dxnrsa13vazg04zh2sn2q4vzd869a7v")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d0388e5d43..ab11065379 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -563,16 +563,16 @@ transactions from C or Python.") (define-public diffoscope (package (name "diffoscope") - (version (git-version "115" "1" "7f3416ffd12572b42c814e43ac15cee44ef48155")) + (version "116") (source (origin (method git-fetch) (uri (git-reference (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") - (commit "7f3416ffd12572b42c814e43ac15cee44ef48155"))) + (commit "116"))) (file-name (git-file-name name version)) (sha256 (base32 - "1pn2rwlz5shdx7s63798wx2v7029bl5if6dlq3i2r6zsnpp0laki")))) + "1anz2c112y0w21mh7xp6bs6z7v10dcy1i25nypkvqy3j929m0g28")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/patches/csvkit-fix-tests.patch b/gnu/packages/patches/csvkit-fix-tests.patch new file mode 100644 index 0000000000..cb9ec39cb0 --- /dev/null +++ b/gnu/packages/patches/csvkit-fix-tests.patch @@ -0,0 +1,45 @@ +diff --git a/tests/test_utilities/test_csvsql.py b/tests/test_utilities/test_csvsql.py +index e6ec4af..4f47980 100644 +--- a/tests/test_utilities/test_csvsql.py ++++ b/tests/test_utilities/test_csvsql.py +@@ -197,7 +197,7 @@ class TestCSVSQL(CSVKitTestCase, EmptyFileTests): + utility.run() + output = output_file.getvalue() + output_file.close() +- self.assertEqual(output, 'a,b,c\n1,2,3\n0,5,6\n') ++ self.assertEqual(output, 'a,b,c\n1,2.0,3.0\n0,5.0,6.0\n') + + def test_no_prefix_unique_constraint(self): + self.get_output(['--db', 'sqlite:///' + self.db_file, '--insert', 'examples/dummy.csv', '--unique-constraint', 'a']) +diff --git a/tests/test_utilities/test_sql2csv.py b/tests/test_utilities/test_sql2csv.py +index a0c3d3e..babcfd6 100644 +--- a/tests/test_utilities/test_sql2csv.py ++++ b/tests/test_utilities/test_sql2csv.py +@@ -121,23 +121,23 @@ class TestSQL2CSV(CSVKitTestCase, EmptyFileTests): + input_file.close() + + def test_unicode(self): +- expected = self.csvsql('examples/test_utf8.csv') ++ self.csvsql('examples/test_utf8.csv') + csv = self.get_output(['--db', 'sqlite:///' + self.db_file, '--query', 'select * from foo']) +- self.assertEqual(csv.strip(), expected) ++ self.assertEqual(csv.strip(), 'foo,bar,baz\n1.0,2.0,3\n4.0,5.0,ʤ') + + def test_no_header_row(self): + self.csvsql('examples/dummy.csv') + csv = self.get_output(['--db', 'sqlite:///' + self.db_file, '--no-header-row', '--query', 'select * from foo']) + + self.assertTrue('a,b,c' not in csv) +- self.assertTrue('1,2,3' in csv) ++ self.assertTrue('1,2.0,3.0' in csv) + + def test_linenumbers(self): + self.csvsql('examples/dummy.csv') + csv = self.get_output(['--db', 'sqlite:///' + self.db_file, '--linenumbers', '--query', 'select * from foo']) + + self.assertTrue('line_number,a,b,c' in csv) +- self.assertTrue('1,1,2,3' in csv) ++ self.assertTrue('1,1,2.0,3.0' in csv) + + def test_wildcard_on_sqlite(self): + self.csvsql('examples/iris.csv') diff --git a/gnu/packages/patches/grub-binutils-compat.patch b/gnu/packages/patches/grub-binutils-compat.patch deleted file mode 100644 index 2107869314..0000000000 --- a/gnu/packages/patches/grub-binutils-compat.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fix a relocation issue that shows up with recent binutils. - -Patch taken from upstream: -https://git.sv.gnu.org/cgit/grub.git/commit/?id=842c390469e2c2e10b5aa36700324cd3bde25875 - -diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c -index e49d0b6..18facf4 100644 ---- a/grub-core/efiemu/i386/loadcore64.c -+++ b/grub-core/efiemu/i386/loadcore64.c -@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - err = grub_efiemu_write_value (addr, - *addr32 + rel->r_addend - + sym.off -diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c -index 4406906..3a73e6e 100644 ---- a/grub-core/kern/x86_64/dl.c -+++ b/grub-core/kern/x86_64/dl.c -@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - { - grub_int64_t value; - value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value - -diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c -index a2bb054..39d7efb 100644 ---- a/util/grub-mkimagexx.c -+++ b/util/grub-mkimagexx.c -@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - { - grub_uint32_t *t32 = (grub_uint32_t *) target; - *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) -diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c -index 9179285..a79271f 100644 ---- a/util/grub-module-verifier.c -+++ b/util/grub-module-verifier.c -@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { - -1 - }, (int[]){ - R_X86_64_PC32, -+ R_X86_64_PLT32, - -1 - } - }, diff --git a/gnu/packages/patches/grub-check-error-efibootmgr.patch b/gnu/packages/patches/grub-check-error-efibootmgr.patch deleted file mode 100644 index efeb20f213..0000000000 --- a/gnu/packages/patches/grub-check-error-efibootmgr.patch +++ /dev/null @@ -1,197 +0,0 @@ -Without this patch, GRUB may proceed to wipe all firmware boot entries -and report a successful installation, even if efibootmgr hit an error. - -Origin URL: -https://git.sv.gnu.org/cgit/grub.git/commit/?id=6400613ad0b463abc93362086a491cd2a5e99b0d - -From 6400613ad0b463abc93362086a491cd2a5e99b0d Mon Sep 17 00:00:00 2001 -From: Steve McIntyre <steve@einval.com> -Date: Wed, 31 Jan 2018 21:49:36 +0000 -Subject: Make grub-install check for errors from efibootmgr - -Code is currently ignoring errors from efibootmgr, giving users -clearly bogus output like: - - Setting up grub-efi-amd64 (2.02~beta3-4) ... - Installing for x86_64-efi platform. - Could not delete variable: No space left on device - Could not prepare Boot variable: No space left on device - Installation finished. No error reported. - -and then potentially unbootable systems. If efibootmgr fails, grub-install -should know that and report it! - -We've been using similar patch in Debian now for some time, with no ill effects. - -diff --git a/grub-core/osdep/unix/platform.c b/grub-core/osdep/unix/platform.c -index a3fcfca..ca448bc 100644 ---- a/grub-core/osdep/unix/platform.c -+++ b/grub-core/osdep/unix/platform.c -@@ -78,19 +78,20 @@ get_ofpathname (const char *dev) - dev); - } - --static void -+static int - grub_install_remove_efi_entries_by_distributor (const char *efi_distributor) - { - int fd; - pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd); - char *line = NULL; - size_t len = 0; -+ int rc; - - if (!pid) - { - grub_util_warn (_("Unable to open stream from %s: %s"), - "efibootmgr", strerror (errno)); -- return; -+ return errno; - } - - FILE *fp = fdopen (fd, "r"); -@@ -98,7 +99,7 @@ grub_install_remove_efi_entries_by_distributor (const char *efi_distributor) - { - grub_util_warn (_("Unable to open stream from %s: %s"), - "efibootmgr", strerror (errno)); -- return; -+ return errno; - } - - line = xmalloc (80); -@@ -119,23 +120,25 @@ grub_install_remove_efi_entries_by_distributor (const char *efi_distributor) - bootnum = line + sizeof ("Boot") - 1; - bootnum[4] = '\0'; - if (!verbosity) -- grub_util_exec ((const char * []){ "efibootmgr", "-q", -+ rc = grub_util_exec ((const char * []){ "efibootmgr", "-q", - "-b", bootnum, "-B", NULL }); - else -- grub_util_exec ((const char * []){ "efibootmgr", -+ rc = grub_util_exec ((const char * []){ "efibootmgr", - "-b", bootnum, "-B", NULL }); - } - - free (line); -+ return rc; - } - --void -+int - grub_install_register_efi (grub_device_t efidir_grub_dev, - const char *efifile_path, - const char *efi_distributor) - { - const char * efidir_disk; - int efidir_part; -+ int ret; - efidir_disk = grub_util_biosdisk_get_osdev (efidir_grub_dev->disk); - efidir_part = efidir_grub_dev->disk->partition ? efidir_grub_dev->disk->partition->number + 1 : 1; - -@@ -151,23 +154,26 @@ grub_install_register_efi (grub_device_t efidir_grub_dev, - grub_util_exec ((const char * []){ "modprobe", "-q", "efivars", NULL }); - #endif - /* Delete old entries from the same distributor. */ -- grub_install_remove_efi_entries_by_distributor (efi_distributor); -+ ret = grub_install_remove_efi_entries_by_distributor (efi_distributor); -+ if (ret) -+ return ret; - - char *efidir_part_str = xasprintf ("%d", efidir_part); - - if (!verbosity) -- grub_util_exec ((const char * []){ "efibootmgr", "-q", -+ ret = grub_util_exec ((const char * []){ "efibootmgr", "-q", - "-c", "-d", efidir_disk, - "-p", efidir_part_str, "-w", - "-L", efi_distributor, "-l", - efifile_path, NULL }); - else -- grub_util_exec ((const char * []){ "efibootmgr", -+ ret = grub_util_exec ((const char * []){ "efibootmgr", - "-c", "-d", efidir_disk, - "-p", efidir_part_str, "-w", - "-L", efi_distributor, "-l", - efifile_path, NULL }); - free (efidir_part_str); -+ return ret; - } - - void -diff --git a/include/grub/util/install.h b/include/grub/util/install.h -index 5910b0c..0dba8b6 100644 ---- a/include/grub/util/install.h -+++ b/include/grub/util/install.h -@@ -210,7 +210,7 @@ grub_install_create_envblk_file (const char *name); - const char * - grub_install_get_default_x86_platform (void); - --void -+int - grub_install_register_efi (grub_device_t efidir_grub_dev, - const char *efifile_path, - const char *efi_distributor); -diff --git a/util/grub-install.c b/util/grub-install.c -index 5e4cdfd..690f180 100644 ---- a/util/grub-install.c -+++ b/util/grub-install.c -@@ -1848,9 +1848,13 @@ main (int argc, char *argv[]) - if (!removable && update_nvram) - { - /* Try to make this image bootable using the EFI Boot Manager, if available. */ -- grub_install_register_efi (efidir_grub_dev, -- "\\System\\Library\\CoreServices", -- efi_distributor); -+ int ret; -+ ret = grub_install_register_efi (efidir_grub_dev, -+ "\\System\\Library\\CoreServices", -+ efi_distributor); -+ if (ret) -+ grub_util_error (_("efibootmgr failed to register the boot entry: %s"), -+ strerror (ret)); - } - - grub_device_close (ins_dev); -@@ -1871,6 +1875,7 @@ main (int argc, char *argv[]) - { - char * efifile_path; - char * part; -+ int ret; - - /* Try to make this image bootable using the EFI Boot Manager, if available. */ - if (!efi_distributor || efi_distributor[0] == '\0') -@@ -1887,7 +1892,10 @@ main (int argc, char *argv[]) - efidir_grub_dev->disk->name, - (part ? ",": ""), (part ? : "")); - grub_free (part); -- grub_install_register_efi (efidir_grub_dev, -- efifile_path, efi_distributor); -+ ret = grub_install_register_efi (efidir_grub_dev, -+ efifile_path, efi_distributor); -+ if (ret) -+ grub_util_error (_("efibootmgr failed to register the boot entry: %s"), -+ strerror (ret)); - } - break; - - -Below is a followup to the patch above: the uninitialized variable could lead -‘grub-install’ to error out when it shouldn’t (seen on an AArch64 box where -‘grub_install_remove_efi_entries_by_distributor’ didn't have any entry to -remove): - - grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535. - -See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>. - ---- grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:53.015284846 +0200 -+++ grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:55.595271222 +0200 -@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr - pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd); - char *line = NULL; - size_t len = 0; -- int rc; -+ int rc = 0; - - if (!pid) - { diff --git a/gnu/packages/patches/grub-efi-fat-serial-number.patch b/gnu/packages/patches/grub-efi-fat-serial-number.patch index ad92f9bc9e..aec37d68e2 100644 --- a/gnu/packages/patches/grub-efi-fat-serial-number.patch +++ b/gnu/packages/patches/grub-efi-fat-serial-number.patch @@ -4,22 +4,23 @@ serial number (instead of the randomly chosen one) to create EFI images (the 'efi.img' file) that are reproducible bit-for-bit. Patch by Ludovic Courtès <ludo@gnu.org>. +Mangled (for GRUB 2.04) by Tobias Geerinckx-Rice <me@tobias.gr>. ---- grub-2.02/util/grub-mkrescue.c 2019-04-20 19:15:26.180242812 +0200 -+++ grub-2.02/util/grub-mkrescue.c 2019-04-20 21:56:34.672370849 +0200 -@@ -788,8 +788,15 @@ main (int argc, char *argv[]) +--- grub-2.04/util/grub-mkrescue.c 2019-05-20 13:01:11.000000000 +0200 ++++ grub-2.04/util/grub-mkrescue.c 2019-07-08 23:57:36.912104652 +0200 +@@ -809,8 +809,15 @@ + free (efidir_efi_boot); efiimgfat = grub_util_path_concat (2, iso9660_dir, "efi.img"); - int rv; - rv = grub_util_exec ((const char * []) { "mformat", "-C", "-f", "2880", "-L", "16", "-i", - efiimgfat, "::", NULL }); + + const char *fat_serial_number = getenv ("GRUB_FAT_SERIAL_NUMBER"); + const char *mformat_args[] = -+ { "mformat", "-C", "-f", "2880", "-L", "16", -+ fat_serial_number != NULL ? "-N" : "-C", -+ fat_serial_number != NULL ? fat_serial_number : "-C", -+ "-i", efiimgfat, "::", NULL }; ++ { "mformat", "-C", "-f", "2880", "-L", "16", ++ fat_serial_number != NULL ? "-N" : "-C", ++ fat_serial_number != NULL ? fat_serial_number : "-C", ++ "-i", efiimgfat, "::", NULL }; + + rv = grub_util_exec (mformat_args); if (rv != 0) diff --git a/gnu/packages/patches/python-slugify-depend-on-unidecode.patch b/gnu/packages/patches/python-slugify-depend-on-unidecode.patch new file mode 100644 index 0000000000..6038f432f1 --- /dev/null +++ b/gnu/packages/patches/python-slugify-depend-on-unidecode.patch @@ -0,0 +1,22 @@ +diff --git a/setup.py b/setup.py +index 4800173..6bdd77f 100755 +--- a/setup.py ++++ b/setup.py +@@ -14,8 +14,7 @@ url = 'https://github.com/un33k/python-slugify' + author = 'Val Neekman' + author_email = 'info@neekware.com' + license = 'MIT' +-install_requires = ['text-unidecode==1.2'] +-extras_require = {'unidecode': ['Unidecode==1.0.23']} ++install_requires = ['Unidecode'] + + classifiers = [ + 'Development Status :: 5 - Production/Stable', +@@ -67,7 +66,6 @@ setup( + author_email=author_email, + packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES), + install_requires=install_requires, +- extras_require=extras_require, + classifiers=classifiers, + entry_points={'console_scripts': ['slugify=slugify.slugify:main']}, + ) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index cbcbe6c867..e441cbaa81 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3165,3 +3166,33 @@ Python.") (propagated-inputs `(("python-gevent" ,python2-gevent) ("python-tornado" ,python2-tornado))))) + +(define-public python-slugify + (package + (name "python-slugify") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-slugify" version)) + (sha256 + (base32 + "0n6pfmsq899c54plpvzi46l7zrpa3zfpm8im6h32czjw6kxky5jp")) + (patches + (search-patches "python-slugify-depend-on-unidecode.patch")))) + (native-inputs + `(("python-wheel" ,python-wheel))) + (propagated-inputs + `(("python-unidecode" ,python-unidecode))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "test.py")))))) + (build-system python-build-system) + (home-page "https://github.com/un33k/python-slugify") + (synopsis "Python Slugify application that handles Unicode") + (description "This package provides a @command{slufigy} command and +library to create slugs from unicode strings while keeping it DRY.") + (license license:expat))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2273f1ce74..29aebdf8aa 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -62,6 +62,7 @@ ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -15932,3 +15933,24 @@ hash, recno, and queue. Complete support of Berkeley DB distributed transactions. Complete support for Berkeley DB Replication Manager. Complete support for Berkeley DB Base Replication. Support for RPC.") (license license:bsd-3))) + +(define-public python-dbfread + (package + (name "python-dbfread") + (version "2.0.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "dbfread" version)) + (sha256 + (base32 + "0gdpwdzf1fngsi6jrdyj4qdf6cr7gnnr3zp80dpkzbgz0spskj07")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://dbfread.readthedocs.io") + (synopsis "Read DBF Files with Python") + (description + "This library reads DBF files and returns the data as native Python data +types for further processing. It is primarily intended for batch jobs and +one-off scripts.") + (license license:expat))) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 9bbfe07803..9aad36e587 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com> +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,26 @@ program uses. The display output of the program can be customized or saved to a file.") (license gpl3+))) +(define-public python-pytimeparse + (package + (name "python-pytimeparse") + (version "1.1.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytimeparse" version)) + (sha256 + (base32 + "02kaambsgpjx3zi42j6l11rwms2p35b9hsk4f3kdf979gd3kcqg8")))) + (native-inputs + `(("python-nose" ,python-nose))) + (build-system python-build-system) + (home-page "https://github.com/wroberts/pytimeparse") + (synopsis "Time expression parser") + (description "This small Python module parses various kinds of time +expressions.") + (license expat))) + (define-public python-pytzdata (package (name "python-pytzdata") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 124cc93e68..0a270e14f0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5238,16 +5239,28 @@ command-line arguments or read from stdin.") (define-public python-internetarchive (package (name "python-internetarchive") - (version "1.7.4") + (version "1.8.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jjjake/internetarchive/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jjjake/internetarchive") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0sdbb2ag6vmybi8zmbjszi492a587giaaqxyy1p6gy03cb8mc512")))) + "0ih7hplv92wbv6cmgc1gs0v35qkajwicalwcq8vcljw30plr24fp")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Python 3.7 removed `_pattern_type'. + (for-each (lambda (file) + (chmod file #o644) + (substitute* file + (("^import re\n" line) + (string-append line "re._pattern_type = re.Pattern\n")))) + (find-files "." "\\.py$")) + #t)))) (build-system python-build-system) (arguments `(#:phases @@ -6498,3 +6511,30 @@ update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.") (license license:gpl3+))) + +(define-public anonip + (package + (name "anonip") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "anonip" version)) + (sha256 + (base32 + "0ckn9nnfhpdnz8b92q8pkysdqj6pdh71ckfqvfj0z01cq0hzbhd2")))) + (build-system python-build-system) + (home-page "https://github.com/DigitaleGesellschaft/Anonip") + (synopsis "Anonymize IP addresses in log files") + (description + "Anonip masks the last bits of IPv4 and IPv6 addresses in log files. +That way most of the relevant information is preserved, while the IP address +does not match a particular individuum anymore. + +Depending on your Web server, the log entries may be piped to Anonip directly +or via a FIFO (named pipe). Thus the unmasked IP addresses will never be +written to any file. + +It's also possible to rewrite existing log files. + +Anonip can also be uses as a Python module in your own Python application.") + (license license:bsd-3))) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 7261137cab..76ceed5ff7 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -79,7 +79,7 @@ in downloaded documents to relative links.") (define-public wgetpaste (package (name "wgetpaste") - (version "2.28") + (version "2.29") (source (origin (method url-fetch) @@ -87,10 +87,10 @@ in downloaded documents to relative links.") version ".tar.bz2")) (sha256 (base32 - "1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak")))) + "1rp0wxr3zy7y2xp3azaadfghrx7g0m138f9qg6icjxkkz4vj9r22")))) (build-system gnu-build-system) (arguments - '(#:modules ((guix build gnu-build-system) + `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases @@ -102,16 +102,17 @@ in downloaded documents to relative links.") ;; https://gitweb.gentoo.org/repo/gentoo.git/tree/app-text/wgetpaste/files/wgetpaste-remove-dead.patch (lambda _ (substitute* "wgetpaste" - ((" poundpython\"") "\"") - (("-poundpython") "-bpaste")) ; dpaste blocks tor users + (("-bpaste") "-dpaste")) ; dpaste blocks tor users #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (zsh (string-append out "/share/zsh/site-functions"))) + (zsh (string-append out "/share/zsh/site-functions")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) (install-file "wgetpaste" bin) (install-file "_wgetpaste" zsh) + (install-file "LICENSE" doc) #t))) (add-after 'install 'wrap-program ;; /bin/wgetpaste prides itself on relying only on the following diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index b76c9d18b9..62cf225ceb 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -310,7 +310,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "4.12") + (version "4.12.1") (source (origin (method git-fetch) @@ -320,7 +320,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "1drsrps6bd5gcafzcfrr9pzajhh5s6qg5la7q4qpwzlng9969f3r")))) + "1bvpvj6vcw2p6vcjm6mw5maarbs4lfw1ix3pj020w4n3kg4nmmc4")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -366,7 +366,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "1az5pcczq2zl1cvfdggzf89n0sf77m3fjkc8rnna8qr3n585q4h0")))) + "09yjfb2k14y11k19lm8dqmb8qwxyhh67d5q1gqv480y64mljvkx0")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("faudio" ,faudio) ("ffmpeg" ,ffmpeg) diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm new file mode 100644 index 0000000000..362b69575f --- /dev/null +++ b/gnu/packages/wireservice.scm @@ -0,0 +1,267 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages wireservice) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages databases) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages time)) + +;; Common package definition for packages from https://github.com/wireservice. +(define-syntax-rule (wireservice-package extra-fields ...) + (package + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "nosetests" "tests"))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,(package-name this-package) + "-" + ,(package-version this-package)))) + (with-directory-excursion "docs" + (for-each + (lambda (target) + (invoke "make" target) + (copy-recursively (string-append "_build/" target) + (string-append doc "/" target))) + '("html" "dirhtml" "singlehtml" "text"))) + #t)))))) + (license license:expat) + extra-fields ...)) + +(define-public python-leather + (wireservice-package + (name "python-leather") + (version "0.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/leather.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ck3dplni99sv4s117cbm07ydwwjsrxkhdy19rnk0iglia1d4s5i")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-csselect" ,python-cssselect) + ("python-lxml" ,python-lxml))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://leather.rtfd.org") + (synopsis "Python charting for 80% of humans") + (description "Leather is a Python charting library for those who need +charts now and don't care if they're perfect."))) + +(define-public python-agate + (wireservice-package + (name "python-agate") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "077zj8xad8hsa3nqywvf7ircirmx3krxdipl8wr3dynv3l3khcpl")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-csselect" ,python-cssselect) + ("python-lxml" ,python-lxml))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-isodate" ,python-isodate) + ("python-leather" ,python-leather) + ("python-parsedatetime" ,python-parsedatetime) + ("python-pytimeparse" ,python-pytimeparse) + ("python-six" ,python-six) + ("python-slugify" ,python-slugify))) + (home-page "https://agate.rtfd.org") + (synopsis "Data analysis library") + (description "Agate is a Python data analysis library. It is an +alternative to numpy and pandas that solves real-world problems with readable +code. Agate was previously known as journalism."))) + +(define-public python-agate-sql + (wireservice-package + (name "python-agate-sql") + (version "0.5.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-sql.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-crate" ,python-crate) + ("python-sqlalchemy" ,python-sqlalchemy))) + (home-page "https://agate-sql.rtfd.org") + (synopsis "SQL read/write support to agate") + (description "@code{agatesql} uses a monkey patching pattern to add SQL +support to all @code{agate.Table} instances."))) + +(define-public python-agate-dbf + (wireservice-package + (name "python-agate-dbf") + (version "0.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-dbf.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y49fi6pmm7gzhajvqmfpcca2sqnwj24fqnsvzwk7r1hg2iaa2gi")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-dbfread" ,python-dbfread))) + (home-page "https://agate-dbf.rtfd.org") + (synopsis "Add read support for dbf files to agate") + (description "@code{agatedbf} uses a monkey patching pattern to add read +for dbf files support to all @code{agate.Table} instances."))) + +(define-public python-agate-excel + (wireservice-package + (name "python-agate-excel") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-excel.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k5lv21k19s7kgbj5srd1xgrkqvxqqs49qwj33zncs9l7851afy7")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-openpyxl" ,python-openpyxl) + ("python-xlrd" ,python-xlrd))) + (home-page "https://agate-excel.rtfd.org") + (synopsis "Add read support for Excel files (xls and xlsx) to agate") + (description "@code{agateexcel} uses a monkey patching pattern to add read +for xls and xlsx files support to all @code{agate.Table} instances."))) + +(define-public csvkit + (package + (name "csvkit") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "csvkit" version)) + (sha256 + (base32 + "1830lb95rh1iyi3drlwxzb6y3pqkii0qiyzd40c1kvhvaf1s6lqk")) + (patches (search-patches "csvkit-fix-tests.patch")))) + (build-system python-build-system) + (native-inputs + `(("python-psycopg2" ,python-psycopg2) ;; Used to test PostgreSQL support. + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (inputs + `(("python-agate-dbf" ,python-agate-dbf) + ("python-agate-excel" ,python-agate-excel) + ("python-agate-sql" ,python-agate-sql) + ("python-six" ,python-six))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man1 (string-append out "/share/man/man1"))) + (with-directory-excursion "docs" + (invoke "make" "man") + (copy-recursively "_build/man" man1)) + #t)))))) + (home-page "https://csvkit.rtfd.org") + (synopsis "Command-line tools for working with CSV") + (description "csvkit is a suite of command-line tools for converting to +and working with CSV. It provides the following commands: +@itemize +@item Input: + @itemize + @item @command{in2csv}: Convert various formats to CSV. + @item @command{sql2csv}: Execute SQL commands on a database and return the +data as CSV. + @end itemize +@item Processing: + @itemize + @item @command{csvclean}: Remove common syntax errors. + @item @command{csvcut}: Filter and truncate CSV files. + @item @command{csvgrep}: Filter tabular data to only those rows where +certain columns contain a given value or match a regular expression. + @item @command{csvjoin}: Merges two or more CSV tables together using a +method analogous to SQL JOIN operation. + @item @command{csvsort}: Sort CSV files. + @item @command{csvstack}: Stack up the rows from multiple CSV files, +optionally adding a grouping value to each row. + @end itemize +@item Output and analysis: + @itemize + @item @command{csvformat}: Convert a CSV file to a custom output format. + @item @command{csvjson}: Converts a CSV file into JSON or GeoJSON. + @item @command{csvlook}: Renders a CSV to the command line in a +Markdown-compatible, fixed-width format. + @item @command{csvpy}: Loads a CSV file into a @code{agate.csv.Reader} +object and then drops into a Python shell so the user can inspect the data +however they see fit. + @item @command{csvsql}: Generate SQL statements for a CSV file or execute +those statements directly on a database. + @item @command{csvstat}: Prints descriptive statistics for all columns in a +CSV file. + @end itemize +@end itemize") + (license license:expat))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 90bc7fc883..d4c750dc66 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -269,8 +269,8 @@ Despite the name it should work with any X11 window manager.") (license license:bsd-3))) (define-public i3blocks - (let ((commit "37f23805ff886639163fbef8aedba71c8071eff8") - (revision "1")) + (let ((commit "ec050e79ad8489a6f8deb37d4c20ab10729c25c3") + (revision "2")) (package (name "i3blocks") (version (string-append "1.4-" revision "." @@ -282,7 +282,7 @@ Despite the name it should work with any X11 window manager.") (commit commit))) (sha256 (base32 - "15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb")) + "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments |