diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-05-06 15:56:24 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-05-06 15:56:24 +0200 |
commit | 12bd588346f8b2fb3709acfe0ee89d153da2db34 (patch) | |
tree | 459d8eb13a0508170ba462fe61a8b45fb55ea79f | |
parent | 7d5adf013127c89826e9fbe9f1a67265b3538609 (diff) | |
parent | 8e020519b45bbdb9403164bd4403f2465bac99ad (diff) | |
download | guix-12bd588346f8b2fb3709acfe0ee89d153da2db34.tar.gz |
Merge branch 'master' into core-updates
77 files changed, 4358 insertions, 1690 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 87892fc892..dc9894173e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -235,6 +235,7 @@ Services * X Window:: Graphical display. * Printing Services:: Local and remote printer support. * Desktop Services:: D-Bus and desktop services. +* Sound Services:: ALSA and Pulseaudio services. * Database Services:: SQL databases, key-value stores, etc. * Mail Services:: IMAP, POP3, SMTP, and all that. * Messaging Services:: Messaging services. @@ -9697,6 +9698,7 @@ declaration. * X Window:: Graphical display. * Printing Services:: Local and remote printer support. * Desktop Services:: D-Bus and desktop services. +* Sound Services:: ALSA and Pulseaudio services. * Database Services:: SQL databases, key-value stores, etc. * Mail Services:: IMAP, POP3, SMTP, and all that. * Messaging Services:: Messaging services. @@ -12842,6 +12844,48 @@ bluetooth keyboard or mouse. Users need to be in the @code{lp} group to access the D-Bus service. @end deffn +@node Sound Services +@subsubsection Sound Services + +@cindex sound support +@cindex ALSA +@cindex PulseAudio, sound support + +The @code{(gnu services sound)} module provides an +@code{alsa-service-type} service to generate an ALSA +@file{/etc/asound.conf} configuration file. This configuration file is +what allows applications that produce sound using ALSA to be correctly +handled. + +@deffn {Scheme Variable} alsa-service-type +This is the type for the @uref{https://alsa-project.org/, ALSA}, +@command{alsa-configuration} record as in this example: + +@example +(service alsa-service-type) +@end example + +See below for details about @code{alsa-configuration}. +@end deffn + +@deftp {Data Type} alsa-configuration +Data type representing the configuration for @code{alsa-service}. + +@table @asis +@item @code{pulseaudio?} (default: @var{#t}) +Whether ALSA applications should transparently be made to use the +@uref{http://www.pulseaudio.org/, PulseAudio} sound server. + +Using PulseAudio allows you to run several sound-producing applications +at the same time and to individual control them @i{via} +@command{pavucontrol}, among other things. + +@item @code{extra-options} (default: @var{""}) +String to append to the @file{asound.conf} file. + +@end table +@end deftp + @node Database Services @subsubsection Database Services diff --git a/gnu/local.mk b/gnu/local.mk index aa3109dc88..9727f0ef44 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -480,6 +480,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/networking.scm \ %D%/services/nfs.scm \ %D%/services/shepherd.scm \ + %D%/services/sound.scm \ %D%/services/herd.scm \ %D%/services/pm.scm \ %D%/services/rsync.scm \ @@ -557,6 +558,7 @@ dist_patch_DATA = \ %D%/packages/patches/aegis-test-fixup-1.patch \ %D%/packages/patches/aegis-test-fixup-2.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ + %D%/packages/patches/amule-crypto-6.patch \ %D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ @@ -697,7 +699,6 @@ dist_patch_DATA = \ %D%/packages/patches/gd-CVE-2018-5711.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ - %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/gemma-intel-compat.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ @@ -707,11 +708,6 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/giflib-make-reallocarray-private.patch \ - %D%/packages/patches/gimp-CVE-2017-17784.patch \ - %D%/packages/patches/gimp-CVE-2017-17785.patch \ - %D%/packages/patches/gimp-CVE-2017-17786.patch \ - %D%/packages/patches/gimp-CVE-2017-17787.patch \ - %D%/packages/patches/gimp-CVE-2017-17789.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-CVE-2015-5180.patch \ @@ -857,7 +853,6 @@ dist_patch_DATA = \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ - %D%/packages/patches/liboop-mips64-deplibs-fix.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/liblxqt-include.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ @@ -1090,7 +1085,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-graph-induce-type-64.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ - %D%/packages/patches/shadow-CVE-2018-7169.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3d69f682a9..83b1d08687 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -358,16 +358,15 @@ hostname.") (define-public shadow (package (name "shadow") - (version "4.5") + (version "4.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/shadow-maint/shadow/releases/" "download/" version "/shadow-" version ".tar.xz")) - (patches (search-patches "shadow-CVE-2018-7169.patch")) (sha256 (base32 - "0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w")))) + "10smy01km2bqjjvsd2jz17zvrxbzj89qczyb1amk38j28bcci609")))) (build-system gnu-build-system) (arguments `(;; Assume System V `setpgrp (void)', which is the default on GNU @@ -959,7 +958,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.22") + (version "1.8.23") (source (origin (method url-fetch) (uri @@ -969,7 +968,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj")) + "0yg62wq8rcrbr7qvh3wgfg2g4bwanbi50cr2lf2cfyy8dydx4qyq")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index 7093c7467c..4615b346d6 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm @@ -51,15 +51,15 @@ formats.") (define-public qrencode (package (name "qrencode") - (version "3.4.4") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "https://fukuchi.org/works/qrencode/qrencode-" version - ".tar.gz")) + ".tar.bz2")) (sha256 (base32 - "0wiagx7i8p9zal53smf5abrnh9lr31mv0p36wg017401jrmf5577")))) + "02vx69fl52jbcrmnydsaxcmy6nxqm9jyxzd7hr07s491d7hka069")))) (build-system gnu-build-system) (inputs `(("libpng" ,libpng))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 57cf583e44..7cf086cec8 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -211,7 +211,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (define-public giac-xcas (package (name "giac-xcas") - (version "1.4.9-45") + (version "1.4.9-59") (source (origin (method url-fetch) ;; "~parisse/giac" is not used because the maintainer regularly @@ -223,7 +223,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") "source/giac_" version ".tar.gz")) (sha256 (base32 - "11za5rznr2dgy6598y4iwrcyi86w7f601ci9i794kl8k22pqhcd8")))) + "0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 83fde34325..6e1e8e847a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> @@ -572,16 +572,7 @@ based on human speech recordings.") (modify-phases %standard-phases (add-after 'unpack 'remove-compiler-flags (lambda _ - (substitute* '("src/casynth/CMakeLists.txt" - "src/cheapdist/CMakeLists.txt" - "src/duffer/CMakeLists.txt" - "src/envfollower/CMakeLists.txt" - "src/ewham/CMakeLists.txt" - "src/hip2b/CMakeLists.txt" - "src/lushlife/CMakeLists.txt" - "src/powercut/CMakeLists.txt" - "src/powerup/CMakeLists.txt" - "src/stuck/CMakeLists.txt") + (substitute* (find-files "." "CMakeLists.txt") (("-msse2 -mfpmath=sse") "")) #t))))) (inputs diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 7734028dc3..df74437631 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -77,7 +77,7 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (define-public nss-mdns (package (name "nss-mdns") - (version "0.12") + (version "0.14.1") (home-page "https://github.com/lathiat/nss-mdns") (source (origin (method url-fetch) @@ -85,32 +85,13 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") name "-" version ".tar.gz")) (sha256 (base32 - "1p2vj9fz4kzrjrj81ipf4qwgnr2n7a8cbzw4bpk18xyqhdx8h775")) - (patches - (list (origin - ;; See - ;; <https://github.com/lathiat/nss-mdns/issues/26#issuecomment-364781799>. - (uri (string-append - home-page - "/commit/31ccbec3b4f054e590c7c880d8a8a50cfc97127d.patch")) - (sha256 - (base32 - "0b1jmhnkpsczbph4ala7x3rafwxdg93277s30iaxh37jnvgjnhsd")) - (method url-fetch)))))) + "134wdr0n9cm5ab4g6dwq76lvzqns9dcylr470i2xxjimnw0l22d2")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'set-avahi-socket-name - (lambda _ - ;; The Avahi daemon socket is expected by - ;; src/Makefile.am to be at - ;; "$(localstatedir)/run/avahi-daemon/socket", but - ;; nowadays it lives in /run/avahi-daemon/socket. - ;; Remove the "$(localstatedir)" bit. - (substitute* "src/Makefile.in" - (("\\$\\(localstatedir)/run/avahi-daemon/socket") - "/run/avahi-daemon/socket")) - #t))))) + ;; The Avahi daemon socket is expected by 'configure.ac' to be at + ;; "$(localstatedir)/run/avahi-daemon/socket", but nowadays it lives in + ;; /run/avahi-daemon/socket. Remove the "$(localstatedir)" bit. + '(#:configure-flags '("AVAHI_SOCKET=/run/avahi-daemon/socket"))) (synopsis "Multicast DNS Name Service Switch (@dfn{NSS}) plug-in") (description "Nss-mdns is a plug-in for the GNU C Library's Name Service Switch diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 76ff773ef1..3e6df50653 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Roel Janssen <roel@gnu.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -151,14 +152,14 @@ processing to visualization and annotation.") (define-public r-multtest (package (name "r-multtest") - (version "2.34.0") + (version "2.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "multtest" version)) (sha256 (base32 - "0n11rd49xl2vn3ldmfips7d3yb70l8npjcqsxyswr9ypjhgzkv9j")))) + "11949h2kglw13x8haaj4clg4jim1mwh5n98n9zxp9mmgn01z1lp0")))) (build-system r-build-system) (propagated-inputs `(("r-survival" ,r-survival) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 61e5d8bc34..ae021f8179 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11748,7 +11748,7 @@ accurate as existing quantification tools.") code that is used in the Cufflinks codebase. The goal of this library is to provide this functionality without the necessity of drawing in a heavy-weight dependency like SeqAn.") - (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))) + (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt")))) (define-public libdivsufsort (package diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 9df4f097ac..a1de2baa7f 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -62,7 +62,7 @@ (define-public transmission (package (name "transmission") - (version "2.93") + (version "2.94") (source (origin (method url-fetch) (uri (string-append @@ -70,7 +70,7 @@ "master/transmission-" version ".tar.xz")) (sha256 (base32 - "02xrp49gsv4jkbzp37qrwlnb9nlja08s92dyvgdbr6a4187945c8")))) + "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m")))) (build-system glib-or-gtk-build-system) (outputs '("out" ; library and command-line interface "gui")) ; graphical user interface diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 6b17e30a8e..d8ce30cd88 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -111,12 +111,12 @@ (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "./b2" "install" make-flags)))))) - (home-page "http://www.boost.org") + (home-page "https://www.boost.org") (synopsis "Peer-reviewed portable C++ source libraries") (description "A collection of libraries intended to be widely useful, and usable across a broad spectrum of applications.") - (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt" + (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) (define-public boost-sync @@ -149,7 +149,7 @@ across a broad spectrum of applications.") (description "The Boost.Sync library provides mutexes, semaphores, locks and events and other thread related facilities. Boost.Sync originated from Boost.Thread.") - (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"))))) + (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))) (define-public mdds (package diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index b4e17cb53a..bc6042874b 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -83,7 +83,7 @@ standard.") (build-system trivial-build-system) (native-inputs '()) (inputs `(("tcc" ,tcc) - ("guile" ,guile-2.0))) + ("guile" ,guile-2.2))) ;; By default TCC does not honor any search path environment variable. ;; This wrapper adds them. diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4578961acc..6f88885545 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -396,6 +396,8 @@ test coverage and has a web user interface that will refresh automatically.") (home-page "https://github.com/smartystreets/goconvey") (license license:expat))) +;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be +;; switched back to simply using (PACKAGE-SOURCE ...). (define-public googletest (package (name "googletest") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bc95fd2aa4..5cda0e3fe1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -653,14 +653,14 @@ rows, dropping names) to see if the modified versions are identical.") (define-public r-dendextend (package (name "r-dendextend") - (version "1.7.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (cran-uri "dendextend" version)) (sha256 (base32 - "1krvqadnnh53xx5ql7bwzxaif6a317jzbs1m00gnc6jnj03rfl5d")))) + "1virn3c232xwcq3d0hhkgjh5gpzl01s39iwii5gxcm9mnsxjzdrh")))) (build-system r-build-system) (propagated-inputs `(("r-fpc" ,r-fpc) @@ -1537,14 +1537,14 @@ Delaunay triangulation and convex hull computation.") (define-public r-ddalpha (package (name "r-ddalpha") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (cran-uri "ddalpha" version)) (sha256 (base32 - "1i2zcz20zy9xd42kdz09njbkq07mj2pp6f07z6dnwi5hrmvhbh9r")))) + "0g4iqhrz2gym05q40ih6srilyajw2l2mv46pchn65bc7hw4vkgrk")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -2370,14 +2370,14 @@ timeout. It can also poll several processes at once.") (define-public r-tsp (package (name "r-tsp") - (version "1.1-5") + (version "1.1-6") (source (origin (method url-fetch) (uri (cran-uri "TSP" version)) (sha256 (base32 - "03xxfr5kk4zhzpb1q1pwncdp0dhchm9b48wzhvvxn2dxf3mnby2w")))) + "1ym97xl2icjpfkrici0wig29w06bb704hp51v7h5liygjlwpkhlc")))) (properties `((upstream-name . "TSP"))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach))) @@ -3125,18 +3125,19 @@ creation and manipulation of WAVE audio files.") (define-public r-np (package (name "r-np") - (version "0.60-6") + (version "0.60-7") (source (origin (method url-fetch) (uri (cran-uri "np" version)) (sha256 (base32 - "1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr")))) + "02h62n5xclr01fx88ayp7y1s9gcnb11zb1vqshvdcq31v18h7kf2")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) ("r-cubature" ,r-cubature) + ("r-quadprog" ,r-quadprog) ("r-quantreg" ,r-quantreg))) (home-page "https://github.com/JeffreyRacine/R-Package-np") (synopsis "Non-parametric kernel smoothing methods for mixed data types") @@ -3853,14 +3854,14 @@ exchanging spatial objects with other R packages.") (define-public r-later (package (name "r-later") - (version "0.7.1") + (version "0.7.2") (source (origin (method url-fetch) (uri (cran-uri "later" version)) (sha256 (base32 - "0z9jymmclkq9zcg1fd8p6gsnm5z1sn3n9pfz3bs03qjrkbizgrvz")))) + "0l5ln7sjyi2rj7bx8iamxykqlfarv05zb9882ikizppb1cr1hgyw")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fcb4390358..0b19586d7f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> @@ -65,6 +65,7 @@ #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages bash) + #:use-module (gnu packages cmake) #:use-module (gnu packages code) #:use-module (gnu packages databases) #:use-module (gnu packages guile) @@ -340,7 +341,7 @@ editor (without an X toolkit)" ) "/share/emacs/site-lisp/" "geiser-autoloads.el")) #t))))) - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-2.2))) (native-inputs `(("emacs" ,emacs-minimal))) (home-page "https://nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Guile and Racket hacking") @@ -430,7 +431,7 @@ on stdout instead of using a socket as the Emacsclient does.") (define-public magit (package (name "magit") - (version "2.11.0") + (version "2.12.1") (source (origin (method url-fetch) (uri (string-append @@ -438,7 +439,7 @@ on stdout instead of using a socket as the Emacsclient does.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "11xly5bma9jc1jhs8fqbqrci8kz1y26yfq7dqjkqfy956wvfg6hz")))) + "1czzknmhzbggcv3bxl5amvfpp0zrkdwl1x05qarsq6qakvc85xy3")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -447,7 +448,8 @@ on stdout instead of using a socket as the Emacsclient does.") ("perl" ,perl))) (propagated-inputs `(("dash" ,emacs-dash) - ;; XXX Add 'magit-popup' dependency for the next release (after 2.11.0). + ("ghub" ,emacs-ghub) + ("magit-popup" ,emacs-magit-popup) ("with-editor" ,emacs-with-editor))) (arguments `(#:test-target "test" @@ -461,6 +463,14 @@ on stdout instead of using a socket as the Emacsclient does.") (assoc-ref %build-inputs "dash") "/share/emacs/site-lisp/guix.d/dash-" ,(package-version emacs-dash)) + (string-append "GHUB_DIR=" + (assoc-ref %build-inputs "ghub") + "/share/emacs/site-lisp/guix.d/ghub-" + ,(package-version emacs-ghub)) + (string-append "MAGIT_POPUP_DIR=" + (assoc-ref %build-inputs "magit-popup") + "/share/emacs/site-lisp/guix.d/magit-popup-" + ,(package-version emacs-magit-popup)) (string-append "WITH_EDITOR_DIR=" (assoc-ref %build-inputs "with-editor") "/share/emacs/site-lisp/guix.d/with-editor-" @@ -476,7 +486,7 @@ on stdout instead of using a socket as the Emacsclient does.") (substitute* "lisp/magit-sequence.el" (("perl") (string-append perl "/bin/perl"))) #t)))))) - (home-page "http://magit.github.io/") + (home-page "https://magit.vc/") (synopsis "Emacs interface for the Git version control system") (description "With Magit, you can inspect and modify your Git repositories with Emacs. @@ -584,6 +594,37 @@ these arguments. The prototypical use is for the command to call an external process, passing on the arguments as command line arguments.") (license license:gpl3+))) +(define-public emacs-ghub + (package + (name "emacs-ghub") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/magit/ghub/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zrb3xk04a228g2ahx0r02d0d3xskj60q73qavvmm2i56r66cxvc")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (zero? (system* "make" "info"))))))) + (native-inputs + `(("texinfo" ,texinfo))) + (home-page "https://github.com/magit/ghub") + (synopsis "Emacs client library for Github API and Gitlab API") + (description + "This package provides 2 files: @file{ghub.el} and @file{glab.el}, +which are the libraries that provide basic support for using the Github and +Gitlab APIs from Emacs packages. It abstracts access to API resources using +only a handful of functions that are not resource-specific.") + (license license:gpl3+))) + (define-public haskell-mode (package (name "haskell-mode") @@ -832,14 +873,14 @@ provides an optional IDE-like error list.") (define-public emms (package (name "emacs-emms") - (version "4.4") + (version "5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz")) (sha256 (base32 - "1b0kalhn81dir26jgsma30i5bbly7d3s1ngqpf01zjjpr7lw5v0h")) + "08f9lj77jlk96grqgjsv63s2i8ywvp4wvnmgmhnslwyx2lsdxza3")) (modules '((guix build utils))) (snippet '(begin @@ -1185,6 +1226,42 @@ or XEmacs.") a set of simplified face specifications and a user-supplied color palette") (license license:gpl3+))) +(define-public emacs-howm + (package + (name "emacs-howm") + (version "1.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://howm.sourceforge.jp/a/howm-" + version ".tar.gz")) + (sha256 + (base32 + "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk")))) + (build-system gnu-build-system) + (native-inputs + `(("emacs" ,emacs-minimal))) + (arguments + `(#:configure-flags + (list (string-append "--with-howmdir=" %output + "/share/emacs/site-lisp/guix.d/howm-" ,version)) + #:modules ((guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + (add-after 'rename-lispdir 'make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads))))) + (home-page "http://howm.osdn.jp/") + (synopsis "Note-taking tool for Emacs") + (description "Howm is a note-taking tool for Emacs. Like +code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text +searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.") + (license license:gpl1+))) + (define-public emacs-calfw (package (name "emacs-calfw") @@ -1200,6 +1277,8 @@ a set of simplified face specifications and a user-supplied color palette") (base32 "17ssg8gx66yp63nhygjq2r6kgl4h45cacmrxsxs9f0lrfcx37k0l")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-howm" ,emacs-howm))) (home-page "https://github.com/kiwanami/emacs-calfw/") (synopsis "Calendar framework for Emacs") (description @@ -2495,17 +2574,19 @@ framework for Emacs Lisp to be used with @code{ert}.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-shell + ;; Setting the SHELL environment variable is required for the tests + ;; to find sh. + (lambda _ + (setenv "SHELL" (which "sh")) + #t)) (add-before 'check 'fix-makefile (lambda _ (substitute* "Makefile" (("\\$\\(CASK\\) exec ") "")) #t))) #:tests? #t - ;; FIXME: Normally we'd run the "test" target but for some reason the - ;; test-deferred target fails when run in the Guix build environment - ;; with the error: (file-error "Searching for program" "No such file or - ;; directory" "/bin/sh"). - #:test-command '("make" "test-concurrent" "test-concurrent-compiled"))) + #:test-command '("make" "test"))) (native-inputs `(("emacs-ert-expectations" ,emacs-ert-expectations) ("emacs-undercover" ,emacs-undercover) @@ -2677,6 +2758,57 @@ implementation in Emacs. To use it just load this file and bind that function to a key in your preferred mode.") (license license:public-domain)))) +(define-public emacs-scel + (let ((version "20170629") + (revision "1") + (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b")) + (package + (name "emacs-scel") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/supercollider/scel.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw")))) + (build-system emacs-build-system) + (arguments + `(#:modules ((guix build emacs-build-system) + ((guix build cmake-build-system) #:prefix cmake:) + (guix build utils)) + #:imported-modules (,@%emacs-build-system-modules + (guix build cmake-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "el/CMakeLists.txt" + (("share/emacs/site-lisp/SuperCollider") + (string-append + "share/emacs/site-lisp/guix.d/scel-" ,version))) + ((assoc-ref cmake:%standard-phases 'configure) + #:outputs outputs + #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF")))) + (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path + (lambda _ + (setenv "EMACSLOADPATH" + (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH"))) + #t)) + (replace 'install (assoc-ref cmake:%standard-phases 'install))))) + (inputs + `(("supercollider" ,supercollider))) + (native-inputs + `(("cmake" ,cmake))) + (home-page "https://github.com/supercollider/scel") + (synopsis "SuperCollider Emacs interface") + (description "@code{emacs-scel} is an Emacs interface to SuperCollider. +SuperCollider is a platform for audio synthesis and algorithmic composition.") + (license license:gpl2+)))) + (define-public emacs-mit-scheme-doc (package (name "emacs-mit-scheme-doc") @@ -3581,7 +3713,7 @@ navigate code in a tree-like fashion.") (define-public emacs-lispy ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits ;; since. - (let ((commit "a7e1cf742e72199cc75aa5e1e686991ba4a23bc4") + (let ((commit "c2a358a7a15fcf056a5b7461a8e690b481b03b80") (revision "0")) (package (name "emacs-lispy") @@ -3592,7 +3724,7 @@ navigate code in a tree-like fashion.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "0qg85gz5akayvhb5fmn1qx7s9847gry4g20xcnq8llr839lq28dl")) + "1g6756qqx2n4cx8jac6mlwayilsiyc5rz8nrqjnywvzc75xdinjd")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -4698,7 +4830,8 @@ reproducible research.") (for-each delete-file duplicates)) #t)))))) (propagated-inputs - `(("emacs-org" ,emacs-org))) + `(("emacs-org" ,emacs-org) + ("emacs-scel" ,emacs-scel))) (synopsis "Contributed packages to Org mode") (description "Org is an Emacs mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text system. @@ -8013,3 +8146,2292 @@ Emacs.") in @code{emacs-lisp-mode}, together with an elisp equivalent of @code{slime-describe-symbol}.") (license license:gpl3+))) + +(define-public emacs-dedicated + (package + (name "emacs-dedicated") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/emacsorphanage/dedicated/archive/" + version + ".tar.gz")) + (sha256 + (base32 + "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsorphanage/dedicated") + (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag") + (description + "This simple Emacs minor mode allows you to toggle a window's +\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select +files into that window. This can be quite handy since many commands will use +another window to show results (compilation mode, starting info, and so on). +A dedicated window won't be used for such a purpose. For details, please read +the source file.") + (license license:gpl2+))) + +(define-public emacs-nnreddit + (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a") + (revision "1")) + (package + (name "emacs-nnreddit") + (version (string-append "0.0.1-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paul-issartel/nnreddit.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn")))) + (build-system emacs-build-system) + (home-page "https://github.com/paul-issartel/nnreddit") + (synopsis "Reddit backend for the Gnus newsreader") + (description "@url{https://www.reddit.com} backend for the Gnus +newsreader.") + (license license:gpl3+)))) + +(define-public emacs-makey + (package + (name "emacs-makey") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mickeynp/makey/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv")))) + (build-system emacs-build-system) + (home-page "https://github.com/mickeynp/makey") + (synopsis "Emacs interactive command-line mode") + (description + "This package provides an Emacs interactive command-line mode.") + (license license:gpl3+))) + +(define-public emacs-outorg + (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64")) + (package + (name "emacs-outorg") + (version (git-version "2.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/outorg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj")))) + (build-system emacs-build-system) + (home-page "https://github.com/alphapapa/outorg") + (synopsis "Org-style comment editing") + (description "Outorg is for editing comment-sections of source-code +files in temporary Org-mode buffers. It turns conventional +literate-programming upside-down in that the default mode is the +programming-mode, and special action has to be taken to switch to the +text-mode (i.e. Org-mode).") + (license license:gpl3+)))) + +(define-public emacs-outshine + (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6")) + (package + (name "emacs-outshine") + (version (git-version "2.0" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/outshine.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-outorg" ,emacs-outorg))) + (home-page "https://github.com/alphapapa/outshine") + (synopsis "Emacs outline with outshine") + (description "Outshine attempts to bring the look and feel of +@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension +of @code{outline-minor-mode} (@code{org-mode} itself derives from +outline-mode), so there is no such thing like an outshine mode, only +@code{outline-minor-mode} with outshine extensions loaded.") + (license license:gpl3+)))) + +(define-public emacs-parsebib + (package + (name "emacs-parsebib") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/joostkremers/parsebib/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63")))) + (build-system emacs-build-system) + (home-page "https://github.com/joostkremers/parsebib") + (synopsis "Library for parsing bib files") + (description + "This package provides an Emacs library for parsing bib files.") + (license license:gpl3+))) + +(define-public emacs-biblio + (package + (name "emacs-biblio") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "109fvivsb4r0rbqljngqrmxqvbnbkqlivczx6brrvlr7ci625lhf")))) + (build-system emacs-build-system) + (home-page "https://github.com/cpitclaudel/biblio.el") + (synopsis "Browse and import bibliographic references") + (description "This package provides an extensible Emacs package for +browsing and fetching references. + +@file{biblio.el} makes it easy to browse and gather bibliographic references +and publications from various sources, by keywords or by DOI. References are +automatically fetched from well-curated sources, and formatted as BibTeX.") + (license license:gpl3+))) + +(define-public emacs-helm-bibtex + (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463") + (revision "1")) + (package + (name "emacs-helm-bibtex") + (version (string-append "2.0.0" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tmalsburg/helm-bibtex.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm) + ("emacs-parsebib" ,emacs-parsebib) + ("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-biblio" ,emacs-biblio))) + (home-page "https://github.com/tmalsburg/helm-bibtex") + (synopsis "Bibliography manager based on Helm") + (description "This package provides bibliography manager for Emacs, +based on Helm and the bibtex-completion backend. + +Key features: + +@itemize +@item Quick access to your bibliography from within Emacs +@item Powerful search capabilities +@item Provides instant search results as you type +@item Tightly integrated with LaTeX authoring, emails, Org mode, etc. +@item Open the PDFs, URLs, or DOIs associated with an entry +@item Insert LaTeX cite commands, Ebib links, or Pandoc citations, +BibTeX entries, or plain text references at point, attach PDFs to emails +@item Support for note taking +@item Quick access to online bibliographic databases such as Pubmed, +arXiv, Google Scholar, Library of Congress, etc. +@item Imports BibTeX entries from CrossRef and other sources. +@end itemize\n") + (license license:gpl3+)))) + +(define-public emacs-ewmctrl + (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf") + (revision "1")) + (package + (name "emacs-ewmctrl") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flexibeast/ewmctrl.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi")))) + (build-system emacs-build-system) + (home-page "https://github.com/flexibeast/ewmctrl") + (synopsis "Emacs interface to @code{wmctrl}") + (description "@code{ewmctrl} provides an Emacs interface to +@code{wmctrl} command-line window-management program.") + (license license:gpl3+)))) + +(define-public emacs-helm-gtags + (package + (name "emacs-helm-gtags") + (version "1.5.6") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/syohex/emacs-helm-gtags/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36")))) + (build-system emacs-build-system) + (home-page "https://github.com/syohex/emacs-helm-gtags") + (synopsis "Emacs Helm interface to GNU Global") + (description + "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.") + (license license:gpl3+))) + +(define-public emacs-list-utils + (package + (name "emacs-list-utils") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rolandwalker/list-utils/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p")))) + (build-system emacs-build-system) + (home-page "https://github.com/rolandwalker/list-utils") + (synopsis "List-manipulation utility functions") + (description "This package provides a list manipulation library for Emacs.") + (license license:gpl3+))) + +(define-public emacs-move-text + (package + (name "emacs-move-text") + (version "2.0.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/emacsfodder/move-text/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsfodder/move-text") + (synopsis "Move current line or region with M-up or M-down") + (description "This package provide functions to move the current line +using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the +region instead.") + (license license:gpl3+))) + +(define-public emacs-validate + (package + (name "emacs-validate") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/Malabarba/validate.el" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg")))) + (build-system emacs-build-system) + (home-page "https://github.com/Malabarba/validate.el") + (synopsis "Emacs library for scheme validation") + (description "This Emacs library provides two functions that perform +schema validation.") + (license license:gpl3+))) + +(define-public emacs-load-relative + (let ((commit "738896e3da491b35399178ed2c6bc92cc728d119") + (revision "1")) + (package + (name "emacs-load-relative") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rocky/emacs-load-relative") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1rpy5mfncncl6gqgg53d3g25g1700g4b9bivd4c0cfcv5dbxhp73")))) + (build-system emacs-build-system) + (home-page "https://github.com/rocky/emacs-load-relative") + (synopsis "Relative loads for Emacs Lisp files") + (description "@code{load-relative} allows to write small Emacs +functions or modules in a larger multi-file Emacs package and +facilitate running from the source tree without having to install the +code or fiddle with evil @code{load-path}.") + (license license:gpl3+)))) + +(define-public emacs-rainbow-blocks + (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842")) + (package + (name "emacs-rainbow-blocks") + (version (git-version "1.0.0" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/istib/rainbow-blocks.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795")))) + (build-system emacs-build-system) + (home-page "https://github.com/istib/rainbow-blocks") + (synopsis "Highlight sexp blocks") + (description "Rainbow-blocks is an Emacs mode that highlights blocks +made of parentheses, brackets, and braces according to their depth. Each +successive level is highlighted in a different color. This makes it easy to +orient yourself in the code, and tell which statements are at a given level.") + (license license:gpl3+)))) + +(define-public emacs-hierarchy + (package + (name "emacs-hierarchy") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/DamienCassou/hierarchy/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8")))) + (build-system emacs-build-system) + (home-page "https://github.com/DamienCassou/hierarchy") + (synopsis "Library to create and display hierarchy structures") + (description "This package provides an Emacs library to create, query, +navigate and display hierarchy structures.") + (license license:gpl3+))) + +(define-public emacs-tree-mode + (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534") + (revision "1")) + (package + (name "emacs-tree-mode") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/tree-mode.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsorphanage/tree-mode") + (synopsis "Emacs mode to manage tree widgets") + (description + "This package provides an Emacs library to manage tree widgets.") + (license license:gpl3+)))) + +(define-public emacs-md4rd + (let ((commit "be0fc4951b2d1f5194ffa1fcaac706dbac560500") + (revision "1")) + (package + (name "emacs-md4rd") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ahungry/md4rd.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq")))) + (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 "08c59e1dc45ec96edb62f34036e82cf5f14c0e8b") + (revision "1")) + (package + (name "emacs-pulseaudio-control") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flexibeast/pulseaudio-control.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "10cgg1r00kz2fsnnryvzay5pf8s1pwb1dzlds1fbjdnyfvdgammv")))) + (build-system emacs-build-system) + (home-page "https://github.com/flexibeast/pulseaudio-control") + (synopsis "Control @code{pulseaudio} from Emacs") + (description + "This package allows to control @code{pulseaudio} from Emacs.") + (license license:gpl3+)))) + +(define-public emacs-datetime + (package + (name "emacs-datetime") + (version "0.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/doublep/datetime/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9")))) + (build-system emacs-build-system) + (home-page "https://github.com/doublep/datetime/") + (synopsis "Library to work with dates in Emacs") + (description "Parsing, formatting, matching and recoding +timestamps and date-time format strings library for Emacs.") + (license license:gpl3+))) + +(define-public emacs-org-mind-map + (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb") + (revision "1")) + (package + (name "emacs-org-mind-map") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theodorewiles/org-mind-map.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (build-system emacs-build-system) + (home-page "https://github.com/theodorewiles/org-mind-map") + (synopsis "Create Graphviz directed graphs from Org files") + (description + "This package creates Graphviz directed graphs from Org files.") + (license license:gpl3+)))) + +(define-public emacs-npm-mode + (package + (name "emacs-npm-mode") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mojochao/npm-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5")))) + (build-system emacs-build-system) + (home-page "https://github.com/mojochao/npm-mode") + (synopsis "Minor mode for working with @code{npm} projects") + (description + "@code{npm-mode} provides a minor mode to work with @code{npm} projects.") + (license license:gpl3+))) + +(define-public emacs-seq + (package + (name "emacs-seq") + (version "2.20") + (source + (origin + (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar")) + (sha256 + (base32 + "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/seq.html") + (synopsis "Sequence manipulation functions") + (description "Sequence-manipulation functions that complement basic +functions provided by @file{subr.el}.") + (license license:gpl3+))) + +(define-public emacs-itail + (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888") + (revision "1")) + (package + (name "emacs-itail") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/re5et/itail.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv")))) + (build-system emacs-build-system) + (home-page "https://github.com/re5et/itail") + (synopsis "Interactive @code{tail} Emacs mode") + (description "@code{itail} provides interactive @code{tail} mode +that allows you to filter the tail with unix pipes and highlight the +contents of the tailed file. Works locally or on remote files using +tramp.") + (license license:gpl3+)))) + +(define-public emacs-loop + (package + (name "emacs-loop") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Wilfred/loop.el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9")))) + (build-system emacs-build-system) + (home-page "https://github.com/Wilfred/loop.el") + (synopsis "Imperative loop structures for Emacs") + (description "Loop structures familiar to users of other languages. This +library adds a selection of popular loop structures as well as break and +continue.") + (license license:gpl3+))) + +(define-public emacs-elisp-refs + (package + (name "emacs-elisp-refs") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fj6wphwrvbslw46w7wgdk3b4bfr312ygj3lbgr9qw63lpqw26nl")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-list-utils" ,emacs-list-utils) + ("emacs-loop" ,emacs-loop) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/Wilfred/elisp-refs") + (synopsis "Find callers of elisp functions or macros") + (description "Find references to functions, macros or variables. Unlike a +dumb text search, @code{elisp-refs} actually parses the code, so it's never +confused by comments or @code{foo-bar} matching @code{foo}.") + (license license:gpl3+))) + +(define-public emacs-crux + (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f") + (revision "1")) + (package + (name "emacs-crux") + (version (string-append "0.3.0" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/crux.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd")))) + (build-system emacs-build-system) + (home-page "https://github.com/bbatsov/crux") + (synopsis "Collection of useful functions for Emacs") + (description + "@code{crux} provides a collection of useful functions for Emacs.") + (license license:gpl3+)))) + +(define-public emacs-edit-server + (package + (name "emacs-edit-server") + (version "1.13") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "servers")))))) + (home-page "https://github.com/stsquad/emacs_chrome") + (synopsis "Server that responds to edit requests from Chromium") + (description + "This package provides an edit server to respond to requests from Emacs.") + (license license:gpl3+))) + +(define-public emacs-m-buffer-el + (package + (name "emacs-m-buffer-el") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/phillord/m-buffer-el" + "/archive/" "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda* (#:key inputs #:allow-other-keys) + (zero? (system* "emacs" "--batch" "-L" "." + "-l" "test/m-buffer-test.el" + "-l" "test/m-buffer-at-test.el" + "-f" "ert-run-tests-batch-and-exit"))))))) + (build-system emacs-build-system) + (home-page "https://github.com/phillord/m-buffer-el") + (synopsis "List oriented buffer operations for Emacs") + (description "@code{m-buffer} provides a set of list-orientated functions +for operating over the contents of Emacs buffers.") + (license license:gpl3+))) + +(define-public emacs-let-alist + (package + (name "emacs-let-alist") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/let-alist-" version ".el")) + (sha256 + (base32 + "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/let-alist.html") + (synopsis "Easily let-bind values of an assoc-list by their names") + (description "This package offers a single macro, @code{let-alist}. This +macro takes a first argument (whose value must be an alist) and a body.") + (license license:gpl3+))) + +(define-public emacs-esup + (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7") + (revision "1")) + (package + (name "emacs-esup") + (version (string-append "0.6" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jschaf/esup.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv")))) + ;; TODO: Add tests + (build-system emacs-build-system) + (home-page "https://github.com/jschaf/esup") + (synopsis "Emacs start up profiler") + (description "Benchmark Emacs Startup time without ever leaving +your Emacs.") + (license license:gpl2+)))) + +(define-public emacs-sourcemap + (package + (name "emacs-sourcemap") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6")))) + (build-system emacs-build-system) + (home-page "https://github.com/syohex/emacs-sourcemap") + (synopsis "Sourcemap parser") + (description "Sourcemap parser") + (license license:gpl3+))) + +(define-public emacs-macrostep + (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267")) + (package + (name "emacs-macrostep") + (version (git-version "0.9" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joddie/macrostep.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz")))) + (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'remove-test + ;; Fails because of requirement ‘/bin/sh’. + (lambda _ + (let ((file "macrostep-test.el")) + (chmod file #o644) + (emacs-batch-edit-file file + `(progn (progn (goto-char (point-min)) + (re-search-forward + "(ert-deftest macrostep-expand-c-macros") + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer)))))) + (add-before 'install 'check + (lambda _ + (invoke "emacs" "--batch" "-L" "." + "-l" "macrostep-test.el" + "-f" "ert-run-tests-batch-and-exit")))))) + (home-page "https://github.com/joddie/macrostep") + (synopsis "Interactive macro-expander for Emacs") + (description "@code{macrostep} is an Emacs minor mode for interactively +stepping through the expansion of macros in Emacs Lisp source code. It lets +you see exactly what happens at each step of the expansion process by +pretty-printing the expanded forms inline in the source buffer, which is +temporarily read-only while macro expansions are visible. You can expand and +collapse macro forms one step at a time, and evaluate or instrument the +expansions for debugging with Edebug as normal (but see “Bugs and known +limitations”, below). Single-stepping through the expansion is particularly +useful for debugging macros that expand into another macro form. These can be +difficult to debug with Emacs’ built-in macroexpand, which continues expansion +until the top-level form is no longer a macro call.") + (license license:gpl3+)))) + +(define-public emacs-parent-mode + (package + (name "emacs-parent-mode") + (version "2.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Fanael/parent-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fanael/parent-mode") + (synopsis "Get major mode's parent modes") + (description "Get major mode's parent modes") + (license license:gpl3+))) + +(define-public emacs-lacarte + (package + (name "emacs-lacarte") + (version "0.1") + (source (origin + (method url-fetch) + (uri "https://www.emacswiki.org/emacs/download/lacarte.el") + (sha256 + (base32 + "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/lacarte.el") + (synopsis "Execute menu items as commands, with completion") + (description "Execute menu items as commands, with completion.") + (license license:gpl3))) + +(define-public emacs-company-lua + (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4")) + (package + (name "emacs-company-lua") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ptrv/company-lua.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-lua-mode" ,emacs-lua-mode))) + (home-page "https://github.com/ptrv/company-lua") + (synopsis "Company backend for Lua") + (description + "This package provides Company backend for Lua programming language.") + (license license:gpl3+)))) + +(define-public emacs-beginend + (package + (name "emacs-beginend") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/DamienCassou/beginend/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq")))) + ;; TODO: Run tests. + (build-system emacs-build-system) + (inputs + `(("emacs-undercover" ,emacs-undercover))) ; For tests. + (home-page "https://github.com/DamienCassou/beginend") + (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes") + (description "@code{beginend} redefines @code{M-<} and @code{M->} +keybindings for Emacs modes so that point moves to meaningful +locations. Redefined keys are still accessible by pressing the same +key again.") + (license license:gpl3+))) + +(define-public emacs-mbsync + (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3") + (revision "1")) + (package + (name "emacs-mbsync") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dimitri/mbsync-el.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6")))) + (build-system emacs-build-system) + (home-page "https://github.com/dimitri/mbsync-el") + (synopsis "Interface to mbsync for Emacs") + (description "This package allows to call the @code{mbsync} from +within Emacs.") + (license license:gpl3+)))) + +(define-public emacs-ibuffer-projectile + (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011") + (revision "1")) + (package + (name "emacs-ibuffer-projectile") + (version (string-append "0.2" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/ibuffer-projectile.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-projectile" ,emacs-projectile))) + (home-page "https://github.com/purcell/ibuffer-projectile") + (synopsis "Group ibuffer's list by projectile root") + (description "Adds functionality to Emacs @code{ibuffer} for +grouping buffers by their projectile root directory.") + (license license:gpl3+)))) + +(define-public emacs-helm-mode-manager + (package + (name "emacs-helm-mode-manager") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/istib/helm-mode-manager/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm))) + (home-page "https://github.com/istib/helm-mode-manager/") + (synopsis "Switch and toggle Emacs major and minor modes using Helm") + (description "This package provides a Helm interface for toggling Emacs +major or minor mode. + +@itemize +@item @code{helm-switch-major-mode} list of all major modes +@item @code{helm-enable-minor-mode} list of all inactive minor modes +@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes +@end itemize\n + +Hitting @code{RET} enables the mode, @code{C-z} shows the mode +documentation.") + (license license:gpl3+))) + +(define-public emacs-hy-mode + (package + (name "emacs-hy-mode") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/hylang/hy-mode/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sbga36zkyhzrzcczsyjzll7b9qsa215pnlw51m4li2irm23jh17")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/hylang/hy-mode") + (synopsis "Major mode for Hylang") + (description "This package provides a major mode for Hylang.") + (license license:gpl3+))) + +(define-public emacs-web-beautify + (package + (name "emacs-web-beautify") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/yasuyk/web-beautify/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs")))) + (build-system emacs-build-system) + (home-page "https://github.com/yasuyk/web-beautify") + (synopsis "Format HTML, CSS and JavaScript, JSON") + (description "This package provides an Emacs functions to format HTML, +CSS, JavaScript, JSON.") + (license license:gpl3+))) + +(define-public emacs-helm-shell-history + (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1")) + (package + (name "emacs-helm-shell-history") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yuutayamada/helm-shell-history.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj")))) + (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'patch-helm-shell-history-file + (lambda _ + (let ((file "helm-shell-history.el")) + (chmod file #o644) + (emacs-substitute-sexps file + ("(defvar helm-shell-history-file" + `(expand-file-name "~/.bash_history")))) + #t))))) + (home-page "https://github.com/yuutayamada/helm-shell-history") + (synopsis "Find shell history with Emacs Helm") + (description "This package provides an Emacs Helm interface to search +throw a shell history.") + (license license:gpl3+)))) + +(define-public emacs-discover-my-major + (package + (name "emacs-discover-my-major") + (version "1.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/steckerhalter/discover-my-major" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-makey" ,emacs-makey))) + (home-page "https://github.com/steckerhalter/discover-my-major") + (synopsis "Discover key bindings for the current Emacs major mode") + (description "This package provides allows to discover key bindings and +their meaning for the current Emacs major-mode.") + (license license:gpl3+))) + +(define-public emacs-org-ref + (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129") + (revision "1")) + (package + (name "emacs-org-ref") + (version (string-append "1.1.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jkitchin/org-ref.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-helm" ,emacs-helm) + ("emacs-helm-bibtex" ,emacs-helm-bibtex) + ("emacs-ivy" ,emacs-ivy) + ("emacs-hydra" ,emacs-hydra) + ("emacs-key-chord" ,emacs-key-chord) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-pdf-tools" ,emacs-pdf-tools))) + (home-page "https://github.com/jkitchin/org-ref") + (synopsis "Citations, cross-references and bibliographies in org-mode") + (description + "Lisp code to setup bibliography, cite, ref and label org-mode links. +Also sets up reftex and helm for org-mode citations. The links are +clickable and do things that are useful. + +The default setup uses helm-bibtex. + +You should really read org-ref.org in this package for details.") + (license license:gpl3+)))) + +(define-public emacs-add-hooks + (package + (name "emacs-add-hooks") + (version "3.1.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/nickmccurdy/add-hooks/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549")))) + (build-system emacs-build-system) + (home-page "https://github.com/nickmccurdy/add-hooks/") + (synopsis "Emacs function for setting multiple hooks") + (description "This package provides a @code{add-hooks} function tidies up +duplicate hook and function names further into a single declarative call.") + (license license:gpl3+))) + +(define-public emacs-fancy-narrow + (package + (name "emacs-fancy-narrow") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n")))) + (build-system emacs-build-system) + (home-page "https://github.com/Malabarba/fancy-narrow/releases") + (synopsis "Immitate narrow-to-region with more eye-candy") + (description "Unlike narrow-to-region, which completely hides text outside +the narrowed region, this package simply deemphasizes the text, makes it +readonly, and makes it unreachable. This leads to a much more natural +feeling, where the region stays static (instead of being brutally moved to a +blank slate) and is clearly highlighted with respect to the rest of the +buffer.") + (license license:gpl2+))) + +(define-public emacs-know-your-http-well + (package + (name "emacs-know-your-http-well") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/for-GET/know-your-http-well/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'install-json-files + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (directory) + (copy-recursively directory + (string-append + (assoc-ref outputs "out") + directory))) + '("js" "json")))) + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "emacs")))))) + (build-system emacs-build-system) + (home-page "https://github.com/for-GET/know-your-http-well") + (synopsis "Meaning of HTTP headers codes") + (description "Meaning of HTTP headers codes.") + (license license:gpl3+))) + +(define-public emacs-navi-mode + (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674")) + (package + (name "emacs-navi-mode") + (version (git-version "2.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/navi.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-outshine" ,emacs-outshine) + ("emacs-outorg" ,emacs-outorg))) + (home-page "https://github.com/alphapapa/navi") + (synopsis "Emacs major-mode for easy buffer-navigation") + (description + "This package provides an Emacs major-mode for easy buffer-navigation") + (license license:gpl3+)))) + +(define-public emacs-download-region + (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa") + (revision "1")) + (package + (name "emacs-download-region") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zk-phi/download-region.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc")))) + (build-system emacs-build-system) + (home-page "https://github.com/zk-phi/download-region") + (synopsis "In buffer download manager for Emacs") + (description "@code{download-region} provides in buffer +downloading manager for Emacs.") + (license license:gpl3+)))) + +(define-public emacs-csv-mode + (package + (name "emacs-csv-mode") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/csv-mode-" + version ".el")) + (sha256 + (base32 + "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/csv-mode.html") + (synopsis "Major mode for editing comma or char separated values") + (description + "This package provides an Emacs CSV mode, a major mode for editing +records in a generalized CSV (character-separated values) format.") + (license license:gpl3+))) + +(define-public emacs-helpful + (package + (name "emacs-helpful") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Wilfred/helpful/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16dx566qzrjj0bf43lnw7h1qlvgs94brqplamw8kppp2ylr72qs9")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-elisp-refs" ,emacs-elisp-refs))) + (home-page "https://github.com/Wilfred/helpful") + (synopsis "More contextual information in Emacs help") + (description "@code{helpful} is an alternative to the built-in Emacs help +that provides much more contextual information. + +@itemize +@item Show the source code for interactively defined functions (unlike the +built-in Help). +@item Fall back to the raw sexp if no source is available. +@item Show where a function is being called. +@item Docstrings will Highlight the summary (the first sentence), include +cross-references, hide superfluous puncuation. +@item Show you the properties that have been applied to the current +symbol. This provides visibility of features like edebug or byte-code +optimisation. +@item Provide a separate @code{helpful-command} function to view interactive +functions. +@item Display any keybindings that apply to interactive functions. +@item Trace, disassemble functions from inside Helpful. This is discoverable +and doesn't require memorisation of commands. +@end itemize\n") + (license license:gpl3+))) + +(define-public emacs-logview + (package + (name "emacs-logview") + (version "0.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/doublep/logview/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp")))) + (propagated-inputs + `(("emacs-datetime" ,emacs-datetime))) + (build-system emacs-build-system) + (home-page "https://github.com/doublep/logview/") + (synopsis "Emacs mode for viewing log files") + (description "@code{logview} provides an Emacs mode to view log files.") + (license license:gpl3+))) + +(define-public emacs-suggest + (package + (name "emacs-suggest") + (version "0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Wilfred/suggest.el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-loop" ,emacs-loop) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f))) + (home-page "https://github.com/Wilfred/suggest.el") + (synopsis "Suggest Elisp functions that give the output requested") + (description "Suggest.el will find functions that give the output +requested. It's a great way of exploring list, string and arithmetic +functions.") + (license license:gpl3+))) + +(define-public emacs-benchmark-init + (package + (name "emacs-benchmark-init") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/dholm/benchmark-init-el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz")))) + (build-system emacs-build-system) + (home-page "https://github.com/dholm/benchmark-init-el") + (synopsis "Benchmark Emacs @code{require} and @code{load} calls") + (description "@code{benchmark-init} provides a way to keep track of where +time is being spent during Emacs startup in order to optimize startup time.") + (license license:gpl3+))) + +(define-public emacs-emms-player-simple-mpv + (let ((commit "101d120ccdee1c2c213fd2f0423c858b21649c00") + (revision "1")) + (package + (name "emacs-emms-player-simple-mpv") + (version (string-append "0.4.0" "-" revision "." + (string-take commit 7))) + + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/momomo5717/emms-player-simple-mpv.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i6rxkm0ra0jbkkwgkwxg3vk5xfl794h1gkgnlpscynz0v94b6ll")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-emms" ,emms))) + (home-page "https://github.com/momomo5717/emms-player-simple-mpv") + (synopsis "Extension of @file{emms-player-simple.el} for mpv JSON IPC") + (description "@code{emms-player-simple-mpv} provides macros and +functions for defining emms simple players of mpv.") + (license license:gpl3+)))) + +(define-public emacs-magit-org-todos-el + (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a")) + (package + (name "emacs-magit-org-todos-el") + (version (git-version "0.1.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/danielma/magit-org-todos.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn")))) + (build-system emacs-build-system) + (home-page "https://github.com/danielma/magit-org-todos.el") + (synopsis "Get todo.org into Emacs Magit status") + (description "This package allows you to get @file{todo.org} into your +magit status. + +If you have a @file{todo.org} file with @code{TODO} items in the root of your +repository, @code{magit-org-todos} will create a section in your Magit status +buffer with each of your todos.") + (license license:gpl3+)))) + +(define-public emacs-f3 + (package + (name "emacs-f3") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cosmicexplorer/f3/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm))) + (home-page "https://github.com/cosmicexplorer/f3") + (synopsis "Fantastic File Finder for Emacs") + (description + "The Fantastic File Finder for Emacs. Find files fast, using helm.") + (license license:gpl3+))) + +(define-public emacs-dumb-jump + (package + (name "emacs-dumb-jump") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jacktasia/dumb-jump/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash) + ("emacs-popup" ,emacs-popup))) + (home-page "https://github.com/jacktasia/dumb-jump") + (synopsis "Jump to definition for multiple languages without configuration") + (description "Dumb Jump is an Emacs \"jump to definition\" package with +support for multiple programming languages that favors \"just working\" over +speed or accuracy. This means minimal -- and ideally zero -- configuration +with absolutely no stored indexes (TAGS) or persistent background processes. +Dumb Jump performs best with The Silver Searcher `ag` or ripgrep `rg` +installed. Dumb Jump requires at least GNU Emacs 24.3. ") + (license license:gpl3+))) + +(define-public emacs-lice-el + (let ((commit "4339929927c62bd636f89bb39ea999d18d269250")) + (package + (name "emacs-lice-el") + (version (git-version "0.2" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/buzztaiki/lice-el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb")))) + (build-system emacs-build-system) + (home-page "https://github.com/buzztaiki/lice-el") + (synopsis "License and header template for Emacs") + (description "@code{lice.el} provides following features: + +@itemize +@item License template management. +@item File header insertion. +@end itemize\n") + (license license:gpl3+)))) + +(define-public emacs-academic-phrases + (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656")) + (package + (name "emacs-academic-phrases") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nashamri/academic-phrases.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-ht" ,emacs-ht))) + (home-page "https://github.com/nashamri/academic-phrases") + (synopsis "Bypass that mental block when writing your papers") + (description + "When writing your academic paper, you might get stuck trying to find +the right phrase that captures your intention. This package tries to +alleviate that problem by presenting you with a list of phrases organized by +the topic or by the paper section that you are writing. This package has +around 600 phrases so far. + +Using this package is easy, just call @code{academic-phrases} to get a list of +phrases organized by topic, or call @code{academic-phrases-by-section} to +browse the phrases by the paper section and fill-in the blanks if required.") + (license license:gpl3+)))) + +(define-public emacs-auto-yasnippet + (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b")) + (package + (name "emacs-auto-yasnippet") + (version (git-version "0.3.0" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/auto-yasnippet.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk")))) + (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda _ + (invoke "emacs" "--batch" + "-l" "auto-yasnippet.el" + "-l" "auto-yasnippet-test.el" + "-f" "ert-run-tests-batch-and-exit")))))) + (propagated-inputs + `(("emacs-yasnippet" ,emacs-yasnippet))) + (home-page "https://github.com/abo-abo/auto-yasnippet/") + (synopsis "Quickly create disposable yasnippets") + (description "This package provides a hybrid of keyboard macros and +yasnippet. You create the snippet on the go, usually to be used just in the +one place. It's fast, because you're not leaving the current buffer, and all +you do is enter the code you'd enter anyway, just placing ~ where you'd like +yasnippet fields and mirrors to be.") + (license license:gpl3+)))) + +(define-public emacs-highlight-numbers + (package + (name "emacs-highlight-numbers") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Fanael/highlight-numbers/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-parent-mode" ,emacs-parent-mode))) + (home-page "https://github.com/Fanael/highlight-numbers") + (synopsis "Highlight numbers in source code") + (description "@code{highlight-numbers-mode} provides a minor mode for +syntax highlighting of numeric literals in source code. + +It s customizable: it's easy to add or redefine what exactly consitutes a +\"number\" in given major mode. See @code{highlight-numbers-modelist}.") + (license license:gpl3+))) + +(define-public emacs-darkroom + (package + (name "emacs-darkroom") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/darkroom-" + version ".el")) + (sha256 + (base32 + "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/darkroom.html") + (synopsis "Remove visual distractions and focus on writing") + (description "@code{darkroom-mode} makes visual distractions disappear. +The mode-line is temporarily elided, text is enlarged and margins are adjusted +so that it's centered on the window. + +@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on +@code{darkroom-mode}, unless the current buffer lives in the sole window of +the Emacs frame (i.e. all other windows are deleted). Whenever the frame is +split to display more windows and more buffers, the buffer exits +@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters +@code{darkroom-mode}.") + (license license:gpl3+))) + +(define-public emacs-rsw-elisp + (package + (name "emacs-rsw-elisp") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/rswgnu/rsw-elisp" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps")))) + (build-system emacs-build-system) + (home-page "https://github.com/rswgnu/rsw-elisp") + (synopsis "Improved expressions that interactively evaluate Emacs Lisp") + (description "This package improves and replaces the GNU Emacs commands +that interactively evaluate Emacs Lisp expressions. The new commands replace +standard key bindings and are all prefixed with rsw-elisp-. They work the +same way as the old commands when called non-interactively; only the +interactive behavior should be different.") + (license license:gpl3+))) + +(define-public emacs-default-text-scale + (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8") + (revision "1")) + (package + (name "emacs-default-text-scale") + (version (string-append "0.1" "-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/default-text-scale") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h")))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/default-text-scale") + (synopsis "Adjust the font size in all Emacs frames") + (description "This package provides commands for increasing or +decreasing the default font size in all GUI Emacs frames.") + (license license:gpl3+)))) + +(define-public emacs-visual-regexp + (package + (name "emacs-visual-regexp") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/benma/visual-regexp.el/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92")))) + (build-system emacs-build-system) + (home-page "https://github.com/benma/visual-regexp.el/") + (synopsis "Regexp command with interactive visual feedback") + (description "This package provides an Emacs regexp command with +interactive visual feedback.") + (license license:gpl3+))) + +(define-public emacs-faceup + (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154") + (revision "1")) + (package + (name "emacs-faceup") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Lindydancer/faceup.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx")))) + (build-system emacs-build-system) + (home-page "https://github.com/Lindydancer/faceup") + (synopsis "Markup language for faces and font-lock regression testing") + (description "Emacs is capable of highlighting buffers based on +language-specific @code{font-lock} rules. This package makes it possible to +perform regression test for packages that provide font-lock rules.") + (license license:gpl3+)))) + +(define-public emacs-racket-mode + (let ((commit "33877b1bb24faea68842e0396bd5718b84e47451") + (revision "1")) + (package + (name "emacs-racket-mode") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/greghendershott/racket-mode") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-faceup" ,emacs-faceup) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/greghendershott/racket-mode") + (synopsis "Major mode for Racket language") + (description "@code{racket-mode} provides: + +@itemize +@item Focus on Racket (not various Schemes). +@item Follow DrRacket concepts where applicable. +@item Thorough font-lock and indent. +@end itemize\n") + (license license:gpl3+)))) + +(define-public emacs-grep-context + (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7")) + (package + (name "emacs-grep-context") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mkcms/grep-context.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/nashamri/academic-phrases") + (synopsis "Increase context in compilation and grep buffers") + (description + "This package provides an Emacs package for more context in +compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag}, +@code{ivy}.") + (license license:gpl3+)))) + +(define-public emacs-helm-firefox + (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085") + (revision "1")) + (package + (name "emacs-helm-firefox") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm-firefox.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-helm/helm-firefox") + (synopsis "Display firefox bookmarks with Emacs Helm interface") + (description "Display firefox bookmarks with Emacs Helm interface") + (license license:gpl3+)))) + +(define-public emacs-interactive-align + (package + (name "emacs-interactive-align") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mkcms/interactive-align/" + "archive/" "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m")))) + (build-system emacs-build-system) + (home-page "https://github.com/mkcms/interactive-align/") + (synopsis "Interactive align-regexp command in Emacs") + (description "Interactive align-regexp command in Emacs") + (license license:gpl3+))) + +(define-public emacs-shift-number + (package + (name "emacs-shift-number") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/alezost/shift-number.el" + "/archive/" "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x")))) + (build-system emacs-build-system) + (home-page "https://github.com/alezost/shift-number.el") + (synopsis "Increase or decrease the number at point") + (description "@code{emacs-shift-number} provides commands +@code{shift-number-up} to increase and @code{shift-number-down} to +decrease the number at point.") + (license license:gpl3+))) + +(define-public emacs-highlight-defined + (package + (name "emacs-highlight-defined") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Fanael/highlight-defined/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fanael/highlight-defined") + (synopsis "Syntax highlighting of known Elisp symbols") + (description "Minor mode providing syntax highlighting of known Emacs Lisp +symbols. Currently the code distinguishes Lisp functions, built-in functions, +macros, faces and variables. To enable call @code{highlight-defined-mode}. ") + (license license:gpl3+))) + +(define-public emacs-parinfer-mode + (package + (name "emacs-parinfer-mode") + (version "0.4.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) + ("emacs-company" ,emacs-company))) + (build-system emacs-build-system) + (home-page "https://github.com/DogLooksGood/parinfer-mode/") + (synopsis "Lisp structure editing mode") + (description "@code{parinfer-mode} is a proof-of-concept editor +mode for Lisp programming languages. It will infer some changes to +keep Parens and Indentation inline with one another.") + (license license:gpl3+))) + +(define-public emacs-helm-eww + (let ((commit "5d6c2c66d4694415ef8a16a6d38a37aeae76c5ac")) + (package + (name "emacs-helm-eww") + (version (git-version "0.1" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm-eww.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-helm/helm-eww/") + (synopsis "Helm interface to EWW") + (description "This package provides a Helm interface for EWW buffers, +bookmarks and history.") + (license license:gpl3+)))) + +(define-public emacs-stumpwm-mode + (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35") + (revision "1")) + (package + (name "emacs-stumpwm-mode") + (version (string-append "0.0.1-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm-contrib.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "util/swm-emacs")))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Emacs minor-mode for Stumpwm") + (description "Emacs minor-mode for Stumpwm") + (license license:gpl3+)))) + +(define-public emacs-irfc + (package + (name "emacs-irfc") + (version "20130824.507") + (source + (origin + (method url-fetch) + (uri "https://www.emacswiki.org/emacs/download/irfc.el") + (file-name (string-append "irfc-" version ".el")) + (sha256 + (base32 + "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/download/irfc.el") + (synopsis "Interface for IETF RFC document") + (description + "This package provides an Emacs interface for IETF RFC document.") + (license license:gpl3+))) + +(define-public emacs-ido-vertical-mode + (package + (name "emacs-ido-vertical-mode") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/creichert/ido-vertical-mode.el/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53")))) + (build-system emacs-build-system) + (home-page "https://github.com/creichert/ido-vertical-mode.el") + (synopsis "Makes ido-mode display vertically") + (description "Makes ido-mode display prospects vertically.") + (license license:gpl3+))) + +(define-public emacs-wordgen + (package + (name "emacs-wordgen") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Fanael/wordgen.el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fanael/wordgen.el") + (synopsis "Random word generator") + (description "This package provides functions to generate random words +using user-provided rules.") + (license license:gpl3+))) + +(define-public emacs-on-screen + (package + (name "emacs-on-screen") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://elpa.gnu.org/packages/on-screen-" version ".el")) + (file-name (string-append name "-" version ".el")) + (sha256 + (base32 + "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv")))) + (build-system emacs-build-system) + (home-page + "https://github.com/michael-heerdegen/on-screen.el") + (synopsis "Guide your eyes while scrolling") + (description + "Scrolling can be distracting because your eyes may lose +orientation. This library implements a minor mode that highlights +the previously visible buffer part after each scroll.") + (license license:gpl3+))) + +(define-public emacs-highlight-escape-sequences + (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41") + (revision "1")) + (package + (name "emacs-highlight-escape-sequences") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dgutov/highlight-escape-sequences.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is")))) + (build-system emacs-build-system) + (home-page "https://github.com/dgutov/highlight-escape-sequences") + (synopsis "Highlight escape sequences in Emacs") + (description "@code{highlight-escape-sequences} provides an +Emacs minor mode to escape sequences in code.") + (license license:gpl3+)))) + +(define-public emacs-dashboard + (package + (name "emacs-dashboard") + (version "1.2.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/rakanalh/emacs-dashboard/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-page-break-lines" ,emacs-page-break-lines))) + (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$"))) + (home-page "https://github.com/rakanalh/emacs-dashboard") + (synopsis "Startup screen extracted from Spacemacs") + (description "This package provides an extensible Emacs dashboard, with +sections for bookmarks, projectil projects, org-agenda and more. ") + (license license:gpl3+))) + +(define-public emacs-slime-company + (package + (name "emacs-slime-company") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/anwyn/slime-company/archive/" + "v" version ".tar.gz")) + (sha256 + (base32 + "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-slime" ,emacs-slime) + ("emacs-company" ,emacs-company))) + (home-page "https://company-mode.github.io") + (synopsis "SLIME completion backend for @code{company-mode}") + (description + "This is a backend implementation for the completion package +@code{company-mode} which supports the normal and the fuzzy completion +modes of SLIME.") + (license license:gpl3+))) + +(define-public emacs-sml-mode + (package + (name "emacs-sml-mode") + (version "6.8") + (source + (origin + (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/sml-mode-" + version ".el")) + (sha256 + (base32 + "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/sml-mode.html") + (synopsis "Major mode for editing (Standard) ML") + (description "SML-MODE is a major Emacs mode for editing Standard ML. +It provides syntax highlighting and automatic indentation and +comes with sml-proc which allows interaction with an inferior SML +interactive loop.") + (license license:gpl3+))) + +(define-public emacs-eros + (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5") + (revision "1")) + (package + (name "emacs-eros") + (version (string-append "0.0.1" "-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xiongtx/eros.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4")))) + (build-system emacs-build-system) + (home-page "https://github.com/xiongtx/eros") + (synopsis "Evaluation result overlays") + (description "@code{eros} provides evaluation result overlays.") + (license license:gpl3+)))) + +(define-public emacs-stickyfunc-enhance + (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0") + (revision "1")) + (package + (name "emacs-stickyfunc-enhance") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g")))) + (build-system emacs-build-system) + (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance") + (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}") + (description + "@code{semantic-stickyfunc-mode} shows the function point is currently +in at the first line of the current buffer. This is useful when you have a +very long function that spreads more than a screen, and you don't have to +scroll up to read the function name and then scroll down to original position.") + (license license:gpl3+)))) + +(define-public emacs-git-auto-commit-mode + (package + (name "emacs-git-auto-commit-mode") + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/ryuslash/git-auto-commit-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870")))) + (build-system emacs-build-system) + (home-page "https://github.com/ryuslash/git-auto-commit-mode") + (synopsis "Emacs Minor mode to automatically commit and push") + (description "@code{git-auto-commit-mode} is an Emacs minor mode that +tries to commit changes to a file after every save. + +When @code{gac-automatically-push-p} is non-nil, it also tries to push to +the current upstream.") + (license license:gpl3+))) + +(define-public emacs-company-restclient + (package + (name "emacs-company-restclient") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/iquiw/company-restclient/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-know-your-http-well" ,emacs-know-your-http-well) + ("emacs-restclient" ,emacs-restclient))) + (home-page "https://github.com/iquiw/company-restclient") + (synopsis "Company-mode completion back-end for restclient-mode") + (description "@code{company-mode} back-end for +@code{restclient-mode}. + +It provides auto-completion for HTTP methods and headers in +@code{restclient-mode}. Completion source is given by +@code{know-your-http-well}.") + (license license:gpl3+))) + +(define-public emacs-noflet + (let ((version "20170629") + (revision "1") + (commit "7ae84dc3257637af7334101456dafe1759c6b68a")) + (package + (name "emacs-noflet") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nicferrier/emacs-noflet") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-dash + ;; noflet.el uses -map from dash, but (require 'dash) is + ;; missing. So, add it. + (lambda _ + (substitute* "noflet.el" + ((";;; Code:") ";;; Code:\n(require 'dash)")) + #t))))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/nicferrier/emacs-noflet") + (synopsis "Locally override functions") + (description "@code{emacs-noflet} let's you locally override functions, +in the manner of @command{flet}, but with access to the original function +through the symbol: @command{this-fn}.") + (license license:gpl3+)))) + +(define-public emacs-dumb-jump + (package + (name "emacs-dumb-jump") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/jacktasia/dumb-jump/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #f ; FIXME: Tests freeze when run. + #:test-command '("ert-runner") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-shell + (lambda _ + ;; Setting the SHELL environment variable is required for the + ;; tests to find sh. + (setenv "SHELL" (which "sh")) + #t))))) + (native-inputs + `(("emacs-el-mock" ,emacs-el-mock) + ("emacs-noflet" ,emacs-noflet) + ("emacs-undercover" ,emacs-undercover) + ("ert-runner" ,ert-runner))) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-popup" ,emacs-popup))) + (home-page "https://github.com/jacktasia/dumb-jump") + (synopsis "Jump to definition for multiple languages without configuration") + (description "Dumb Jump is an Emacs \"jump to definition\" package with +support for multiple programming languages that favors \"just working\" over +speed or accuracy. This means minimal --- and ideally zero --- configuration +with absolutely no stored indexes (tags) or persistent background processes. +Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep +@command{rg} installed.") + (license license:gpl3+))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 7943d51cf4..7a11eb33ca 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1046,7 +1046,7 @@ emulation community. It provides highly accurate emulation.") (define-public retroarch (package (name "retroarch") - (version "1.7.2") + (version "1.7.3") (source (origin (method url-fetch) @@ -1054,7 +1054,7 @@ emulation community. It provides highly accurate emulation.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1y9fakr41h6xpddpkj12mcw1kgldvy76nzvxm5jk5v7iyiks4c6k")))) + (base32 "1si78dbwbsq4i0r42q94nmlpaxdyqch113nxavdprf4vc1224356")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -1088,6 +1088,7 @@ emulation community. It provides highly accurate emulation.") ("openal" ,openal) ("pulseaudio" ,pulseaudio) ("python" ,python) + ("qtbase" ,qtbase) ("sdl" ,sdl2) ("udev" ,eudev) ("vulkan-icd-loader" ,vulkan-icd-loader) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ed0239a613..13d24997ed 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1082,14 +1082,14 @@ bindings for Python, Java, OCaml and more.") (define-public radare2 (package (name "radare2") - (version "1.6.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "http://radare.mikelloc.com/get/" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "16ggsk40zz6hyvclvqj1r4bh4hb78jf0d6ppry1jk4r0j30wm7cm")) + "17h4ba5qqahfi8mi4x2dcvq87cqpir5v2dlaqbvmay6vby4zh4v7")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index ef2be9ad41..ed249df97f 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -262,8 +262,7 @@ Libraries with some extra bells and whistles.") "16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--enable-mount-eeze") - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-system-actions (lambda* (#:key inputs #:allow-other-keys) @@ -275,6 +274,8 @@ Libraries with some extra bells and whistles.") (("/usr/share/X11/xkb/rules/xorg.lst") (string-append xkeyboard "/share/X11/xkb/rules/base.lst"))) + (substitute* "src/modules/everything/evry_plug_apps.c" + (("/usr/bin/") "")) (substitute* "configure" (("/bin/mount") (string-append utils "/bin/mount")) (("/bin/umount") (string-append utils "/bin/umount")) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 77400d51f3..523f9e6334 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "0jdm1nwsnkj0nzjmcqprmjk25449mhjj25khwzpq3mpjw440wmd2")))) + "0jhjf21gn1m9lhjsc1ard9zymq25mk7rxcyygjfxgy0vb4j36l9i")))) (build-system gnu-build-system) (inputs `(("libgcrypt" ,libgcrypt))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 3ff27b4a1b..61943e8ed5 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -233,10 +233,19 @@ PCM data.") (base32 "13j1m92zhxwkaaja3lg5x0h0b28mrrawdzk9d3hd19031akfxwb3")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'no-Werror + (lambda _ + ;; Don't abort builds due to things like GLib + ;; deprecation warnings. + (substitute* (find-files "." "^Makefile\\.in$") + (("-Werror") "")) + #t))))) (native-inputs `(("pkgconfig" ,pkg-config))) (inputs `(("bdb" ,bdb) ("glib" ,glib) - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("libmicrohttpd" ,libmicrohttpd) ("ncurses" ,ncurses) ("sdl" ,sdl) @@ -541,22 +550,15 @@ archive on a per-file basis.") (define-public love (package (name "love") - (version "0.10.2") + (version "11.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/rude/love/downloads/" "love-" version "-linux-src.tar.gz")) (sha256 (base32 - "11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Build with luajit 2.1.0-beta3. Fixed in love 0.11. - ;; See <https://bitbucket.org/rude/love/issues/1277>. - (substitute* "src/libraries/luasocket/libluasocket/lua.h" - (("> 501") ">= 501")) - #t)))) + "1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw")) + (modules '((guix build utils))))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b62d679a91..f5d5bb5172 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -777,90 +777,110 @@ utilizing the art assets from the @code{SuperTux} project.") license:gpl3+)))) (define-public roguebox-adventures - (let ((commit "19a2c340b34d5b4e7cc89118c7aedc058babbd93") - (revision "1")) - (package - (name "roguebox-adventures") - (version (git-version "2.1.2" revision commit)) - (source - (origin - (method git-fetch) - (uri - (git-reference - (url "https://git.postactiv.com/themightyglider/RogueBoxAdventures.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0afmg8fjdcs3sqdp5rc7irgr7riil8jwysfjn1imfxslf1wcx5ah")))) - (build-system python-build-system) - (arguments - '(#:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - ;; no setup.py script - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (data (string-append - out "/share/games/roguebox-adventures"))) - ;; Use the correct data directory. - (substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py") - (("basic_path + os\\.sep + 'DATA'") - (string-append "'" data "'")) - (("^basic_path.*$") - (string-append "basic_path ='" data "'\n"))) - (substitute* "LIB/gra_files.py" - (("basic_path = b_path\\.replace\\('/LIB',''\\)") - (string-append "basic_path ='" data "'\n"))) - - ;; The game must save in the user's home directory because - ;; the store is read-only. - (substitute* "main.py" - (("home_save = False") "home_save = True") - (("'icon_small.png'") - (string-append "'" data "/icon_small.png'")))) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (data (string-append - out "/share/games/roguebox-adventures")) - (doc (string-append - out "/share/doc/roguebox-adventures"))) - (mkdir-p bin) - (mkdir-p doc) - (copy-file "main.py" - (string-append bin "/roguebox-adventures")) - (chmod (string-append bin "/roguebox-adventures") #o555) - - (for-each (lambda (file) - (copy-recursively file - (string-append data "/" file))) - '("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE" - "icon_big.png" "icon_small.png")) - - (copy-recursively "DOC" doc) - - (wrap-program (string-append bin "/roguebox-adventures") - `("PYTHONPATH" ":" prefix (,(string-append data "/LIB"))))) - #t))))) - (inputs - `(("python-pygame" ,python-pygame) - ("python-tmx" ,python-tmx))) - (home-page "https://rogueboxadventures.tuxfamily.org") - (synopsis "A classical roguelike/sandbox game") - (description - "RogueBox Adventures is a graphical roguelike with strong influences + (package + (name "roguebox-adventures") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://download.tuxfamily.org/rba/RogueBoxAdventures_v" + (string-join (string-split version #\.) "_") "_Source.zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "0kmzdgnik8fsf3bg55546l77p3mfxn2awkzfzzdn20n82rd2babw")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (and (invoke "unzip" source) + ;; The actual source is buried a few directories deep. + (chdir (string-append "RogueBoxAdventures_v" + (string-join + (string-split ,version #\.) "_") + "_Source"))))) + ;; no setup.py script + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (string-append + out "/share/games/roguebox-adventures"))) + ;; Use the correct data directory. + (substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py") + (("basic_path + os\\.sep + 'DATA'") + (string-append "'" data "'")) + (("^basic_path.*$") + (string-append "basic_path ='" data "'\n"))) + (substitute* "LIB/gra_files.py" + (("basic_path = b_path\\.replace\\('/LIB',''\\)") + (string-append "basic_path ='" data "'\n"))) + + ;; The game must save in the user's home directory because + ;; the store is read-only. + (substitute* "main.py" + (("home_save = False") "home_save = True") + (("'icon_small.png'") + (string-append "'" data "/icon_small.png'")))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (roguebox-adventures + (string-append bin "/roguebox-adventures")) + (data (string-append + out "/share/games/roguebox-adventures")) + (lib (string-append data "/LIB")) + (doc (string-append + out "/share/doc/roguebox-adventures"))) + (mkdir-p bin) + (mkdir-p doc) + + (for-each (lambda (file) + (copy-recursively file + (string-append data "/" file))) + '("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE" + "icon_big.png" "icon_small.png")) + (for-each (lambda (file) + (chmod file #o555) + (install-file file lib)) + '("main.py" "run.py")) + + (copy-recursively "DOC" doc) + + (call-with-output-file + roguebox-adventures + (lambda (p) + (format p "\ +#!~a +export PYTHONPATH=~a/LIB:~a +exec -a \"~a\" ~a \"$@\"\n" + (which "bash") data (getenv "PYTHONPATH") + (which "python3") + (string-append lib "/main.py")))) + (chmod roguebox-adventures #o555)) + #t))))) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("python-pygame" ,python-pygame) + ("python-tmx" ,python-tmx))) + (home-page "https://rogueboxadventures.tuxfamily.org") + (synopsis "A classical roguelike/sandbox game") + (description + "RogueBox Adventures is a graphical roguelike with strong influences from sandbox games like Minecraft or Terraria. The main idea of RogueBox Adventures is to offer the player a kind of roguelike toy-world. This world can be explored and changed freely.") - ;; The GPL3+ is for code, the rest are for art. - (license (list license:cc0 - license:cc-by3.0 - license:gpl3+ - license:silofl1.1))))) + ;; The GPL3+ is for code, the rest are for art. + (license (list license:cc0 + license:cc-by3.0 + license:gpl3+ + license:silofl1.1)))) (define-public xshogi (package diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 2483885c95..f2e020b560 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -39,12 +41,13 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages photo) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (gnu packages xorg)) (define-public babl (package (name "babl") - (version "0.1.40") + (version "0.1.46") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -58,7 +61,7 @@ "/babl-" version ".tar.bz2"))) (sha256 (base32 - "08cdl6rcfvkhqsnhb214xzr0wbrv0956xzlrzqxcb1k1madgjanh")))) + "0nwyhvfca6m35wjcccvwca7fcihzgdfyc012qi703y5d3cxl1hmv")))) (build-system gnu-build-system) (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") @@ -75,43 +78,25 @@ provided, as well as a framework to add new color models and data types.") (define-public gegl (package (name "gegl") - (version "0.2.0") + (version "0.4.0") (source (origin (method url-fetch) - (uri (list (string-append "http://download.gimp.org/pub/gegl/" + (uri (list (string-append "https://download.gimp.org/pub/gegl/" (string-take version 3) "/" name "-" version ".tar.bz2"))) (sha256 (base32 - "09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz")) - (patches (search-patches "gegl-CVE-2012-4433.patch")))) + "1ighk4z8nlqrzyj8w97s140hzj59564l3xv6fpzbr97m1zx2nkfh")))) (build-system gnu-build-system) (arguments - '(;; More than just the one test disabled below now fails; disable them - ;; all according to the rationale given below. - #:tests? #f - #:configure-flags '("LDFLAGS=-lm") - #:phases - (modify-phases %standard-phases - (add-before 'build 'pre-build - (lambda _ - ;; This test program seems to crash on exit. Specifically, whilst - ;; g_object_unreffing bufferA and bufferB - This seems to be a bug - ;; in the destructor. This is just a test program so will not have - ;; any wider effect, although might be hiding another problem. - ;; According to advice received on irc.gimp.org#gegl although 0.2.0 - ;; is the latest released version, any bug reports against it will - ;; be ignored. So we are on our own. - (substitute* "tools/img_cmp.c" - (("g_object_unref \\(buffer.\\);") "")) - - (substitute* "tests/compositions/Makefile" - (("/bin/sh") (which "sh"))) - #t))))) - (inputs + '(#:configure-flags '("LDFLAGS=-lm"))) + ;; These are propagated to satisfy 'gegl-0.4.pc'. + (propagated-inputs `(("babl" ,babl) ("glib" ,glib) - ("cairo" ,cairo) + ("json-glib" ,json-glib))) + (inputs + `(("cairo" ,cairo) ("pango" ,pango) ("libpng" ,libpng) ("libjpeg" ,libjpeg-8))) @@ -131,23 +116,18 @@ buffers.") (define-public gimp (package (name "gimp") - (version "2.8.22") + (version "2.10.0") (source (origin (method url-fetch) - (uri (string-append "http://download.gimp.org/pub/gimp/v" + (uri (string-append "https://download.gimp.org/pub/gimp/v" (version-major+minor version) "/gimp-" version ".tar.bz2")) - (patches (search-patches "gimp-CVE-2017-17784.patch" - "gimp-CVE-2017-17785.patch" - "gimp-CVE-2017-17786.patch" - "gimp-CVE-2017-17787.patch" - "gimp-CVE-2017-17789.patch")) (sha256 (base32 - "12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi")))) + "1qkxaigbfkx26xym5nzrgfrmn97cbnhn63v1saaha2nbi3xrdk3z")))) (build-system gnu-build-system) (outputs '("out" - "doc")) ;5 MiB of gtk-doc HTML + "doc")) ;9 MiB of gtk-doc HTML (arguments '(#:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") @@ -171,21 +151,27 @@ buffers.") (inputs `(("babl" ,babl) ("glib" ,glib) + ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) ("libjpeg" ,libjpeg-8) ("atk" ,atk) + ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) + ("libmypaint" ,libmypaint) + ("mypaint-brushes" ,mypaint-brushes) ("exif" ,libexif) ; optional, EXIF + XMP support ("lcms" ,lcms) ; optional, color management ("librsvg" ,librsvg) ; optional, SVG support ("poppler" ,poppler) ; optional, PDF support + ("poppler-data" ,poppler-data) ("python" ,python-2) ; optional, Python support ("python2-pygtk" ,python2-pygtk) ; optional, Python support ("gegl" ,gegl))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("glib:bin" ,glib "bin") ; for glib-compile-resources and gdbus-codegen + ("pkg-config" ,pkg-config) ("intltool" ,intltool))) - (home-page "http://gimp.org") + (home-page "https://www.gimp.org") (synopsis "GNU Image Manipulation Program") (description "GIMP is an application for image manipulation tasks such as photo @@ -243,3 +229,58 @@ an image, allowing you to work with the transformed image inside GIMP. You can draw or apply filters in fourier space and get the modified image with an inverse fourier transform.") (license license:gpl3+))) + +(define-public libmypaint + (package + (name "libmypaint") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mypaint/libmypaint/" + "releases/download/v" version "/libmypaint-" + version ".tar.xz")) + (sha256 + (base32 + "0wd6jk69vmhsq1mdw96v0fh7b28n3glkr5ca466zcq7agzaxj1va")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + ;; As needed by 'libmypaint.pc'. + (propagated-inputs + `(("json-c" ,json-c) + ("gobject-introspection" ,gobject-introspection))) + (inputs + `(("glib" ,glib))) + (synopsis "Artistic brushes library") + (description "Libmypaint, also called \"brushlib\", is a library for making +brushstrokes which is used by MyPaint and GIMP.") + (home-page "http://mypaint.org") + (license license:isc))) + +(define-public mypaint-brushes + (package + (name "mypaint-brushes") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/Jehan/mypaint-brushes/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "055j2rgkav2024zl6y5hxb2ra0vbx58607d6sz7ml2351r1bcjvh")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (invoke "sh" "./autogen.sh")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (synopsis "Default brushes for MyPaint") + (description "This package provides the default set of brushes for +MyPaint.") + (home-page "https://github.com/Jehan/mypaint-brushes") + (license license:cc0))) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index f5f8320fc5..503308ac16 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -55,7 +55,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module ((srfi srfi-1) #:hide (zip))) (define-public glu (package @@ -211,7 +212,8 @@ also known as DXTn or DXTC) for Mesa.") (package (inherit libva) (name "libva-without-mesa") - (inputs (alist-delete "mesa" (package-inputs libva))) + (inputs `(,@(fold alist-delete (package-inputs libva) + '("mesa" "wayland")))) (arguments (strip-keyword-arguments '(#:make-flags) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 319c2e6fd0..2f2124518a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -146,6 +147,7 @@ #:use-module (gnu packages virtualization) #:use-module (gnu packages vpn) #:use-module (gnu packages xorg) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) (define-public brasero @@ -5815,7 +5817,7 @@ files.") (define-public baobab (package (name "baobab") - (version "3.26.1") + (version "3.28.0") (source (origin (method url-fetch) (uri (string-append @@ -5824,11 +5826,15 @@ files.") name "-" version ".tar.xz")) (sha256 (base32 - "0zkqxyqyxd6j270jf5hbcrb3yh4k31ddh40v4cjhgngm8mcsnnbs")))) - (build-system glib-or-gtk-build-system) + "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t)) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config) + ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database + ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("itstool" ,itstool) ("xmllint" ,libxml2) ("glib" ,glib "bin") @@ -7192,3 +7198,86 @@ into audio files that a personal computer or digital audio player can play. It supports ripping to any audio codec supported by a GStreamer plugin, such as mp3, Ogg Vorbis and FLAC") (license license:gpl2+))) + +(define-public workrave + (let ((commit "v1_10_20")) + (package + (name "workrave") + (version (string-map (match-lambda + (#\_ #\.) + (chr chr)) + (string-drop commit 1))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rcaelers/workrave.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "099a87zkrkmsgfz9isrfm89dh545x52891jh6qxmn19h6wwsi941")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (invoke "sh" "autogen.sh") + #t))))) + (propagated-inputs `(("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtkmm" ,gtkmm) + ("glibmm" ,glibmm) + ("libx11" ,libx11) + ("libxtst" ,libxtst) + ("dconf" ,dconf) + ("libice" ,libice))) + (inputs `(("libsm", libsm) + ("python-cheetah" ,python2-cheetah))) + (native-inputs `(("glib" ,glib "bin") + ("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext) + ("autoconf" ,autoconf) + ("autoconf-archive" , autoconf-archive) + ("automake" ,automake) + ("libtool" ,libtool) + ("intltool" ,intltool) + ("libxscrnsaver" ,libxscrnsaver) + ("gobject-introspection" ,gobject-introspection) + ("python2" ,python-2))) + (synopsis "Tool to help prevent repetitive strain injury (RSI)") + (description "Workrave is a program that assists in the recovery and +prevention of repetitive strain injury (RSI). The program frequently alerts +you to take micro-pauses, rest breaks and restricts you to your daily limit") + (home-page "http://www.workrave.org") + (license license:gpl3+)))) + +(define-public ghex + (package + (name "ghex") + (version "3.18.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gnome-common" ,gnome-common) + ("which" ,which) + ("intltool" ,intltool) + ("yelp-tools" ,yelp-tools) + ("desktop-file-utils" ,desktop-file-utils))) ;for 'desktop-file-validate' + (inputs + `(("atk" ,atk) + ("gtk" ,gtk+))) + (synopsis "GNOME hexadecimal editor") + (description "The GHex program can view and edit files in two ways: +hexadecimal or ASCII. It is useful for editing binary files in general.") + (home-page "https://wiki.gnome.org/Apps/Ghex") + (license license:gpl2))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 17207e2173..c88ed3e520 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,6 +92,20 @@ Daemon and possibly more in the future.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgpg-error"))))) +;; Some packages (e.g. GPGME) require a newer libgpg-error to deal with +;; error codes from recent GnuPG. Remove this in the next rebuild cycle. +(define-public libgpg-error-1.31 + (package + (inherit libgpg-error) + (version "1.31") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-" + version ".tar.bz2")) + (sha256 + (base32 + "1vx4nw6rxh2biy3h8n96fyr86q29h8gjl6837437i51jr4isil20")))))) + (define-public libgcrypt (package (name "libgcrypt") @@ -216,14 +231,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.6") + (version "2.2.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "110rf476l3cgn52gh9ia5y0y06y2ialq9dqc12jkhnfhl9gqqkg6")))) + "0vlpis0q7gvq9mhdc43hkyn3cdriz4mwgj20my3gyzpgwqg3cnyr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -361,7 +376,7 @@ libskba (working with X.509 certificates and CMS data).") (define-public gpgme (package (name "gpgme") - (version "1.10.0") + (version "1.11.1") (source (origin (method url-fetch) @@ -369,13 +384,13 @@ libskba (working with X.509 certificates and CMS data).") ".tar.bz2")) (sha256 (base32 - "14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs")))) + "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd")))) (build-system gnu-build-system) (native-inputs `(("gnupg" ,gnupg))) (propagated-inputs ;; Needs to be propagated because gpgme.h includes gpg-error.h. - `(("libgpg-error" ,libgpg-error))) + `(("libgpg-error" ,libgpg-error-1.31))) (inputs `(("libassuan" ,libassuan))) (home-page "https://www.gnupg.org/related_software/gpgme/") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 0b7dd462d5..1681e37172 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -551,7 +551,7 @@ security standards.") ("libxcomposite" ,libxcomposite) ("libxt" ,libxt) ("libffi" ,libffi) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-3.4) ("libvpx" ,libvpx) ("icu4c" ,icu4c) ("pixman" ,pixman) diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 5f1b8d0ed6..77728a5d78 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -101,7 +101,7 @@ is usually the formatter of \"man\" documentation pages.") ;; Keep only the programs that man-db needs at run time, ;; and make sure we don't pull in Perl. (let ((out (assoc-ref outputs "out")) - (kept '("eqn" "neqn" "pic" "tbl" "refer" + (kept '("eqn" "neqn" "pic" "tbl" "refer" "preconv" "nroff" "groff" "troff" "grotty"))) (for-each (lambda (file) (unless (member (basename file) kept) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index c9497225a9..ae7813c739 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -723,16 +723,16 @@ format is also supported.") (define-public guile-ics (package (name "guile-ics") - (version "0.1.1") + (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/artyom-poptsov/guile-ics") - (commit "v0.1.1"))) + (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1pvg6j48inpbq47hq00yh5hhl2qd2srvrx5yjl7w7ky1jsjadp86")))) + "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -749,8 +749,8 @@ format is also supported.") ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.0) ("which" ,which))) - (propagated-inputs `(("guile-lib" ,guile2.0-lib))) + (inputs `(("guile" ,guile-2.2) ("which" ,which))) + (propagated-inputs `(("guile-lib" ,guile-lib))) (home-page "https://github.com/artyom-poptsov/guile-ics") (synopsis "Guile parser library for the iCalendar format") (description @@ -919,7 +919,7 @@ specification. These are the main features: #t)))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (home-page "https://github.com/ijp/minikanren") (synopsis "MiniKanren declarative logic system, packaged for Guile") (description @@ -934,8 +934,11 @@ slightly from miniKanren mainline. See http://minikanren.org/ for more on miniKanren generally.") (license license:expat))) +(define-public guile2.0-minikanren + (package-for-guile-2.0 guile-minikanren)) + (define-public guile2.2-minikanren - (package-for-guile-2.2 guile-minikanren)) + (deprecated-package "guile2.2-minikanren" guile-minikanren)) (define-public guile-miniadapton (let ((commit "1b5749422304567c96ac5367f2221dda9eff5880") @@ -1076,7 +1079,7 @@ understand, extend, and port to host languages other than Scheme.") (install-file "irregex.html" doc) #t)))))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (home-page "http://synthcode.com/scheme/irregex") (synopsis "S-expression based regular expressions") (description @@ -1085,8 +1088,11 @@ string-based regular expressions. It implements SRFI 115 and is deeply inspired by the SCSH regular expression system.") (license license:bsd-3))) +(define-public guile2.0-irregex + (package-for-guile-2.0 guile-irregex)) + (define-public guile2.2-irregex - (package-for-guile-2.2 guile-irregex)) + (deprecated-package "guile2.2-irregex" guile-irregex)) ;; There are two guile-gdbm packages, one using the FFI and one with ;; direct C bindings, hence the verbose name. @@ -1368,15 +1374,18 @@ above command-line parameters.") #t)))) (build-system gnu-build-system) (native-inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (home-page "https://savannah.nongnu.org/projects/guile-redis/") (synopsis "Redis client library for Guile") (description "Guile-redis provides a Scheme interface to the Redis key-value cache and store.") (license license:lgpl3+))) +(define-public guile2.0-redis + (package-for-guile-2.0 guile-redis)) + (define-public guile2.2-redis - (package-for-guile-2.2 guile-redis)) + (deprecated-package "guile2.2-redis" guile-redis)) (define-public guile-wisp (package @@ -1559,19 +1568,19 @@ provides access to that interface and its types from the Scheme level.") (arguments '(#:configure-flags (list (string-append - "--with-guile-site-dir=" %output "/share/guile/site/2.0")) + "--with-guile-site-dir=" %output "/share/guile/site/2.2")) #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (dbi.scm (string-append - out "/share/guile/site/2.0/dbi/dbi.scm")) + out "/share/guile/site/2.2/dbi/dbi.scm")) (ext (string-append out "/lib/libguile-dbi"))) (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) (propagated-inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") (home-page "http://home.gna.org/guile-dbi/guile-dbi.html") (description diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 35dc6eee7c..00f1c66643 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.16.6") -(define %linux-libre-hash "069bxqx27xib1gz4aayy8ar2hfp68cpdi8h51g6453k0w14pkchn") +(define %linux-libre-version "4.16.7") +(define %linux-libre-hash "145hv7paw5zd6bnkk0agxyg2a37066xhrxszbq3d03mjvi8ap117") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -401,8 +401,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.38") -(define %linux-libre-4.14-hash "09lmz8zbd3c1qf8z3d2lkhcqcwawajh76s85zdhgqdmd2idpwach") +(define %linux-libre-4.14-version "4.14.39") +(define %linux-libre-4.14-hash "0r6fydsgspnskh5n1hfrkyrlrmql635zqr44ajafmqimldc0bplz") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -411,14 +411,14 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.97" - "1xc3mj1qi51n1kr5bxmdf1rlpyj78x9imhfc7gihn8qjc6zsf1sp" + (make-linux-libre "4.9.98" + "14mqg2hvxg4zwajwly18akyaca821sp4iz5w3xmikwndn2j8y1lw" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.130" - "15cayafj7d9y5fs9flg115kzrcrjycbvax9hgfzz6yym94v9k8lk" + (make-linux-libre "4.4.131" + "1phah297rxjwy22wfaqlzpbk71ddp3drma5dx3i8xv6g8vijd08x" %intel-compatible-systems #:configuration-file kernel-config)) @@ -1937,17 +1937,27 @@ for systems using the Linux kernel. This includes commands such as (define-public inotify-tools (package (name "inotify-tools") - (version "3.13") + (version "3.20.1") (source (origin (method url-fetch) (uri (string-append - "mirror://sourceforge/inotify-tools/inotify-tools/" - version "/inotify-tools-" version ".tar.gz")) + "https://github.com/rvoicilas/inotify-tools/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6")))) + "1b22c8x4pjnz3abx4dikpbj43zprjw79pdkd4xw111dsxlfwqcx4")))) (build-system gnu-build-system) - (home-page "http://inotify-tools.sourceforge.net/") + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://github.com/rvoicilas/inotify-tools/wiki") (synopsis "Monitor file accesses") (description "The inotify-tools packages provides a C library and command-line tools diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8980b3df74..178c58ed3a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -397,7 +397,7 @@ It adds a large amount of new and improved features to mutt.") (define-public gmime (package (name "gmime") - (version "2.6.23") + (version "3.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gmime/" @@ -405,7 +405,7 @@ It adds a large amount of new and improved features to mutt.") "/gmime-" version ".tar.xz")) (sha256 (base32 - "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi")))) + "1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -429,8 +429,8 @@ It adds a large amount of new and improved features to mutt.") (let* ((base (basename prog-path)) (prog (which base))) (string-append pre - (or prog (error "not found: " base)))))) - #t)))))) + (or prog (error "not found: " base))))))) + #t))))) (home-page "http://spruce.sourceforge.net/gmime/") (synopsis "MIME message parser and creator library") (description @@ -439,6 +439,20 @@ the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).") (license (list lgpl2.1+ gpl2+ gpl3+)))) +;; Some packages are not ready for GMime 3 yet. +(define-public gmime-2.6 + (package + (inherit gmime) + (version "2.6.23") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/gmime/" + (version-major+minor version) + "/gmime-" version ".tar.xz")) + (sha256 + (base32 + "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi")))))) + (define-public bogofilter (package (name "bogofilter") @@ -598,7 +612,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") `(("xapian" ,xapian) ("guile" ,guile-2.2) ("glib" ,glib) - ("gmime" ,gmime))) + ("gmime" ,gmime-2.6))) (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) @@ -2429,7 +2443,7 @@ tools and applications: `(("cyrus-sasl" ,cyrus-sasl) ("enchant" ,enchant) ("gdk-pixbuf" ,gdk-pixbuf) - ("gmime" ,gmime) + ("gmime" ,gmime-2.6) ("gnutls" ,gnutls) ("gpgme" ,gpgme) ("gtk+" ,gtk+) @@ -2506,7 +2520,7 @@ killed threads.") "/bin/gpg\""))) #t))))) (inputs - `(("gmime" ,gmime) + `(("gmime" ,gmime-2.6) ("gnupg" ,gnupg) ("gnutls" ,gnutls) ("gtk+" ,gtk+) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 3455a9c126..046b0e3f39 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,11 +82,19 @@ a flexible and convenient way.") (remove file-is-directory? (find-files "src/tests" ".*"))) #t))) - (add-after 'unpack 'patch-iconv-path + (add-after 'unpack 'patch-absolute-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/man.c" (("\"iconv\"") (string-append "\"" (which "iconv") "\""))) + ;; Embed an absolute reference to "preconv", otherwise it + ;; falls back to searching in PATH and ultimately fails + ;; to render unicode data (see <https://bugs.gnu.org/30785>). + (substitute* "lib/encodings.c" + (("groff_preconv = NULL") + (string-append "groff_preconv = \"" + (assoc-ref inputs "groff-minimal") + "/bin/preconv\""))) #t))) #:configure-flags (let ((groff (assoc-ref %build-inputs "groff")) @@ -151,7 +160,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "4.15") + (version "4.16") (source (origin (method url-fetch) (uri @@ -164,7 +173,7 @@ the traditional flat-text whatis databases.") "man-pages-" version ".tar.xz"))) (sha256 (base32 - "01n1rq1kvambax85xamriawbga94mh63s5mgjmjljjgf50m7yw6f")))) + "1d2d6llazg3inwjiz22cn46mbm5ydpbyh9qb55z4j3nm4w6wrzs7")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a2bf14ea84..2b21e839a6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -25,6 +25,8 @@ ;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com> +;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +55,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system ocaml) + #:use-module (guix build-system python) #:use-module (guix build-system r) #:use-module (guix build-system ruby) #:use-module (gnu packages algebra) @@ -564,7 +567,7 @@ singular value problems.") (define-public gnuplot (package (name "gnuplot") - (version "5.0.6") + (version "5.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" @@ -572,7 +575,7 @@ singular value problems.") version ".tar.gz")) (sha256 (base32 - "0q5lr6nala3ln6f3yp6g17ziymb9r9gx9zylnw1y3hjmwl9lggjv")))) + "18diyy7aib9mn098x07g25c7jij1x7wbfpicz0z8gwxx08px45m4")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("cairo" ,cairo) @@ -582,6 +585,9 @@ singular value problems.") (native-inputs `(("pkg-config" ,pkg-config) ("texlive" ,texlive-tiny))) + (arguments `(#:configure-flags (list (string-append + "--with-texdir=" %output + "/texmf-local/tex/latex/gnuplot")))) (home-page "http://www.gnuplot.info") (synopsis "Command-line driven graphing utility") (description "Gnuplot is a portable command-line driven graphing @@ -1677,6 +1683,31 @@ scientific applications modeled by partial differential equations.") ,@(delete "--with-mpi=0" ,cf))))) (synopsis "Library to solve PDEs (with complex scalars and MPI support)"))) + +(define-public python-kiwisolver + (package + (name "python-kiwisolver") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "kiwisolver" version)) + (sha256 + (base32 + "0y22ci86znwwwfhbmvbgdfnbi6lv5gv2xkdlxvjw7lml43ayafyf")))) + (build-system python-build-system) + (home-page "https://github.com/nucleic/kiwi") + (synopsis "Fast implementation of the Cassowary constraint solver") + (description + "Kiwi is an efficient C++ implementation of the Cassowary constraint +solving algorithm. Kiwi has been designed from the ground up to be +lightweight and fast. Kiwi ranges from 10x to 500x faster than the original +Cassowary solver with typical use cases gaining a 40x improvement. Memory +savings are consistently > 5x.") + (license license:bsd-3))) + +(define-public python2-kiwisolver + (package-with-python2 python-kiwisolver)) + (define-public slepc (package (name "slepc") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 3a1a0176ef..c74977eea8 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -440,32 +440,48 @@ compromised.") (define-public znc (package (name "znc") - (version "1.6.6") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z")))) + "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0")))) + ;; TODO: autotools support has been deprecated, and new features like i18n + ;; are only supported when building with cmake. (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-googletest (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "tar" "xf" - (assoc-ref inputs "googletest-source")))))) + (mkdir-p "googletest") + (copy-recursively (assoc-ref inputs "googletest-source") + "googletest") + #t))) #:configure-flags '("--enable-python" "--enable-perl" "--enable-cyrus" - ,(string-append "--with-gtest=" - "googletest-release-" - (package-version googletest) - "/googletest")) + "--with-gmock=googletest/googlemock" + "--with-gtest=googletest/googletest") #:test-target "test")) (native-inputs - `(("googletest-source" ,(package-source googletest)) + `(("googletest-source" + ;; ZNC 1.7 needs a newer, unreleased googletest (a release is planned + ;; <https://github.com/google/googletest/issues/1583>, so don't update + ;; the public GOOGLETEST to an unstable version). The commit is taken + ;; from ‘third_party/googletest’ in the ZNC git repository. + ,(let ((commit "9737e63c69e94ac5777caa0bc77c77d5206467f3")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/googletest") + (commit commit))) + (file-name (git-file-name "googletest-for-znc" commit)) + (sha256 + (base32 + "0ya36n8d62zbxk6p22yffgx43mqhx2fz41gqqwbpdshjryf3wvxj"))))) ("pkg-config" ,pkg-config) ("perl" ,perl) ("python" ,python))) @@ -476,9 +492,9 @@ compromised.") ("cyrus-sasl" ,cyrus-sasl))) (home-page "https://znc.in") (synopsis "IRC network bouncer") - (description "ZNC is an IRC network bouncer or BNC. It can detach the -client from the actual IRC server, and also from selected channels. Multiple -clients from different locations can connect to a single ZNC account + (description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can +detach the client from the actual IRC server, and also from selected channels. +Multiple clients from different locations can connect to a single ZNC account simultaneously and therefore appear under the same nickname on IRC.") (license license:asl2.0))) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 6bb8c3f3ad..21ef9d5592 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,7 +30,7 @@ (define-public nano (package (name "nano") - (version "2.9.5") + (version "2.9.6") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "06af9dzhgab53drpyq430fv5kf5sdba9mfw0lf3glhkznlf1i3bv")))) + "1inl8ljkc711969ncwy7irf0464psasikg1g42l0g4sfpdz50wx3")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 5cba694b6e..4049cde8b9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca> +;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) @@ -66,6 +68,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libidn) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -84,6 +87,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages wm) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) #:use-module (ice-9 match)) @@ -1702,3 +1706,62 @@ file for more details.") ;; src/libstrongswan/plugins/blowfish/blowfish_crypter.c ;; src/libstrongswan/plugins/des/des_crypter.c license:bsd-4)))) + +(define-public amule + (package + (name "amule") + (version "2.3.2") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/amule-project/amule/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wvcj0n9xz03xz5c2xwp6dwfp7sqjhhwbki3m0lwikskpn9lkzk2")) + ;; Patch for adopting crypto++ >= 6.0. + (patches (search-patches "amule-crypto-6.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'autogen + (lambda _ + (invoke "sh" "autogen.sh") + #t))) + #:configure-flags + '("--disable-rpath" + "--enable-wxcas" + "--enable-cas" + "--enable-alc" + "--enable-alcc" + "--enable-xas" + "--enable-amulecmd" + "--enable-geoip" + "--enable-ccache" + "--enable-nls" + "--enable-optimize" + "--enable-amule-gui" + "--enable-amule-daemon" + "--enable-webserver" + "--with-denoise-level=0"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext-minimal" ,gettext-minimal) + ("perl" ,perl))) + (inputs + `(("zlib" ,zlib) + ("crypto++" ,crypto++) + ("libpng" ,libpng) + ("wxwidgets-gtk2", wxwidgets-gtk2))) + (home-page "http://amule.org/") + (synopsis "Peer-to-peer client for the eD2K and Kademlia networks") + (description + "aMule is an eMule-like client for the eD2k and Kademlia peer-to-peer +file sharing networks. It includes a graphical user interface (GUI), a daemon +allowing you to run a client with no graphical interface, and a Web GUI for +remote access. The @command{amulecmd} command allows you to control aMule +remotely.") + (license license:gpl2+))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0f5fa0f09a..864038fe99 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -456,14 +456,15 @@ written in Objective Caml.") (define-public coq (package (name "coq") - (version "8.7.0") + (version "8.8.0") (source (origin (method url-fetch) - (uri (string-append "https://coq.inria.fr/distrib/V" version - "/files/" name "-" version ".tar.gz")) + (uri (string-append "https://github.com/coq/coq/archive/V" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15wjngjd5pyfqdl5yw92rvdxvy15xcjlpx0rqlkzvcsis1z20xpk")))) + "0g96k2x6lbddlmkmdaczvcpb2gwqi1ydbq9bv4gf9q38kv9w3xya")))) (native-search-paths (list (search-path-specification (variable "COQPATH") @@ -3874,15 +3875,15 @@ cross-platform SDL C library.") (define-public coq-flocq (package (name "coq-flocq") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) ;; Use the ‘Latest version’ link for a stable URI across releases. (uri (string-append "https://gforge.inria.fr/frs/download.php/" - "latestfile/2228/flocq-" version ".tar.gz")) + "file/37454/flocq-" version ".tar.gz")) (sha256 (base32 - "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3")))) + "06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -3924,14 +3925,14 @@ inside Coq.") (define-public coq-gappa (package (name "coq-gappa") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/file/36351/gappa-" + (uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-" version ".tar.gz")) (sha256 (base32 - "0924jr6f15fx22qfsvim5vc0qxqg30ivg9zxj34lf6slbgdl3j39")))) + "19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -3976,14 +3977,14 @@ assistant.") (define-public coq-mathcomp (package (name "coq-mathcomp") - (version "1.6.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-" version ".tar.gz")) (sha256 (base32 - "0lg5ncr7p4y8qqq6pfw6brqc6a9xzlfa0drprwfdn0rnyaq5nca6")))) + "05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -4039,6 +4040,12 @@ part of the distribution.") "/lib/coq/user-contrib/Coquelicot")) #:phases (modify-phases %standard-phases + (add-before 'configure 'fix-coq8.8 + (lambda _ + ; appcontext has been removed from coq 8.8 + (substitute* "theories/AutoDerive.v" + (("appcontext") "context")) + #t)) (add-before 'configure 'fix-remake (lambda _ (substitute* "remake.cpp" @@ -4068,7 +4075,7 @@ theorems between the two libraries.") (define-public coq-bignums (package (name "coq-bignums") - (version "8.7.0") + (version "8.8.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/coq/bignums/archive/V" @@ -4076,7 +4083,7 @@ theorems between the two libraries.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03iw9jiwq9jx45gsvp315y3lxr8m9ksppmcjvxs5c23qnky6zqjx")))) + "08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ea90e78547..0a7caf2e7a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -295,6 +295,15 @@ the Nix package manager.") (inherit guix) (properties `((hidden? . #t))) (name "guix-register") + + ;; Use a minimum set of dependencies. + (native-inputs + (fold alist-delete (package-native-inputs guix) + '("po4a" "graphviz" "help2man"))) + (propagated-inputs + `(("gnutls" ,gnutls) + ("guile-git" ,guile-git))) + (arguments (substitute-keyword-arguments (package-arguments guix) ((#:tests? #f #f) diff --git a/gnu/packages/patches/amule-crypto-6.patch b/gnu/packages/patches/amule-crypto-6.patch new file mode 100644 index 0000000000..21a86ab0fa --- /dev/null +++ b/gnu/packages/patches/amule-crypto-6.patch @@ -0,0 +1,45 @@ +From d1d1368c7909ffd8423730afaa811ce7b6a3a8aa Mon Sep 17 00:00:00 2001 +From: Tommy Jerry Mairo <tommy.mairo@gmail.com> +Date: Sun, 4 Feb 2018 12:42:00 -0800 +Subject: [PATCH 1/2] Bugfix: API mismatch with crypto++ 6.0.0 + +--- + src/ClientCreditsList.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ClientCreditsList.cpp b/src/ClientCreditsList.cpp +index 3bea9fe2d..a7ae1e34c 100644 +--- a/src/ClientCreditsList.cpp ++++ b/src/ClientCreditsList.cpp +@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting() + // calculate and store public key + CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey)); + CryptoPP::ArraySink asink(m_abyMyPublicKey, 80); +- pubkey.DEREncode(asink); ++ pubkey.AccessMaterial().Save(asink); + m_nMyPublicKeyLen = asink.TotalPutLength(); + asink.MessageEnd(); + } catch (const CryptoPP::Exception& e) { + +From 88ba0ac952b78382445f2fff73c6792c0474dc62 Mon Sep 17 00:00:00 2001 +From: Tommy Jerry Mairo <tommy.mairo@gmail.com> +Date: Wed, 21 Mar 2018 11:56:28 -0700 +Subject: [PATCH 2/2] Update: Change AccessMaterial to GetMaterial + +--- + src/ClientCreditsList.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ClientCreditsList.cpp b/src/ClientCreditsList.cpp +index a7ae1e34c..69e881fd8 100644 +--- a/src/ClientCreditsList.cpp ++++ b/src/ClientCreditsList.cpp +@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting() + // calculate and store public key + CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey)); + CryptoPP::ArraySink asink(m_abyMyPublicKey, 80); +- pubkey.AccessMaterial().Save(asink); ++ pubkey.GetMaterial().Save(asink); + m_nMyPublicKeyLen = asink.TotalPutLength(); + asink.MessageEnd(); + } catch (const CryptoPP::Exception& e) { diff --git a/gnu/packages/patches/gegl-CVE-2012-4433.patch b/gnu/packages/patches/gegl-CVE-2012-4433.patch deleted file mode 100644 index 7352b78dba..0000000000 --- a/gnu/packages/patches/gegl-CVE-2012-4433.patch +++ /dev/null @@ -1,117 +0,0 @@ -From: Michael Gilbert <mgilbert@debian.org> -Date: Mon, 9 Sep 2013 17:34:32 +0200 -Subject: Fix_CVE-2012-4433 - -Multiple buffer overflow issues. - -Closes: #692435 ---- - operations/external/ppm-load.c | 62 ++++++++++++++++++++++++++++++++++++------ - 1 file changed, 53 insertions(+), 9 deletions(-) - -diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c -index efe6d56..465096d 100644 ---- a/operations/external/ppm-load.c -+++ b/operations/external/ppm-load.c -@@ -36,6 +36,7 @@ gegl_chant_file_path (path, _("File"), "", _("Path of file to load.")) - #include "gegl-chant.h" - #include <stdio.h> - #include <stdlib.h> -+#include <errno.h> - - typedef enum { - PIXMAP_ASCII = 51, -@@ -44,8 +45,8 @@ typedef enum { - - typedef struct { - map_type type; -- gint width; -- gint height; -+ glong width; -+ glong height; - gsize numsamples; /* width * height * channels */ - gsize bpc; /* bytes per channel */ - guchar *data; -@@ -82,12 +83,33 @@ ppm_load_read_header(FILE *fp, - } - - /* Get Width and Height */ -- img->width = strtol (header,&ptr,0); -- img->height = atoi (ptr); -- img->numsamples = img->width * img->height * CHANNEL_COUNT; -+ errno = 0; -+ img->width = strtol (header,&ptr,10); -+ if (errno) -+ { -+ g_warning ("Error reading width: %s", strerror(errno)); -+ return FALSE; -+ } -+ else if (img->width < 0) -+ { -+ g_warning ("Error: width is negative"); -+ return FALSE; -+ } -+ -+ img->height = strtol (ptr,&ptr,10); -+ if (errno) -+ { -+ g_warning ("Error reading height: %s", strerror(errno)); -+ return FALSE; -+ } -+ else if (img->width < 0) -+ { -+ g_warning ("Error: height is negative"); -+ return FALSE; -+ } - - fgets (header,MAX_CHARS_IN_ROW,fp); -- maxval = strtol (header,&ptr,0); -+ maxval = strtol (header,&ptr,10); - - if ((maxval != 255) && (maxval != 65535)) - { -@@ -109,6 +131,16 @@ ppm_load_read_header(FILE *fp, - g_warning ("%s: Programmer stupidity error", G_STRLOC); - } - -+ /* Later on, img->numsamples is multiplied with img->bpc to allocate -+ * memory. Ensure it doesn't overflow. */ -+ if (!img->width || !img->height || -+ G_MAXSIZE / img->width / img->height / CHANNEL_COUNT < img->bpc) -+ { -+ g_warning ("Illegal width/height: %ld/%ld", img->width, img->height); -+ return FALSE; -+ } -+ img->numsamples = img->width * img->height * CHANNEL_COUNT; -+ - return TRUE; - } - -@@ -229,12 +261,24 @@ process (GeglOperation *operation, - if (!ppm_load_read_header (fp, &img)) - goto out; - -- rect.height = img.height; -- rect.width = img.width; -- - /* Allocating Array Size */ -+ -+ /* Should use g_try_malloc(), but this causes crashes elsewhere because the -+ * error signalled by returning FALSE isn't properly acted upon. Therefore -+ * g_malloc() is used here which aborts if the requested memory size can't be -+ * allocated causing a controlled crash. */ - img.data = (guchar*) g_malloc (img.numsamples * img.bpc); - -+ /* No-op without g_try_malloc(), see above. */ -+ if (! img.data) -+ { -+ g_warning ("Couldn't allocate %" G_GSIZE_FORMAT " bytes, giving up.", ((gsize)img.numsamples * img.bpc)); -+ goto out; -+ } -+ -+ rect.height = img.height; -+ rect.width = img.width; -+ - switch (img.bpc) - { - case 1: diff --git a/gnu/packages/patches/gimp-CVE-2017-17784.patch b/gnu/packages/patches/gimp-CVE-2017-17784.patch deleted file mode 100644 index c791772fb5..0000000000 --- a/gnu/packages/patches/gimp-CVE-2017-17784.patch +++ /dev/null @@ -1,41 +0,0 @@ -Fix CVE-2017-17784: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17784 -https://bugzilla.gnome.org/show_bug.cgi?id=790784 - -Patch copied from upstream source repository: - -https://git.gnome.org/browse/gimp/commit/?id=c57f9dcf1934a9ab0cd67650f2dea18cb0902270 - -From c57f9dcf1934a9ab0cd67650f2dea18cb0902270 Mon Sep 17 00:00:00 2001 -From: Jehan <jehan@girinstud.io> -Date: Thu, 21 Dec 2017 12:25:32 +0100 -Subject: [PATCH] Bug 790784 - (CVE-2017-17784) heap overread in gbr parser / - load_image. - -We were assuming the input name was well formed, hence was -nul-terminated. As any data coming from external input, this has to be -thorougly checked. -Similar to commit 06d24a79af94837d615d0024916bb95a01bf3c59 but adapted -to older gimp-2-8 code. ---- - plug-ins/common/file-gbr.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/plug-ins/common/file-gbr.c b/plug-ins/common/file-gbr.c -index b028100bef..d3f01d9c56 100644 ---- a/plug-ins/common/file-gbr.c -+++ b/plug-ins/common/file-gbr.c -@@ -443,7 +443,8 @@ load_image (const gchar *filename, - { - gchar *temp = g_new (gchar, bn_size); - -- if ((read (fd, temp, bn_size)) < bn_size) -+ if ((read (fd, temp, bn_size)) < bn_size || -+ temp[bn_size - 1] != '\0') - { - g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, - _("Error in GIMP brush file '%s'"), --- -2.15.1 - diff --git a/gnu/packages/patches/gimp-CVE-2017-17785.patch b/gnu/packages/patches/gimp-CVE-2017-17785.patch deleted file mode 100644 index 939b01f214..0000000000 --- a/gnu/packages/patches/gimp-CVE-2017-17785.patch +++ /dev/null @@ -1,171 +0,0 @@ -Fix CVE-2017-17785: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17785 -https://bugzilla.gnome.org/show_bug.cgi?id=739133 - -Patch copied from upstream source repository: - -https://git.gnome.org/browse/gimp/commit/?id=1882bac996a20ab5c15c42b0c5e8f49033a1af54 - -From 1882bac996a20ab5c15c42b0c5e8f49033a1af54 Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann <tobias@stoeckmann.org> -Date: Sun, 29 Oct 2017 15:19:41 +0100 -Subject: [PATCH] Bug 739133 - (CVE-2017-17785) Heap overflow while parsing FLI - files. - -It is possible to trigger a heap overflow while parsing FLI files. The -RLE decoder is vulnerable to out of boundary writes due to lack of -boundary checks. - -The variable "framebuf" points to a memory area which was allocated -with fli_header->width * fli_header->height bytes. The RLE decoder -therefore must never write beyond that limit. - -If an illegal frame is detected, the parser won't stop, which means -that the next valid sequence is properly parsed again. This should -allow GIMP to parse FLI files as good as possible even if they are -broken by an attacker or by accident. - -While at it, I changed the variable xc to be of type size_t, because -the multiplication of width and height could overflow a 16 bit type. - -Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> -(cherry picked from commit edb251a7ef1602d20a5afcbf23f24afb163de63b) ---- - plug-ins/file-fli/fli.c | 50 ++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 35 insertions(+), 15 deletions(-) - -diff --git a/plug-ins/file-fli/fli.c b/plug-ins/file-fli/fli.c -index 313efeb977..ffb651e2af 100644 ---- a/plug-ins/file-fli/fli.c -+++ b/plug-ins/file-fli/fli.c -@@ -25,6 +25,8 @@ - - #include "config.h" - -+#include <glib/gstdio.h> -+ - #include <string.h> - #include <stdio.h> - -@@ -461,23 +463,27 @@ void fli_read_brun(FILE *f, s_fli_header *fli_header, unsigned char *framebuf) - unsigned short yc; - unsigned char *pos; - for (yc=0; yc < fli_header->height; yc++) { -- unsigned short xc, pc, pcnt; -+ unsigned short pc, pcnt; -+ size_t n, xc; - pc=fli_read_char(f); - xc=0; - pos=framebuf+(fli_header->width * yc); -+ n=(size_t)fli_header->width * (fli_header->height-yc); - for (pcnt=pc; pcnt>0; pcnt--) { - unsigned short ps; - ps=fli_read_char(f); - if (ps & 0x80) { - unsigned short len; -- for (len=-(signed char)ps; len>0; len--) { -+ for (len=-(signed char)ps; len>0 && xc<n; len--) { - pos[xc++]=fli_read_char(f); - } - } else { - unsigned char val; -+ size_t len; -+ len=MIN(n-xc,ps); - val=fli_read_char(f); -- memset(&(pos[xc]), val, ps); -- xc+=ps; -+ memset(&(pos[xc]), val, len); -+ xc+=len; - } - } - } -@@ -564,25 +570,34 @@ void fli_read_lc(FILE *f, s_fli_header *fli_header, unsigned char *old_framebuf, - memcpy(framebuf, old_framebuf, fli_header->width * fli_header->height); - firstline = fli_read_short(f); - numline = fli_read_short(f); -+ if (numline > fli_header->height || fli_header->height-numline < firstline) -+ return; -+ - for (yc=0; yc < numline; yc++) { -- unsigned short xc, pc, pcnt; -+ unsigned short pc, pcnt; -+ size_t n, xc; - pc=fli_read_char(f); - xc=0; - pos=framebuf+(fli_header->width * (firstline+yc)); -+ n=(size_t)fli_header->width * (fli_header->height-firstline-yc); - for (pcnt=pc; pcnt>0; pcnt--) { - unsigned short ps,skip; - skip=fli_read_char(f); - ps=fli_read_char(f); -- xc+=skip; -+ xc+=MIN(n-xc,skip); - if (ps & 0x80) { - unsigned char val; -+ size_t len; - ps=-(signed char)ps; - val=fli_read_char(f); -- memset(&(pos[xc]), val, ps); -- xc+=ps; -+ len=MIN(n-xc,ps); -+ memset(&(pos[xc]), val, len); -+ xc+=len; - } else { -- fread(&(pos[xc]), ps, 1, f); -- xc+=ps; -+ size_t len; -+ len=MIN(n-xc,ps); -+ fread(&(pos[xc]), len, 1, f); -+ xc+=len; - } - } - } -@@ -689,7 +704,8 @@ void fli_read_lc_2(FILE *f, s_fli_header *fli_header, unsigned char *old_framebu - yc=0; - numline = fli_read_short(f); - for (lc=0; lc < numline; lc++) { -- unsigned short xc, pc, pcnt, lpf, lpn; -+ unsigned short pc, pcnt, lpf, lpn; -+ size_t n, xc; - pc=fli_read_short(f); - lpf=0; lpn=0; - while (pc & 0x8000) { -@@ -700,26 +716,30 @@ void fli_read_lc_2(FILE *f, s_fli_header *fli_header, unsigned char *old_framebu - } - pc=fli_read_short(f); - } -+ yc=MIN(yc, fli_header->height); - xc=0; - pos=framebuf+(fli_header->width * yc); -+ n=(size_t)fli_header->width * (fli_header->height-yc); - for (pcnt=pc; pcnt>0; pcnt--) { - unsigned short ps,skip; - skip=fli_read_char(f); - ps=fli_read_char(f); -- xc+=skip; -+ xc+=MIN(n-xc,skip); - if (ps & 0x80) { - unsigned char v1,v2; - ps=-(signed char)ps; - v1=fli_read_char(f); - v2=fli_read_char(f); -- while (ps>0) { -+ while (ps>0 && xc+1<n) { - pos[xc++]=v1; - pos[xc++]=v2; - ps--; - } - } else { -- fread(&(pos[xc]), ps, 2, f); -- xc+=ps << 1; -+ size_t len; -+ len=MIN((n-xc)/2,ps); -+ fread(&(pos[xc]), len, 2, f); -+ xc+=len << 1; - } - } - if (lpf) pos[xc]=lpn; --- -2.15.1 - diff --git a/gnu/packages/patches/gimp-CVE-2017-17786.patch b/gnu/packages/patches/gimp-CVE-2017-17786.patch deleted file mode 100644 index 851227ac1d..0000000000 --- a/gnu/packages/patches/gimp-CVE-2017-17786.patch +++ /dev/null @@ -1,94 +0,0 @@ -Fix CVE-2017-17786: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17786 -https://bugzilla.gnome.org/show_bug.cgi?id=739134 - -Both patches copied from upstream source repository: - -https://git.gnome.org/browse/gimp/commit/?id=ef9c821fff8b637a2178eab1c78cae6764c50e12 -https://git.gnome.org/browse/gimp/commit/?id=22e2571c25425f225abdb11a566cc281fca6f366 - -From ef9c821fff8b637a2178eab1c78cae6764c50e12 Mon Sep 17 00:00:00 2001 -From: Jehan <jehan@girinstud.io> -Date: Wed, 20 Dec 2017 13:02:38 +0100 -Subject: [PATCH] Bug 739134 - (CVE-2017-17786) Out of bounds read / heap - overflow in... -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -... TGA importer. - -Be more thorough on valid TGA RGB and RGBA images. -In particular current TGA plug-in can import RGBA as 32 bits (8 bits per -channel) and 16 bits (5 bits per color channel and 1 bit for alpha), and -RGB as 15 and 24 bits. -Maybe there exist more variants, but if they do exist, we simply don't -support them yet. - -Thanks to Hanno Böck for the report and a first patch attempt. - -(cherry picked from commit 674b62ad45b6579ec6d7923dc3cb1ef4e8b5498b) ---- - plug-ins/common/file-tga.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/plug-ins/common/file-tga.c b/plug-ins/common/file-tga.c -index aef98702d4..426acc2925 100644 ---- a/plug-ins/common/file-tga.c -+++ b/plug-ins/common/file-tga.c -@@ -564,12 +564,16 @@ load_image (const gchar *filename, - } - break; - case TGA_TYPE_COLOR: -- if (info.bpp != 15 && info.bpp != 16 && -- info.bpp != 24 && info.bpp != 32) -+ if ((info.bpp != 15 && info.bpp != 16 && -+ info.bpp != 24 && info.bpp != 32) || -+ ((info.bpp == 15 || info.bpp == 24) && -+ info.alphaBits != 0) || -+ (info.bpp == 16 && info.alphaBits != 1) || -+ (info.bpp == 32 && info.alphaBits != 8)) - { -- g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u)", -+ g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)", - gimp_filename_to_utf8 (filename), -- info.imageType, info.bpp); -+ info.imageType, info.bpp, info.alphaBits); - return -1; - } - break; --- -2.15.1 - -From 22e2571c25425f225abdb11a566cc281fca6f366 Mon Sep 17 00:00:00 2001 -From: Jehan <jehan@girinstud.io> -Date: Wed, 20 Dec 2017 13:26:26 +0100 -Subject: [PATCH] plug-ins: TGA 16-bit RGB (without alpha bit) is also valid. - -According to some spec on the web, 16-bit RGB is also valid. In this -case, the last bit is simply ignored (at least that's how it is -implemented right now). - -(cherry picked from commit 8ea316667c8a3296bce2832b3986b58d0fdfc077) ---- - plug-ins/common/file-tga.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/plug-ins/common/file-tga.c b/plug-ins/common/file-tga.c -index 426acc2925..eb14a1dadc 100644 ---- a/plug-ins/common/file-tga.c -+++ b/plug-ins/common/file-tga.c -@@ -568,7 +568,8 @@ load_image (const gchar *filename, - info.bpp != 24 && info.bpp != 32) || - ((info.bpp == 15 || info.bpp == 24) && - info.alphaBits != 0) || -- (info.bpp == 16 && info.alphaBits != 1) || -+ (info.bpp == 16 && info.alphaBits != 1 && -+ info.alphaBits != 0) || - (info.bpp == 32 && info.alphaBits != 8)) - { - g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)", --- -2.15.1 - diff --git a/gnu/packages/patches/gimp-CVE-2017-17787.patch b/gnu/packages/patches/gimp-CVE-2017-17787.patch deleted file mode 100644 index b5310d33d9..0000000000 --- a/gnu/packages/patches/gimp-CVE-2017-17787.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix CVE-2017-17787: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17787 -https://bugzilla.gnome.org/show_bug.cgi?id=790853 - -Patch copied from upstream source repository: - -https://git.gnome.org/browse/gimp/commit/?id=87ba505fff85989af795f4ab6a047713f4d9381d - -From 87ba505fff85989af795f4ab6a047713f4d9381d Mon Sep 17 00:00:00 2001 -From: Jehan <jehan@girinstud.io> -Date: Thu, 21 Dec 2017 12:49:41 +0100 -Subject: [PATCH] Bug 790853 - (CVE-2017-17787) heap overread in psp importer. - -As any external data, we have to check that strings being read at fixed -length are properly nul-terminated. - -(cherry picked from commit eb2980683e6472aff35a3117587c4f814515c74d) ---- - plug-ins/common/file-psp.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c -index 4cbafe37b1..e350e4d88d 100644 ---- a/plug-ins/common/file-psp.c -+++ b/plug-ins/common/file-psp.c -@@ -890,6 +890,12 @@ read_creator_block (FILE *f, - g_free (string); - return -1; - } -+ if (string[length - 1] != '\0') -+ { -+ g_message ("Creator keyword data not nul-terminated"); -+ g_free (string); -+ return -1; -+ } - switch (keyword) - { - case PSP_CRTR_FLD_TITLE: --- -2.15.1 - diff --git a/gnu/packages/patches/gimp-CVE-2017-17789.patch b/gnu/packages/patches/gimp-CVE-2017-17789.patch deleted file mode 100644 index 6dfa435fd0..0000000000 --- a/gnu/packages/patches/gimp-CVE-2017-17789.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fix CVE-2017-17789: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17789 -https://bugzilla.gnome.org/show_bug.cgi?id=790849 - -Patch copied from upstream source repository: - -https://git.gnome.org/browse/gimp/commit/?id=01898f10f87a094665a7fdcf7153990f4e511d3f - -From 01898f10f87a094665a7fdcf7153990f4e511d3f Mon Sep 17 00:00:00 2001 -From: Jehan <jehan@girinstud.io> -Date: Wed, 20 Dec 2017 16:44:20 +0100 -Subject: [PATCH] Bug 790849 - (CVE-2017-17789) CVE-2017-17789 Heap buffer - overflow... - -... in PSP importer. -Check if declared block length is valid (i.e. within the actual file) -before going further. -Consider the file as broken otherwise and fail loading it. - -(cherry picked from commit 28e95fbeb5720e6005a088fa811f5bf3c1af48b8) ---- - plug-ins/common/file-psp.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c -index ac0fff78f0..4cbafe37b1 100644 ---- a/plug-ins/common/file-psp.c -+++ b/plug-ins/common/file-psp.c -@@ -1771,6 +1771,15 @@ load_image (const gchar *filename, - { - block_start = ftell (f); - -+ if (block_start + block_total_len > st.st_size) -+ { -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, -+ _("Could not open '%s' for reading: %s"), -+ gimp_filename_to_utf8 (filename), -+ _("invalid block size")); -+ goto error; -+ } -+ - if (id == PSP_IMAGE_BLOCK) - { - if (block_number != 0) --- -2.15.1 - diff --git a/gnu/packages/patches/liboop-mips64-deplibs-fix.patch b/gnu/packages/patches/liboop-mips64-deplibs-fix.patch deleted file mode 100644 index b91754a8cc..0000000000 --- a/gnu/packages/patches/liboop-mips64-deplibs-fix.patch +++ /dev/null @@ -1,17 +0,0 @@ -Patch configure script to choose pass_all deplibs check method for -linux-gnu* systems on mips64. This is a temporary hack until liboop -bootstraps their build system with a newer libtool. - -Patch by Mark H Weaver <mhw@netris.org>. - ---- liboop/configure.orig 2003-10-26 11:41:19.000000000 -0500 -+++ liboop/configure 2013-11-02 18:09:11.079995796 -0400 -@@ -3395,7 +3395,7 @@ - # This must be Linux ELF. - linux*) - case $host_cpu in -- alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) -+ alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | s390* | sh*) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM diff --git a/gnu/packages/patches/shadow-CVE-2018-7169.patch b/gnu/packages/patches/shadow-CVE-2018-7169.patch deleted file mode 100644 index eeae5b9b71..0000000000 --- a/gnu/packages/patches/shadow-CVE-2018-7169.patch +++ /dev/null @@ -1,191 +0,0 @@ -Fix CVE-2018-7169: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7169 - -Patch copied from upstream source repository: - -https://github.com/shadow-maint/shadow/commit/fb28c99b8a66ff2605c5cb96abc0a4d975f92de0 - -From fb28c99b8a66ff2605c5cb96abc0a4d975f92de0 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai <asarai@suse.de> -Date: Thu, 15 Feb 2018 23:49:40 +1100 -Subject: [PATCH] newgidmap: enforce setgroups=deny if self-mapping a group - -This is necessary to match the kernel-side policy of "self-mapping in a -user namespace is fine, but you cannot drop groups" -- a policy that was -created in order to stop user namespaces from allowing trivial privilege -escalation by dropping supplementary groups that were "blacklisted" from -certain paths. - -This is the simplest fix for the underlying issue, and effectively makes -it so that unless a user has a valid mapping set in /etc/subgid (which -only administrators can modify) -- and they are currently trying to use -that mapping -- then /proc/$pid/setgroups will be set to deny. This -workaround is only partial, because ideally it should be possible to set -an "allow_setgroups" or "deny_setgroups" flag in /etc/subgid to allow -administrators to further restrict newgidmap(1). - -We also don't write anything in the "allow" case because "allow" is the -default, and users may have already written "deny" even if they -technically are allowed to use setgroups. And we don't write anything if -the setgroups policy is already "deny". - -Ref: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357 -Fixes: CVE-2018-7169 -Reported-by: Craig Furman <craig.furman89@gmail.com> -Signed-off-by: Aleksa Sarai <asarai@suse.de> ---- - src/newgidmap.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 80 insertions(+), 9 deletions(-) - -diff --git a/src/newgidmap.c b/src/newgidmap.c -index b1e33513..59a2e75c 100644 ---- a/src/newgidmap.c -+++ b/src/newgidmap.c -@@ -46,32 +46,37 @@ - */ - const char *Prog; - --static bool verify_range(struct passwd *pw, struct map_range *range) -+ -+static bool verify_range(struct passwd *pw, struct map_range *range, bool *allow_setgroups) - { - /* An empty range is invalid */ - if (range->count == 0) - return false; - -- /* Test /etc/subgid */ -- if (have_sub_gids(pw->pw_name, range->lower, range->count)) -+ /* Test /etc/subgid. If the mapping is valid then we allow setgroups. */ -+ if (have_sub_gids(pw->pw_name, range->lower, range->count)) { -+ *allow_setgroups = true; - return true; -+ } - -- /* Allow a process to map its own gid */ -- if ((range->count == 1) && (pw->pw_gid == range->lower)) -+ /* Allow a process to map its own gid. */ -+ if ((range->count == 1) && (pw->pw_gid == range->lower)) { -+ /* noop -- if setgroups is enabled already we won't disable it. */ - return true; -+ } - - return false; - } - - static void verify_ranges(struct passwd *pw, int ranges, -- struct map_range *mappings) -+ struct map_range *mappings, bool *allow_setgroups) - { - struct map_range *mapping; - int idx; - - mapping = mappings; - for (idx = 0; idx < ranges; idx++, mapping++) { -- if (!verify_range(pw, mapping)) { -+ if (!verify_range(pw, mapping, allow_setgroups)) { - fprintf(stderr, _( "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n"), - Prog, - mapping->upper, -@@ -89,6 +94,70 @@ static void usage(void) - exit(EXIT_FAILURE); - } - -+void write_setgroups(int proc_dir_fd, bool allow_setgroups) -+{ -+ int setgroups_fd; -+ char *policy, policy_buffer[4096]; -+ -+ /* -+ * Default is "deny", and any "allow" will out-rank a "deny". We don't -+ * forcefully write an "allow" here because the process we are writing -+ * mappings for may have already set themselves to "deny" (and "allow" -+ * is the default anyway). So allow_setgroups == true is a noop. -+ */ -+ policy = "deny\n"; -+ if (allow_setgroups) -+ return; -+ -+ setgroups_fd = openat(proc_dir_fd, "setgroups", O_RDWR|O_CLOEXEC); -+ if (setgroups_fd < 0) { -+ /* -+ * If it's an ENOENT then we are on too old a kernel for the setgroups -+ * code to exist. Emit a warning and bail on this. -+ */ -+ if (ENOENT == errno) { -+ fprintf(stderr, _("%s: kernel doesn't support setgroups restrictions\n"), Prog); -+ goto out; -+ } -+ fprintf(stderr, _("%s: couldn't open process setgroups: %s\n"), -+ Prog, -+ strerror(errno)); -+ exit(EXIT_FAILURE); -+ } -+ -+ /* -+ * Check whether the policy is already what we want. /proc/self/setgroups -+ * is write-once, so attempting to write after it's already written to will -+ * fail. -+ */ -+ if (read(setgroups_fd, policy_buffer, sizeof(policy_buffer)) < 0) { -+ fprintf(stderr, _("%s: failed to read setgroups: %s\n"), -+ Prog, -+ strerror(errno)); -+ exit(EXIT_FAILURE); -+ } -+ if (!strncmp(policy_buffer, policy, strlen(policy))) -+ goto out; -+ -+ /* Write the policy. */ -+ if (lseek(setgroups_fd, 0, SEEK_SET) < 0) { -+ fprintf(stderr, _("%s: failed to seek setgroups: %s\n"), -+ Prog, -+ strerror(errno)); -+ exit(EXIT_FAILURE); -+ } -+ if (dprintf(setgroups_fd, "%s", policy) < 0) { -+ fprintf(stderr, _("%s: failed to setgroups %s policy: %s\n"), -+ Prog, -+ policy, -+ strerror(errno)); -+ exit(EXIT_FAILURE); -+ } -+ -+out: -+ close(setgroups_fd); -+} -+ - /* - * newgidmap - Set the gid_map for the specified process - */ -@@ -103,6 +172,7 @@ int main(int argc, char **argv) - struct stat st; - struct passwd *pw; - int written; -+ bool allow_setgroups = false; - - Prog = Basename (argv[0]); - -@@ -145,7 +215,7 @@ int main(int argc, char **argv) - (unsigned long) getuid ())); - return EXIT_FAILURE; - } -- -+ - /* Get the effective uid and effective gid of the target process */ - if (fstat(proc_dir_fd, &st) < 0) { - fprintf(stderr, _("%s: Could not stat directory for target %u\n"), -@@ -177,8 +247,9 @@ int main(int argc, char **argv) - if (!mappings) - usage(); - -- verify_ranges(pw, ranges, mappings); -+ verify_ranges(pw, ranges, mappings, &allow_setgroups); - -+ write_setgroups(proc_dir_fd, allow_setgroups); - write_mapping(proc_dir_fd, ranges, mappings, "gid_map"); - sub_gid_close(); - --- -2.16.2 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index b2d43c2b10..aaa22cce15 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> @@ -124,6 +124,36 @@ (license license:gpl2+) (home-page "https://poppler.freedesktop.org/"))) +(define-public poppler-data + (package + (name "poppler-data") + (version "0.4.9") + (source (origin + (method url-fetch) + (uri (string-append "https://poppler.freedesktop.org/poppler-data" + "-" version ".tar.gz")) + (sha256 + (base32 + "04i0wgdkn5lhda8cyxd1ll4a2p41pwqrwd47n9mdpl7cx5ypx70z")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no test suite + #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + ;; The package only provides some data files, so there is nothing to + ;; build. + (delete 'configure) + (delete 'build)))) + (synopsis "Poppler encoding files for rendering of CJK and Cyrillic text") + (description "This package provides optional encoding files for Poppler. +When present, Poppler is able to correctly render CJK and Cyrillic text.") + (home-page (package-home-page poppler)) + ;; See COPYING in the source distribution for more information about + ;; the licensing. + (license (list license:bsd-3 + license:gpl2)))) + (define-public poppler-qt4 (package (inherit poppler) (name "poppler-qt4") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c4228e4e05..b810037ee1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6003,7 +6003,7 @@ building is done in @code{MooX::ConfigFromFile::Role}---using (define-public perl-moox-file-configdir (package (name "perl-moox-file-configdir") - (version "0.006") + (version "0.007") (source (origin (method url-fetch) @@ -6011,7 +6011,7 @@ building is done in @code{MooX::ConfigFromFile::Role}---using "MooX-File-ConfigDir-" version ".tar.gz")) (sha256 (base32 - "0f808sq3627ymgf63zwgh705vv0nhwclxp89clhx8yl6hybcv7kx")))) + "074v150wrbddhy1n0qc8s80zrb71l3c4is968cnr06ac5l9kmshz")))) (build-system perl-build-system) (propagated-inputs `(("perl-file-configdir" ,perl-file-configdir) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 2c0c2313f4..348ac1df62 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -69,14 +69,14 @@ (define-public libraw (package (name "libraw") - (version "0.18.9") + (version "0.18.10") (source (origin (method url-fetch) (uri (string-append "https://www.libraw.org/data/LibRaw-" version ".tar.gz")) (sha256 (base32 - "0kmjfdr409k9q9n17k9ywims5z4kqc16s81ba7y09n7669q1gvyj")))) + "0klrzg1cn8ksxqbhx52dldi5bbmad190npnhhgkyr2jzpgrbpj88")))) (build-system gnu-build-system) (home-page "https://www.libraw.org") (synopsis "Raw image decoder") diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 38f279206d..4eb68c0270 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -179,14 +179,14 @@ colors, styles, options and details.") (define-public asymptote (package (name "asymptote") - (version "2.42") + (version "2.44") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 (base32 - "0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95")))) + "1rs9v95g19ri6ra2m921jf2yr9avqnzfybrqxilsld98xpqx56vg")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b805b8e707..080552573d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2588,6 +2588,36 @@ sources.") (propagated-inputs `(("python2-pytz" ,python2-pytz) ,@(package-propagated-inputs base)))))) +(define-public python-sphinx-gallery + (package + (name "python-sphinx-gallery") + (version "0.1.13") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sphinx-gallery/sphinx-gallery" + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03fs99mcb1r7qp0xixqv07vcz98sk21yq19ffdysi0infdcpzfkd")))) + (build-system python-build-system) + (arguments + ;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>, + ;; <https://docs.scipy.org/doc/numpy/objects.inv>, and + ;; <https://matplotlib.org/objects.inv>. + `(#:tests? #f)) + (native-inputs + `(("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://sphinx-gallery.github.io/") + (synopsis "Generate an examples gallery automatically") + (description + "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version +from any set of Python scripts and puts it into an examples gallery.") + (license license:bsd-3))) + +(define-public python2-sphinx-gallery + (package-with-python2 python-sphinx-gallery)) + (define-public python-sphinx-rtd-theme (package (name "python-sphinx-rtd-theme") @@ -2869,7 +2899,7 @@ between language specification and implementation aspects.") (define-public python-numpy (package (name "python-numpy") - (version "1.14.0") + (version "1.14.3") (source (origin (method url-fetch) @@ -2878,7 +2908,7 @@ between language specification and implementation aspects.") version "/numpy-" version ".tar.gz")) (sha256 (base32 - "1kh7y2ay21s9mcc11mq59g2f1yc75v152z2k2vlh0xmh9c9rjpf4")))) + "1yim2bxlycn4dhxmfxid6slplpmcb4ynhp411b37ahmsm2lwgkyg")))) (build-system python-build-system) (inputs `(("openblas" ,openblas) @@ -3430,17 +3460,18 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (define-public python-matplotlib (package (name "python-matplotlib") - (version "2.0.2") + (version "2.2.2") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 (base32 - "1w8z2a1l7s72p1byfz7g03wqhygqxi8w82619dqb3a1lm97w9yqg")))) + "1s6dv225w3k4fv52h8lfjc7qq5y56i9755ayx0mz48ddi99fzisd")))) (build-system python-build-system) (propagated-inputs ; the following packages are all needed at run time `(("python-cycler" ,python-cycler) + ("python-kiwisolver" ,python-kiwisolver) ("python-pyparsing" ,python-pyparsing) ("python-pygobject" ,python-pygobject) ("gobject-introspection" ,gobject-introspection) @@ -3520,6 +3551,8 @@ toolkits.") ;; of those automatically rewritten by package-with-python2. (propagated-inputs `(("python2-pycairo" ,python2-pycairo) + ("python2-backports-functools-lru-cache" + ,python2-backports-functools-lru-cache) ("python2-functools32" ,python2-functools32) ("python2-pygobject-2" ,python2-pygobject-2) ("python2-subprocess32" ,python2-subprocess32) @@ -3536,7 +3569,8 @@ toolkits.") (native-inputs `(("python-matplotlib" ,python-matplotlib) ("python-colorspacious" ,python-colorspacious) - ("python-sphinx" ,python-sphinx) + ("python-sphinx" ,python-sphinx-1.6) + ("python-sphinx-gallery" ,python-sphinx-gallery) ("python-numpydoc" ,python-numpydoc) ("python-ipython" ,python-ipython) ("python-mock" ,python-mock) @@ -3559,7 +3593,7 @@ toolkits.") (("latex_elements\\['pointsize'\\] = '11pt'" match) ;; insert at a point where latex_elements{} is defined: (string-append match "\nlatex_elements['papersize'] = 'a4paper'"))) - (zero? (system* "python" "make.py" "html" "latex" "texinfo")))) + (invoke "make" "SPHINXBUILD=sphinx-build" "html" "latex" "texinfo"))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "out") "/share")) @@ -3693,14 +3727,14 @@ functions.") (define-public python-scipy (package (name "python-scipy") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (pypi-uri "scipy" version)) (sha256 (base32 - "043djb3vyk6qripmyw30jhl0g8qza0fmar6wck10iv79l08izsl7")))) + "1fj0r7bg0cfk5clvl57ga06y9bfh05iwlv1dqqs1r6pd89wccfc7")))) (build-system python-build-system) (propagated-inputs `(("python-numpy" ,python-numpy) @@ -10503,6 +10537,10 @@ a file-like object from which an arbitrarly-sized key can be read.") `(("python-lxml" ,python-lxml) ; for SVG output ("python-pillow" ,python-pillow) ; for PNG output ("python-six" ,python-six))) + (inputs + `(;; The setup.cfg file needs to be used, and support for this requires + ;; at least version 30.3.0 of setuptools + ("python-setuptools" ,python-setuptools))) (home-page "https://github.com/lincolnloop/python-qrcode") (synopsis "QR Code image generator") (description "This package provides a pure Python QR Code generator diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index b139d2bc8c..d8896e3e0b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1712,7 +1712,7 @@ contain over 620 classes.") (define-public qscintilla (package (name "qscintilla") - (version "2.10.2") + (version "2.10.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/pyqt/QScintilla2/" @@ -1720,7 +1720,7 @@ contain over 620 classes.") version ".tar.gz")) (sha256 (base32 - "1l2ylsv6s3wfhyx7qr5cxgkwwwhvbrpd2k7akgm9bvbyf4h1vcql")))) + "1rw1nlwnyzj5pb86cc5kk56qhrvwvrjvjzgrkwh3g7b9wxl7lrfj")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c15e677438..e282a6f24e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1005,13 +1005,13 @@ interfaces.") (define-public ruby-lumberjack (package (name "ruby-lumberjack") - (version "1.0.12") + (version "1.0.13") (source (origin (method url-fetch) (uri (rubygems-uri "lumberjack" version)) (sha256 (base32 - "0yz26k9mi0djx1qvlmvdw1xw2yf7a2rkfmnb2j0d28kms33xpibp")))) + "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n")))) (build-system ruby-build-system) (native-inputs `(("ruby-rspec" ,ruby-rspec) @@ -2068,14 +2068,14 @@ instance, it provides @code{assert_true}, @code{assert_false} and (define-public ruby-minitest-hooks (package (name "ruby-minitest-hooks") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-hooks" version)) (sha256 (base32 - "05bngfyxwq1cflk568nhddgfrmws5ff6kiqax4skklsjnh71ykbi")))) + "0lnpvzijbjrvxjc43d155jnbk2mkfshrz22an711wh004scavlzc")))) (build-system ruby-build-system) (arguments '(#:test-target "spec")) @@ -2924,13 +2924,13 @@ a native C extension.") (define-public ruby-rb-fsevent (package (name "ruby-rb-fsevent") - (version "0.10.2") + (version "0.10.3") (source (origin (method url-fetch) (uri (rubygems-uri "rb-fsevent" version)) (sha256 (base32 - "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf")))) + "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8")))) (build-system ruby-build-system) ;; Tests need "guard-rspec", which needs "guard". However, "guard" needs ;; "listen", which needs "rb-fsevent" at runtime. @@ -3694,17 +3694,17 @@ application.") (define-public ruby-eventmachine (package (name "ruby-eventmachine") - (version "1.2.5") + (version "1.2.6") (source (origin (method url-fetch) (uri (rubygems-uri "eventmachine" version)) (sha256 (base32 - "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z")))) + "08477hl609rmmngwfy8dmsqz5zvsg8xrsrrk6xi70jf48majwli0")))) (build-system ruby-build-system) (arguments - '(#:tests? #f)) ; test suite tries to connect to google.com + '(#:tests? #f)) ; test suite tries to connect to google.com (native-inputs `(("ruby-rake-compiler" ,ruby-rake-compiler))) (synopsis "Single-threaded network event framework for Ruby") @@ -3882,14 +3882,14 @@ definitions.") (define-public ruby-fivemat (package (name "ruby-fivemat") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (rubygems-uri "fivemat" version)) (sha256 (base32 - "0ij7n250gk5c1g34rsbwjnpcv64gk4vsas8lkz8fac4wbygvk6z1")))) + "006n7b09vviv5bs5hv2ccmjxw9iw3brcsm3xh3dhzfncsknz4jp7")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; no tests diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 13b904a6c5..c194249596 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.7.7") + (version "4.8.1") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "0c81x2ncnvz3mi6fjj81clm1mh049d3ip3fj031l44qclxpx3yi9")))) + "17bqgxyv34hjnb4hfamag75gwhqipp6mpvba5xg7lszi0xskdxwf")))) (build-system gnu-build-system) (arguments `(#:phases @@ -192,8 +192,8 @@ anywhere.") (add-before 'install 'disable-etc-samba-directory-creation (lambda _ (substitute* "dynconfig/wscript" - (("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}") - "bld.INSTALL_DIRS(\"\", \"")) + (("bld\\.INSTALL_DIR\\(\"\\$\\{CONFIGDIR\\}\"\\)") + "")) #t))) ;; XXX: The test infrastructure attempts to set password with ;; smbpasswd, which fails with "smbpasswd -L can only be used by root." @@ -206,14 +206,16 @@ anywhere.") ("gnutls" ,gnutls) ("iniparser" ,iniparser) ("libaio" ,libaio) - ("ldb" ,ldb) ("linux-pam" ,linux-pam) ("openldap" ,openldap) ("popt" ,popt) ("readline" ,readline) - ("talloc" ,talloc) - ("tevent" ,tevent) ("tdb" ,tdb))) + (propagated-inputs + ;; In Requires or Requires.private of pkg-config files. + `(("ldb" ,ldb) + ("talloc" ,talloc) + ("tevent" ,tevent))) (native-inputs `(("docbook-xsl" ,docbook-xsl) ;for generating manpages ("xsltproc" ,libxslt) ;ditto @@ -340,14 +342,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "1avn4fl393kc80krbc47phbp0argdkys62ycs8vm934a6nvz0gnf")))) + "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 6ff83ce5a4..9d9580ca7b 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,14 +32,20 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages autotools) #:use-module (gnu packages curl) + #:use-module (gnu packages check) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages networking) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages readline) #:use-module (gnu packages tls) + #:use-module (gnu packages tex) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -202,3 +209,86 @@ one-time-password (OTP) YubiKey against Yubico’s servers. See the Yubico website for more information about Yubico and the YubiKey.") (home-page "https://developers.yubico.com/yubico-c-client/") (license license:bsd-2))) + +(define-public opensc + (package + (name "opensc") + (version "0.17.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/OpenSC/OpenSC/releases/download/" + version "/opensc-" version ".tar.gz")) + (sha256 + (base32 + "0043jh5g7q2lyd5vnb0akwb5y349isx7vbm9wqhlgav7d20wcwxy")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; By setting an absolute path here, we arrange for OpenSC to + ;; successfully dlopen libpcsclite.so.1 by default. The user can + ;; still override this if they want to, by specifying a custom OpenSC + ;; configuration file at runtime. + (add-after 'unpack 'set-default-libpcsclite.so.1-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((libpcsclite (string-append (assoc-ref inputs "pcsc-lite") + "/lib/libpcsclite.so.1"))) + (substitute* "configure" + (("DEFAULT_PCSC_PROVIDER=\"libpcsclite\\.so\\.1\"") + (string-append + "DEFAULT_PCSC_PROVIDER=\"" libpcsclite "\""))) + #t)))))) + (inputs + `(("readline" ,readline) + ("openssl" ,openssl) + ("pcsc-lite" ,pcsc-lite) + ("ccid" ,ccid))) + (native-inputs + `(("libxslt" ,libxslt) + ("docbook-xsl" ,docbook-xsl) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/OpenSC/OpenSC/wiki") + (synopsis "Tools and libraries related to smart cards") + (description + "OpenSC is a set of software tools and libraries to work with smart +cards, with the focus on smart cards with cryptographic capabilities. OpenSC +facilitate the use of smart cards in security applications such as +authentication, encryption and digital signatures. OpenSC implements the PKCS +#15 standard and the PKCS #11 API.") + (license license:lgpl2.1+))) + +(define-public yubico-piv-tool + (package + (name "yubico-piv-tool") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/yubico-piv-tool/Releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1axa0lnky5gsc8yack6mpfbjh49z0czr1cv52gbgjnx2kcbpb0y1")))) + (build-system gnu-build-system) + (inputs + `(("perl" ,perl) + ("pcsc-lite" ,pcsc-lite) + ("openssl" ,openssl))) + (native-inputs + `(("doxygen" ,doxygen) + ("graphviz" ,graphviz) + ("check" ,check) + ("texlive-bin" ,texlive-bin) + ("pkg-config" ,pkg-config))) + (home-page "https://developers.yubico.com/yubico-piv-tool/") + (synopsis "Interact with the PIV application on a YubiKey") + (description + "The Yubico PIV tool is used for interacting with the Privilege and +Identification Card (PIV) application on a YubiKey. With it you may generate +keys on the device, import keys and certificates, create certificate requests, +and other operations. It includes a library and a command-line tool.") + ;; The file ykcs11/pkcs11.h also declares an additional, very short free + ;; license for that one file. Please see it for details. The vast + ;; majority of files are licensed under bsd-2. + (license license:bsd-2))) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 77afe2a11e..3064e385e2 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -248,7 +248,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (define-public yaml-cpp (package (name "yaml-cpp") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append @@ -256,12 +256,10 @@ that implements both the msgpack and msgpack-rpc specifications.") "yaml-cpp-" version ".tar.gz")) (sha256 (base32 - "038ddf771d1zrdfiwqzq2lsjdis1fxbaasbdja2w9f1av3k3gv15")))) + "01gxn7kc8pzyh4aadjxxzq8cignmbwmm9rfrsmgqfg9w2q75dn74")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) - (inputs - `(("boost" ,boost))) (native-inputs `(("python" ,python))) (home-page "https://github.com/jbeder/yaml-cpp") diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 8b41c8d613..a948547f72 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -356,14 +356,14 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 (base32 - "09rrfcwpirbxmjjqnsbyn7lwm1wyn41z5zhkbnv57i5hcgs72kx6")) + "0c2bbmdg0n10q54vq9k1z5n53l0mh1hb1q5xprfhilvrbr6hlcwr")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 112ccb3280..a0f033305e 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -444,16 +444,15 @@ particularly useful for embedded systems, such as wireless routers.") (define-public liboop (package (name "liboop") - (version "1.0") + (version "1.0.1") (source (origin (method url-fetch) - (uri (string-append "http://download.ofb.net/liboop/liboop-" - version ".tar.gz")) + (uri (string-append "http://ftp.lysator.liu.se/pub/liboop/" + name "-" version ".tar.gz")) (sha256 (base32 - "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")) - (patches (search-patches "liboop-mips64-deplibs-fix.patch")))) + "1q0p1l72pq9k3bi7a366j2rishv7dzzkg3i6r2npsfg7cnnidbsn")))) (build-system gnu-build-system) (home-page "http://www.lysator.liu.se/liboop/") (synopsis "Event loop library") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 51f5ad91b1..aca26edad4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -318,14 +318,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.") (define-public r-mass (package (name "r-mass") - (version "7.3-49") + (version "7.3-50") (source (origin (method url-fetch) (uri (cran-uri "MASS" version)) (sha256 (base32 - "1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs")))) + "16hasv9k4n773jsyzvh8s3gbga49hwdj8n5hxij6zqisy4i0kxq6")))) (properties `((upstream-name . "MASS"))) (build-system r-build-system) (home-page "http://www.stats.ox.ac.uk/pub/MASS4/") @@ -939,14 +939,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.1.7") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "0nck1s2iglmkrn15ay2chrrwsy5lngcylz2sc87fxy5skxaahxdl")))) + "1z8yqnh3alq0xriz77vifgl27msf3av6maz07fld78m90ajb6y8r")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1188,13 +1188,13 @@ evaluation (NSE) in R.") (define-public r-dbi (package (name "r-dbi") - (version "0.8") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "DBI" version)) (sha256 (base32 - "16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym")))) + "1x8wy2vg2gcgd9bww04qmf0dsn3kp0rfjd8q8j1r2x9zxccg25pz")))) (build-system r-build-system) (home-page "https://github.com/rstats-db/DBI") (synopsis "R database interface") @@ -1331,13 +1331,13 @@ syntax that can be converted to XHTML or other formats.") (define-public r-yaml (package (name "r-yaml") - (version "2.1.18") + (version "2.1.19") (source (origin (method url-fetch) (uri (cran-uri "yaml" version)) (sha256 (base32 - "15m4q5krfqg0avvqg9i2g6ns4757lk6zbyrwbx5c5bgh51glvd8v")))) + "04bzrnfgbpk0rhkvzwp3k3ip7jpq26bjxz71bx5mwxmcjdb07nz5")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/yaml/") (synopsis "Methods to convert R data to YAML and back") @@ -1681,14 +1681,14 @@ transformations.") (define-public r-formula (package (name "r-formula") - (version "1.2-2") + (version "1.2-3") (source (origin (method url-fetch) (uri (cran-uri "Formula" version)) (sha256 (base32 - "0ad49bzip1zqmpj1d8jajwl4bd81fm3k6dq8p26x6mvlzc04dvwd")))) + "0wiqh8rr9d5ciy80wj8f5fnmiiw0ywanvvnhkwd622dx42dk848l")))) (properties `((upstream-name . "Formula"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/Formula") @@ -1742,13 +1742,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.10.4-3") + (version "1.11.0") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "12caklgr19vy9wprdks6zh825vr1iw1cajgwcnbpyvmijqdlz2xs")))) + "0n1p35c9sni2272ykxsfbsy7xma62br7v668a5bvc37g75xf10df")))) (build-system r-build-system) (home-page "https://github.com/Rdatatable/data.table/wiki") (synopsis "Enhanced version of data.frame R object") @@ -2157,14 +2157,14 @@ module, Java Server Pages, and Python's psp module.") (define-public r-desc (package (name "r-desc") - (version "1.1.1") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "desc" version)) (sha256 (base32 - "0k07qighac1xzmm8k988zi7i88a0yfvia3gk5hbz0fyvb2v9kzrj")))) + "1s6s13fk6sxwcj8wzkwxl9vr33153xx11p5wi9avqx3rzkabavz6")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -2182,14 +2182,14 @@ other packages.") (define-public r-commonmark (package (name "r-commonmark") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (cran-uri "commonmark" version)) (sha256 (base32 - "1vb8r9khpvcf0q7acv8rsplfjjwcll302bg5kp596cvn6aacypl6")))) + "1jwx5rgm0ypd9a3v4jd9za4a644rdzhk1n4dvmgkj9hdpwsida3z")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/commonmark") (synopsis "CommonMark and Github Markdown Rendering in R") @@ -2482,13 +2482,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.8.400.0.0") + (version "0.8.500.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr")))) + "1sh36dx6inmb56m40nigy94gxlgjva816qnlmjwg7y2bdvqj8vsi")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (native-inputs @@ -3986,14 +3986,14 @@ hierarchical clustering dendrograms.") (define-public r-preprocesscore (package (name "r-preprocesscore") - (version "1.40.0") + (version "1.42.0") (source (origin (method url-fetch) (uri (bioconductor-uri "preprocessCore" version)) (sha256 (base32 - "0mrdgbkb9dcfr9gsqyxfpshnxx60mq97pl98b8yl00l2gfwz48ph")))) + "1afar1z7959v7mbzsqa77vqfh0yc7y3nv5ayx71485a8scwsfwbk")))) (properties `((upstream-name . "preprocessCore"))) (build-system r-build-system) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 0a90610ecb..b650bedf25 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -29,7 +29,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.46") + (version "0.14.47") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -37,7 +37,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0h5b2mp0li0qzrz3wggzavdfqfaz9b79hx6wds84ya2i9maw80cl")) + "1wz6cwq3la5676z1c20sh4fykmjwhs410xzcnb2jfyzaldf57cwj")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -145,7 +145,7 @@ ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union)) ("go-golang-org-x-text" ,(go-golang-org-x-text-union)) ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate) - ("go-github-com-zillode-notify" ,go-github-com-zillode-notify) + ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify) ;; For tests ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff))) (synopsis "Decentralized continuous file system synchronization") @@ -507,7 +507,10 @@ address of the default LAN gateway.") "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/kardianos/osext")) + `(#:import-path "github.com/kardianos/osext" + ;; The tests are flaky: + ;; <https://github.com/kardianos/osext/issues/21> + #:tests? #f)) (synopsis "Find the running executable") (description "Osext provides a method for finding the current executable file that is running. This can be used for upgrading the current executable or @@ -910,7 +913,6 @@ libraries are in the same directory.") (define* (go-golang-org-x-net-union #:optional (packages (list go-golang-org-x-net-ipv4 go-golang-org-x-net-bpf - go-golang-org-x-net-context go-golang-org-x-net-ipv6 go-golang-org-x-net-proxy go-golang-org-x-net-internal-iana))) @@ -1111,30 +1113,30 @@ using sh's word-splitting rules.") (home-page "https://github.com/kballard/go-shellquote") (license expat)))) -(define-public go-github-com-zillode-notify - (let ((commit "53dd6873a851fc377c87d82f994b1fecdf25aadb") - (revision "3")) +(define-public go-github-com-syncthing-notify + (let ((commit "b9ceffc925039c77cd9e0d38f248279ccc4399e2") + (revision "0")) (package - (name "go-github-com-zillode-notify") + (name "go-github-com-syncthing-notify") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/calmh/notify") + (url "https://github.com/syncthing/notify") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0ar6mj6s91y7hc5gdp88lz3i7xi29cqkx9f090xj899ir21a8djn")))) + "1scha9b2r35bvqzqx86sarzjxf72ywvj3g6n9pm3xq4i4xzpylxf")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/Zillode/notify")) + '(#:import-path "github.com/syncthing/notify")) (propagated-inputs `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "File system event notification library") (description "This package provides @code{notify}, a file system event notification library in Go.") - (home-page "https://github.com/zillode/notify") + (home-page "https://github.com/syncthing/notify") (license expat)))) (define-public go-github-com-beorn7-perks-quantile diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ada2088c4c..ea3955439a 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -493,13 +493,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.23.0") + (version "0.24.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0l257dq1i2gka6ynldidpwaz1aa726643crqqckga1w5awsndh88")))) + "1jq1nlly5146k08dw31fc1pw78plya5jswznnd512c08giif0mfn")))) (build-system python-build-system) (arguments `(#:phases @@ -548,7 +548,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "0gh5fr61c3mj5vdkn68k17wcvri9rdj506cmmz6631i2l5flrzvc")))) + "0w3dbz74rpabjnc3l3ybnzjdypbr65lsjqf9yn243b5kid9d8wm0")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -634,18 +634,20 @@ servers or clients for more complicated applications.") (define-public perl-crypt-openssl-rsa (package (name "perl-crypt-openssl-rsa") - (version "0.28") + (version "0.30") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/P/PE/PERLER/Crypt-OpenSSL-RSA-" + "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-" version ".tar.gz")) (sha256 (base32 - "1gnpvv09b2gpifwdzc5jnhama3d1a4c39lzj9hcaicsb8rvzjmsk")))) + "1b19kaaw4wda8dy6kjiwqa2prpbs2dqcyjyj9zdh5wbs74qkbq93")))) (build-system perl-build-system) + (native-inputs + `(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess))) (inputs `(("perl-crypt-openssl-bignum" ,perl-crypt-openssl-bignum) ("perl-crypt-openssl-random" ,perl-crypt-openssl-random) @@ -793,7 +795,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.7.2") + (version "2.7.3") (source (origin (method url-fetch) @@ -803,7 +805,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1mvkqlxxvl6yp1g5g9dk4l7h3wl6149p3pfwgwzgs7xybyxw4f7x")))) + "0rfpcc4i01qsl66iy1z9vaw00s34h4qgx3r41i1v5vazv7vjla05")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 3385d80fbc..4df65431af 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -29,14 +29,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20180410") + (version "2.0.20180503") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "08vs9012bahdwid4nsf3mi2kawcq1hvz7lzpdmiynxcbpip6sk0f")))) + (base32 "0dv906ibjdrv4wfrccj36z3lvpvgmcg0dwakhi66fqg6y5l97a5k")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 85efda65ec..983ce45ec4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -564,7 +564,8 @@ libebml is a C++ library to read and write EBML files.") ("libx11" ,libx11) ("libxext" ,libxext) ("libxfixes" ,libxfixes) - ("mesa" ,mesa))) + ("mesa" ,mesa) + ("wayland" ,wayland))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 9dd8bb8971..05d2ab0b87 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -383,14 +383,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "4.2.0") + (version "4.3.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 (base32 - "0nq1iz5iic466qahp0i8dlvyd6li0b0pdrvvrz9286l12x2fm61s")))) + "1dy243dqaj174hcka0my7q781wf0dvyi7f9328nwnplqicnf4cd5")))) (build-system gnu-build-system) (arguments `(;; FAIL: virshtest diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a8f28040b0..b8181e09d1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -519,7 +519,7 @@ data.") (define-public json-c (package (name "json-c") - (version "0.13") + (version "0.13.1") (source (origin (method url-fetch) (uri (string-append @@ -527,7 +527,7 @@ data.") version ".tar.gz")) (sha256 (base32 - "0kf2594kxcfga6x0mvwzj2qg8pgxhjkibc16ghnw85mdx45ph5h3")) + "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq")) (modules '((guix build utils))) (snippet '(begin @@ -536,14 +536,8 @@ data.") ;; run 'autoheader'. (set-file-time "config.h.in" (stat "aclocal.m4")) - - ;; Don't try to build with -Werror. - (substitute* (find-files "." "Makefile\\.in") - (("-Werror") "")) #t)))) (build-system gnu-build-system) - (arguments '(#:parallel-build? #f - #:parallel-tests? #f)) (home-page "https://github.com/json-c/json-c/wiki") (synopsis "JSON implementation in C") (description @@ -1818,15 +1812,15 @@ number, file name, and code context surrounding the line number.") (define-public perl-catalyst-plugin-static-simple (package (name "perl-catalyst-plugin-static-simple") - (version "0.33") + (version "0.36") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/" + (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" "Catalyst-Plugin-Static-Simple-" version ".tar.gz")) (sha256 (base32 - "1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy")))) + "0m4l627p2fvzr4i6sgdxhdvsx4wpa6qmaibsbxlg5x5yjs7k7drn")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install))) @@ -2439,7 +2433,7 @@ composed of HTML::Element style components.") (define-public perl-html-scrubber (package (name "perl-html-scrubber") - (version "0.15") + (version "0.17") (source (origin (method url-fetch) @@ -2449,11 +2443,12 @@ composed of HTML::Element style components.") ".tar.gz")) (sha256 (base32 - "1m1f8gm2jry42zxja05dxp2ck7y66m7i8vc38nj6hccnwlby6cvi")))) + "06p7w4zd42b2yh541mlzyqj40lwmvvn3fyqi8big4mf34la7m2jm")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-cpan-meta" ,perl-test-cpan-meta) + ("perl-test-differences" ,perl-test-differences) ("perl-test-eol" ,perl-test-eol) ("perl-test-memory-cycle" ,perl-test-memory-cycle) ("perl-test-notabs" ,perl-test-notabs))) @@ -3412,7 +3407,7 @@ either mocked HTTP or a locally spawned server.") (define-public perl-test-www-mechanize (package (name "perl-test-www-mechanize") - (version "1.48") + (version "1.50") (source (origin (method url-fetch) @@ -3420,17 +3415,12 @@ either mocked HTTP or a locally spawned server.") "Test-WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 - "1d11fx9155d5v17d5w7q3kj37b01l8yj2yb0g6b0z1vh938rrlcr")))) + "097pl87vdbxbb56vawzvs6ikrlb8nz3dx223kjjbdn3jlli3jjhg")))) (build-system perl-build-system) - (native-inputs - `(("perl-test-exception" ,perl-test-exception))) - (native-inputs - `(("perl-module-install" ,perl-module-install))) (propagated-inputs `(("perl-carp-assert-more" ,perl-carp-assert-more) ("perl-html-form" ,perl-html-form) ("perl-html-lint" ,perl-html-lint) - ("perl-html-tree" ,perl-html-tree) ("perl-http-server-simple" ,perl-http-server-simple) ("perl-libwww" ,perl-libwww) ("perl-test-longstring" ,perl-test-longstring) @@ -3480,7 +3470,7 @@ testing of Catalyst applications without needing to start up a web server.") (define-public perl-test-www-mechanize-psgi (package (name "perl-test-www-mechanize-psgi") - (version "0.37") + (version "0.38") (source (origin (method url-fetch) @@ -3488,7 +3478,7 @@ testing of Catalyst applications without needing to start up a web server.") "Test-WWW-Mechanize-PSGI-" version ".tar.gz")) (sha256 (base32 - "0c9a9w0d2whadnrich7f09w37fgq5hws4gq04zgz4jsdjcvr3qv2")))) + "0fsh2i05kf1kfavv2r9kmnjl7qlyqrd11ikc0qcqzzxsqzzjkg9r")))) (build-system perl-build-system) (native-inputs `(("perl-test-pod" ,perl-test-pod))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 0b5e0848c1..b503f71a62 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -967,3 +968,47 @@ It is inspired by Xmonad and dwm. Its major features include: (description "Cwm is a stacking window manager for X11. It is an OpenBSD project derived from the original Calm Window Manager.") (license license:isc))) + +(define-public nitrogen + (package + (name "nitrogen") + (version "1.6.1") + (source (origin + (method url-fetch) + (uri (string-append "http://github.com/l3ib/nitrogen/" + "releases/download/" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0zc3fl1mbhq0iyndy4ysmy8vv5c7xwf54rbgamzfhfvsgdq160pl")))) + (build-system gnu-build-system) + (inputs + `(("gtk+" ,gtk+-2) + ("gtkmm" ,gtkmm-2) + ("glib" ,glib) + ("glibmm" ,glibmm))) + (native-inputs + `(("pkg-config", pkg-config))) + (arguments + `(#:configure-flags (list + (string-append "--prefix=" %output) + "CXXFLAGS=-std=c++11"))) + (home-page "http://projects.l3ib.org/nitrogen/") + (synopsis "Background browser and setter for X windows") + (description + "This package is a background browser and setter for X windows. It's +features are: + +@itemize +@item Multihead and Xinerama aware +@item Recall mode to used via startup script +@item Uses freedesktop.org standard for thumbnails +@item Can set GNOME background +@item Command lie set modes for script use +@item Inotify monitoring of browse directory +@item Lazy loading of thumbnails - conserves memory +@item \"Automatic\" set mode - determines best mode to set an image based on +its size +@item Display preview images in a tiled icon layout +@end itemize") + (license license:gpl2+))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0d9ec32a47..422f625cf4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2908,12 +2908,11 @@ X server.") (define-public xf86-video-intel - (let ((commit "af6d8e9e8f546e5cba60e3a62765c2dbd0328e83") - (revision "9")) + (let ((commit "d7dfab62a9853b44bbcd67dac08391d8e5114c97") + (revision "10")) (package (name "xf86-video-intel") - (version (string-append "2.99.917-" revision "-" - (string-take commit 7))) + (version (git-version "2.99.917" revision commit)) (source (origin ;; there's no current tarball @@ -2923,8 +2922,8 @@ X server.") (commit commit))) (sha256 (base32 - "0f6sbkgykvvdggy8z6y7blf7yharg9vmiixxy190643bjxlnpp2s")) - (file-name (string-append name "-" version)))) + "1vcfal4xr9q6016p28lnlyg709da6d305dysyyrj3fjp9fj48sva")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) ("udev" ,eudev) diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 80ffed0f2f..273ba2cc14 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -691,7 +691,14 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." (service-extension account-service-type (const %prosody-accounts)) (service-extension activation-service-type - prosody-activation))))) + prosody-activation))) + (default-value (prosody-configuration + (virtualhosts + (list + (virtualhost-configuration + (domain "localhost")))))) + (description + "Run Prosody, a modern XMPP communication server."))) ;; A little helper to make it easier to document all those fields. (define (generate-documentation) diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm new file mode 100644 index 0000000000..5fe555e8b6 --- /dev/null +++ b/gnu/services/sound.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.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 services sound) + #:use-module (gnu services base) + #:use-module (gnu services configuration) + #:use-module (gnu services shepherd) + #:use-module (gnu services) + #:use-module (gnu system shadow) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix records) + #:use-module (guix store) + #:use-module (gnu packages pulseaudio) + #:use-module (ice-9 match) + #:export (alsa-configuration + alsa-service-type)) + +;;; Commentary: +;;; +;;; Sound services. +;;; +;;; Code: + + +;;; +;;; ALSA +;;; + +(define-record-type* <alsa-configuration> + alsa-configuration make-alsa-configuration alsa-configuration? + (pulseaudio? alsa-configuration-pulseaudio? ;boolean + (default #t)) + (extra-options alsa-configuration-extra-options ;string + (default ""))) + +(define (alsa-config-file config) + "Return the ALSA configuration file corresponding to CONFIG." + (plain-file "asound.conf" + (string-append "# Generated by 'alsa-service'.\n\n" + (if (alsa-configuration-pulseaudio? config) + "# Use PulseAudio by default +pcm.!default { + type pulse + fallback \"sysdefault\" + hint { + show on + description \"Default ALSA Output (currently PulseAudio Sound Server)\" + } +} + +ctl.!default { + type pulse + fallback \"sysdefault\" +} +" + "") + (alsa-configuration-extra-options config)))) + +(define (alsa-etc-service config) + (list `("asound.conf" ,(alsa-config-file config)))) + +(define alsa-service-type + (service-type + (name 'alsa) + (extensions + (list (service-extension etc-service-type alsa-etc-service))) + (default-value (alsa-configuration)) + (description "Configure low-level Linux sound support, ALSA."))) + +;;; sound.scm ends here diff --git a/guix/build/compile.scm b/guix/build/compile.scm index 1bd8c60fe5..7b6e31107c 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -120,6 +120,28 @@ front." (lambda () (set! path initial-value))))) +(define (call/exit-on-exception thunk) + "Evaluate THUNK and exit right away if an exception is thrown." + (catch #t + thunk + (const #f) + (lambda (key . args) + (false-if-exception + ;; Duplicate stderr to avoid thread-safety issues. + (let* ((port (duplicate-port (current-error-port) "w0")) + (stack (make-stack #t)) + (depth (stack-length stack)) + (frame (and (> depth 1) (stack-ref stack 1)))) + (false-if-exception (display-backtrace stack port)) + (print-exception port frame key args))) + + ;; Don't go any further. + (primitive-exit 1)))) + +(define-syntax-rule (exit-on-exception exp ...) + "Evaluate EXP and exit if an exception is thrown." + (call/exit-on-exception (lambda () exp ...))) + (define* (compile-files source-directory build-directory files #:key (host %host-type) @@ -139,15 +161,18 @@ files are for HOST, a GNU triplet such as \"x86_64-linux-gnu\"." (define (build file) (with-mutex progress-lock (report-compilation file total completed)) - (with-fluids ((*current-warning-prefix* "")) - (with-target host - (lambda () - (let ((relative (relative-file source-directory file))) - (compile-file file - #:output-file (string-append build-directory "/" - (scm->go relative)) - #:opts (append warning-options - (optimization-options relative))))))) + + ;; Exit as soon as something goes wrong. + (exit-on-exception + (with-fluids ((*current-warning-prefix* "")) + (with-target host + (lambda () + (let ((relative (relative-file source-directory file))) + (compile-file file + #:output-file (string-append build-directory "/" + (scm->go relative)) + #:opts (append warning-options + (optimization-options relative)))))))) (with-mutex progress-lock (set! completed (+ 1 completed)))) diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index c1b00c7890..fdacd30dd6 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -60,7 +60,9 @@ (define* (emacs-byte-compile-directory dir) "Byte compile all files in DIR and its sub-directories." - (let ((expr `(byte-recompile-directory (file-name-as-directory ,dir) 0))) + (let ((expr `(progn + (setq byte-compile-debug t) ; for proper exit status + (byte-recompile-directory (file-name-as-directory ,dir) 0 1)))) (emacs-batch-eval expr))) (define-syntax emacs-substitute-sexps diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 401087e830..4dd4fbccdf 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -661,43 +661,47 @@ build." (define system (assoc-ref opts 'system)) (define graft? (assoc-ref opts 'graft?)) - (parameterize ((%graft? graft?)) - (append-map (match-lambda - ((? package? p) - (let ((p (or (and graft? (package-replacement p)) p))) - (match src - (#f - (list (package->derivation store p system))) - (#t - (match (package-source p) - (#f - (format (current-error-port) - (G_ "~a: warning: \ + ;; We may get 'unbound-variable' errors while evaluating the 'inputs' fields + ;; of user packages. Since 'guix build' is the primary tool for people + ;; testing new packages, report such errors gracefully. + (with-unbound-variable-handling + (parameterize ((%graft? graft?)) + (append-map (match-lambda + ((? package? p) + (let ((p (or (and graft? (package-replacement p)) p))) + (match src + (#f + (list (package->derivation store p system))) + (#t + (match (package-source p) + (#f + (format (current-error-port) + (G_ "~a: warning: \ package '~a' has no source~%") - (location->string (package-location p)) - (package-name p)) - '()) - (s - (list (package-source-derivation store s))))) - (proc - (map (cut package-source-derivation store <>) - (proc p)))))) - ((? derivation? drv) - (list drv)) - ((? procedure? proc) - (list (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (proc)) - #:system system))) - ((? gexp? gexp) - (list (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (gexp->derivation "gexp" gexp - #:system system)))))) - (map (cut transform store <>) - (options->things-to-build opts))))) + (location->string (package-location p)) + (package-name p)) + '()) + (s + (list (package-source-derivation store s))))) + (proc + (map (cut package-source-derivation store <>) + (proc p)))))) + ((? derivation? drv) + (list drv)) + ((? procedure? proc) + (list (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (proc)) + #:system system))) + ((? gexp? gexp) + (list (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (gexp->derivation "gexp" gexp + #:system system)))))) + (map (cut transform store <>) + (options->things-to-build opts)))))) (define (show-build-log store file urls) "Show the build log for FILE, falling back to remote logs from URLS if diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm index 7229c60a02..955cdd1e95 100644 --- a/guix/scripts/system/search.scm +++ b/guix/scripts/system/search.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,10 +60,8 @@ provided TYPE has a default value." (define (service-type-shepherd-names type) "Return the default names of Shepherd services created for TYPE." - (match (map shepherd-service-provision - (service-type-default-shepherd-services type)) - (((names . _) ...) - names))) + (append-map shepherd-service-provision + (service-type-default-shepherd-services type))) (define* (service-type->recutils type port #:optional (width (%text-width)) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 5c934abaef..d7c2fbea10 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -208,10 +208,10 @@ unavailable)~%")) 0 queue))) (newline) (unless (null? missing) - (let ((missing (length missing))) - (match (queued-subset queue missing) - (#f #f) - ((= length queued) + (match (queued-subset queue missing) + (#f #f) + ((= length queued) + (let ((missing (length missing))) (format #t (G_ " ~,1f% (~h out of ~h) of the missing items \ are queued~%") (* 100. (/ queued missing)) diff --git a/guix/ui.scm b/guix/ui.scm index 07c78289ff..45f438fc45 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -82,6 +82,7 @@ show-manifest-transaction call-with-error-handling with-error-handling + with-unbound-variable-handling leave-on-EPIPE read/eval read/eval-package-expression @@ -164,7 +165,7 @@ messages." ((proc message (variable) _ ...) ;; We can always omit PROC because when it's useful (i.e., different from ;; "module-lookup"), it gets displayed before. - (format port (G_ "~a: unbound variable") variable)) + (format port (G_ "error: ~a: unbound variable") variable)) (_ (default-printer)))) @@ -179,9 +180,9 @@ messages." modules) module)) -(define* (load* file user-module - #:key (on-error 'nothing-special)) - "Load the user provided Scheme source code FILE." +(define (last-frame-with-source stack) + "Walk stack upwards and return the last frame that has source location +information, or #f if it could not be found." (define (frame-with-source frame) ;; Walk from FRAME upwards until source location information is found. (let loop ((frame frame) @@ -192,6 +193,15 @@ messages." frame (loop (frame-previous frame) frame))))) + (let* ((depth (stack-length stack)) + (last (and (> depth 0) (stack-ref stack 0)))) + (frame-with-source (if (> depth 1) + (stack-ref stack 1) ;skip the 'throw' frame + last)))) + +(define* (load* file user-module + #:key (on-error 'nothing-special)) + "Load the user provided Scheme source code FILE." (define (error-string frame args) (call-with-output-string (lambda (port) @@ -244,12 +254,7 @@ messages." ;; Capture the stack up to this procedure call, excluded, and pass ;; the faulty stack frame to 'report-load-error'. (let* ((stack (make-stack #t handle-error tag)) - (depth (stack-length stack)) - (last (and (> depth 0) (stack-ref stack 0))) - (frame (frame-with-source - (if (> depth 1) - (stack-ref stack 1) ;skip the 'throw' frame - last)))) + (frame (last-frame-with-source stack))) (report-load-error file args frame) @@ -311,6 +316,21 @@ PORT." (- (terminal-columns) 5)))) (texi->plain-text message)))) +(define* (report-unbound-variable-error args #:key frame) + "Return the given unbound-variable error, where ARGS is the list of 'throw' +arguments." + (match args + ((key . args) + (print-exception (current-error-port) frame key args))) + (match args + (('unbound-variable proc message (variable) _ ...) + (match (known-variable-definition variable) + (#f + (display-hint (G_ "Did you forget a @code{use-modules} form?"))) + ((? module? module) + (display-hint (format #f (G_ "Did you forget @code{(use-modules ~a)}?") + (module-name module)))))))) + (define* (report-load-error file args #:optional frame) "Report the failure to load FILE, a user-provided Scheme file. ARGS is the list of arguments received by the 'throw' handler." @@ -331,16 +351,8 @@ ARGS is the list of arguments received by the 'throw' handler." (let ((loc (source-properties->location properties))) (format (current-error-port) (G_ "~a: error: ~a~%") (location->string loc) message))) - (('unbound-variable proc message (variable) _ ...) - (match args - ((key . args) - (print-exception (current-error-port) frame key args))) - (match (known-variable-definition variable) - (#f - (display-hint (G_ "Did you forget a @code{use-modules} form?"))) - (module - (display-hint (format #f (G_ "Did you forget @code{(use-modules ~a)}?") - (module-name module)))))) + (('unbound-variable _ ...) + (report-unbound-variable-error args #:frame frame)) (('srfi-34 obj) (if (message-condition? obj) (if (error-location? obj) @@ -381,6 +393,27 @@ exiting. ARGS is the list of arguments received by the 'throw' handler." (warning (G_ "failed to load '~a':~%") file) (apply display-error #f (current-error-port) args)))) +(define (call-with-unbound-variable-handling thunk) + (define tag + (make-prompt-tag "user-code")) + + (catch 'unbound-variable + (lambda () + (call-with-prompt tag + thunk + (const #f))) + (const #t) + (rec (handle-error . args) + (let* ((stack (make-stack #t handle-error tag)) + (frame (and stack (last-frame-with-source stack)))) + (report-unbound-variable-error args #:frame frame) + (exit 1))))) + +(define-syntax-rule (with-unbound-variable-handling exp ...) + "Capture 'unbound-variable' exceptions in the dynamic extent of EXP... and +report them in a user-friendly way." + (call-with-unbound-variable-handling (lambda () exp ...))) + (define (install-locale) "Install the current locale settings." (catch 'system-error diff --git a/po/guix/pt_BR.po b/po/guix/pt_BR.po index 317f5213f7..bb7d29c3cf 100644 --- a/po/guix/pt_BR.po +++ b/po/guix/pt_BR.po @@ -1,14 +1,14 @@ # Brazilian Portuguese translation of the guix -# Copyright (C) 2016 Free Software Foundation, Inc. -# Copyright (C) 2016 Ludovic Courtès +# Copyright (C) 2018 the authors of Guix (msgids) +# Copyright (C) 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the guix package. # Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2016, 2018. msgid "" msgstr "" -"Project-Id-Version: guix 0.14.0\n" +"Project-Id-Version: guix 0.15.0-pre1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2017-11-28 08:56+0100\n" -"PO-Revision-Date: 2018-02-24 07:29-0200\n" +"POT-Creation-Date: 2018-04-27 19:13+0200\n" +"PO-Revision-Date: 2018-04-30 15:01-0200\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n" "Language: pt_BR\n" @@ -31,8 +31,8 @@ msgid "" "If you get the line @code{location: gnu/packages/bar.scm:174:2},\n" "add @code{bar} to the @code{use-package-modules} form." msgstr "" -"Você pode usara @command{guix package --show=foo | grep location} para pesquisar\n" -"pela localização do pacote @code{foo}.\n" +"Você pode usar @command{guix package --show=foo | grep location} para\n" +"pesquisar pela localização do pacote @code{foo}.\n" "Se você obtiver a linha @code{location: gnu/packages/bar.scm:174:2},\n" "adicione @code{bar} à forma @code{use-package-modules}." @@ -69,92 +69,127 @@ msgstr "~a: patch não localizado" msgid "could not find bootstrap binary '~a' for system '~a'" msgstr "não foi possível localizar binário de inicialização \"~a\" para o sistema \"~a\"" -#: gnu/packages.scm:240 +#: gnu/packages.scm:259 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "especificação ambígua de pacote \"~a\"~%" -#: gnu/packages.scm:241 +#: gnu/packages.scm:260 #, scheme-format msgid "choosing ~a@~a from ~a~%" msgstr "escolhendo ~a@~a de ~a~%" -#: gnu/packages.scm:246 guix/scripts/package.scm:271 +#: gnu/packages.scm:265 guix/scripts/package.scm:278 #, scheme-format msgid "package '~a' has been superseded by '~a'~%" msgstr "pacote \"~a\" foi substituído por \"~a\"~%" -#: gnu/packages.scm:253 +#: gnu/packages.scm:272 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: pacote não encontrado para versão ~a~%" -#: gnu/packages.scm:254 +#: gnu/packages.scm:273 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: pacote desconhecido~%" -#: gnu/packages.scm:282 +#: gnu/packages.scm:301 #, scheme-format msgid "package `~a' lacks output `~a'~%" msgstr "pacote \"~a\" carece de mensagem de saída \"~a\"~%" -#: gnu/services.scm:235 +#: gnu/services.scm:238 #, scheme-format msgid "~a: no value specified for service of type '~a'" msgstr "~a: nenhum valor especificado para um serviço do tipo \"~a\"" -#: gnu/services.scm:650 +#: gnu/services.scm:643 #, scheme-format msgid "no target of type '~a' for service '~a'" msgstr "nenhum alvo do tipo \"~a\" para o serviço \"~a\"" -#: gnu/services.scm:662 gnu/services.scm:723 +#: gnu/services.scm:669 gnu/services.scm:762 #, scheme-format msgid "more than one target service of type '~a'" msgstr "mais de um serviço alvo do tipo \"~a\"" -#: gnu/services.scm:713 +#: gnu/services.scm:752 #, scheme-format msgid "service of type '~a' not found" msgstr "serviço do tipo \"~a\" não localizado" -#: gnu/system.scm:305 +#: gnu/system.scm:311 #, scheme-format msgid "unrecognized boot parameters for '~a'~%" msgstr "parâmetros de inicialização não reconhecidos para \"~a\"~%" -#: gnu/system.scm:695 +#: gnu/system.scm:712 #, scheme-format msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%" msgstr "usando um texto para arquivo \"~a\" está obsoleto; em vez disso, use \"plain-file\"~%" -#: gnu/system.scm:711 +#: gnu/system.scm:728 #, scheme-format msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%" msgstr "usando um valor monádico para \"~a\" está obsoleto; em vez disso, use \"plain-file\"~%" -#: gnu/system.scm:856 +#: gnu/system.scm:875 #, scheme-format msgid "~a: invalid locale name" msgstr "~a: nome de localidade inválido" -#: gnu/services/shepherd.scm:166 +#: gnu/services/shepherd.scm:177 #, scheme-format msgid "service '~a' provided more than once" msgstr "serviço \"~a\" fornecido mais de uma vez" -#: gnu/services/shepherd.scm:181 +#: gnu/services/shepherd.scm:192 #, scheme-format msgid "service '~a' requires '~a', which is not provided by any service" msgstr "serviço \"~a\" requer \"~a\", o que não é fornecido por nenhum serviço" -#: gnu/system/shadow.scm:231 +#: gnu/system/mapped-devices.scm:136 +#, scheme-format +msgid "you may need these modules in the initrd for ~a:~{ ~a~}" +msgstr "você pode precisar desses módulos no initrd para ~a:~{ ~a~}" + +#: gnu/system/mapped-devices.scm:140 +#, scheme-format +msgid "" +"Try adding them to the\n" +"@code{initrd-modules} field of your @code{operating-system} declaration, along\n" +"these lines:\n" +"\n" +"@example\n" +" (operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (append (list~{ ~s~})\n" +" %base-initrd-modules)))\n" +"@end example\n" +msgstr "" +"Tente adicioná-los ao campo\n" +"@code{initrd-modules} de sua declaração @code{operating-system}, junto\n" +"com essas linhas:\n" +"\n" +"@example\n" +" (operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (append (list~{ ~s~})\n" +" %base-initrd-modules)))\n" +"@end example\n" + +#: gnu/system/mapped-devices.scm:216 +#, scheme-format +msgid "no LUKS partition with UUID '~a'" +msgstr "nenhuma partição LUKS com UUID \"~a\"" + +#: gnu/system/shadow.scm:242 #, scheme-format msgid "supplementary group '~a' of user '~a' is undeclared" msgstr "grupo suplementar \"~a\" do usuário \"~a\" não está declarado" -#: gnu/system/shadow.scm:241 +#: gnu/system/shadow.scm:252 #, scheme-format msgid "primary group '~a' of user '~a' is undeclared" msgstr "grupo primário \"~a\" do usuário \"~a\" não está declarado" @@ -166,7 +201,7 @@ msgstr "argumento inválido: ~a~%" #: guix/scripts.scm:84 guix/scripts/download.scm:135 #: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77 -#: guix/scripts/publish.scm:844 guix/scripts/edit.scm:81 +#: guix/scripts/publish.scm:881 guix/scripts/edit.scm:81 #, scheme-format msgid "~A: unrecognized option~%" msgstr "~A: opção não reconhecida~%" @@ -187,17 +222,22 @@ msgstr "" "Considere executar \"guix pull\" seguido de\n" "\"~a\" para obter pacotes atualizados e atualizações de segurança.\n" -#: guix/scripts/build.scm:124 +#: guix/scripts/build.scm:81 +#, scheme-format +msgid "cannot access build log at '~a':~%" +msgstr "não foi possível acessar o log de compilação em \"~a\"~%" + +#: guix/scripts/build.scm:135 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "falha ao criar raiz de GC \"~a\": ~a~%" -#: guix/scripts/build.scm:206 +#: guix/scripts/build.scm:237 #, scheme-format msgid "invalid replacement specification: ~s~%" msgstr "especificação de substituição inválida: ~s~%" -#: guix/scripts/build.scm:263 +#: guix/scripts/build.scm:294 msgid "" "\n" " --with-source=SOURCE\n" @@ -207,7 +247,7 @@ msgstr "" " --with-source=FONTE\n" " usa FONTE ao compilar o pacote correspondente" -#: guix/scripts/build.scm:266 +#: guix/scripts/build.scm:297 msgid "" "\n" " --with-input=PACKAGE=REPLACEMENT\n" @@ -217,7 +257,7 @@ msgstr "" " --with-input=PACOTE=SUBSTITUIÇÃO\n" " substitui a dependência PACOTE por SUBSTITUIÇÃO" -#: guix/scripts/build.scm:269 +#: guix/scripts/build.scm:300 msgid "" "\n" " --with-graft=PACKAGE=REPLACEMENT\n" @@ -227,12 +267,12 @@ msgstr "" " --with-graft=PACOTE=SUBSTITUIÇÃO\n" " insere SUBSTITUIÇÃO em pacotes referindo-se a PACOTE" -#: guix/scripts/build.scm:294 +#: guix/scripts/build.scm:325 #, scheme-format msgid "transformation '~a' had no effect on ~a~%" msgstr "a transformação \"~a\" não obteve efeito em ~a~%" -#: guix/scripts/build.scm:312 +#: guix/scripts/build.scm:343 msgid "" "\n" " -L, --load-path=DIR prepend DIR to the package module search path" @@ -241,7 +281,7 @@ msgstr "" " -L, --load-path=DIR insere DIR no início do caminho de pesquisa do\n" " módulo do pacote" -#: guix/scripts/build.scm:314 +#: guix/scripts/build.scm:345 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" @@ -249,7 +289,7 @@ msgstr "" "\n" " -K, --keep-failed mantém a árvore de compilado de pacotes falhos" -#: guix/scripts/build.scm:316 +#: guix/scripts/build.scm:347 msgid "" "\n" " -k, --keep-going keep going when some of the derivations fail" @@ -257,7 +297,7 @@ msgstr "" "\n" " -k, --keep-going continua mesmo se algumas das derivações falharem" -#: guix/scripts/build.scm:318 +#: guix/scripts/build.scm:349 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -265,7 +305,7 @@ msgstr "" "\n" " -n, --dry-run não compila as derivações" -#: guix/scripts/build.scm:320 +#: guix/scripts/build.scm:351 msgid "" "\n" " --fallback fall back to building when the substituter fails" @@ -273,7 +313,7 @@ msgstr "" "\n" " --fallback volta para compilação quando o substituto falhar" -#: guix/scripts/build.scm:322 +#: guix/scripts/build.scm:353 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" @@ -282,7 +322,7 @@ msgstr "" " --no-substitutes compila, em vez de recorrer a substitutos\n" " pré-construídos" -#: guix/scripts/build.scm:324 guix/scripts/size.scm:232 +#: guix/scripts/build.scm:355 guix/scripts/size.scm:232 msgid "" "\n" " --substitute-urls=URLS\n" @@ -292,7 +332,7 @@ msgstr "" " --substitute-urls=URLS\n" " obtém substituto a partir das URLS se autorizadas" -#: guix/scripts/build.scm:327 +#: guix/scripts/build.scm:358 msgid "" "\n" " --no-grafts do not graft packages" @@ -300,7 +340,7 @@ msgstr "" "\n" " --no-grafts não faz gráficos de pacotes" -#: guix/scripts/build.scm:329 +#: guix/scripts/build.scm:360 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" @@ -309,7 +349,7 @@ msgstr "" " --no-build-hook não tenta descarregar compilações via hook de\n" " compilação" -#: guix/scripts/build.scm:331 +#: guix/scripts/build.scm:362 msgid "" "\n" " --max-silent-time=SECONDS\n" @@ -320,7 +360,7 @@ msgstr "" " marca a compilação como falha após transcorridos\n" " SEGUNDOS de silêncio" -#: guix/scripts/build.scm:334 +#: guix/scripts/build.scm:365 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" @@ -330,7 +370,7 @@ msgstr "" " marca a compilação como falha após transcorridos\n" " SEGUNDOS de atividade" -#: guix/scripts/build.scm:336 +#: guix/scripts/build.scm:367 msgid "" "\n" " --verbosity=LEVEL use the given verbosity LEVEL" @@ -338,7 +378,7 @@ msgstr "" "\n" " --verbosity=NÍVEL usa o NÍVEL de detalhamento dado" -#: guix/scripts/build.scm:338 +#: guix/scripts/build.scm:369 msgid "" "\n" " --rounds=N build N times in a row to detect non-determinism" @@ -347,7 +387,7 @@ msgstr "" " --rounds=N compila N vezes de uma vez para detectar\n" " não determinismo" -#: guix/scripts/build.scm:340 +#: guix/scripts/build.scm:371 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" @@ -355,7 +395,7 @@ msgstr "" "\n" " -c, --cores=N permite uso de até N núcleos de CPU para compilação" -#: guix/scripts/build.scm:342 +#: guix/scripts/build.scm:373 msgid "" "\n" " -M, --max-jobs=N allow at most N build jobs" @@ -363,12 +403,12 @@ msgstr "" "\n" " -M, --max-jobs=N permite no máximo N trabalhos de compilação" -#: guix/scripts/build.scm:448 guix/scripts/build.scm:455 +#: guix/scripts/build.scm:479 guix/scripts/build.scm:486 #, scheme-format msgid "not a number: '~a' option argument: ~a~%" msgstr "não é um número: argumento da opção \"~a\": ~a~%" -#: guix/scripts/build.scm:474 +#: guix/scripts/build.scm:505 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" @@ -376,7 +416,7 @@ msgstr "" "Uso: guix build [OPÇÃO]... PACOTE-OU-DERIVAÇÃO...\n" "Compila o PACOTE-OU-DERIVAÇÃO dado e returna seus caminhos de saída.\n" -#: guix/scripts/build.scm:476 +#: guix/scripts/build.scm:507 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" @@ -384,7 +424,7 @@ msgstr "" "\n" " -e, --expression=EXPR compila o pacote ou derivação que EXPR corresponder" -#: guix/scripts/build.scm:478 +#: guix/scripts/build.scm:509 msgid "" "\n" " -f, --file=FILE build the package or derivation that the code within\n" @@ -394,7 +434,7 @@ msgstr "" " -f, --file=ARQUIVO compila o pacote ou derivação que o código dentro\n" " de ARQUIVO avaliar" -#: guix/scripts/build.scm:481 +#: guix/scripts/build.scm:512 msgid "" "\n" " -S, --source build the packages' source derivations" @@ -402,7 +442,7 @@ msgstr "" "\n" " -S, --source compila as derivações de fontes do pacote" -#: guix/scripts/build.scm:483 +#: guix/scripts/build.scm:514 msgid "" "\n" " --sources[=TYPE] build source derivations; TYPE may optionally be one\n" @@ -412,7 +452,7 @@ msgstr "" " --sources[=TIPO] compila derivações de fonte; como opção, TIPO pode\n" " um entre \"package\", \"all\" (padrão) ou \"transitive\"" -#: guix/scripts/build.scm:486 guix/scripts/pack.scm:338 +#: guix/scripts/build.scm:517 guix/scripts/pack.scm:357 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" @@ -420,7 +460,7 @@ msgstr "" "\n" " -s, --system=SISTEMA tenta compilar para SISTEMA (ex.: \"i686-linux\")" -#: guix/scripts/build.scm:488 guix/scripts/pack.scm:340 +#: guix/scripts/build.scm:519 guix/scripts/pack.scm:359 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" @@ -428,7 +468,7 @@ msgstr "" "\n" " --target=TRIO compilação cruzada para TRIO (ex: \"armel-linux-gnu\")" -#: guix/scripts/build.scm:490 +#: guix/scripts/build.scm:521 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" @@ -436,7 +476,7 @@ msgstr "" "\n" " -d, --derivations retorna os caminhos de derivação dos pacotes dados" -#: guix/scripts/build.scm:492 +#: guix/scripts/build.scm:523 msgid "" "\n" " --check rebuild items to check for non-determinism issues" @@ -445,7 +485,7 @@ msgstr "" " --check recompila itens para verificar questões de\n" " não determinismo" -#: guix/scripts/build.scm:494 +#: guix/scripts/build.scm:525 msgid "" "\n" " --repair repair the specified items" @@ -453,7 +493,7 @@ msgstr "" "\n" " --repair conserta os itens especificados" -#: guix/scripts/build.scm:496 +#: guix/scripts/build.scm:527 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" @@ -463,7 +503,7 @@ msgstr "" " -r, --root=ARQUIVO faz do ARQUIVO um link simbólico para o resultado\n" " e o registra, como um coletor de lixo" -#: guix/scripts/build.scm:499 +#: guix/scripts/build.scm:530 msgid "" "\n" " -q, --quiet do not show the build log" @@ -471,7 +511,7 @@ msgstr "" "\n" " -q, --quiet não mostra o log de compilação" -#: guix/scripts/build.scm:501 +#: guix/scripts/build.scm:532 msgid "" "\n" " --log-file return the log file names for the given derivations" @@ -480,16 +520,16 @@ msgstr "" " --log-file retorna o os nomes de arquivos de log para as\n" " derivações fornecidas" -#: guix/scripts/build.scm:508 guix/scripts/download.scm:83 -#: guix/scripts/package.scm:425 guix/scripts/gc.scm:74 +#: guix/scripts/build.scm:539 guix/scripts/download.scm:83 +#: guix/scripts/package.scm:435 guix/scripts/gc.scm:76 #: guix/scripts/hash.scm:59 guix/scripts/import.scm:92 -#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:110 -#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:870 -#: guix/scripts/lint.scm:1090 guix/scripts/publish.scm:94 +#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:111 +#: guix/scripts/substitute.scm:879 guix/scripts/system.scm:970 +#: guix/scripts/lint.scm:1122 guix/scripts/publish.scm:94 #: guix/scripts/edit.scm:44 guix/scripts/size.scm:243 -#: guix/scripts/graph.scm:432 guix/scripts/challenge.scm:241 -#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:349 -#: guix/scripts/weather.scm:156 guix/scripts/container.scm:33 +#: guix/scripts/graph.scm:466 guix/scripts/challenge.scm:241 +#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:372 +#: guix/scripts/weather.scm:258 guix/scripts/container.scm:33 #: guix/scripts/container/exec.scm:43 msgid "" "\n" @@ -498,16 +538,16 @@ msgstr "" "\n" " -h, --help exibe esta ajuda e sai" -#: guix/scripts/build.scm:510 guix/scripts/download.scm:85 -#: guix/scripts/package.scm:427 guix/scripts/gc.scm:76 +#: guix/scripts/build.scm:541 guix/scripts/download.scm:85 +#: guix/scripts/package.scm:437 guix/scripts/gc.scm:78 #: guix/scripts/hash.scm:61 guix/scripts/import.scm:94 -#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:112 -#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:872 -#: guix/scripts/lint.scm:1094 guix/scripts/publish.scm:96 +#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:113 +#: guix/scripts/substitute.scm:881 guix/scripts/system.scm:972 +#: guix/scripts/lint.scm:1126 guix/scripts/publish.scm:96 #: guix/scripts/edit.scm:46 guix/scripts/size.scm:245 -#: guix/scripts/graph.scm:434 guix/scripts/challenge.scm:243 -#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:351 -#: guix/scripts/weather.scm:158 guix/scripts/container.scm:35 +#: guix/scripts/graph.scm:468 guix/scripts/challenge.scm:243 +#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:374 +#: guix/scripts/weather.scm:260 guix/scripts/container.scm:35 #: guix/scripts/container/exec.scm:45 msgid "" "\n" @@ -516,7 +556,7 @@ msgstr "" "\n" " -V, --version exibe informações da versão e sai" -#: guix/scripts/build.scm:537 +#: guix/scripts/build.scm:568 #, scheme-format msgid "" "invalid argument: '~a' option argument: ~a, ~\n" @@ -525,22 +565,22 @@ msgstr "" "argumento inválido: argumento da opção \"~a\": ~a, ~\n" "deve ser um entre \"package\", \"all\" ou \"transitive\"~%" -#: guix/scripts/build.scm:590 +#: guix/scripts/build.scm:621 #, scheme-format msgid "~s: not something we can build~%" msgstr "~s: não é algo que podemos compilar~%" -#: guix/scripts/build.scm:644 +#: guix/scripts/build.scm:675 #, scheme-format msgid "~a: warning: package '~a' has no source~%" msgstr "~a: aviso: pacote \"~a\" não possui fontes~%" -#: guix/scripts/build.scm:678 +#: guix/scripts/build.scm:709 #, scheme-format msgid "no build log for '~a'~%" msgstr "nenhum log de compilação para \"~a\"~%" -#: guix/discovery.scm:88 +#: guix/discovery.scm:90 #, scheme-format msgid "cannot access `~a': ~a~%" msgstr "não foi possível acessar \"~a\": ~a~%" @@ -592,8 +632,8 @@ msgstr "" msgid "unsupported hash format: ~a~%" msgstr "sem suporte ao formato de hash: ~a~%" -#: guix/scripts/download.scm:138 guix/scripts/package.scm:906 -#: guix/scripts/publish.scm:846 +#: guix/scripts/download.scm:138 guix/scripts/package.scm:924 +#: guix/scripts/publish.scm:883 #, scheme-format msgid "~A: extraneous argument~%" msgstr "~A: argumento estranho~%" @@ -649,35 +689,35 @@ msgstr "não será removida a geração ~a, que é o atual~%" msgid "no matching generation~%" msgstr "nenhuma geração correspondente~%" -#: guix/scripts/package.scm:193 guix/scripts/package.scm:716 -#: guix/scripts/system.scm:558 +#: guix/scripts/package.scm:193 guix/scripts/package.scm:730 +#: guix/scripts/system.scm:573 #, scheme-format msgid "invalid syntax: ~a~%" msgstr "sintaxe inválida: ~a~%" -#: guix/scripts/package.scm:219 +#: guix/scripts/package.scm:222 #, scheme-format msgid "nothing to be done~%" msgstr "nada para ser feito~%" -#: guix/scripts/package.scm:233 +#: guix/scripts/package.scm:236 #, scheme-format msgid "~a package in profile~%" msgid_plural "~a packages in profile~%" msgstr[0] "~a pacote no perfil~%" msgstr[1] "~a pacotes no perfil~%" -#: guix/scripts/package.scm:313 +#: guix/scripts/package.scm:320 #, scheme-format msgid "package '~a' no longer exists~%" msgstr "o pacote \"~a\" não existe mais~%" -#: guix/scripts/package.scm:351 +#: guix/scripts/package.scm:358 #, scheme-format msgid "The following environment variable definitions may be needed:~%" msgstr "As seguintes definições de variável de ambiente podem ser necessárias:~%" -#: guix/scripts/package.scm:366 +#: guix/scripts/package.scm:374 msgid "" "Usage: guix package [OPTION]...\n" "Install, remove, or upgrade packages in a single transaction.\n" @@ -685,7 +725,7 @@ msgstr "" "Uso: guix package [OPÇÃO]...\n" "Instala, remove ou atualiza pacotes em uma única transação.\n" -#: guix/scripts/package.scm:368 +#: guix/scripts/package.scm:376 msgid "" "\n" " -i, --install PACKAGE ...\n" @@ -695,7 +735,7 @@ msgstr "" " -i, --install PACOTE ...\n" " instala PACOTEs" -#: guix/scripts/package.scm:371 +#: guix/scripts/package.scm:379 msgid "" "\n" " -e, --install-from-expression=EXP\n" @@ -705,7 +745,7 @@ msgstr "" " -e, --install-from-expression=EXP\n" " instala o pacote que EXPR corresponder" -#: guix/scripts/package.scm:374 +#: guix/scripts/package.scm:382 msgid "" "\n" " -f, --install-from-file=FILE\n" @@ -717,7 +757,7 @@ msgstr "" " instala o pacote cujo código dentro do ARQUIVO\n" " corresponder" -#: guix/scripts/package.scm:378 +#: guix/scripts/package.scm:386 msgid "" "\n" " -r, --remove PACKAGE ...\n" @@ -727,7 +767,7 @@ msgstr "" " -r, --remove PACOTE ...\n" " remove PACOTEs" -#: guix/scripts/package.scm:381 +#: guix/scripts/package.scm:389 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" @@ -736,7 +776,7 @@ msgstr "" " -u, --upgrade[=REGEXP] atualiza todos os pacotes instalados correspondendo\n" " à REGEXP" -#: guix/scripts/package.scm:383 +#: guix/scripts/package.scm:391 msgid "" "\n" " -m, --manifest=FILE create a new profile generation with the manifest\n" @@ -746,7 +786,7 @@ msgstr "" " -m, --manifest=ARQUIVO cria a geração de um novo perfil com o manifesto\n" " do ARQUIVO" -#: guix/scripts/package.scm:386 +#: guix/scripts/package.scm:394 msgid "" "\n" " --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" @@ -754,7 +794,7 @@ msgstr "" "\n" " --do-not-upgrade[=REGEXP] não atualiza pacotes correspondente a REGEXP" -#: guix/scripts/package.scm:388 +#: guix/scripts/package.scm:396 msgid "" "\n" " --roll-back roll back to the previous generation" @@ -762,7 +802,7 @@ msgstr "" "\n" " --roll-back reverte para a geração anterior" -#: guix/scripts/package.scm:390 +#: guix/scripts/package.scm:398 msgid "" "\n" " --search-paths[=KIND]\n" @@ -772,7 +812,7 @@ msgstr "" " --search-paths[=TIPO]\n" " exibe definições necessárias de variável de ambiente" -#: guix/scripts/package.scm:393 +#: guix/scripts/package.scm:401 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" @@ -782,7 +822,7 @@ msgstr "" " -l, --list-generations[=PADRÃO]\n" " lista criações correspondendo a PADRÃO" -#: guix/scripts/package.scm:396 +#: guix/scripts/package.scm:404 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" @@ -792,7 +832,7 @@ msgstr "" " -d, --delete-generations[=PADRÃO]\n" " exclui gerações correspondendo a PADRÃO" -#: guix/scripts/package.scm:399 +#: guix/scripts/package.scm:407 msgid "" "\n" " -S, --switch-generation=PATTERN\n" @@ -802,7 +842,7 @@ msgstr "" " -S, --switch-generations=PADRÃO\n" " alterna para a geração correspondendo a PADRÃO" -#: guix/scripts/package.scm:402 +#: guix/scripts/package.scm:410 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" @@ -810,7 +850,15 @@ msgstr "" "\n" " -p, --profile=PERFIL usa PERFIL em vez do perfil padrão do usuário" -#: guix/scripts/package.scm:405 +#: guix/scripts/package.scm:413 +msgid "" +"\n" +" --allow-collisions do not treat collisions in the profile as an error" +msgstr "" +"\n" +" --allow-collisions não trata colisões no perfil como um erro" + +#: guix/scripts/package.scm:415 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" @@ -818,7 +866,7 @@ msgstr "" "\n" " --bootstrap usa a inicialização do Guile para compilar o perfil" -#: guix/scripts/package.scm:407 guix/scripts/pull.scm:98 +#: guix/scripts/package.scm:417 guix/scripts/pull.scm:99 msgid "" "\n" " --verbose produce verbose output" @@ -826,7 +874,7 @@ msgstr "" "\n" " --verbose produz uma saída mais detalhada" -#: guix/scripts/package.scm:410 +#: guix/scripts/package.scm:420 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" @@ -834,7 +882,7 @@ msgstr "" "\n" " -s, --search=REGEXP pesquisa na sinopse e descrição usando REGEXP" -#: guix/scripts/package.scm:412 +#: guix/scripts/package.scm:422 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" @@ -844,7 +892,7 @@ msgstr "" " -I, --list-installed[=REGEXP]\n" " lista pacotes instalados correspondentes a REGEXP" -#: guix/scripts/package.scm:415 +#: guix/scripts/package.scm:425 msgid "" "\n" " -A, --list-available[=REGEXP]\n" @@ -854,7 +902,7 @@ msgstr "" " -A, --list-available[=REGEXP]\n" " lista pacotes disponíveis correspondentes a REGEXP" -#: guix/scripts/package.scm:418 +#: guix/scripts/package.scm:428 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" @@ -862,33 +910,33 @@ msgstr "" "\n" " --show=PACOTE mostra detalhes sobre o PACOTE" -#: guix/scripts/package.scm:470 +#: guix/scripts/package.scm:480 #, scheme-format msgid "upgrade regexp '~a' looks like a command-line option~%" msgstr "a regexp de atualização \"~a\" se parece com uma opção de linha de comando~%" -#: guix/scripts/package.scm:473 +#: guix/scripts/package.scm:483 #, scheme-format msgid "is this intended?~%" msgstr "isso é intencional?~%" -#: guix/scripts/package.scm:518 +#: guix/scripts/package.scm:528 #, scheme-format msgid "~a: unsupported kind of search path~%" msgstr "~a: sem suporte ao tipo de caminho de pesquisa~%" # geração, criação? -#: guix/scripts/package.scm:815 +#: guix/scripts/package.scm:829 #, scheme-format msgid "cannot switch to generation '~a'~%" msgstr "não foi possível alternar para a geração \"~a\"~%" -#: guix/scripts/package.scm:831 +#: guix/scripts/package.scm:846 #, scheme-format msgid "would install new manifest from '~a' with ~d entries~%" msgstr "instalaria novo manifesto a partir de \"~a\" com entradas ~d~%" -#: guix/scripts/package.scm:833 +#: guix/scripts/package.scm:848 #, scheme-format msgid "installing new manifest from '~a' with ~d entries~%" msgstr "instalando novo manifesto a partir de \"~a\" com entradas ~d~%" @@ -977,7 +1025,15 @@ msgstr "" "\n" " --referrers lista as referências de CAMINHOS" -#: guix/scripts/gc.scm:65 +#: guix/scripts/gc.scm:64 +msgid "" +"\n" +" --derivers list the derivers of PATHS" +msgstr "" +"\n" +" --derivers lista os derivadores de CAMINHOS" + +#: guix/scripts/gc.scm:67 msgid "" "\n" " --verify[=OPTS] verify the integrity of the store; OPTS is a\n" @@ -990,7 +1046,7 @@ msgstr "" " \"repair\" e \"contents\"" # são "arquivos inalcançáveis", segundo 'info guix', sobre o 'gc' -#: guix/scripts/gc.scm:69 +#: guix/scripts/gc.scm:71 msgid "" "\n" " --list-failures list cached build failures" @@ -998,7 +1054,7 @@ msgstr "" "\n" " --list-failures lista falhas de compilação em cache" -#: guix/scripts/gc.scm:71 +#: guix/scripts/gc.scm:73 msgid "" "\n" " --clear-failures remove PATHS from the set of cached failures" @@ -1006,25 +1062,30 @@ msgstr "" "\n" " --clear-failures remove CAMINHOS do conjunto de falhas em cache" -#: guix/scripts/gc.scm:100 +#: guix/scripts/gc.scm:87 +#, scheme-format +msgid "~a: invalid '--verify' option~%" +msgstr "~a: opção \"--verify\" inválida~%" + +#: guix/scripts/gc.scm:117 #, scheme-format msgid "invalid amount of storage: ~a~%" msgstr "quantidade inválida de armazenamento: ~a~%" -#: guix/scripts/gc.scm:185 +#: guix/scripts/gc.scm:202 msgid "already ~h bytes available on ~a, nothing to do~%" msgstr "~h bytes já disponíveis em ~a, nada para fazer~%" -#: guix/scripts/gc.scm:188 +#: guix/scripts/gc.scm:205 msgid "freeing ~h bytes~%" msgstr "liberando ~h bytes~%" -#: guix/scripts/gc.scm:200 +#: guix/scripts/gc.scm:217 #, scheme-format msgid "extraneous arguments: ~{~a ~}~%" msgstr "argumentos estranhos: ~{~a ~}~%" -#: guix/scripts/gc.scm:220 guix/scripts/gc.scm:223 +#: guix/scripts/gc.scm:237 guix/scripts/gc.scm:240 msgid "freed ~h bytes~%" msgstr "~h bytes liberados~%" @@ -1058,13 +1119,13 @@ msgstr "" "\n" " -r, --recursive computa o hash no AQUIVO recursivamente" -#: guix/scripts/hash.scm:150 guix/ui.scm:326 guix/ui.scm:601 guix/ui.scm:654 +#: guix/scripts/hash.scm:150 guix/ui.scm:346 guix/ui.scm:656 guix/ui.scm:709 #, scheme-format msgid "~a~%" msgstr "~a~%" -#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1022 -#: guix/scripts/system.scm:1031 guix/scripts/system.scm:1038 +#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1138 +#: guix/scripts/system.scm:1147 guix/scripts/system.scm:1154 #, scheme-format msgid "wrong number of arguments~%" msgstr "número errado de argumentos~%" @@ -1183,7 +1244,7 @@ msgstr "" " export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" "\n" -#: guix/scripts/pull.scm:96 +#: guix/scripts/pull.scm:97 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" @@ -1191,7 +1252,7 @@ msgstr "" "Uso: guix pull [OPÇÃO]...\n" "Baixa e implanta a última versão do Guix.\n" -#: guix/scripts/pull.scm:100 +#: guix/scripts/pull.scm:101 msgid "" "\n" " --url=URL download from the Git repository at URL" @@ -1199,7 +1260,7 @@ msgstr "" "\n" " --url=URL baixa do repositório Git na URL" -#: guix/scripts/pull.scm:102 +#: guix/scripts/pull.scm:103 msgid "" "\n" " --commit=COMMIT download the specified COMMIT" @@ -1207,7 +1268,7 @@ msgstr "" "\n" " --commit=COMMIT baixa o COMMIT especificado" -#: guix/scripts/pull.scm:104 +#: guix/scripts/pull.scm:105 msgid "" "\n" " --branch=BRANCH download the tip of the specified BRANCH" @@ -1215,7 +1276,7 @@ msgstr "" "\n" " --branch=RAMO baixa a dica do RAMO especificado" -#: guix/scripts/pull.scm:106 +#: guix/scripts/pull.scm:107 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the new Guix" @@ -1223,46 +1284,46 @@ msgstr "" "\n" " --bootstrap usa inicialização do Guile para compilar o novo Guix" -#: guix/scripts/pull.scm:192 +#: guix/scripts/pull.scm:193 msgid "Guix already up to date\n" msgstr "Guix já está atualizado\n" -#: guix/scripts/pull.scm:197 +#: guix/scripts/pull.scm:198 #, scheme-format msgid "updated ~a successfully deployed under `~a'~%" msgstr "~a atualizado foi implantado com sucesso sob \"~a\"~%" -#: guix/scripts/pull.scm:200 +#: guix/scripts/pull.scm:201 #, scheme-format msgid "failed to update Guix, check the build log~%" msgstr "falha ao atualizar Guix; verifique o log de compilação~%" -#: guix/scripts/pull.scm:216 +#: guix/scripts/pull.scm:217 #, scheme-format msgid "cannot enforce use of the Let's Encrypt certificates~%" msgstr "não foi possível forçar o uso de certificados Let's Encrypt~%" -#: guix/scripts/pull.scm:218 +#: guix/scripts/pull.scm:219 #, scheme-format msgid "please upgrade Guile-Git~%" msgstr "por favor, atualize o Guile-Git~%" -#: guix/scripts/pull.scm:226 +#: guix/scripts/pull.scm:227 #, scheme-format msgid "Git error ~a~%" msgstr "erro no Git ~a~%" -#: guix/scripts/pull.scm:228 +#: guix/scripts/pull.scm:229 #, scheme-format msgid "Git error: ~a~%" msgstr "erro no Git: ~a~%" -#: guix/scripts/pull.scm:262 +#: guix/scripts/pull.scm:263 #, scheme-format msgid "Updating from Git repository at '~a'...~%" msgstr "Atualizando a partir do repositório Git \"~a\"...~%" -#: guix/scripts/pull.scm:271 +#: guix/scripts/pull.scm:272 #, scheme-format msgid "Building from Git commit ~a...~%" msgstr "Compilando a partir do commit Git ~a...~%" @@ -1287,92 +1348,92 @@ msgstr "enquanto obtinha ~a: servidor está um pouco lento~%" msgid "try `--no-substitutes' if the problem persists~%" msgstr "tente \"--no-substitutes\" se o problema persistir~%" -#: guix/scripts/substitute.scm:233 +#: guix/scripts/substitute.scm:225 #, scheme-format msgid "unsupported substitute URI scheme: ~a~%" msgstr "sem suporte ao esquema de URI de substituto: ~a~%" -#: guix/scripts/substitute.scm:268 +#: guix/scripts/substitute.scm:260 #, scheme-format msgid "while fetching '~a': ~a (~s)~%" msgstr "enquanto obtinha \"~a\": ~a (~s)~%" -#: guix/scripts/substitute.scm:273 +#: guix/scripts/substitute.scm:265 #, scheme-format msgid "ignoring substitute server at '~s'~%" msgstr "ignorando servidor substituto em \"~s\"~%" -#: guix/scripts/substitute.scm:323 +#: guix/scripts/substitute.scm:315 #, scheme-format msgid "signature version must be a number: ~s~%" msgstr "a versão de assinatura deve ser um número: ~s~%" -#: guix/scripts/substitute.scm:327 +#: guix/scripts/substitute.scm:319 #, scheme-format msgid "unsupported signature version: ~a~%" msgstr "sem suporte à versão da assinatura: ~a~%" -#: guix/scripts/substitute.scm:335 +#: guix/scripts/substitute.scm:327 #, scheme-format msgid "signature is not a valid s-expression: ~s~%" msgstr "a assinatura não é uma expressão-s válida: ~s~%" -#: guix/scripts/substitute.scm:339 +#: guix/scripts/substitute.scm:331 #, scheme-format msgid "invalid format of the signature field: ~a~%" msgstr "formato inválido do campo de assinatura: ~a~%" -#: guix/scripts/substitute.scm:374 +#: guix/scripts/substitute.scm:366 #, scheme-format msgid "invalid signature for '~a'~%" msgstr "assinatura inválida para \"~a\"~%" -#: guix/scripts/substitute.scm:376 +#: guix/scripts/substitute.scm:368 #, scheme-format msgid "hash mismatch for '~a'~%" msgstr "hash incompatível para \"~a\"~%" -#: guix/scripts/substitute.scm:378 +#: guix/scripts/substitute.scm:370 #, scheme-format msgid "'~a' is signed with an unauthorized key~%" msgstr "\"~a\" está assinado com uma chave não autorizada~%" -#: guix/scripts/substitute.scm:380 +#: guix/scripts/substitute.scm:372 #, scheme-format msgid "signature on '~a' is corrupt~%" msgstr "a assinatura em \"~a\" está corrompida~%" -#: guix/scripts/substitute.scm:465 +#: guix/scripts/substitute.scm:457 #, scheme-format msgid "'~a' does not name a store item~%" msgstr "\"~a\" não é o nome de um item do armazenamento~%" -#: guix/scripts/substitute.scm:629 +#: guix/scripts/substitute.scm:619 #, scheme-format msgid "updating list of substitutes from '~a'... ~5,1f%" msgstr "atualizando a lista de substitutos de \"~a\"... ~5,1f%" -#: guix/scripts/substitute.scm:693 +#: guix/scripts/substitute.scm:683 #, scheme-format msgid "~s: unsupported server URI scheme~%" msgstr "~s: sem suporte ao esquema de URI de servidor~%" -#: guix/scripts/substitute.scm:703 +#: guix/scripts/substitute.scm:693 #, scheme-format msgid "'~a' uses different store '~a'; ignoring it~%" msgstr "\"~a\" usa um armazenamento diferente \"~a\"; ignorando-o~%" -#: guix/scripts/substitute.scm:863 +#: guix/scripts/substitute.scm:853 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "erro na busca pelo nome da máquina: ~a~%" -#: guix/scripts/substitute.scm:868 +#: guix/scripts/substitute.scm:858 #, scheme-format msgid "TLS error in procedure '~a': ~a~%" msgstr "erro TLS no procedimento \"~a\": ~a~%" -#: guix/scripts/substitute.scm:879 +#: guix/scripts/substitute.scm:869 msgid "" "Usage: guix substitute [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" @@ -1381,7 +1442,7 @@ msgstr "" "Ferramenta interna para substituir um binário pré-compilado para\n" "uma compilação local.\n" -#: guix/scripts/substitute.scm:881 +#: guix/scripts/substitute.scm:871 msgid "" "\n" " --query report on the availability of substitutes for the\n" @@ -1392,7 +1453,7 @@ msgstr "" " nomes de arquivos de armazenamento passados na\n" " entrada padrão" -#: guix/scripts/substitute.scm:884 +#: guix/scripts/substitute.scm:874 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -1404,26 +1465,26 @@ msgstr "" " baixa ARQUIVO-ARMAZENAMENTO e armazena-o como um\n" " Nar no arquivo DESTINO" -#: guix/scripts/substitute.scm:949 +#: guix/scripts/substitute.scm:939 #, scheme-format msgid "no valid substitute for '~a'~%" msgstr "nenhum substituto válido para \"~a\"~%" -#: guix/scripts/substitute.scm:956 +#: guix/scripts/substitute.scm:946 #, scheme-format msgid "Downloading ~a...~%" msgstr "Baixando ~a...~%" -#: guix/scripts/substitute.scm:1012 +#: guix/scripts/substitute.scm:1002 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "ACL para importações de pacote parece não estar inicializado, substitutos podem estar indisponíveis\n" -#: guix/scripts/substitute.scm:1066 +#: guix/scripts/substitute.scm:1056 #, scheme-format msgid "~a: invalid URI~%" msgstr "~a: URI inválido~%" -#: guix/scripts/substitute.scm:1126 +#: guix/scripts/substitute.scm:1116 #, scheme-format msgid "~a: unrecognized options~%" msgstr "~a: opções desconhecidas~%" @@ -1462,152 +1523,172 @@ msgstr "" msgid "wrong arguments" msgstr "argumentos errados" -#: guix/scripts/system.scm:135 +#: guix/scripts/system.scm:141 #, scheme-format msgid "failed to register '~a' under '~a'~%" msgstr "falha ao registrar \"~a\" sob \"~a\"~%" -#: guix/scripts/system.scm:174 +#: guix/scripts/system.scm:152 +#, scheme-format +msgid "copying to '~a'..." +msgstr "copiando para \"~a\"..." + +#: guix/scripts/system.scm:187 #, scheme-format msgid "failed to install bootloader ~a~%" msgstr "falha ao instalar carregador de inicialização ~a~%" -#: guix/scripts/system.scm:194 +#: guix/scripts/system.scm:207 #, scheme-format msgid "initializing the current root file system~%" msgstr "inicialização do sistema de arquivos raiz atual~%" -#: guix/scripts/system.scm:208 +#: guix/scripts/system.scm:221 #, scheme-format msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" msgstr "execução como não \"root\", então o dono de \"~a\" pode estar incorreto!~%" -#: guix/scripts/system.scm:253 +#: guix/scripts/system.scm:266 #, scheme-format msgid "while talking to shepherd: ~a~%" msgstr "enquanto falava com o shepherd: ~a~%" -#: guix/scripts/system.scm:260 +#: guix/scripts/system.scm:273 #, scheme-format msgid "service '~a' could not be found~%" msgstr "o serviço \"~a\" não pôde ser localizado~%" -#: guix/scripts/system.scm:263 +#: guix/scripts/system.scm:276 #, scheme-format msgid "service '~a' does not have an action '~a'~%" msgstr "o serviço \"~a\" não possui uma ação \"~a\"~%" -#: guix/scripts/system.scm:267 +#: guix/scripts/system.scm:280 #, scheme-format msgid "exception caught while executing '~a' on service '~a':~%" msgstr "exceção encontrada ao executar \"~a\" no serviço \"~a\":~%" -#: guix/scripts/system.scm:275 +#: guix/scripts/system.scm:288 #, scheme-format msgid "something went wrong: ~s~%" msgstr "algo deu errado: ~s~%" -#: guix/scripts/system.scm:278 +#: guix/scripts/system.scm:291 #, scheme-format msgid "shepherd error~%" msgstr "erro do shepherd~%" -#: guix/scripts/system.scm:295 +#: guix/scripts/system.scm:308 #, scheme-format msgid "failed to obtain list of shepherd services~%" msgstr "falha ao obter lista de serviços do shepherd~%" -#: guix/scripts/system.scm:315 +#: guix/scripts/system.scm:328 #, scheme-format msgid "unloading service '~a'...~%" msgstr "descarregando serviço \"~a\"...~%" -#: guix/scripts/system.scm:323 +#: guix/scripts/system.scm:336 #, scheme-format msgid "loading new services:~{ ~a~}...~%" msgstr "carregando novos serviços:~{ ~a~}...~%" -#: guix/scripts/system.scm:347 +#: guix/scripts/system.scm:362 #, scheme-format msgid "activating system...~%" msgstr "ativando sistema...~%" # geração, criação? -#: guix/scripts/system.scm:423 +#: guix/scripts/system.scm:438 #, scheme-format msgid "cannot switch to system generation '~a'~%" msgstr "não foi possível alternar para a geração do sistema \"~a\"~%" -#: guix/scripts/system.scm:494 +#: guix/scripts/system.scm:509 msgid "the DAG of services" msgstr "o DAG de serviços" -#: guix/scripts/system.scm:507 +#: guix/scripts/system.scm:522 msgid "the dependency graph of shepherd services" msgstr "o gráfico de dependência de serviços do shepherd" -#: guix/scripts/system.scm:531 +#: guix/scripts/system.scm:546 #, scheme-format msgid " file name: ~a~%" msgstr " nome de arquivo: ~a~%" -#: guix/scripts/system.scm:532 +#: guix/scripts/system.scm:547 #, scheme-format msgid " canonical file name: ~a~%" msgstr " nome de arquivo canônico: ~a~%" #. TRANSLATORS: Please preserve the two-space indentation. -#: guix/scripts/system.scm:534 +#: guix/scripts/system.scm:549 #, scheme-format msgid " label: ~a~%" msgstr " rótulo: ~a~%" -#: guix/scripts/system.scm:535 +#: guix/scripts/system.scm:550 #, scheme-format msgid " bootloader: ~a~%" msgstr " carregador de inicialização: ~a~%" -#: guix/scripts/system.scm:536 +#: guix/scripts/system.scm:551 #, scheme-format msgid " root device: ~a~%" msgstr " dispositivo raiz: ~a~%" -#: guix/scripts/system.scm:540 +#: guix/scripts/system.scm:555 #, scheme-format msgid " kernel: ~a~%" msgstr " kernel: ~a~%" -#: guix/scripts/system.scm:600 +#: guix/scripts/system.scm:626 +#, scheme-format +msgid "~a: error: device '~a' not found: ~a~%" +msgstr "~a: erro: dispositivo \"~a\" não localizado: ~a~%" + +#: guix/scripts/system.scm:630 +#, scheme-format +msgid "" +"If '~a' is a file system\n" +"label, you need to add @code{(title 'label)} to your @code{file-system}\n" +"definition." +msgstr "" +"Se \"~a\" for um rótulo de sistema de arquivos,\n" +"você precisa adicionar @code{(title 'label)} à sua definição @code{file-system}" + +#: guix/scripts/system.scm:637 #, scheme-format msgid "~a: error: file system with label '~a' not found~%" msgstr "~a: erro: sistema de arquivos com rótulo \"~a\" não localizado~%" -#: guix/scripts/system.scm:606 +#: guix/scripts/system.scm:643 #, scheme-format msgid "~a: error: file system with UUID '~a' not found~%" msgstr "~a: erro: sistema de arquivos com UUID \"~a\" não localizado~%" -#: guix/scripts/system.scm:658 +#: guix/scripts/system.scm:741 #, scheme-format msgid "~a not found: 'guix pull' was never run~%" msgstr "~a não localizado: \"guix pull\" nunca foi executado~%" -#: guix/scripts/system.scm:659 +#: guix/scripts/system.scm:742 #, scheme-format msgid "Consider running 'guix pull' before 'reconfigure'.~%" msgstr "Considere executar \"guix pull\" antes de \"reconfigure\".~%" -#: guix/scripts/system.scm:660 +#: guix/scripts/system.scm:743 #, scheme-format msgid "Failing to do that may downgrade your system!~%" msgstr "Falhar em fazer isso pode fazer um downgrade de seu sistema!~%" -#: guix/scripts/system.scm:767 +#: guix/scripts/system.scm:860 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "inicializando sistema operacional sob \"~a\"...~%" -#: guix/scripts/system.scm:812 +#: guix/scripts/system.scm:905 msgid "" "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n" "Build the operating system declared in FILE according to ACTION.\n" @@ -1617,67 +1698,71 @@ msgstr "" "Compilação do sistema operacional declarado em ARQUIVO de acordo com AÇÃO.\n" "Algumas AÇÕES fornecem suporte adicional a ARGUMENTOS.\n" -#: guix/scripts/system.scm:816 guix/scripts/container.scm:28 +#: guix/scripts/system.scm:909 guix/scripts/container.scm:28 msgid "The valid values for ACTION are:\n" msgstr "Os valores válidos para AÇÃO são:\n" -#: guix/scripts/system.scm:818 +#: guix/scripts/system.scm:911 msgid " search search for existing service types\n" msgstr " search pesquisa por tipos de serviços existentes\n" -#: guix/scripts/system.scm:820 +#: guix/scripts/system.scm:913 msgid " reconfigure switch to a new operating system configuration\n" msgstr " reconfigure alterna para configuração de um novo sistema operacional\n" -#: guix/scripts/system.scm:822 +#: guix/scripts/system.scm:915 msgid " roll-back switch to the previous operating system configuration\n" msgstr " roll-back alterna para a configuração de sistema operacional anterior\n" -#: guix/scripts/system.scm:824 +#: guix/scripts/system.scm:917 msgid " switch-generation switch to an existing operating system configuration\n" msgstr " switch-generation alterna para uma configuração de sistema operacional existente\n" -#: guix/scripts/system.scm:826 +#: guix/scripts/system.scm:919 msgid " list-generations list the system generations\n" msgstr " list-generations lista as gerações do sistema\n" -#: guix/scripts/system.scm:828 +#: guix/scripts/system.scm:921 msgid " build build the operating system without installing anything\n" msgstr " build compila o sistema operacional sem instalador nada\n" -#: guix/scripts/system.scm:830 +#: guix/scripts/system.scm:923 msgid " container build a container that shares the host's store\n" msgstr "" " container compila um contêiner que compartilha o armazenamento\n" " da máquina\n" -#: guix/scripts/system.scm:832 +#: guix/scripts/system.scm:925 msgid " vm build a virtual machine image that shares the host's store\n" msgstr "" " vm compila uma imagem de máquina virtual que compartilha\n" " o armazenamento da máquina\n" -#: guix/scripts/system.scm:834 +#: guix/scripts/system.scm:927 msgid " vm-image build a freestanding virtual machine image\n" msgstr " vm-image compila uma imagem de máquina virtual independente\n" -#: guix/scripts/system.scm:836 +#: guix/scripts/system.scm:929 msgid " disk-image build a disk image, suitable for a USB stick\n" msgstr " disk-image compila uma imagem de disco, adequada para pendrive USB\n" -#: guix/scripts/system.scm:838 +#: guix/scripts/system.scm:931 +msgid " docker-image build a Docker image\n" +msgstr " docker-image compila uma imagem de Docker\n" + +#: guix/scripts/system.scm:933 msgid " init initialize a root file system to run GNU\n" msgstr " init inicializa um sistema de arquivos raiz para executar GNU\n" -#: guix/scripts/system.scm:840 +#: guix/scripts/system.scm:935 msgid " extension-graph emit the service extension graph in Dot format\n" msgstr " extension-graph emite o gráfico da extensão de serviço no formato Dot\n" -#: guix/scripts/system.scm:842 +#: guix/scripts/system.scm:937 msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" msgstr " shepherd-graph emite o gráfico de serviços do shepherd no formato Dot\n" -#: guix/scripts/system.scm:846 +#: guix/scripts/system.scm:941 msgid "" "\n" " -d, --derivation return the derivation of the given system" @@ -1685,7 +1770,17 @@ msgstr "" "\n" " -d, --derivation retorna a derivação do sistema dado" -#: guix/scripts/system.scm:848 +#: guix/scripts/system.scm:943 +msgid "" +"\n" +" -e, --expression=EXPR consider the operating-system EXPR evaluates to\n" +" instead of reading FILE, when applicable" +msgstr "" +"\n" +" -e, --expression=EXPR considera operating-sistem para o qual EXPR avalia\n" +" em vez de ler ARQUIVO, quando aplicável" + +#: guix/scripts/system.scm:946 msgid "" "\n" " --on-error=STRATEGY\n" @@ -1695,7 +1790,7 @@ msgstr "" " --on-error=ESTRATÉGIA\n" " aplica ESTRATÉGIA ao ocorrer um erro ao ler ARQUIVO" -#: guix/scripts/system.scm:851 +#: guix/scripts/system.scm:949 msgid "" "\n" " --file-system-type=TYPE\n" @@ -1707,7 +1802,7 @@ msgstr "" " para \"disk-image\", produz um sistema de arquivos\n" " raiz do TIPO (um entre \"ext4\", \"iso9660\")" -#: guix/scripts/system.scm:855 +#: guix/scripts/system.scm:953 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" @@ -1715,7 +1810,7 @@ msgstr "" "\n" " --image-size=TAM para \"vm-image\", produz uma imagem de TAM" -#: guix/scripts/system.scm:857 +#: guix/scripts/system.scm:955 msgid "" "\n" " --no-bootloader for 'init', do not install a bootloader" @@ -1723,7 +1818,7 @@ msgstr "" "\n" " --no-bootloader para \"init\", não instala um carregador de inic." -#: guix/scripts/system.scm:859 +#: guix/scripts/system.scm:957 msgid "" "\n" " --share=SPEC for 'vm', share host file system according to SPEC" @@ -1732,7 +1827,7 @@ msgstr "" " --share=ESPEC para \"vm\", compartilha o sistema de arquivos do\n" " hospedeiro de acordo com ESPEC" -#: guix/scripts/system.scm:861 +#: guix/scripts/system.scm:959 msgid "" "\n" " -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n" @@ -1745,7 +1840,7 @@ msgstr "" " o resultado e o registra, como um coletor de lixo\n" " central" -#: guix/scripts/system.scm:865 +#: guix/scripts/system.scm:963 msgid "" "\n" " --expose=SPEC for 'vm', expose host file system according to SPEC" @@ -1754,7 +1849,7 @@ msgstr "" " --expose=ESPEC para \"vm\", expõe o sistema de arquivos do\n" " hospedeiro de acordo com ESPEC" -#: guix/scripts/system.scm:867 +#: guix/scripts/system.scm:965 msgid "" "\n" " --full-boot for 'vm', make a full boot sequence" @@ -1763,49 +1858,63 @@ msgstr "" " --full-boot para \"vm\", faz uma sequência completa de\n" " inicialização" -#: guix/scripts/system.scm:959 +#: guix/scripts/system.scm:967 +msgid "" +"\n" +" --skip-checks skip file system and initrd module safety checks" +msgstr "" +"\n" +" --skip-checks ignora verificações de segurança do sistema de\n" +" arquivos e de módulo de initrd" + +#: guix/scripts/system.scm:1066 +#, scheme-format +msgid "both file and expression cannot be specified~%" +msgstr "não podem ser especificados arquivo e expressão~%" + +#: guix/scripts/system.scm:1073 #, scheme-format -msgid "no configuration file specified~%" -msgstr "nenhum arquivo de configuração especificado~%" +msgid "no configuration specified~%" +msgstr "nenhuma configuração especificada~%" -#: guix/scripts/system.scm:1057 +#: guix/scripts/system.scm:1173 #, scheme-format msgid "~a: unknown action~%" msgstr "~a: ação desconhecida~%" -#: guix/scripts/system.scm:1072 +#: guix/scripts/system.scm:1189 #, scheme-format msgid "wrong number of arguments for action '~a'~%" msgstr "número errado de argumentos para a ação \"~a\"~%" -#: guix/scripts/system.scm:1077 +#: guix/scripts/system.scm:1194 #, scheme-format msgid "guix system: missing command name~%" msgstr "guix system: faltando um nome de comando~%" -#: guix/scripts/system.scm:1079 +#: guix/scripts/system.scm:1196 #, scheme-format msgid "Try 'guix system --help' for more information.~%" msgstr "Tente \"guix system --help\" para mais informações.~%" -#: guix/scripts/system/search.scm:64 guix/ui.scm:1057 guix/ui.scm:1071 +#: guix/scripts/system/search.scm:64 guix/ui.scm:1112 guix/ui.scm:1126 msgid "unknown" msgstr "desconhecido" -#: guix/scripts/lint.scm:138 +#: guix/scripts/lint.scm:139 #, scheme-format msgid "Available checkers:~%" msgstr "Verificadores disponíveis:~%" -#: guix/scripts/lint.scm:162 +#: guix/scripts/lint.scm:163 msgid "description should not be empty" msgstr "a descrição deve não estar vazia" -#: guix/scripts/lint.scm:172 +#: guix/scripts/lint.scm:173 msgid "Texinfo markup in description is invalid" msgstr "a marcação Texinfo na descrição é inválida" -#: guix/scripts/lint.scm:182 +#: guix/scripts/lint.scm:183 #, scheme-format msgid "" "description should not contain ~\n" @@ -1816,15 +1925,15 @@ msgstr "" #. TRANSLATORS: '@code' is Texinfo markup and must be kept #. as is. -#: guix/scripts/lint.scm:195 +#: guix/scripts/lint.scm:196 msgid "use @code or similar ornament instead of quotes" msgstr "use @code ou ornamento similar em vez de aspas" -#: guix/scripts/lint.scm:202 +#: guix/scripts/lint.scm:203 msgid "description should start with an upper-case letter or digit" msgstr "a descrição deve iniciar com uma letra maiúscula ou dígito" -#: guix/scripts/lint.scm:218 +#: guix/scripts/lint.scm:219 #, scheme-format msgid "" "sentences in description should be followed ~\n" @@ -1833,256 +1942,261 @@ msgstr "" "sentenças nas descrição devem ser seguidas ~\n" "por dois espaços; possível infração~p em ~{~a~^, ~}" -#: guix/scripts/lint.scm:236 +#: guix/scripts/lint.scm:237 #, scheme-format msgid "invalid description: ~s" msgstr "a descrição inválida: ~s" -#: guix/scripts/lint.scm:281 +#: guix/scripts/lint.scm:282 #, scheme-format msgid "'~a' should probably be a native input" msgstr "\"~a\" provavelmente é uma entrada nativa" -#: guix/scripts/lint.scm:297 +#: guix/scripts/lint.scm:298 #, scheme-format msgid "'~a' should probably not be an input at all" msgstr "\"~a\" provavelmente deve não ser uma entrada" -#: guix/scripts/lint.scm:314 +#: guix/scripts/lint.scm:315 msgid "synopsis should not be empty" msgstr "a sinopse deve não estar vazia" -#: guix/scripts/lint.scm:322 +#: guix/scripts/lint.scm:323 msgid "no period allowed at the end of the synopsis" msgstr "nenhum ponto permitido ao final da sinopse" -#: guix/scripts/lint.scm:334 +#: guix/scripts/lint.scm:335 msgid "no article allowed at the beginning of the synopsis" msgstr "nenhum artigo permitido no início da sinopse" -#: guix/scripts/lint.scm:341 +#: guix/scripts/lint.scm:342 msgid "synopsis should be less than 80 characters long" msgstr "a sinopse deve ser menor que 80 caracteres" -#: guix/scripts/lint.scm:347 +#: guix/scripts/lint.scm:348 msgid "synopsis should start with an upper-case letter or digit" msgstr "a sinopse deve iniciar com uma letra maiúscula ou dígito" -#: guix/scripts/lint.scm:354 +#: guix/scripts/lint.scm:355 msgid "synopsis should not start with the package name" msgstr "a sinopse deve não iniciar com o nome do pacote" -#: guix/scripts/lint.scm:364 +#: guix/scripts/lint.scm:365 msgid "Texinfo markup in synopsis is invalid" msgstr "Marcação Texinfo na sinopse é inválida" -#: guix/scripts/lint.scm:383 +#: guix/scripts/lint.scm:384 #, scheme-format msgid "invalid synopsis: ~s" msgstr "sinopse inválida: ~s" -#: guix/scripts/lint.scm:502 +#: guix/scripts/lint.scm:503 #, scheme-format msgid "URI ~a returned suspiciously small file (~a bytes)" msgstr "a URI ~a retornou um arquivo suspeitosamente pequeno (~a bytes)" -#: guix/scripts/lint.scm:512 +#: guix/scripts/lint.scm:513 #, scheme-format msgid "permanent redirect from ~a to ~a" msgstr "redirecionamento permanente de ~a para ~a" -#: guix/scripts/lint.scm:519 +#: guix/scripts/lint.scm:520 #, scheme-format msgid "invalid permanent redirect from ~a" msgstr "redirecionamento permanente inválido de ~a" -#: guix/scripts/lint.scm:526 guix/scripts/lint.scm:538 +#: guix/scripts/lint.scm:527 guix/scripts/lint.scm:539 #, scheme-format msgid "URI ~a not reachable: ~a (~s)" msgstr "a URI ~a não é alcançável: ~a (~s)" -#: guix/scripts/lint.scm:545 +#: guix/scripts/lint.scm:546 #, scheme-format msgid "URI ~a domain not found: ~a" msgstr "o domínio da URI ~a não foi localizado: ~a" -#: guix/scripts/lint.scm:553 +#: guix/scripts/lint.scm:554 #, scheme-format msgid "URI ~a unreachable: ~a" msgstr "URI ~a inalcançável: ~a" -#: guix/scripts/lint.scm:562 +#: guix/scripts/lint.scm:563 #, scheme-format msgid "TLS certificate error: ~a" msgstr "erro de certificado TLS: ~a" -#: guix/scripts/lint.scm:583 +#: guix/scripts/lint.scm:584 msgid "invalid value for home page" msgstr "valor inválido para página inicial" -#: guix/scripts/lint.scm:586 +#: guix/scripts/lint.scm:587 #, scheme-format msgid "invalid home page URL: ~s" msgstr "URL de página inicial inválida: ~s" -#: guix/scripts/lint.scm:606 +#: guix/scripts/lint.scm:613 msgid "file names of patches should start with the package name" msgstr "nomes de arquivos de patches devem iniciar com o nome do pacote" -#: guix/scripts/lint.scm:644 +#: guix/scripts/lint.scm:629 +#, scheme-format +msgid "~a: file name is too long" +msgstr "~a: o nome de arquivo é longo demais" + +#: guix/scripts/lint.scm:670 #, scheme-format msgid "~a: ~a: proposed synopsis: ~s~%" msgstr "~a: ~a: sinopse proposta: ~s~%" -#: guix/scripts/lint.scm:657 +#: guix/scripts/lint.scm:683 #, scheme-format msgid "~a: ~a: proposed description:~% \"~a\"~%" msgstr "~a: ~a: descrição proposta:~% \"~a\"~%" -#: guix/scripts/lint.scm:699 +#: guix/scripts/lint.scm:725 msgid "all the source URIs are unreachable:" msgstr "todas as URIs fontes estão inalcançáveis:" -#: guix/scripts/lint.scm:721 +#: guix/scripts/lint.scm:747 msgid "the source file name should contain the package name" msgstr "o nome de arquivo fonte deve conter o nome do pacote" -#: guix/scripts/lint.scm:737 +#: guix/scripts/lint.scm:763 #, scheme-format msgid "URL should be 'mirror://~a/~a'" msgstr "a URL deve ser \"mirror://~a/~a\"" -#: guix/scripts/lint.scm:755 guix/scripts/lint.scm:759 +#: guix/scripts/lint.scm:781 guix/scripts/lint.scm:785 #, scheme-format msgid "failed to create derivation: ~a" msgstr "falha ao criar a derivação: ~a" -#: guix/scripts/lint.scm:773 +#: guix/scripts/lint.scm:799 #, scheme-format msgid "failed to create derivation: ~s~%" msgstr "falha ao criar a derivação: ~s~%" -#: guix/scripts/lint.scm:783 +#: guix/scripts/lint.scm:809 msgid "invalid license field" msgstr "campo de licença inválido" -#: guix/scripts/lint.scm:799 +#: guix/scripts/lint.scm:825 #, scheme-format msgid "~a: HTTP GET error for ~a: ~a (~s)~%" msgstr "~a: erro HTTP GET para ~a: ~a (~s)~%" -#: guix/scripts/lint.scm:809 +#: guix/scripts/lint.scm:835 #, scheme-format msgid "~a: host lookup failure: ~a~%" msgstr "~a: falha ao procurar o host: ~a~%" -#: guix/scripts/lint.scm:814 +#: guix/scripts/lint.scm:840 #, scheme-format msgid "~a: TLS certificate error: ~a" msgstr "~a: erro de certificado TLS: ~a" -#: guix/scripts/lint.scm:829 +#: guix/scripts/lint.scm:855 msgid "while retrieving CVE vulnerabilities" msgstr "ao obter vulnerabilidades CVE" -#: guix/scripts/lint.scm:866 +#: guix/scripts/lint.scm:898 #, scheme-format msgid "probably vulnerable to ~a" msgstr "provavelmente vulnerável a ~a" -#: guix/scripts/lint.scm:873 +#: guix/scripts/lint.scm:905 #, scheme-format msgid "while retrieving upstream info for '~a'" msgstr "ao obter informações do upstream para \"~a\"" -#: guix/scripts/lint.scm:881 +#: guix/scripts/lint.scm:913 #, scheme-format msgid "can be upgraded to ~a" msgstr "pode ser atualizado para ~a" -#: guix/scripts/lint.scm:896 +#: guix/scripts/lint.scm:928 #, scheme-format msgid "tabulation on line ~a, column ~a" msgstr "tabulação na linha ~a, coluna ~a" -#: guix/scripts/lint.scm:905 +#: guix/scripts/lint.scm:937 #, scheme-format msgid "trailing white space on line ~a" msgstr "espaço ao final da linha ~a" -#: guix/scripts/lint.scm:915 +#: guix/scripts/lint.scm:947 #, scheme-format msgid "line ~a is way too long (~a characters)" msgstr "a linha ~a está grande demais (~a caracteres)" -#: guix/scripts/lint.scm:926 +#: guix/scripts/lint.scm:958 #, scheme-format msgid "line ~a: parentheses feel lonely, move to the previous or next line" msgstr "linha ~a: parênteses está solitário, mova-o para a linha anterior ou a seguinte" -#: guix/scripts/lint.scm:996 +#: guix/scripts/lint.scm:1028 msgid "Validate package descriptions" msgstr "Valida descrições dos pacotes" -#: guix/scripts/lint.scm:1000 +#: guix/scripts/lint.scm:1032 msgid "Validate synopsis & description of GNU packages" msgstr "Valida sinopse & descrição de pacotes GNU" -#: guix/scripts/lint.scm:1004 +#: guix/scripts/lint.scm:1036 msgid "Identify inputs that should be native inputs" msgstr "Identifica entradas que devem ser nativas" -#: guix/scripts/lint.scm:1008 +#: guix/scripts/lint.scm:1040 msgid "Identify inputs that should be inputs at all" msgstr "Identifica entradas que devem ser entradas" -#: guix/scripts/lint.scm:1012 +#: guix/scripts/lint.scm:1044 msgid "Validate file names and availability of patches" msgstr "Valida nomes de arquivos e disponibilidade de patches" -#: guix/scripts/lint.scm:1016 +#: guix/scripts/lint.scm:1048 msgid "Validate home-page URLs" msgstr "Valida URLs de site" #. TRANSLATORS: <license> is the name of a data type and must not be #. translated. -#: guix/scripts/lint.scm:1022 +#: guix/scripts/lint.scm:1054 msgid "Make sure the 'license' field is a <license> or a list thereof" msgstr "Certifica que o campo \"license\" é um <license> ou uma lista disto" -#: guix/scripts/lint.scm:1027 +#: guix/scripts/lint.scm:1059 msgid "Validate source URLs" msgstr "Valida URLs fonte" -#: guix/scripts/lint.scm:1031 +#: guix/scripts/lint.scm:1063 msgid "Suggest 'mirror://' URLs" msgstr "Sugere URLs \"mirror://\"" -#: guix/scripts/lint.scm:1035 +#: guix/scripts/lint.scm:1067 msgid "Validate file names of sources" msgstr "Valida nomes de arquivos dos fontes" -#: guix/scripts/lint.scm:1039 +#: guix/scripts/lint.scm:1071 msgid "Report failure to compile a package to a derivation" msgstr "Relata falha ao compilar um pacote para uma derivação" -#: guix/scripts/lint.scm:1043 +#: guix/scripts/lint.scm:1075 msgid "Validate package synopses" msgstr "Valida sinopses do pacotes" -#: guix/scripts/lint.scm:1047 +#: guix/scripts/lint.scm:1079 msgid "Check the Common Vulnerabilities and Exposures (CVE) database" msgstr "Verifica o banco de dados de Vulnerabilidades e Exposições Comuns (CVE)" -#: guix/scripts/lint.scm:1052 +#: guix/scripts/lint.scm:1084 msgid "Check the package for new upstream releases" msgstr "Verifica o pacote por novos lançamentos do upstream" -#: guix/scripts/lint.scm:1056 +#: guix/scripts/lint.scm:1088 msgid "Look for formatting issues in the source" msgstr "Procura por problemas de formatação no fonte" -#: guix/scripts/lint.scm:1084 +#: guix/scripts/lint.scm:1116 msgid "" "Usage: guix lint [OPTION]... [PACKAGE]...\n" "Run a set of checkers on the specified package; if none is specified,\n" @@ -2092,7 +2206,7 @@ msgstr "" "Executa uma série de verificadores no pacote especificado; se nenhum\n" "for especificado, executa-os em todos pacote.\n" -#: guix/scripts/lint.scm:1087 +#: guix/scripts/lint.scm:1119 msgid "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" @@ -2102,7 +2216,7 @@ msgstr "" " -c, --checkers=CHECKER1,CHECKER2...\n" " executa apenas os verificadores especificados" -#: guix/scripts/lint.scm:1092 +#: guix/scripts/lint.scm:1124 msgid "" "\n" " -l, --list-checkers display the list of available lint checkers" @@ -2110,7 +2224,7 @@ msgstr "" "\n" " -l, --list-checkers exibe a lista de verificações lint disponíveis" -#: guix/scripts/lint.scm:1112 +#: guix/scripts/lint.scm:1144 #, scheme-format msgid "~a: invalid checker~%" msgstr "~a: verificador inválido~%" @@ -2235,17 +2349,17 @@ msgstr "suporte a zlib está faltando; compressão desabilitada~%" msgid "~a: invalid duration~%" msgstr "~a: duração inválida~%" -#: guix/scripts/publish.scm:832 +#: guix/scripts/publish.scm:869 #, scheme-format msgid "user '~a' not found: ~a~%" msgstr "usuário \"~a\" não localizado: ~a~%" -#: guix/scripts/publish.scm:873 +#: guix/scripts/publish.scm:910 #, scheme-format msgid "server running as root; consider using the '--user' option!~%" msgstr "servidor executado como root; considere usar a opção \"--user\"!~%" -#: guix/scripts/publish.scm:878 +#: guix/scripts/publish.scm:915 #, scheme-format msgid "publishing ~a on ~a, port ~d~%" msgstr "publicando ~a em ~a, porta ~d~%" @@ -2344,77 +2458,81 @@ msgstr "~a: chave de ordenação inválida~%" msgid "missing store item argument\n" msgstr "faltando argumento de item do armazenamento\n" -#: guix/scripts/graph.scm:84 +#: guix/scripts/graph.scm:87 #, scheme-format msgid "~a: invalid argument (package name expected)" msgstr "~a: argumento inválido (esperava-se nome de pacote)" -#: guix/scripts/graph.scm:95 +#: guix/scripts/graph.scm:98 msgid "the DAG of packages, excluding implicit inputs" msgstr "o DAG dos pacotes, excluindo entradas implícitas" -#: guix/scripts/graph.scm:121 +#: guix/scripts/graph.scm:124 msgid "the reverse DAG of packages" msgstr "o DAG reverso de pacotes" -#: guix/scripts/graph.scm:171 +#: guix/scripts/graph.scm:174 msgid "the DAG of packages, including implicit inputs" msgstr "o DAG dos pacotes, incluindo entradas implícitas" -#: guix/scripts/graph.scm:181 +#: guix/scripts/graph.scm:184 msgid "the DAG of packages and origins, including implicit inputs" msgstr "o DAG dos pacotes e origens, incluindo entradas implícitas" -#: guix/scripts/graph.scm:211 +#: guix/scripts/graph.scm:214 msgid "same as 'bag', but without the bootstrap nodes" msgstr "mesmo que \"bag\", mas sem o nós de inicialização" -#: guix/scripts/graph.scm:253 +#: guix/scripts/graph.scm:256 msgid "the DAG of derivations" msgstr "o DAG de derivações" -#: guix/scripts/graph.scm:265 +#: guix/scripts/graph.scm:268 msgid "unsupported argument for derivation graph" msgstr "sem suporte ao argumento para gráfico de derivação" -#: guix/scripts/graph.scm:291 +#: guix/scripts/graph.scm:294 msgid "unsupported argument for this type of graph" msgstr "sem suporte ao argumento para esse tipo de gráfico" -#: guix/scripts/graph.scm:304 +#: guix/scripts/graph.scm:307 #, scheme-format msgid "references for '~a' are not known~%" msgstr "referências para \"~a\" não são conhecidas~%" -#: guix/scripts/graph.scm:311 +#: guix/scripts/graph.scm:314 msgid "the DAG of run-time dependencies (store references)" msgstr "o DAG de dependências de tempo real (referências de armazenamento)" -#: guix/scripts/graph.scm:327 +#: guix/scripts/graph.scm:330 msgid "the DAG of referrers in the store" msgstr "o DAG de referências no armazenamento" -#: guix/scripts/graph.scm:354 +#: guix/scripts/graph.scm:360 +msgid "the graph of package modules" +msgstr "o gráfico dos módulos de pacote" + +#: guix/scripts/graph.scm:388 #, scheme-format msgid "~a: unknown node type~%" msgstr "~a: tipo de nó desconhecido~%" -#: guix/scripts/graph.scm:361 +#: guix/scripts/graph.scm:395 #, scheme-format msgid "~a: unknown backend~%" msgstr "~a: backend desconhecido~%" -#: guix/scripts/graph.scm:365 +#: guix/scripts/graph.scm:399 msgid "The available node types are:\n" msgstr "Os tipos de nós disponíveis são:\n" -#: guix/scripts/graph.scm:375 +#: guix/scripts/graph.scm:409 msgid "The available backend types are:\n" msgstr "Os tipos de backends disponíveis são:\n" #. TRANSLATORS: Here 'dot' is the name of a program; it must not be #. translated. -#: guix/scripts/graph.scm:419 +#: guix/scripts/graph.scm:453 msgid "" "Usage: guix graph PACKAGE...\n" "Emit a representation of the dependency graph of PACKAGE...\n" @@ -2422,7 +2540,7 @@ msgstr "" "Uso: guix graph PACOTE...\n" "Emite uma representação do gráfico de dependências do PACOTE...\n" -#: guix/scripts/graph.scm:421 +#: guix/scripts/graph.scm:455 msgid "" "\n" " -b, --backend=TYPE produce a graph with the given backend TYPE" @@ -2430,7 +2548,7 @@ msgstr "" "\n" " -b, --backend=TIPO produz um grafo com backend do TIPO" -#: guix/scripts/graph.scm:423 +#: guix/scripts/graph.scm:457 msgid "" "\n" " --list-backends list the available graph backends" @@ -2438,7 +2556,7 @@ msgstr "" "\n" " --list-backends lista os backends de gráficos disponíveis" -#: guix/scripts/graph.scm:425 +#: guix/scripts/graph.scm:459 msgid "" "\n" " -t, --type=TYPE represent nodes of the given TYPE" @@ -2446,7 +2564,7 @@ msgstr "" "\n" " -t, --type=TIPO representa nós do TIPO dado" -#: guix/scripts/graph.scm:427 +#: guix/scripts/graph.scm:461 msgid "" "\n" " --list-types list the available graph types" @@ -2454,7 +2572,7 @@ msgstr "" "\n" " --list-types lista os tipos de gráficos disponíveis" -#: guix/scripts/graph.scm:429 guix/scripts/pack.scm:336 +#: guix/scripts/graph.scm:463 guix/scripts/pack.scm:355 msgid "" "\n" " -e, --expression=EXPR consider the package EXPR evaluates to" @@ -2573,22 +2691,22 @@ msgstr "" "\n" " --from=MÁQUINA recebe ITENS da MÁQUINA" -#: guix/scripts/copy.scm:168 +#: guix/scripts/copy.scm:169 #, scheme-format msgid "use '--to' or '--from'~%" msgstr "use \"--to\" ou \"--from\"~%" -#: guix/scripts/pack.scm:76 +#: guix/scripts/pack.scm:85 #, scheme-format msgid "~a: compressor not found~%" msgstr "~a: compressor não encontrado~%" -#: guix/scripts/pack.scm:318 +#: guix/scripts/pack.scm:334 #, scheme-format msgid "~a: invalid symlink specification~%" msgstr "~a: especificação de link simbólico inválida~%" -#: guix/scripts/pack.scm:328 +#: guix/scripts/pack.scm:347 msgid "" "Usage: guix pack [OPTION]... PACKAGE...\n" "Create a bundle of PACKAGE.\n" @@ -2596,7 +2714,7 @@ msgstr "" "Uso: guix pack [OPÇÃO]... PACOTE...\n" "Cria um pacote de PACOTE.\n" -#: guix/scripts/pack.scm:334 +#: guix/scripts/pack.scm:353 msgid "" "\n" " -f, --format=FORMAT build a pack in the given FORMAT" @@ -2604,7 +2722,7 @@ msgstr "" "\n" " -f, --format=FORMATO compila um pacote no FORMATO dado" -#: guix/scripts/pack.scm:342 +#: guix/scripts/pack.scm:361 msgid "" "\n" " -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" @@ -2613,7 +2731,7 @@ msgstr "" " -C, --compression=FERRAMENTA\n" " comprime usando FERRAMENTA--ex. \"lzip\"" -#: guix/scripts/pack.scm:344 +#: guix/scripts/pack.scm:363 msgid "" "\n" " -S, --symlink=SPEC create symlinks to the profile according to SPEC" @@ -2621,7 +2739,15 @@ msgstr "" "\n" " -S, --symlink=ESPEC cria link simbólicos para o perfil conforme ESPEC" -#: guix/scripts/pack.scm:346 +#: guix/scripts/pack.scm:365 +msgid "" +"\n" +" -m, --manifest=FILE create a pack with the manifest from FILE" +msgstr "" +"\n" +" -m, --manifest=ARQUIVO cria um pacote com o manifesto do ARQUIVO" + +#: guix/scripts/pack.scm:367 msgid "" "\n" " --localstatedir include /var/guix in the resulting pack" @@ -2629,49 +2755,100 @@ msgstr "" "\n" " --localstatedir inclui /var/guix no pacote resultante" -#: guix/scripts/pack.scm:390 +#: guix/scripts/pack.scm:369 +msgid "" +"\n" +" --bootstrap use the bootstrap binaries to build the pack" +msgstr "" +"\n" +" --bootstrap usa os executáveis de inicialização para compilar\n" +" o pacote" + +#: guix/scripts/pack.scm:405 +#, scheme-format +msgid "both a manifest and a package list were given~%" +msgstr "foram especificados um manifesto e uma lista de pacote~%" + +#: guix/scripts/pack.scm:429 #, scheme-format msgid "~a: unknown pack format" msgstr "~a: formato de pacote desconhecido" -#: guix/scripts/weather.scm:74 +#: guix/scripts/weather.scm:72 msgid "computing ~h package derivations for ~a...~%" msgstr "computando ~h derivações de pacote para ~a...~%" -#: guix/scripts/weather.scm:110 +#: guix/scripts/weather.scm:161 msgid "looking for ~h store items on ~a...~%" msgstr "procurando por ~h itens de armazenamento em ~a…~%" -#: guix/scripts/weather.scm:120 +#: guix/scripts/weather.scm:173 msgid " ~2,1f% substitutes available (~h out of ~h)~%" msgstr " ~2,1f% substitutos disponíveis (~h de ~h)~%" -#: guix/scripts/weather.scm:126 +#: guix/scripts/weather.scm:179 #, scheme-format msgid " unknown substitute sizes~%" msgstr " tamanhos de substituto desconhecido~%" -#: guix/scripts/weather.scm:129 +#: guix/scripts/weather.scm:182 msgid " ~,1h MiB of nars (compressed)~%" msgstr " ~,1h MiB de nars (comprimidos)~%" -#: guix/scripts/weather.scm:130 +#: guix/scripts/weather.scm:183 msgid " at least ~,1h MiB of nars (compressed)~%" msgstr " pelo menos ~,1h MiB de nars (comprimidos)~%" -#: guix/scripts/weather.scm:132 +#: guix/scripts/weather.scm:185 msgid " ~,1h MiB on disk (uncompressed)~%" msgstr " ~,1h MiB no disco (comprimidos)~%" -#: guix/scripts/weather.scm:134 +#: guix/scripts/weather.scm:187 msgid " ~,3h seconds per request (~,1h seconds in total)~%" msgstr " ~,3h segundos por requisição (~,1h segundos no total)~%" -#: guix/scripts/weather.scm:136 +#: guix/scripts/weather.scm:189 msgid " ~,1h requests per second~%" msgstr " ~,1h requisições por segundo~%" -#: guix/scripts/weather.scm:145 +#: guix/scripts/weather.scm:195 +#, scheme-format +msgid " (continuous integration information unavailable)~%" +msgstr " (informações de integração contínua indisponíveis)~%" + +#: guix/scripts/weather.scm:198 +#, scheme-format +msgid " '~a' returned ~a (~s)~%" +msgstr " \"~a\" retornou ~a (~s)~%" + +#: guix/scripts/weather.scm:215 +msgid " ~,1f% (~h out of ~h) of the missing items are queued~%" +msgstr " ~,1f% (~h de ~h) dos itens faltando estão enfileirados~%" + +#: guix/scripts/weather.scm:221 +msgid " at least ~h queued builds~%" +msgstr " pelo menos ~h compilações enfileiradas~%" + +#: guix/scripts/weather.scm:222 +msgid " ~h queued builds~%" +msgstr " ~h compilações enfileiradas~%" + +#: guix/scripts/weather.scm:225 +#, scheme-format +msgid " ~a: ~a (~0,1f%)~%" +msgstr " ~a: ~a (~0,1f%)~%" + +#: guix/scripts/weather.scm:231 +#, scheme-format +msgid " build rate: ~1,2f builds per hour~%" +msgstr " taxa de compilação: ~1,2f compilações por hora~%" + +#: guix/scripts/weather.scm:235 +#, scheme-format +msgid " ~a: ~,2f builds per hour~%" +msgstr " ~a: ~,2f compilações por hora~%" + +#: guix/scripts/weather.scm:247 msgid "" "Usage: guix weather [OPTIONS]\n" "Report the availability of substitutes.\n" @@ -2679,7 +2856,7 @@ msgstr "" "Uso: guix weather [OPÇÕES]\n" "Relata a disponibilidade de substitutos.\n" -#: guix/scripts/weather.scm:147 +#: guix/scripts/weather.scm:249 msgid "" "\n" " --substitute-urls=URLS\n" @@ -2689,7 +2866,7 @@ msgstr "" " --substitute-urls=URLS\n" " verifica por substitutos disponíveis nas URLS" -#: guix/scripts/weather.scm:150 +#: guix/scripts/weather.scm:252 msgid "" "\n" " -m, --manifest=MANIFEST\n" @@ -2700,7 +2877,7 @@ msgstr "" " procura substitutos para os pacotes especificados\n" " no MANIFESTO" -#: guix/scripts/weather.scm:153 +#: guix/scripts/weather.scm:255 msgid "" "\n" " -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"" @@ -2708,28 +2885,28 @@ msgstr "" "\n" " -s, --system=SISTEMA considera substitutos para SISTEMA--ex.: \"i686-linux\"" -#: guix/scripts/weather.scm:177 +#: guix/scripts/weather.scm:279 #, scheme-format msgid "~a: invalid URL~%" msgstr "~a: URL inválido~%" -#: guix/gnu-maintenance.scm:567 +#: guix/gnu-maintenance.scm:570 msgid "Updater for GNU packages" msgstr "Atualizador para pacotes GNU" -#: guix/gnu-maintenance.scm:576 +#: guix/gnu-maintenance.scm:579 msgid "Updater for GNU packages only available via FTP" msgstr "Atualizador para pacotes GNU só disponíveis via FTP" -#: guix/gnu-maintenance.scm:585 +#: guix/gnu-maintenance.scm:588 msgid "Updater for KDE packages" msgstr "Atualizador para pacotes KDE" -#: guix/gnu-maintenance.scm:592 +#: guix/gnu-maintenance.scm:595 msgid "Updater for X.org packages" msgstr "Atualizador para pacotes X.org" -#: guix/gnu-maintenance.scm:599 +#: guix/gnu-maintenance.scm:602 msgid "Updater for packages hosted on kernel.org" msgstr "Atualizador para pacotes hospedados no kernel.org" @@ -2788,85 +2965,85 @@ msgstr "processo inexistente ~d~%" msgid "exec failed with status ~d~%" msgstr "execução falhou com status ~d~%" -#: guix/upstream.scm:249 +#: guix/upstream.scm:250 #, scheme-format msgid "signature verification failed for `~a'~%" msgstr "verificação de assinatura falhou para \"~a\"~%" -#: guix/upstream.scm:251 +#: guix/upstream.scm:252 #, scheme-format msgid "(could be because the public key is not in your keyring)~%" msgstr "(pode ser porque a chave pública não está no seu chaveiro)~%" -#: guix/upstream.scm:330 +#: guix/upstream.scm:337 #, scheme-format msgid "~a: could not locate source file" msgstr "~a: não foi possível localizar um arquivo fonte" -#: guix/upstream.scm:335 +#: guix/upstream.scm:342 #, scheme-format msgid "~a: ~a: no `version' field in source; skipping~%" msgstr "~a: ~a: sem o campo \"version\" no fonte; ignorando~%" -#: guix/ui.scm:159 +#: guix/ui.scm:161 #, scheme-format msgid "~a: unbound variable" msgstr "~a: variável não vinculada" -#: guix/ui.scm:235 +#: guix/ui.scm:253 msgid "entering debugger; type ',bt' for a backtrace\n" msgstr "entrando no depurador; digite \",bt\" para o \"backtrace\"\n" -#: guix/ui.scm:284 +#: guix/ui.scm:302 #, scheme-format msgid "hint: ~a~%" msgstr "dica: ~a~%" -#: guix/ui.scm:294 guix/ui.scm:342 guix/ui.scm:349 +#: guix/ui.scm:314 guix/ui.scm:362 guix/ui.scm:369 #, scheme-format msgid "failed to load '~a': ~a~%" msgstr "falha ao carregar \"~a\": ~a~%" -#: guix/ui.scm:301 +#: guix/ui.scm:321 #, scheme-format msgid "~amissing closing parenthesis~%" msgstr "~afaltando parêntese de fechamento~%" -#: guix/ui.scm:306 guix/ui.scm:322 guix/ui.scm:596 +#: guix/ui.scm:326 guix/ui.scm:342 guix/ui.scm:642 #, scheme-format msgid "~a: error: ~a~%" msgstr "~a: erro: ~a~%" -#: guix/ui.scm:314 +#: guix/ui.scm:334 msgid "Did you forget a @code{use-modules} form?" msgstr "Você se esqueceu de uma forma @code{use-modules}?" -#: guix/ui.scm:316 +#: guix/ui.scm:336 #, scheme-format -msgid "Try adding @code{(use-modules ~a)}." -msgstr "Tente adicionar @code{(use-modules ~a)}." +msgid "Did you forget @code{(use-modules ~a)}?" +msgstr "Você se esqueceu de @code{(use-modules ~a)}?" -#: guix/ui.scm:329 guix/ui.scm:657 +#: guix/ui.scm:349 guix/ui.scm:712 #, scheme-format msgid "exception thrown: ~s~%" msgstr "excepção lançada: ~s~%" -#: guix/ui.scm:333 guix/ui.scm:355 +#: guix/ui.scm:353 guix/ui.scm:375 #, scheme-format msgid "failed to load '~a':~%" msgstr "falha ao carregar \"~a\":~%" -#: guix/ui.scm:345 +#: guix/ui.scm:365 #, scheme-format msgid "~a: warning: ~a~%" msgstr "~a: aviso: ~a~%" -#: guix/ui.scm:352 +#: guix/ui.scm:372 #, scheme-format msgid "failed to load '~a': exception thrown: ~s~%" msgstr "falha ao carregar \"~a\": exceção lançada: ~s~%" -#: guix/ui.scm:364 +#: guix/ui.scm:384 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "falha ao instalar localidade: ~a~%" @@ -2874,15 +3051,15 @@ msgstr "falha ao instalar localidade: ~a~%" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. */ -#: guix/ui.scm:394 +#: guix/ui.scm:414 msgid "(C)" msgstr "(C)" -#: guix/ui.scm:395 +#: guix/ui.scm:415 msgid "the Guix authors\n" msgstr "os autores do Guix\n" -#: guix/ui.scm:396 +#: guix/ui.scm:416 msgid "" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n" "This is free software: you are free to change and redistribute it.\n" @@ -2896,7 +3073,7 @@ msgstr "" #. package. Please add another line saying "Report translation bugs to #. ...\n" with the address for translation bugs (typically your translation #. team's web or email address). -#: guix/ui.scm:408 +#: guix/ui.scm:428 #, scheme-format msgid "" "\n" @@ -2906,7 +3083,7 @@ msgstr "" "Relate erros para: ~a.\n" "Relate erros de tradução para: ldpbr-translation@lists.sourceforge.net." -#: guix/ui.scm:410 +#: guix/ui.scm:430 #, scheme-format msgid "" "\n" @@ -2915,7 +3092,7 @@ msgstr "" "\n" "Site do ~a: <~a>" -#: guix/ui.scm:412 +#: guix/ui.scm:432 msgid "" "\n" "General help using GNU software: <http://www.gnu.org/gethelp/>" @@ -2923,131 +3100,149 @@ msgstr "" "\n" "Ajuda em geral usando softwares GNU: <http://www.gnu.org/gethelp/>" -#: guix/ui.scm:457 +#: guix/ui.scm:477 #, scheme-format msgid "'~a' is not a valid regular expression: ~a~%" msgstr "\"~a\" não é uma expressão regular válida: ~a~%" -#: guix/ui.scm:463 +#: guix/ui.scm:483 #, scheme-format msgid "~a: invalid number~%" msgstr "~a: número inválido~%" -#: guix/ui.scm:480 +#: guix/ui.scm:500 #, scheme-format msgid "invalid number: ~a~%" msgstr "número inválido: ~a~%" -#: guix/ui.scm:503 +#: guix/ui.scm:523 #, scheme-format msgid "unknown unit: ~a~%" msgstr "unidade desconhecida: ~a~%" -#: guix/ui.scm:520 +#: guix/ui.scm:538 +#, scheme-format +msgid "" +"You cannot have two different versions\n" +"or variants of @code{~a} in the same profile." +msgstr "" +"Você não pode ter duas versões diferentes\n" +"ou variantes de @code{~a} no mesmo perfil." + +#: guix/ui.scm:541 +#, scheme-format +msgid "" +"Try upgrading both @code{~a} and @code{~a},\n" +"or remove one of them from the profile." +msgstr "" +"Tente atualizar ambos @code{~a} e @code{~a},\n" +"ou remover um deles do perfil." + +#: guix/ui.scm:560 #, scheme-format msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" msgstr "~a:~a:~a: o pacote \"~a\" tem uma entrada inválida: ~s~%" -#: guix/ui.scm:527 +#: guix/ui.scm:567 #, scheme-format msgid "~a: ~a: build system `~a' does not support cross builds~%" msgstr "~a: ~a: o sistema de compilação de \"~a\" não oferece suporte a compilações cruzadas~%" -#: guix/ui.scm:533 +#: guix/ui.scm:573 #, scheme-format msgid "~s: invalid G-expression input~%" msgstr "~s: entrada de expressão G inválida~%" -#: guix/ui.scm:536 +#: guix/ui.scm:576 #, scheme-format msgid "profile '~a' does not exist~%" msgstr "o perfil \"~a\" não existe~%" -#: guix/ui.scm:539 +#: guix/ui.scm:579 #, scheme-format msgid "generation ~a of profile '~a' does not exist~%" msgstr "a geração ~a do perfil \"~a\" não existe~%" -#: guix/ui.scm:548 +#: guix/ui.scm:588 #, scheme-format msgid " ... propagated from ~a@~a~%" msgstr " ... propagado de ~a@~a~%" -#: guix/ui.scm:553 +#: guix/ui.scm:598 #, scheme-format -msgid "profile contains conflicting entries for ~a:~a~%" -msgstr "o perfil contém entradas conflitantes para ~a:~a~%" +msgid "profile contains conflicting entries for ~a~a~%" +msgstr "o perfil contém entradas conflitantes para ~a~a~%" -#: guix/ui.scm:556 +#: guix/ui.scm:601 #, scheme-format -msgid " first entry: ~a@~a:~a ~a~%" -msgstr " primeira entrada: ~a@~a:~a ~a~%" +msgid " first entry: ~a@~a~a ~a~%" +msgstr " primeira entrada: ~a@~a~a ~a~%" -#: guix/ui.scm:562 +#: guix/ui.scm:607 #, scheme-format -msgid " second entry: ~a@~a:~a ~a~%" -msgstr " segunda entrada: ~a@~a:~a ~a~%" +msgid " second entry: ~a@~a~a ~a~%" +msgstr " segunda entrada: ~a@~a~a ~a~%" -#: guix/ui.scm:573 +#: guix/ui.scm:619 #, scheme-format msgid "corrupt input while restoring '~a' from ~s~%" msgstr "entrada corrompida ao restaurar \"~a\" de ~s~%" -#: guix/ui.scm:575 +#: guix/ui.scm:621 #, scheme-format msgid "corrupt input while restoring archive from ~s~%" msgstr "entrada corrompida ao restaurar um pacote de ~s~%" -#: guix/ui.scm:578 +#: guix/ui.scm:624 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "falha ao conectar em \"~a\": ~a~%" -#: guix/ui.scm:583 +#: guix/ui.scm:629 #, scheme-format msgid "build failed: ~a~%" msgstr "compilação falhou: ~a~%" -#: guix/ui.scm:586 +#: guix/ui.scm:632 #, scheme-format msgid "reference to invalid output '~a' of derivation '~a'~%" msgstr "referência a uma saída inválida \"~a\" da derivação \"~a\"~%" -#: guix/ui.scm:590 +#: guix/ui.scm:636 #, scheme-format msgid "file '~a' could not be found in these directories:~{ ~a~}~%" msgstr "o arquivo \"~a\" não pôde ser localizado nesses diretórios:~{ ~a~}~%" -#: guix/ui.scm:607 +#: guix/ui.scm:662 #, scheme-format msgid "~a: ~a~%" msgstr "~a: ~a~%" -#: guix/ui.scm:642 +#: guix/ui.scm:697 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "falha ao ler a expressão ~s: ~s~%" -#: guix/ui.scm:648 +#: guix/ui.scm:703 #, scheme-format msgid "failed to evaluate expression '~a':~%" msgstr "falha ao avaliar a expressão \"~a\":~%" -#: guix/ui.scm:651 +#: guix/ui.scm:706 #, scheme-format msgid "syntax error: ~a~%" msgstr "erro de sintaxe: ~a~%" -#: guix/ui.scm:669 +#: guix/ui.scm:724 #, scheme-format msgid "expression ~s does not evaluate to a package~%" msgstr "a expressão ~s não corresponde a um pacote~%" -#: guix/ui.scm:688 +#: guix/ui.scm:743 msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%" msgstr "pelo menos ~,1h MB necessário, mas apenas ~,1h MB disponível em ~a~%" -#: guix/ui.scm:756 +#: guix/ui.scm:811 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" @@ -3056,18 +3251,18 @@ msgstr[1] "~:[As seguintes derivações seriam compiladas:~%~{ ~a~%~}~;~]" #. TRANSLATORS: "MB" is for "megabyte"; it should be #. translated to the corresponding abbreviation. -#: guix/ui.scm:764 +#: guix/ui.scm:819 msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]" msgstr "~:[~,1h MB seria baixado:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:769 +#: guix/ui.scm:824 #, scheme-format msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" msgstr[0] "~:[O seguinte arquivo seria baixado:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Os seguintes arquivos seriam baixados:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:776 +#: guix/ui.scm:831 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" @@ -3076,78 +3271,78 @@ msgstr[1] "~:[As seguintes derivações serão compiladas:~%~{ ~a~%~}~;~]" #. TRANSLATORS: "MB" is for "megabyte"; it should be #. translated to the corresponding abbreviation. -#: guix/ui.scm:784 +#: guix/ui.scm:839 msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" msgstr "~:[~,1h MB será baixado:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:789 +#: guix/ui.scm:844 #, scheme-format msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" msgstr[0] "~:[O seguinte arquivo será baixado:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Os seguintes arquivos serão baixados:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:849 +#: guix/ui.scm:904 #, scheme-format msgid "The following package would be removed:~%~{~a~%~}~%" msgid_plural "The following packages would be removed:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote seria removido:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes seriam removidos:~%~{~a~%~}~%" -#: guix/ui.scm:854 +#: guix/ui.scm:909 #, scheme-format msgid "The following package will be removed:~%~{~a~%~}~%" msgid_plural "The following packages will be removed:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote será removido:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes serão removidos:~%~{~a~%~}~%" -#: guix/ui.scm:867 +#: guix/ui.scm:922 #, scheme-format msgid "The following package would be downgraded:~%~{~a~%~}~%" msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote sofreria um downgrade:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes sofreriam um downgrade:~%~{~a~%~}~%" -#: guix/ui.scm:872 +#: guix/ui.scm:927 #, scheme-format msgid "The following package will be downgraded:~%~{~a~%~}~%" msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote sofrerá um downgrade:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes sofrerão um downgrade:~%~{~a~%~}~%" -#: guix/ui.scm:885 +#: guix/ui.scm:940 #, scheme-format msgid "The following package would be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote seria atualizado:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes seriam atualizados:~%~{~a~%~}~%" -#: guix/ui.scm:890 +#: guix/ui.scm:945 #, scheme-format msgid "The following package will be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote será atualizado:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes serão atualizados:~%~{~a~%~}~%" -#: guix/ui.scm:901 +#: guix/ui.scm:956 #, scheme-format msgid "The following package would be installed:~%~{~a~%~}~%" msgid_plural "The following packages would be installed:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote seria instalado:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes seriam instalados:~%~{~a~%~}~%" -#: guix/ui.scm:906 +#: guix/ui.scm:961 #, scheme-format msgid "The following package will be installed:~%~{~a~%~}~%" msgid_plural "The following packages will be installed:~%~{~a~%~}~%" msgstr[0] "O seguinte pacote será instalado:~%~{~a~%~}~%" msgstr[1] "Os seguintes pacotes serão instalados:~%~{~a~%~}~%" -#: guix/ui.scm:923 +#: guix/ui.scm:978 msgid "<unknown location>" msgstr "<local desconhecido>" -#: guix/ui.scm:1285 +#: guix/ui.scm:1340 #, scheme-format msgid "Generation ~a\t~a" msgstr "Geração ~a\t~a" @@ -3155,28 +3350,28 @@ msgstr "Geração ~a\t~a" #. TRANSLATORS: The word "current" here is an adjective for #. "Generation", as in "current generation". Use the appropriate #. gender where applicable. -#: guix/ui.scm:1295 +#: guix/ui.scm:1350 #, scheme-format msgid "~a\t(current)~%" msgstr "~a\t(atual)~%" # geração, criação? -#: guix/ui.scm:1338 +#: guix/ui.scm:1393 #, scheme-format msgid "switched from generation ~a to ~a~%" msgstr "trocado da geração ~a para ~a~%" -#: guix/ui.scm:1354 +#: guix/ui.scm:1409 #, scheme-format msgid "deleting ~a~%" msgstr "excluindo ~a~%" -#: guix/ui.scm:1385 +#: guix/ui.scm:1440 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "Tente \"guix --help\" para mais informações.~%" -#: guix/ui.scm:1413 +#: guix/ui.scm:1468 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -3184,31 +3379,31 @@ msgstr "" "Uso: guix COMANDO ARGUMENTOS...\n" "Executa COMANDO com ARGUMENTOS.\n" -#: guix/ui.scm:1416 +#: guix/ui.scm:1471 msgid "COMMAND must be one of the sub-commands listed below:\n" msgstr "COMANDO deve ser um dos subcomandos listados abaixo:\n" -#: guix/ui.scm:1436 +#: guix/ui.scm:1491 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: comando não encontrado~%" -#: guix/ui.scm:1466 +#: guix/ui.scm:1521 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: faltando um nome de comando~%" -#: guix/ui.scm:1474 +#: guix/ui.scm:1529 #, scheme-format msgid "guix: unrecognized option '~a'~%" msgstr "guix: opção \"~a\" desconhecida~%" -#: guix/http-client.scm:269 +#: guix/http-client.scm:117 #, scheme-format msgid "following redirection to `~a'...~%" msgstr "seguindo redirecionamento para \"~a\"...~%" -#: guix/http-client.scm:281 +#: guix/http-client.scm:129 #, scheme-format msgid "~a: HTTP download failed: ~a (~s)" msgstr "~a: download HTTP falhou: ~a (~s)" @@ -3263,118 +3458,125 @@ msgstr "guix-daemon -- realiza compilações de derivação e acessos a armazena msgid "This program is a daemon meant to run in the background. It serves requests sent over a Unix-domain socket. It accesses the store, and builds derivations on behalf of its clients." msgstr "Esse programa é um daemon feito para executar em segundo plano. Ele atende a requisições enviadas por um soquete. Ele acessa o armazenamento e compila derivações em nome de seus clientes." -#: nix/nix-daemon/guix-daemon.cc:94 +#: nix/nix-daemon/guix-daemon.cc:95 msgid "SYSTEM" msgstr "SISTEMA" -#: nix/nix-daemon/guix-daemon.cc:95 +#: nix/nix-daemon/guix-daemon.cc:96 msgid "assume SYSTEM as the current system type" msgstr "presume SISTEMA como o tipo de sistema atual" -#: nix/nix-daemon/guix-daemon.cc:96 nix/nix-daemon/guix-daemon.cc:99 +#: nix/nix-daemon/guix-daemon.cc:97 nix/nix-daemon/guix-daemon.cc:100 msgid "N" msgstr "N" -#: nix/nix-daemon/guix-daemon.cc:97 +#: nix/nix-daemon/guix-daemon.cc:98 msgid "use N CPU cores to build each derivation; 0 means as many as available" msgstr "usa N núcleos de CPU para compilar cada derivação; 0 significa todos disponíveis" -#: nix/nix-daemon/guix-daemon.cc:100 +#: nix/nix-daemon/guix-daemon.cc:101 msgid "allow at most N build jobs" msgstr "permite no máximo N trabalhos de compilação" -#: nix/nix-daemon/guix-daemon.cc:101 nix/nix-daemon/guix-daemon.cc:103 +#: nix/nix-daemon/guix-daemon.cc:102 nix/nix-daemon/guix-daemon.cc:104 msgid "SECONDS" msgstr "SEGUNDOS" -#: nix/nix-daemon/guix-daemon.cc:102 +#: nix/nix-daemon/guix-daemon.cc:103 msgid "mark builds as failed after SECONDS of activity" msgstr "marca compilações como falha após SEGUNDOS de atividade" -#: nix/nix-daemon/guix-daemon.cc:104 +#: nix/nix-daemon/guix-daemon.cc:105 msgid "mark builds as failed after SECONDS of silence" msgstr "marca compilações como falha após SEGUNDOS de silêncio" -#: nix/nix-daemon/guix-daemon.cc:106 +#: nix/nix-daemon/guix-daemon.cc:107 msgid "disable chroot builds" msgstr "desabilita compilações em chroot" -#: nix/nix-daemon/guix-daemon.cc:107 +#: nix/nix-daemon/guix-daemon.cc:108 msgid "DIR" msgstr "DIR" -#: nix/nix-daemon/guix-daemon.cc:108 +#: nix/nix-daemon/guix-daemon.cc:109 msgid "add DIR to the build chroot" msgstr "adiciona DIR ao chroot de compilação" -#: nix/nix-daemon/guix-daemon.cc:109 +#: nix/nix-daemon/guix-daemon.cc:110 msgid "GROUP" msgstr "GRUPO" -#: nix/nix-daemon/guix-daemon.cc:110 +#: nix/nix-daemon/guix-daemon.cc:111 msgid "perform builds as a user of GROUP" msgstr "realiza compilações como um usuário de GRUPO" -#: nix/nix-daemon/guix-daemon.cc:112 +#: nix/nix-daemon/guix-daemon.cc:113 msgid "do not use substitutes" msgstr "não usa substitutos" -#: nix/nix-daemon/guix-daemon.cc:113 +#: nix/nix-daemon/guix-daemon.cc:114 msgid "URLS" msgstr "URLS" -#: nix/nix-daemon/guix-daemon.cc:114 +#: nix/nix-daemon/guix-daemon.cc:115 msgid "use URLS as the default list of substitute providers" msgstr "usa URLS como lista padrão de fornecedores de substituto" -#: nix/nix-daemon/guix-daemon.cc:116 +#: nix/nix-daemon/guix-daemon.cc:117 msgid "do not use the 'build hook'" msgstr "não usa o \"hook de compilação\"" -#: nix/nix-daemon/guix-daemon.cc:118 +#: nix/nix-daemon/guix-daemon.cc:119 msgid "cache build failures" msgstr "armazena em cache as falhas de compilação" -#: nix/nix-daemon/guix-daemon.cc:120 +#: nix/nix-daemon/guix-daemon.cc:121 msgid "build each derivation N times in a row" msgstr "compila cada derivação N vezes de uma vez" -#: nix/nix-daemon/guix-daemon.cc:122 +#: nix/nix-daemon/guix-daemon.cc:123 msgid "do not keep build logs" msgstr "não mantém logs de compilação" -#: nix/nix-daemon/guix-daemon.cc:124 +#: nix/nix-daemon/guix-daemon.cc:126 msgid "disable compression of the build logs" msgstr "desabilita compressão de logs de compilação" -#: nix/nix-daemon/guix-daemon.cc:129 +#: nix/nix-daemon/guix-daemon.cc:128 +msgid "use the specified compression type for build logs" +msgstr "usa o tipo de compressão especificado para logs de compilação" + +#: nix/nix-daemon/guix-daemon.cc:133 msgid "disable automatic file \"deduplication\" in the store" msgstr "desabilita \"deduplicação\" automática de arquivo no armazenamento" -#: nix/nix-daemon/guix-daemon.cc:139 +#: nix/nix-daemon/guix-daemon.cc:143 msgid "impersonate Linux 2.6" msgstr "personifica Linux 2.6" -#: nix/nix-daemon/guix-daemon.cc:143 +#: nix/nix-daemon/guix-daemon.cc:147 msgid "tell whether the GC must keep outputs of live derivations" msgstr "diz se o GC deve manter as saídas das derivações vivas" -#: nix/nix-daemon/guix-daemon.cc:146 +#: nix/nix-daemon/guix-daemon.cc:150 msgid "tell whether the GC must keep derivations corresponding to live outputs" msgstr "diz se o GC deve manter as derivações correspondentes às saídas vivas" -#: nix/nix-daemon/guix-daemon.cc:149 +#: nix/nix-daemon/guix-daemon.cc:153 msgid "SOCKET" msgstr "SOQUETE" -#: nix/nix-daemon/guix-daemon.cc:150 +#: nix/nix-daemon/guix-daemon.cc:154 msgid "listen for connections on SOCKET" msgstr "ouve conexões no SOQUETE" -#: nix/nix-daemon/guix-daemon.cc:152 +#: nix/nix-daemon/guix-daemon.cc:156 msgid "produce debugging output" msgstr "produz saída de depuração" +#~ msgid "Try adding @code{(use-modules ~a)}." +#~ msgstr "Tente adicionar @code{(use-modules ~a)}." + #~ msgid "deprecated NAME-VERSION syntax; use NAME@VERSION instead~%" #~ msgstr "sintaxe NOME-VERSÃO obsoleta; em vez disso, use NOME@VERSÃO~%" @@ -3387,9 +3589,6 @@ msgstr "produz saída de depuração" #~ msgid "tarball did not produce a single source directory" #~ msgstr "tarball não produziu um diretório fonte" -#~ msgid "unpacking '~a'...~%" -#~ msgstr "desempacotando \"~a\"...~%" - #~ msgid "failed to unpack source code" #~ msgstr "falha ao desempacotar o código fonte" diff --git a/tests/guix-build.sh b/tests/guix-build.sh index b84723fa43..92e7299321 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> # # This file is part of GNU Guix. # @@ -138,6 +138,25 @@ test `guix build -d --sources=transitive foo \ | grep -e 'foo\.tar\.gz' -e 'bar\.tar\.gz' -e 'bar\.dat' \ | wc -l` -eq 3 + +# Unbound variables. +cat > "$module_dir/foo.scm"<<EOF +(define-module (foo) + #:use-module (guix tests) + #:use-module (guix build-system trivial)) + +(define-public foo + (dummy-package "package-with-something-wrong" + (build-system trivial-build-system) + (inputs (quasiquote (("sed" ,sed)))))) ;unbound variable +EOF + +if guix build package-with-something-wrong -n; then false; else true; fi +guix build package-with-something-wrong -n 2> "$module_dir/err" || true +grep "unbound" "$module_dir/err" # actual error +grep "forget.*(gnu packages base)" "$module_dir/err" # hint +rm -f "$module_dir"/* + # Should all return valid log files. drv="`guix build -d -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`" out="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`" |