diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2018-03-14 17:37:20 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2018-03-14 17:37:20 +0100 |
commit | 8c72ed923d77ee55989965bb02628043799b9548 (patch) | |
tree | 802e6eb910719a98fa09bf7c2bd884097f649adc | |
parent | 189be331acfda1c242a9c85fca8d2a0356742f48 (diff) | |
parent | aac6cbbfede0bbfafdbbeeb460f00a244333895d (diff) | |
download | gnu-guix-8c72ed923d77ee55989965bb02628043799b9548.tar gnu-guix-8c72ed923d77ee55989965bb02628043799b9548.tar.gz |
Merge branch 'master' into core-updates
227 files changed, 32548 insertions, 5086 deletions
diff --git a/Makefile.am b/Makefile.am index e2c940ca8d..6556799e6b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> # Copyright © 2013 Andreas Enge <andreas@enge.fr> # Copyright © 2015, 2017 Alex Kost <alezost@gmail.com> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> @@ -83,6 +83,7 @@ MODULES = \ guix/gnu-maintenance.scm \ guix/upstream.scm \ guix/licenses.scm \ + guix/glob.scm \ guix/git.scm \ guix/graph.scm \ guix/cache.scm \ @@ -314,6 +315,7 @@ SCM_TESTS = \ tests/substitute.scm \ tests/builders.scm \ tests/derivations.scm \ + tests/glob.scm \ tests/grafts.scm \ tests/ui.scm \ tests/records.scm \ @@ -20,7 +20,7 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager. GNU Guix currently depends on the following packages: - - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later + - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later - [[https://gnupg.org/][GNU libgcrypt]] - [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled. diff --git a/config-daemon.ac b/config-daemon.ac index 80d84cbdbc..6cf65bef1d 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -118,30 +118,29 @@ if test "x$guix_build_daemon" = "xyes"; then dnl Check for <linux/fs.h> (for immutable file support). AC_CHECK_HEADERS([linux/fs.h]) - dnl Determine the appropriate default list of substitute URLs. - GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)]) - if test "x$have_gnutls" = "xyes"; then - guix_substitute_urls="https://mirror.hydra.gnu.org" - else - AC_MSG_WARN([GnuTLS is missing, substitutes will be downloaded in the clear]) - guix_substitute_urls="http://mirror.hydra.gnu.org" - fi + dnl Determine the appropriate default list of substitute URLs (GnuTLS + dnl is required so we can default to 'https'.) + case "x$host_cpu" in + xaarch64) + # Currently only berlin.guixsd.org provides aarch64 binaries. + guix_substitute_urls="https://berlin.guixsd.org" + ;; + *) + guix_substitute_urls="https://mirror.hydra.gnu.org" + ;; + esac + AC_MSG_CHECKING([for default substitute URLs]) AC_MSG_RESULT([$guix_substitute_urls]) AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$guix_substitute_urls"], [Default list of substitute URLs used by 'guix-daemon'.]) - dnl Check whether the 'offload' build hook can be built (uses - dnl 'restore-file-set', which requires unbuffered custom binary input - dnl ports from Guile >= 2.0.10.) - GUIX_CHECK_UNBUFFERED_CBIP - dnl Check for Guile-SSH, which is required by 'guix offload'. GUIX_CHECK_GUILE_SSH - case "x$ac_cv_guix_cbips_support_setvbuf$guix_cv_have_recent_guile_ssh" in - xyesyes) + case "x$guix_cv_have_recent_guile_ssh" in + xyes) guix_build_daemon_offload="yes" AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1], [Define if the daemon's 'offload' build hook is being built (requires Guile-SSH).]) diff --git a/configure.ac b/configure.ac index 398846f64b..5872a84823 100644 --- a/configure.ac +++ b/configure.ac @@ -98,7 +98,7 @@ if test "x$GUILD" = "x"; then fi if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then - PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.9]) + PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.13]) fi dnl Installation directories for .scm and .go files. diff --git a/doc/guix.texi b/doc/guix.texi index 691164502b..d3a7908f9c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017 Chris Marusich@* -Copyright @copyright{} 2016, 2017 Efraim Flashner@* +Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@* @@ -45,7 +45,9 @@ Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright @copyright{} 2017 nee@* -Copyright @copyright{} 2018 Rutger Helling +Copyright @copyright{} 2018 Rutger Helling@* +Copyright @copyright{} 2018 Oleg Pykhalov@* +Copyright @copyright{} 2018 Mike Gerwitz Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -441,7 +443,8 @@ and rerun the @code{gpg --verify} command. @c end authentication part @item -As @code{root}, run: +Now, you need to become the @code{root} user. Depending on your distribution, +you may have to run @code{su -} or @code{sudo -i}. As @code{root}, run: @example # cd /tmp @@ -601,7 +604,7 @@ in the Guix source tree for additional details. GNU Guix depends on the following packages: @itemize -@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.9 or +@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or later, including 2.2.x; @item @url{http://gnupg.org/, GNU libgcrypt}; @item @@ -1570,8 +1573,10 @@ full name of a font using XLFD (X Logical Font Description), like this: To be able to use such full names for the TrueType fonts installed in your Guix profile, you need to extend the font path of the X server: +@c Note: 'xset' does not accept symlinks so the trick below arranges to +@c get at the real directory. See <https://bugs.gnu.org/30655>. @example -xset +fp ~/.guix-profile/share/fonts/truetype +xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir)) @end example @cindex @code{xlsfonts} @@ -7284,10 +7289,11 @@ Attempt to build for @var{system}---e.g., @code{i686-linux}. @cindex container Run @var{command} within an isolated container. The current working directory outside the container is mapped inside the container. -Additionally, a dummy home directory is created that matches the current -user's home directory, and @file{/etc/passwd} is configured accordingly. -The spawned process runs as the current user outside the container, but -has root privileges in the context of the container. +Additionally, unless overridden with @code{--user}, a dummy home +directory is created that matches the current user's home directory, and +@file{/etc/passwd} is configured accordingly. The spawned process runs +as the current user outside the container, but has root privileges in +the context of the container. @item --network @itemx -N @@ -7295,6 +7301,47 @@ For containers, share the network namespace with the host system. Containers created without this flag only have access to the loopback device. +@item --link-profile +@itemx -P +For containers, link the environment profile to +@file{~/.guix-profile} within the container. This is equivalent to +running the command @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} +within the container. Linking will fail and abort the environment if +the directory already exists, which will certainly be the case if +@command{guix environment} was invoked in the user's home directory. + +Certain packages are configured to look in +@code{~/.guix-profile} for configuration files and data;@footnote{For +example, the @code{fontconfig} package inspects +@file{~/.guix-profile/share/fonts} for additional fonts.} +@code{--link-profile} allows these programs to behave as expected within +the environment. + +@item --user=@var{user} +@itemx -u @var{user} +For containers, use the username @var{user} in place of the current +user. The generated @file{/etc/passwd} entry within the container will +contain the name @var{user}; the home directory will be +@file{/home/USER}; and no user GECOS data will be copied. @var{user} +need not exist on the system. + +Additionally, any shared or exposed path (see @code{--share} and +@code{--expose} respectively) whose target is within the current user's +home directory will be remapped relative to @file{/home/USER}; this +includes the automatic mapping of the current working directory. + +@example +# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target +cd $HOME/wd +guix environment --container --user=foo \ + --expose=$HOME/test \ + --expose=/tmp/target=$HOME/target +@end example + +While this will limit the leaking of user identity through home paths +and each of the user fields, this is only one useful component of a +broader privacy/anonymity solution---not one in and of itself. + @item --expose=@var{source}[=@var{target}] For containers, expose the file system @var{source} from the host system as the read-only file system @var{target} within the container. If @@ -8845,11 +8892,16 @@ the command-line of the kernel---e.g., @code{("console=ttyS0")}. @item @code{bootloader} The system bootloader configuration object. @xref{Bootloader Configuration}. -@item @code{initrd} (default: @code{base-initrd}) +@item @code{initrd-modules} (default: @code{%base-initrd-modules}) @cindex initrd @cindex initial RAM disk -A two-argument monadic procedure that returns an initial RAM disk for -the Linux kernel. @xref{Initial RAM Disk}. +The list of Linux kernel modules that need to be available in the +initial RAM disk. @xref{Initial RAM Disk}. + +@item @code{initrd} (default: @code{base-initrd}) +A monadic procedure that returns an initial RAM disk for the Linux +kernel. This field is provided to support low-level customization and +should rarely be needed for casual use. @xref{Initial RAM Disk}. @item @code{firmware} (default: @var{%base-firmware}) @cindex firmware @@ -10718,6 +10770,59 @@ make an initial adjustment of more than 1,000 seconds. List of host names used as the default NTP servers. @end defvr +@cindex OpenNTPD +@deffn {Scheme Procedure} openntpd-service-type +Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented +by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will keep the system +clock synchronized with that of the given servers. + +@example +(service + openntpd-service-type + (openntpd-configuration + (listen-on '("127.0.0.1" "::1")) + (sensor '("udcf0 correction 70000")) + (constraint-from '("www.gnu.org")) + (constraints-from '("https://www.google.com/")) + (allow-large-adjustment? #t))) + +@end example +@end deffn + +@deftp {Data Type} openntpd-configuration +@table @asis +@item @code{openntpd} (default: @code{(file-append openntpd "/sbin/ntpd")}) +The openntpd executable to use. +@item @code{listen-on} (default: @code{'("127.0.0.1" "::1")}) +A list of local IP addresses or hostnames the ntpd daemon should listen on. +@item @code{query-from} (default: @code{'()}) +A list of local IP address the ntpd daemon should use for outgoing queries. +@item @code{sensor} (default: @code{'()}) +Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} +will listen to each sensor that acutally exists and ignore non-existant ones. +See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more +information. +@item @code{server} (default: @var{%ntp-servers}) +Specify a list of IP addresses or hostnames of NTP servers to synchronize to. +@item @code{servers} (default: @code{'()}) +Specify a list of IP addresses or hostnames of NTP pools to synchronize to. +@item @code{constraint-from} (default: @code{'()}) +@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. +This time information is not used for precision but acts as an authenticated +constraint, thereby reducing the impact of unauthenticated NTP +man-in-the-middle attacks. +Specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide +a constraint. +@item @code{constraints-from} (default: @code{'()}) +As with constraint from, specify a list of URLs, IP addresses or hostnames of +HTTPS servers to provide a constraint. Should the hostname resolve to multiple +IP addresses, @code{ntpd} will calculate a median constraint from all of them. +@item @code{allow-large-adjustment?} (default: @code{#f}) +Determines if @code{ntpd} is allowed to make an initial adjustment of more +than 180 seconds. +@end table +@end deftp + @cindex inetd @deffn {Scheme variable} inetd-service-type This service runs the @command{inetd} (@pxref{inetd invocation,,, @@ -14209,6 +14314,9 @@ There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port over from some other system; see the end for more details. +The @code{file-object} type designates either a file-like object +(@pxref{G-Expressions, file-like objects}) or a file name. + @c The following documentation was initially generated by @c (generate-documentation) in (gnu services messaging). Manually maintained @c documentation is better, so we shouldn't hesitate to edit below as @@ -14229,7 +14337,7 @@ Location of the Prosody data storage directory. See Defaults to @samp{"/var/lib/prosody"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-name-list plugin-paths +@deftypevr {@code{prosody-configuration} parameter} file-object-list plugin-paths Additional plugin directories. They are searched in all the specified paths in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to @samp{()}. @@ -14270,7 +14378,7 @@ should you want to disable them then add them to this list. Defaults to @samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-name groups-file +@deftypevr {@code{prosody-configuration} parameter} file-object groups-file Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See @url{https://prosody.im/doc/modules/mod_groups}. @@ -14303,13 +14411,13 @@ Path to your private key file. Path to your certificate file. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} file-name capath +@deftypevr {@code{ssl-configuration} parameter} file-object capath Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers. Defaults to @samp{"/etc/ssl/certs"}. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-file-name cafile +@deftypevr {@code{ssl-configuration} parameter} maybe-file-object cafile Path to a file containing root certificates that you wish Prosody to trust. Similar to @code{capath} but with all certificates concatenated together. @end deftypevr @@ -14569,6 +14677,8 @@ string, you could instantiate a prosody service like this: (prosody.cfg.lua ""))) @end example +@c end of Prosody auto-generated documentation + @subsubheading BitlBee Service @cindex IRC (Internet Relay Chat) @@ -18542,54 +18652,929 @@ By default, Cgit can be accessed on port 80 (@code{http://localhost:80}). (service cgit-service-type) @end example -@deftp {Data Type} cgit-configuration -Data type representing the configuration of Cgit. -This type has the following parameters: +@c %start of fragment -@table @asis -@item @code{config-file} (default: @code{(cgit-configuration-file)}) -The configuration file to use for Cgit. This can be set to a -@dfn{cgit-configuration-file} record value, or any gexp -(@pxref{G-Expressions}). +Available @code{cgit-configuration} fields are: -For example, to instead use a local file, the @code{local-file} function -can be used: +@deftypevr {@code{cgit-configuration} parameter} package package +The CGIT package. -@example -(service cgit-service-type - (cgit-configuration - (config-file (local-file "./my-cgitrc.conf")))) -@end example +@end deftypevr -@item @code{package} (default: @code{cgit}) -The Cgit package to use. +@deftypevr {@code{cgit-configuration} parameter} nginx-server-configuration-list nginx +NGINX configuration. -@end table -@end deftp +@end deftypevr -@deftp {Data Type} cgit-configuration-file -Data type representing the configuration options for Cgit. -This type has the following parameters: +@deftypevr {@code{cgit-configuration} parameter} string about-filter +Specifies a command which will be invoked to format the content of about +pages (both top-level and for each repository). -@table @asis -@item @code{css} (default: @code{"/share/cgit/cgit.css"}) -URL which specifies the css document to include in all Cgit pages. +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string agefile +Specifies a path, relative to each repository path, which can be used to +specify the date and time of the youngest commit in the repository. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string auth-filter +Specifies a command that will be invoked for authenticating repository +access. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string branch-sort +Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set @samp{name} enables ordering by branch name. + +Defaults to @samp{"name"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string cache-root +Path used to store the cgit cache entries. + +Defaults to @samp{"/var/cache/cgit"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-static-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed with a fixed SHA1. + +Defaults to @samp{-1}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-dynamic-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed without a fixed SHA1. + +Defaults to @samp{5}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-repo-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository summary page. + +Defaults to @samp{5}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-root-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository index page. -@item @code{logo} (default: @code{"/share/cgit/cgit.png"}) +Defaults to @samp{5}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-scanrc-ttl +Number which specifies the time-to-live, in minutes, for the result of +scanning a path for Git repositories. + +Defaults to @samp{15}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-about-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of the repository about page. + +Defaults to @samp{15}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-snapshot-ttl +Number which specifies the time-to-live, in minutes, for the cached +version of snapshots. + +Defaults to @samp{5}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer cache-size +The maximum number of entries in the cgit cache. When set to @samp{0}, +caching is disabled. + +Defaults to @samp{0}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean case-sensitive-sort? +Sort items in the repo list case sensitively. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} list clone-prefix +List of common prefixes which, when combined with a repository URL, +generates valid clone URLs for the repository. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} list clone-url +List of @code{clone-url} templates. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string commit-filter +Command which will be invoked to format commit messages. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string commit-sort +Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological +ordering. + +Defaults to @samp{"git log"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string css +URL which specifies the css document to include in all cgit pages. + +Defaults to @samp{"/share/cgit/cgit.css"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string email-filter +Specifies a command which will be invoked to format names and email +address of committers, authors, and taggers, as represented in various +places throughout the cgit interface. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean embedded? +Flag which, when set to @samp{#t}, will make cgit generate a HTML +fragment suitable for embedding in other HTML pages. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-commit-graph? +Flag which, when set to @samp{#t}, will make cgit print an ASCII-art +commit history graph to the left of the commit messages in the +repository log page. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-filter-overrides? +Flag which, when set to @samp{#t}, allows all filter settings to be +overridden in repository-specific cgitrc files. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-follow-links? +Flag which, when set to @samp{#t}, allows users to follow a file in the +log view. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-http-clone? +If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git +clones. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-links? +Flag which, when set to @samp{#t}, will make cgit generate extra links +"summary", "commit", "tree" for each repo in the repository index. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-owner? +Flag which, when set to @samp{#t}, will make cgit display the owner of +each repo in the repository index. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-filecount? +Flag which, when set to @samp{#t}, will make cgit print the number of +modified files for each commit on the repository log page. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-linecount? +Flag which, when set to @samp{#t}, will make cgit print the number of +added and removed lines for each commit on the repository log page. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-remote-branches? +Flag which, when set to @code{#t}, will make cgit display remote +branches in the summary and refs views. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-subject-links? +Flag which, when set to @code{1}, will make cgit use the subject of the +parent commit as link text when generating links to parent commits in +commit view. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-html-serving? +Flag which, when set to @samp{#t}, will make cgit use the subject of the +parent commit as link text when generating links to parent commits in +commit view. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-tree-linenumbers? +Flag which, when set to @samp{#t}, will make cgit generate linenumber +links for plaintext blobs printed in the tree view. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean enable-git-config? +Flag which, when set to @samp{#f}, will allow cgit to use Git config to +set any repo specific settings. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string favicon +URL used as link to a shortcut icon for cgit. + +Defaults to @samp{"/favicon.ico"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string footer +The content of the file specified with this option will be included +verbatim at the bottom of all pages (i.e. it replaces the standard +"generated by..." message). + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string head-include +The content of the file specified with this option will be included +verbatim in the HTML HEAD section on all pages. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string header +The content of the file specified with this option will be included +verbatim at the top of all pages. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string include +Name of a configfile to include before the rest of the current config- +file is parsed. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string index-header +The content of the file specified with this option will be included +verbatim above the repository index. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string index-info +The content of the file specified with this option will be included +verbatim below the heading on the repository index page. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean local-time? +Flag which, if set to @samp{#t}, makes cgit print commit and tag times +in the servers timezone. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string logo URL which specifies the source of an image which will be used as a logo -on all Cgit pages. +on all cgit pages. -@item @code{virtual-root} (default: @code{"/"}) -URL which, if specified, will be used as root for all Cgit links. +Defaults to @samp{"/share/cgit/cgit.png"}. -@item @code{repository-directory} (default: @code{"/srv/git"}) -Name of the directory to scan for repositories. +@end deftypevr -@item @code{robots} (default: @code{(list "noindex" "nofollow")}) -Text used as content for the ``robots'' meta-tag. +@deftypevr {@code{cgit-configuration} parameter} string logo-link +URL loaded when clicking on the cgit logo image. -@end table -@end deftp +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string owner-filter +Command which will be invoked to format the Owner column of the main +page. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-atom-items +Number of items to display in atom feeds view. + +Defaults to @samp{10}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-commit-count +Number of entries to list per page in "log" view. + +Defaults to @samp{50}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-message-length +Number of commit message characters to display in "log" view. + +Defaults to @samp{80}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-repo-count +Specifies the number of entries to list per page on the repository index +page. + +Defaults to @samp{50}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-repodesc-length +Specifies the maximum number of repo description characters to display +on the repository index page. + +Defaults to @samp{80}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer max-blob-size +Specifies the maximum size of a blob to display HTML for in KBytes. + +Defaults to @samp{0}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string max-stats +Maximum statistics period. Valid values are @samp{week},@samp{month}, +@samp{quarter} and @samp{year}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} mimetype-alist mimetype +Mimetype for the specified filename extension. + +Defaults to @samp{((gif "image/gif") (html "text/html") (jpg +"image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png +"image/png") (svg "image/svg+xml"))}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string mimetype-file +Specifies the file to use for automatic mimetype lookup. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string module-link +Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean nocache? +If set to the value @samp{#t} caching will be disabled. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean noplainemail? +If set to @samp{#t} showing full author email addresses will be +disabled. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean noheader? +Flag which, when set to @samp{#t}, will make cgit omit the standard +header on all pages. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string readme +Text which will be used as default value for @code{cgit-repo-readme}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean remove-suffix? +If set to @code{#t} and @code{repository-directory} is enabled, if any +repositories are found with a suffix of @code{.git}, this suffix will be +removed for the URL and name. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer renamelimit +Maximum number of files to consider when detecting renames. + +Defaults to @samp{-1}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string repository-sort +The way in which repositories in each section are sorted. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} robots-list robots +Text used as content for the @code{robots} meta-tag. + +Defaults to @samp{("noindex" "nofollow")}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string root-desc +Text printed below the heading on the repository index page. + +Defaults to @samp{"a fast webinterface for the git dscm"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string root-readme +The content of the file specified with this option will be included +verbatim below thef "about" link on the repository index page. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string root-title +Text printed as heading on the repository index page. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean scan-hidden-path +If set to @samp{#t} and repository-directory is enabled, +repository-directory will recurse into directories whose name starts +with a period. Otherwise, repository-directory will stay away from such +directories, considered as "hidden". Note that this does not apply to +the ".git" directory in non-bare repos. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} list snapshots +Text which specifies the default set of snapshot formats that cgit +generates links for. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} repository-directory repository-directory +Name of the directory to scan for repositories (represents +@code{scan-path}). + +Defaults to @samp{"/srv/git"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string section +The name of the current repository section - all repositories defined +after this option will inherit the current section name. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string section-sort +Flag which, when set to @samp{1}, will sort the sections on the +repository listing by name. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer section-from-path +A number which, if defined prior to repository-directory, specifies how +many path elements from each repo path to use as a default section name. + +Defaults to @samp{0}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} boolean side-by-side-diffs? +If set to @samp{#t} shows side-by-side diffs instead of unidiffs per +default. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string source-filter +Specifies a command which will be invoked to format plaintext blobs in +the tree view. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer summary-branches +Specifies the number of branches to display in the repository "summary" +view. + +Defaults to @samp{10}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer summary-log +Specifies the number of log entries to display in the repository +"summary" view. + +Defaults to @samp{10}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} integer summary-tags +Specifies the number of tags to display in the repository "summary" +view. + +Defaults to @samp{10}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string strict-export +Filename which, if specified, needs to be present within the repository +for cgit to allow access to that repository. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} string virtual-root +URL which, if specified, will be used as root for all cgit links. + +Defaults to @samp{"/"}. + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories +A list of @dfn{cgit-repo} records to use with config. + +Defaults to @samp{()}. + +Available @code{repository-cgit-configuration} fields are: + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-list snapshots +A mask of snapshot formats for this repo that cgit generates links for, +restricted by the global @code{snapshots} setting. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string source-filter +Override the default @code{source-filter}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string url +The relative URL used to access the repository. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string about-filter +Override the default @code{about-filter}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string branch-sort +Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set to @samp{name} enables ordering by branch name. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-list clone-url +A list of URLs which can be used to clone repo. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-filter +Override the default @code{commit-filter}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-sort +Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological +ordering. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string defbranch +The name of the default branch for this repository. If no such branch +exists in the repository, the first branch name (when sorted) is used as +default instead. By default branch pointed to by HEAD, or "master" if +there is no suitable HEAD. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string desc +The value to show as repository description. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string homepage +The value to show as repository homepage. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string email-filter +Override the default @code{email-filter}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-commit-graph? +A flag which can be used to disable the global setting +@code{enable-commit-graph?}. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-log-filecount? +A flag which can be used to disable the global setting +@code{enable-log-filecount?}. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-log-linecount? +A flag which can be used to disable the global setting +@code{enable-log-linecount?}. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-remote-branches? +Flag which, when set to @code{#t}, will make cgit display remote +branches in the summary and refs views. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-subject-links? +A flag which can be used to override the global setting +@code{enable-subject-links?}. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-html-serving? +A flag which can be used to override the global setting +@code{enable-html-serving?}. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean hide? +Flag which, when set to @code{#t}, hides the repository from the +repository index. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean ignore? +Flag which, when set to @samp{#t}, ignores the repository. + +Defaults to @samp{#f}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo +URL which specifies the source of an image which will be used as a logo +on this repo’s pages. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo-link +URL loaded when clicking on the cgit logo image. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner-filter +Override the default @code{owner-filter}. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string module-link +Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing. The arguments for the +formatstring are the path and SHA1 of the submodule commit. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} module-link-path module-link-path +Text which will be used as the formatstring for a hyperlink when a +submodule with the specified subdirectory path is printed in a directory +listing. + +Defaults to @samp{()}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string max-stats +Override the default maximum statistics period. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string name +The value to show as repository name. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner +A value used to identify the owner of the repository. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string path +An absolute path to the repository directory. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string readme +A path (relative to repo) which specifies a file to include verbatim as +the "About" page for this repo. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-string section +The name of the current repository section - all repositories defined +after this option will inherit the current section name. + +Defaults to @samp{""}. + +@end deftypevr + +@deftypevr {@code{repository-cgit-configuration} parameter} repo-list extra-options +Extra options will be appended to cgitrc file. + +Defaults to @samp{()}. + +@end deftypevr + +@end deftypevr + +@deftypevr {@code{cgit-configuration} parameter} list extra-options +Extra options will be appended to cgitrc file. + +Defaults to @samp{()}. + +@end deftypevr + +@c %end of fragment + +However, it could be that you just want to get a @code{cgitrc} up and +running. In that case, you can pass an @code{opaque-cgit-configuration} +as a record to @code{cgit-service-type}. As its name indicates, an +opaque configuration does not have easy reflective capabilities. + +Available @code{opaque-cgit-configuration} fields are: + +@deftypevr {@code{opaque-cgit-configuration} parameter} package cgit +The cgit package. +@end deftypevr + +@deftypevr {@code{opaque-cgit-configuration} parameter} string string +The contents of the @code{cgitrc}, as a string. +@end deftypevr + +For example, if your @code{cgitrc} is just the empty string, you +could instantiate a cgit service like this: + +@example +(service cgit-service-type + (opaque-cgit-configuration + (cgitrc ""))) +@end example @node Setuid Programs @subsection Setuid Programs @@ -18849,7 +19834,27 @@ root file system as well as an initialization script. The latter is responsible for mounting the real root file system, and for loading any kernel modules that may be needed to achieve that. -The @code{initrd} field of an @code{operating-system} declaration allows +The @code{initrd-modules} field of an @code{operating-system} +declaration allows you to specify Linux-libre kernel modules that must +be available in the initrd. In particular, this is where you would list +modules needed to actually drive the hard disk where your root partition +is---although the default value of @code{initrd-modules} should cover +most use cases. For example, assuming you need the @code{megaraid_sas} +module in addition to the default modules to be able to access your root +file system, you would write: + +@example +(operating-system + ;; @dots{} + (initrd-modules (cons "megaraid_sas" %base-initrd-modules))) +@end example + +@defvr {Scheme Variable} %base-initrd-modules +This is the list of kernel modules included in the initrd by default. +@end defvr + +Furthermore, if you need lower-level customization, the @code{initrd} +field of an @code{operating-system} declaration allows you to specify which initrd you would like to use. The @code{(gnu system linux-initrd)} module provides three ways to build an initrd: the high-level @code{base-initrd} procedure and the low-level @@ -18862,11 +19867,10 @@ system declaration like this: @example (initrd (lambda (file-systems . rest) - ;; Create a standard initrd that has modules "foo.ko" - ;; and "bar.ko", as well as their dependencies, in - ;; addition to the modules available by default. + ;; Create a standard initrd but set up networking + ;; with the parameters QEMU expects by default. (apply base-initrd file-systems - #:extra-modules '("foo" "bar") + #:qemu-networking? #t rest))) @end example @@ -18950,18 +19954,18 @@ to it are lost. @deffn {Monadic Procedure} base-initrd @var{file-systems} @ [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ - [#:virtio? #t] [#:extra-modules '()] -Return a monadic derivation that builds a generic initrd. @var{file-systems} is -a list of file systems to be mounted by the initrd like for @code{raw-initrd}. -@var{mapped-devices}, @var{qemu-networking?} and @var{volatile-root?} -also behaves as in @code{raw-initrd}. + [#:linux-modules '()] +Return a monadic derivation that builds a generic initrd, with kernel +modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be +mounted by the initrd, possibly in addition to the root file system specified +on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device +mappings to realize before @var{file-systems} are mounted. -When @var{virtio?} is true, load additional modules so that the -initrd can be used as a QEMU guest with para-virtualized I/O drivers. +@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}. The initrd is automatically populated with all the kernel modules necessary -for @var{file-systems} and for the given options. However, additional kernel -modules can be listed in @var{extra-modules}. They will be added to the initrd, and +for @var{file-systems} and for the given options. Additional kernel +modules can be listed in @var{linux-modules}. They will be added to the initrd, and loaded at boot time in the order in which they appear. @end deffn diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 5ca7bf8e38..4fe673cca2 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -19,6 +19,7 @@ (define-module (gnu build linux-modules) #:use-module (guix elf) + #:use-module (guix glob) #:use-module (guix build syscalls) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) @@ -26,15 +27,21 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 vlist) #:use-module (ice-9 match) + #:use-module (ice-9 rdelim) #:export (dot-ko ensure-dot-ko + module-aliases module-dependencies recursive-module-dependencies modules-loaded module-loaded? load-linux-module* - current-module-debugging-port)) + current-module-debugging-port + + device-module-aliases + known-module-aliases + matching-modules)) ;;; Commentary: ;;; @@ -89,6 +96,15 @@ contains module names, not actual file names." (('depends . what) (string-tokenize what %not-comma))))) +(define (module-aliases file) + "Return the list of aliases of module FILE." + (let ((info (modinfo-section-contents file))) + (filter-map (match-lambda + (('alias . value) + value) + (_ #f)) + (modinfo-section-contents file)))) + (define dot-ko (cut string-append <> ".ko")) @@ -180,10 +196,6 @@ success, false otherwise. When RECURSIVE? is true, load its dependencies first (à la 'modprobe'.) The actual files containing modules depended on are obtained by calling LOOKUP-MODULE with the module name. Modules whose name appears in BLACK-LIST are not loaded." - (define (slurp module) - ;; TODO: Use 'finit_module' to reduce memory usage. - (call-with-input-file file get-bytevector-all)) - (define (black-listed? module) (let ((result (member module black-list))) (when result @@ -200,17 +212,172 @@ appears in BLACK-LIST are not loaded." (and (not (black-listed? (file-name->module-name file))) (or (not recursive?) (load-dependencies file)) - (begin + (let ((fd #f)) (format (current-module-debugging-port) "loading Linux module from '~a'...~%" file) (catch 'system-error (lambda () - (load-linux-module (slurp file))) + (set! fd (open-fdes file O_RDONLY)) + (load-linux-module/fd fd) + (close-fdes fd) + #t) (lambda args ;; If this module was already loaded and we're in modprobe style, ignore ;; the error. + (when fd (close-fdes fd)) (or (and recursive? (= EEXIST (system-error-errno args))) (apply throw args))))))) + +;;; +;;; Device modules. +;;; + +;; Copied from (guix utils). FIXME: Factorize. +(define (readlink* file) + "Call 'readlink' until the result is not a symlink." + (define %max-symlink-depth 50) + + (let loop ((file file) + (depth 0)) + (define (absolute target) + (if (absolute-file-name? target) + target + (string-append (dirname file) "/" target))) + + (if (>= depth %max-symlink-depth) + file + (call-with-values + (lambda () + (catch 'system-error + (lambda () + (values #t (readlink file))) + (lambda args + (let ((errno (system-error-errno args))) + (if (or (= errno EINVAL)) + (values #f file) + (apply throw args)))))) + (lambda (success? target) + (if success? + (loop (absolute target) (+ depth 1)) + file)))))) + +;; See 'major' and 'minor' in <sys/sysmacros.h>. + +(define (stat->device-major st) + (ash (logand #xfff00 (stat:rdev st)) -8)) + +(define (stat->device-minor st) + (logand #xff (stat:rdev st))) + +(define %not-slash + (char-set-complement (char-set #\/))) + +(define (read-uevent port) + "Read a /sys 'uevent' file from PORT and return an alist where each car is a +key such as 'MAJOR or 'DEVTYPE and each cdr is the corresponding value." + (let loop ((result '())) + (match (read-line port) + ((? eof-object?) + (reverse result)) + (line + (loop (cons (key=value->pair line) result)))))) + +(define (device-module-aliases device) + "Return the list of module aliases required by DEVICE, a /dev file name, as +in this example: + + (device-module-aliases \"/dev/sda\") + => (\"scsi:t-0x00\" \"pci:v00008086d00009D03sv0000103Csd000080FAbc01sc06i01\") + +The modules corresponding to these aliases can then be found using +'matching-modules'." + ;; The approach is adapted from + ;; <https://unix.stackexchange.com/questions/97676/how-to-find-the-driver-module-associated-with-a-device-on-linux>. + (let* ((st (stat device)) + (type (stat:type st)) + (major (stat->device-major st)) + (minor (stat->device-minor st)) + (sys-name (string-append "/sys/dev/" + (case type + ((block-special) "block") + ((char-special) "char") + (else (symbol->string type))) + "/" (number->string major) ":" + (number->string minor))) + (directory (canonicalize-path (readlink* sys-name)))) + (let loop ((components (string-tokenize directory %not-slash)) + (aliases '())) + (match components + (("sys" "devices" _) + (reverse aliases)) + ((head ... _) + (let ((uevent (string-append (string-join components "/" 'prefix) + "/uevent"))) + (if (file-exists? uevent) + (let ((props (call-with-input-file uevent read-uevent))) + (match (assq-ref props 'MODALIAS) + (#f (loop head aliases)) + (alias (loop head (cons alias aliases))))) + (loop head aliases)))))))) + +(define (read-module-aliases port) + "Read from PORT data in the Linux 'modules.alias' file format. Return a +list of alias/module pairs where each alias is a glob pattern as like the +result of: + + (compile-glob-pattern \"scsi:t-0x01*\") + +and each module is a module name like \"snd_hda_intel\"." + (define (comment? str) + (string-prefix? "#" str)) + + (define (tokenize str) + ;; Lines have the form "alias ALIAS MODULE", where ALIAS can contain + ;; whitespace. This is why we don't use 'string-tokenize'. + (let* ((str (string-trim-both str)) + (left (string-index str #\space)) + (right (string-rindex str #\space))) + (list (string-take str left) + (string-trim-both (substring str left right)) + (string-trim-both (string-drop str right))))) + + (let loop ((aliases '())) + (match (read-line port) + ((? eof-object?) + (reverse aliases)) + ((? comment?) + (loop aliases)) + (line + (match (tokenize line) + (("alias" alias module) + (loop (alist-cons (compile-glob-pattern alias) module + aliases))) + (() ;empty line + (loop aliases))))))) + +(define (current-alias-file) + "Return the absolute file name of the default 'modules.alias' file." + (string-append (or (getenv "LINUX_MODULE_DIRECTORY") + "/run/booted-system/kernel/lib/modules") + "/" (utsname:release (uname)) + "/" "modules.alias")) + +(define* (known-module-aliases #:optional (alias-file (current-alias-file))) + "Return the list of alias/module pairs read from ALIAS-FILE. Each alias is +actually a pattern." + (call-with-input-file alias-file read-module-aliases)) + +(define* (matching-modules alias + #:optional (known-aliases (known-module-aliases))) + "Return the list of modules that match ALIAS according to KNOWN-ALIASES. +ALIAS is a string like \"scsi:t-0x00\" as returned by +'device-module-aliases'." + (filter-map (match-lambda + ((pattern . module) + (and (glob-match? pattern alias) + module))) + known-aliases)) + ;;; linux-modules.scm ends here diff --git a/gnu/local.mk b/gnu/local.mk index a29a8110ce..d7eda9f811 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -4,10 +4,10 @@ # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> # Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> -# Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> +# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net> # Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org> # Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> -# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> +# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> # Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> # Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> @@ -50,8 +50,10 @@ GNU_SYSTEM_MODULES = \ %D%/packages/accessibility.scm \ %D%/packages/acct.scm \ %D%/packages/acl.scm \ + %D%/packages/ada.scm \ %D%/packages/admin.scm \ %D%/packages/adns.scm \ + %D%/packages/agda.scm \ %D%/packages/algebra.scm \ %D%/packages/aidc.scm \ %D%/packages/android.scm \ @@ -75,6 +77,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/bash.scm \ %D%/packages/bdw-gc.scm \ %D%/packages/benchmark.scm \ + %D%/packages/bioconductor.scm \ %D%/packages/bioinformatics.scm \ %D%/packages/bittorrent.scm \ %D%/packages/bison.scm \ @@ -118,6 +121,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/datastructures.scm \ %D%/packages/dav.scm \ %D%/packages/dc.scm \ + %D%/packages/debian.scm \ %D%/packages/debug.scm \ %D%/packages/dejagnu.scm \ %D%/packages/dico.scm \ @@ -279,6 +283,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/marst.scm \ %D%/packages/mate.scm \ %D%/packages/maths.scm \ + %D%/packages/maven.scm \ %D%/packages/mc.scm \ %D%/packages/mcrypt.scm \ %D%/packages/medical.scm \ @@ -453,6 +458,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/avahi.scm \ %D%/services/base.scm \ %D%/services/certbot.scm \ + %D%/services/cgit.scm \ %D%/services/configuration.scm \ %D%/services/cuirass.scm \ %D%/services/cups.scm \ @@ -550,6 +556,8 @@ dist_patch_DATA = \ %D%/packages/patches/agg-am_c_prototype.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 \ + %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ @@ -576,7 +584,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ - %D%/packages/patches/ceph-disable-unittest-throttle.patch \ + %D%/packages/patches/ceph-rocksdb-compat.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ %D%/packages/patches/chmlib-inttypes.patch \ @@ -608,7 +616,6 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ - %D%/packages/patches/dblatex-remove-multirow.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ @@ -617,7 +624,6 @@ dist_patch_DATA = \ %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ - %D%/packages/patches/dovecot-CVE-2017-15132.patch \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/eigen-arm-neon-fixes.patch \ @@ -681,6 +687,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-6-source-date-epoch-2.patch \ %D%/packages/patches/gcr-disable-failing-tests.patch \ %D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \ + %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 \ @@ -708,6 +715,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \ %D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \ %D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \ + %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \ %D%/packages/patches/glibc-bootstrap-system.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ %D%/packages/patches/glibc-locales.patch \ @@ -771,10 +779,6 @@ dist_patch_DATA = \ %D%/packages/patches/hwloc-tests-without-sysfs.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ - %D%/packages/patches/icecat-bug-1348660-pt5.patch \ - %D%/packages/patches/icecat-bug-1415133.patch \ - %D%/packages/patches/icecat-bug-1414945.patch \ - %D%/packages/patches/icecat-bug-1424373-pt2.patch \ %D%/packages/patches/icecat-use-system-graphite2.patch \ %D%/packages/patches/icecat-use-system-harfbuzz.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ @@ -782,6 +786,7 @@ dist_patch_DATA = \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ + %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ @@ -877,6 +882,7 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ + %D%/packages/patches/lrzip-CVE-2017-8842.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ %D%/packages/patches/lua51-liblua-so.patch \ @@ -964,7 +970,6 @@ dist_patch_DATA = \ %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \ %D%/packages/patches/perl-deterministic-ordering.patch \ %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ - %D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \ %D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \ %D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \ %D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \ @@ -1023,13 +1028,13 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-networkx2-reproducible-build.patch \ %D%/packages/patches/python-nose-timer-drop-ordereddict.patch \ - %D%/packages/patches/python-parse-too-many-fields.patch \ %D%/packages/patches/python-pillow-fix-failing-tests.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \ %D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ + %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-pygit2-disable-network-tests.patch \ @@ -1134,6 +1139,7 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ + %D%/packages/patches/wavpack-CVE-2018-6767.patch \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ %D%/packages/patches/weechat-python.patch \ @@ -1152,6 +1158,7 @@ dist_patch_DATA = \ %D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \ %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \ + %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \ %D%/packages/patches/xdotool-fix-makefile.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ @@ -1168,7 +1175,9 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xmodmap-asprintf.patch \ %D%/packages/patches/libyaml-CVE-2014-9130.patch \ - %D%/packages/patches/zathura-plugindir-environment-variable.patch + %D%/packages/patches/zathura-plugindir-environment-variable.patch \ + %D%/packages/patches/zsh-CVE-2018-7548.patch \ + %D%/packages/patches/zsh-CVE-2018-7549.patch MISC_DISTRO_FILES = \ %D%/packages/ld-wrapper.in diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index b00dac9a63..cf906c6ea4 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -82,7 +82,7 @@ ;; the tests to pass. #:tests? #f #:make-flags - (list "CXXFLAGS=-std=c++11"))) + (list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true"))) (inputs `(("boost" ,boost) ("enchant" ,enchant) diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index 2ca4e27f81..f2cbfc480b 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,10 +83,11 @@ available to help to click.") (license license:gpl2+))) (define-public footswitch - (let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a")) + (let ((commit "deedd87fd90fad90ce342aeabafd4a3198d7d3d4") + (revision "2")) (package (name "footswitch") - (version (git-version "0.1" "1" commit)) + (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -93,7 +95,7 @@ available to help to click.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw")))) + (base32 "1ys90wqyz62kffa8m3hgaq1dl7f29x3mrc3zqfjrkbn2ps0k6ps0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -109,7 +111,6 @@ available to help to click.") (lambda* (#:key outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (mkdir-p bin) (install-file "footswitch" bin) #t)))))) (home-page "https://github.com/rgerganov/footswitch") diff --git a/gnu/packages/ada.scm b/gnu/packages/ada.scm new file mode 100644 index 0000000000..d6cd1e9787 --- /dev/null +++ b/gnu/packages/ada.scm @@ -0,0 +1,61 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages ada) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages python)) + +(define-public python2-langkit + (let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f") + (revision "0")) + (package + (name "python2-langkit") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AdaCore/langkit.git") + (commit commit))) + (sha256 + (base32 + "1abqgw2p8pb1pm54my5kkbbixfhc6l0bwajdv1xlzyrh31xki3wx")) + (file-name (string-append name "-" version "-checkout")))) + (build-system python-build-system) + (propagated-inputs + `(("python2-docutils" ,python2-docutils) + ("python2-enum34" ,python2-enum34) + ("python2-funcy" ,python2-funcy) + ("python2-mako" ,python2-mako))) + (arguments + `(#:python ,python-2 + #:tests? #f)) ; Tests would requite gprbuild (Ada). + (synopsis "Semantic analysis tool generator in Python") + (description "@code{Langkit} is a tool whose purpose is to make it easy +to create syntactic and semantic analysis engines. Write a language +specification in our Python DSL and Langkit will generate for you an +Ada library with bindings for the C and Python programming languages.") + (home-page "https://github.com/AdaCore/langkit/") + (license license:gpl3+)))) ; and gcc runtime library exception diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index cf9524eb5f..ad31bc498f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> @@ -75,6 +75,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) + #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages groff) #:use-module (gnu packages pciutils) @@ -610,14 +611,14 @@ connection alive.") bind-release-version))) (package (name "isc-dhcp") - (version "4.3.6") + (version "4.3.6-P1") (source (origin (method url-fetch) (uri (string-append "http://ftp.isc.org/isc/dhcp/" version "/dhcp-" version ".tar.gz")) (sha256 (base32 - "06vgxhm6agzkp6r1jy10467vrfw2rzcp2mnkcph7ydziciisy7m4")))) + "1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f @@ -1855,7 +1856,7 @@ throughput (in the same interval).") (define-public thefuck (package (name "thefuck") - (version "3.19") + (version "3.25") (source (origin (method url-fetch) (uri (string-append "https://github.com/nvbn/thefuck/archive/" @@ -1863,7 +1864,7 @@ throughput (in the same interval).") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "191zbvkyc02h0wwd46xwj4zzg7jhlr8xv0ji6knqkgjnk0nvqq01")) + "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk")) (patches (search-patches "thefuck-test-environ.patch")))) (build-system python-build-system) (arguments @@ -1881,14 +1882,12 @@ throughput (in the same interval).") `(("python-colorama" ,python-colorama) ("python-decorator" ,python-decorator) ("python-psutil" ,python-psutil) + ("python-pyte" ,python-pyte) ("python-six" ,python-six))) (native-inputs `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) - ("python-pytest-mock" ,python-pytest-mock) - ;; Requires setuptools >= 17.1 due to some features used, while our - ;; python currently only includes 12.0. TODO: Remove this input. - ("python-setuptools" ,python-setuptools))) + ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/nvbn/thefuck") (synopsis "Correct mistyped console command") (description @@ -1993,12 +1992,10 @@ shortcut syntax and completion options.") (home-page "https://github.com/TrilbyWhite/interrobang") (license license:gpl3+)))) - - (define-public pam-krb5 (package (name "pam-krb5") - (version "4.7") + (version "4.8") (source (origin (method url-fetch) (uri (string-append @@ -2006,7 +2003,7 @@ shortcut syntax and completion options.") version ".tar.xz")) (sha256 (base32 - "0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894")))) + "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2032,8 +2029,8 @@ It supports ticket refreshing by screen savers, configurable authorization handling, authentication of non-local accounts for network services, password changing, and password expiration, as well as all the standard expected PAM features. It works correctly with OpenSSH, even -with ChallengeResponseAuthentication and PrivilegeSeparation enabled, -and supports extensive configuration either by PAM options or in +with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation} +enabled, and supports extensive configuration either by PAM options or in krb5.conf or both. PKINIT is supported with recent versions of both MIT Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") (home-page "http://www.eyrie.org/~eagle/software/pam-krb5") @@ -2043,8 +2040,6 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") ;; clause requiring us to give all recipients a copy. (license license:gpl1+))) -;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz - (define-public sunxi-tools (package (name "sunxi-tools") @@ -2067,7 +2062,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" #:xbinutils (cross-binutils "arm-linux-gnueabihf") #:libc (cross-libc "arm-linux-gnueabihf"))) - ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")))) + ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files + ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static"))) (inputs `(("libusb" ,libusb))) (build-system gnu-build-system) @@ -2085,25 +2081,34 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") (lambda* (#:key make-flags #:allow-other-keys) (define (cross? x) (string-contains x "cross-arm-linux")) + (define (filter-environment! filter-predicate + environment-variable-names) + (for-each + (lambda (env-name) + (let* ((env-value (getenv env-name)) + (search-path (search-path-as-string->list env-value)) + (new-search-path (filter filter-predicate + search-path)) + (new-env-value (list->search-path-as-string + new-search-path ":"))) + (setenv env-name new-env-value))) + environment-variable-names)) (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) - (for-each - (lambda (env-name) - (let* ((env-value (getenv env-name)) - (search-path (search-path-as-string->list env-value)) - (new-search-path (filter (lambda (e) (not (cross? e))) - search-path)) - (new-env-value (list->search-path-as-string - new-search-path ":"))) - (setenv env-name new-env-value))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH")) + (filter-environment! cross? + '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" + "CROSS_LIBRARY_PATH")) + (filter-environment! (lambda (e) (not (cross? e))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" + "LIBRARY_PATH")) #t)) (replace 'build (lambda* (#:key make-flags #:allow-other-keys) (zero? (apply system* "make" "tools" "misc" make-flags)))) (add-after 'build 'build-armhf (lambda* (#:key make-flags #:allow-other-keys) + (setenv "LIBRARY_PATH" #f) (zero? (apply system* "make" "target-tools" make-flags)))) (replace 'install (lambda* (#:key make-flags #:allow-other-keys) @@ -2373,7 +2378,7 @@ make it a perfect utility on modern distros.") (define-public thermald (package (name "thermald") - (version "1.6") + (version "1.7.1") (source (origin (method url-fetch) @@ -2381,7 +2386,7 @@ make it a perfect utility on modern distros.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "14klz9fnvi9jdlaqwrp61xa5nh051n8ykrs1fh1wxd7j66qf2fn6")))) + "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2389,6 +2394,7 @@ make it a perfect utility on modern distros.") 'unpack 'autogen.sh-and-fix-paths (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) + ;; XXX this can probably be removed after version 1.7.1. ;; upstartconfir is hardcoded to /etc/init and the build ;; system tries to mkdir that. We don't even need upstart ;; files at all; this is a fast and kludgy workaround @@ -2397,7 +2403,8 @@ make it a perfect utility on modern distros.") (string-append "upstartconfdir = " out "/etc/init"))) ;; Now run autogen - (zero? (system* "sh" "autogen.sh")))))) + (invoke "sh" "autogen.sh") + #t)))) #:configure-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "--sysconfdir=" @@ -2426,23 +2433,26 @@ on systems running the Linux kernel.") (define-public masscan (package (name "masscan") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/robertdavidgraham/masscan" "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji")))) + "0wxddsgyx27z45906icdhdbfsvfj8ij805208qpqjx46i0lnjs50")))) (build-system gnu-build-system) (inputs `(("libpcap" ,libpcap))) (arguments '(#:test-target "regress" - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:make-flags + (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (delete 'configure) ; There is no ./configure script + (delete 'configure) ; no ./configure script (add-after 'unpack 'patch-path (lambda* (#:key outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -2455,8 +2465,8 @@ on systems running the Linux kernel.") open ports, and also complete the TCP connection and interact with the remote application, collecting the information received.") (home-page "https://github.com/robertdavidgraham/masscan") - ;; 'src/siphash24.c' is the SipHash reference implementation, which - ;; bears a CC0 Public Domain Dedication. + ;; 'src/siphash24.c' is the SipHash reference implementation, which + ;; bears a CC0 Public Domain Dedication. (license license:agpl3+))) (define-public hungrycat diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm new file mode 100644 index 0000000000..6aa230116c --- /dev/null +++ b/gnu/packages/agda.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@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 packages agda) + #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-web) + #:use-module (guix build-system haskell) + #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public agda + (package + (name "agda") + (version "2.5.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/Agda/Agda-" + version ".tar.gz")) + (sha256 + (base32 + "0r80vw7vnvbgq47y50v050malv7zvv2p2kg6f47i04r0b2ix855a")))) + (build-system haskell-build-system) + (inputs + `(("cpphs" ,cpphs) + ("ghc-alex" ,ghc-alex) + ("ghc-async" ,ghc-async) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-boxes" ,ghc-boxes) + ("ghc-data-hash" ,ghc-data-hash) + ("ghc-edisoncore" ,ghc-edisoncore) + ("ghc-edit-distance" ,ghc-edit-distance) + ("ghc-equivalence" ,ghc-equivalence) + ("ghc-geniplate-mirror" ,ghc-geniplate-mirror) + ("ghc-gitrev" ,ghc-gitrev) + ("ghc-happy" ,ghc-happy) + ("ghc-hashable" ,ghc-hashable) + ("ghc-hashtables" ,ghc-hashtables) + ("ghc-ieee754" ,ghc-ieee754) + ("ghc-monadplus" ,ghc-monadplus) + ("ghc-mtl" ,ghc-mtl) + ("ghc-murmur-hash" ,ghc-murmur-hash) + ("ghc-uri-encode" ,ghc-uri-encode) + ("ghc-parallel" ,ghc-parallel) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-stm" ,ghc-stm) + ("ghc-strict" ,ghc-strict) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-zlib" ,ghc-zlib))) + (home-page "http://wiki.portal.chalmers.se/agda/") + (synopsis + "Dependently typed functional programming language and proof assistant") + (description + "Agda is a dependently typed functional programming language: it has +inductive families, which are similar to Haskell's GADTs, but they can be +indexed by values and not just types. It also has parameterised modules, +mixfix operators, Unicode characters, and an interactive Emacs interface (the +type checker can assist in the development of your code). Agda is also a +proof assistant: it is an interactive system for writing and checking proofs. +Agda is based on intuitionistic type theory, a foundational system for +constructive mathematics developed by the Swedish logician Per Martin-Löf. It +has many similarities with other proof assistants based on dependent types, +such as Coq, Epigram and NuPRL.") + ;; Agda is distributed under the MIT license, and a couple of + ;; source files are BSD-3. See LICENSE for details. + (license (list license:expat license:bsd-3)))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 8c42ac31cc..57f273cc7a 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> @@ -35,6 +35,7 @@ #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages image) + #:use-module (gnu packages java) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) @@ -46,9 +47,11 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) + #:use-module (guix build-system ant) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils)) @@ -599,6 +602,104 @@ cosine/ sine transforms or DCT/DST).") (synopsis "Computing the discrete Fourier transform (AVX2-optimized)") (supported-systems '("x86_64-linux")))) +(define-public java-la4j + (package + (name "java-la4j") + (version "0.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vkostyukov/la4j.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1qir8dr978cfvz9k12m2kbdwpyf6cqdf1d0ilb7lnkhbgq5i53w3")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "la4j.jar" + #:jdk ,icedtea-8 + #:test-exclude (list "**/Abstract*.java" + "**/MatrixTest.java" + "**/DenseMatrixTest.java" + "**/SparseMatrixTest.java" + "**/VectorTest.java" + "**/SparseVectorTest.java" + "**/DenseVectorTest.java"))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://la4j.org/") + (synopsis "Java library that provides Linear Algebra primitives and algorithms") + (description "The la4j library is a Java library that provides Linear +Algebra primitives (matrices and vectors) and algorithms. The key features of +the la4j library are: + +@itemize +@item No dependencies and tiny size +@item Fluent object-oriented/functional API +@item Sparse (CRS, CCS) and dense (1D/2D arrays) matrices +@item Linear systems solving (Gaussian, Jacobi, Zeidel, Square Root, Sweep and other) +@item Matrices decomposition (Eigenvalues/Eigenvectors, SVD, QR, LU, Cholesky and other) +@item MatrixMarket/CSV IO formats support for matrices and vectors +@end itemize\n") + (license license:asl2.0))) + +(define-public java-jlargearrays + (package + (name "java-jlargearrays") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "http://search.maven.org/remotecontent?" + "filepath=pl/edu/icm/JLargeArrays/" + version "/JLargeArrays-" version + "-sources.jar")) + (file-name (string-append name "-" version ".jar")) + (sha256 + (base32 + "0v05iphpxbjnd7f4jf1rlqq3m8hslhcm0imdbsgxr20pi3xkaf2a")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jlargearrays.jar" + #:tests? #f ; tests are not included in the release archive + #:jdk ,icedtea-8)) + (propagated-inputs + `(("java-commons-math3" ,java-commons-math3))) + (home-page "https://gitlab.com/ICM-VisLab/JLargeArrays") + (synopsis "Library of one-dimensional arrays that can store up to 263 elements") + (description "JLargeArrays is a Java library of one-dimensional arrays +that can store up to 263 elements.") + (license license:bsd-2))) + +(define-public java-jtransforms + (package + (name "java-jtransforms") + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append "http://search.maven.org/remotecontent?" + "filepath=com/github/wendykierp/JTransforms/" + version "/JTransforms-" version "-sources.jar")) + (sha256 + (base32 + "1haw5m8shv5srgcpwkl853dz8bv6h90bzlhcps6mdpb4cixjirsg")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jtransforms.jar" + #:tests? #f ; tests are not included in the release archive + #:jdk ,icedtea-8)) + (propagated-inputs + `(("java-commons-math3" ,java-commons-math3) + ("java-jlargearrays" ,java-jlargearrays))) + (home-page "https://github.com/wendykierp/JTransforms") + (synopsis "Multithreaded FFT library written in pure Java") + (description "JTransforms is a multithreaded FFT library written in pure +Java. Currently, four types of transforms are available: @dfn{Discrete +Fourier Transform} (DFT), @dfn{Discrete Cosine Transform} (DCT), @dfn{Discrete +Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).") + (license license:bsd-2))) + (define-public eigen (package (name "eigen") diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 952d3bab0d..b56a081984 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -200,6 +200,7 @@ contains the graphical user interface for synfig.") (uri (git-reference (url "https://github.com/LostMoho/Papagayo.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321")) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d5c45e9479..eb7b79ee7a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1030,7 +1030,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "1.1.9") + (version "1.1.10") (source (origin (method git-fetch) (uri (git-reference @@ -1039,14 +1039,15 @@ follower.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0krvmb1idnf95l2ydzfcb08ayyx3n4m71hf9fgwv3srzaikvpf3q")))) + "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p")))) (build-system cmake-build-system) (arguments - '(#:tests? #f ; no check phase + '(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-libdir (lambda _ + ;; Install libraries to /lib, not /lib64. (substitute* "CMakeLists.txt" (("LIB_SUFFIX \\$\\{_init_lib_suffix\\}") "LIB_SUFFIX \"\"")) @@ -1154,6 +1155,7 @@ PS, and DAB+.") (string-map (lambda (c) (if (char=? c #\.) #\- c)) version))))) + (file-name (string-append "faust-" version "-checkout")) (sha256 (base32 "06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068")))) @@ -1627,14 +1629,14 @@ essential distortions.") (define-public liblo (package (name "liblo") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/liblo/liblo/" version "/liblo-" version ".tar.gz")) (sha256 (base32 - "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s")))) + "0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc")))) (build-system gnu-build-system) (arguments `(;; liblo test FAILED @@ -1644,7 +1646,7 @@ essential distortions.") (synopsis "Implementation of the Open Sound Control protocol") (description "liblo is a lightweight library that provides an easy to use -implementation of the Open Sound Control (OSC) protocol.") +implementation of the Open Sound Control (@dfn{OSC}) protocol.") (license license:lgpl2.1+))) (define-public python-pyaudio @@ -1782,6 +1784,7 @@ software.") (uri (git-reference (url "http://lv2plug.in/git/lv2.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r"))))))) @@ -1795,6 +1798,7 @@ software.") (uri (git-reference (url "http://git.elephly.net/software/lv2-mdametapiano.git") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd")))) @@ -2023,6 +2027,7 @@ into various outputs and to start, stop and configure jackd") (uri (git-reference (url "https://github.com/orouits/qjackrcd.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al")))) @@ -2102,6 +2107,7 @@ aimed at audio/musical applications.") (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v" version ".tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386")))) @@ -2377,7 +2383,8 @@ stretching and pitch scaling of audio. This package contains the library.") (method url-fetch) (uri (string-append "http://www.wavpack.com/" name "-" version ".tar.bz2")) - (patches (search-patches "wavpack-CVE-2018-7253.patch" + (patches (search-patches "wavpack-CVE-2018-6767.patch" + "wavpack-CVE-2018-7253.patch" "wavpack-CVE-2018-7254.patch")) (sha256 (base32 @@ -2530,7 +2537,7 @@ can play and record audio files.") (define-public soxr (package (name "soxr") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -2538,7 +2545,7 @@ can play and record audio files.") (string-append "mirror://sourceforge/soxr/soxr-" version "-Source.tar.xz")) (sha256 - (base32 "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl")))) + (base32 "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ;no 'check' target (home-page "https://sourceforge.net/p/soxr/wiki/Home/") diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index fa291c556a..b7df530088 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org> @@ -125,8 +125,8 @@ know anything about Autoconf or M4.") (string-append "--build=" build))))))))))) -(define* (autoconf-wrapper #:optional (autoconf autoconf)) - "Return an wrapper around AUTOCONF that generates `configure' scripts that +(define (make-autoconf-wrapper autoconf) + "Return a wrapper around AUTOCONF that generates `configure' scripts that use our own Bash instead of /bin/sh in shebangs. For that reason, it should only be used internally---users should not end up distributing `configure' files with a system-specific shebang." @@ -192,7 +192,13 @@ exec ~a --no-auto-compile \"$0\" \"$@\" (patch-shebang "configure")) (exit (status:exit-val result)))) port))) - (chmod (string-append bin "/autoconf") #o555))))))) + (chmod (string-append bin "/autoconf") #o555))))) + + ;; Do not show it in the UI since it's meant for internal use. + (properties '((hidden? . #t))))) + +(define-public autoconf-wrapper + (make-autoconf-wrapper autoconf)) (define-public autoconf-archive (package @@ -254,7 +260,7 @@ output is indexed in many ways to simplify browsing.") (search-patches "automake-skip-amhello-tests.patch")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,(autoconf-wrapper)) + `(("autoconf" ,autoconf-wrapper) ("perl" ,perl))) (native-search-paths (list (search-path-specification @@ -317,6 +323,21 @@ intuitive format and then Automake works with Autoconf to produce a robust Makefile, simplifying the entire process for the developer.") (license gpl2+))) ; some files are under GPLv3+ +(define-public automake-1.16 + ;; Make this the default on the next rebuild cycle. + (package + (inherit automake) + (version "1.16.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/automake/automake-" + version ".tar.xz")) + (sha256 + (base32 + "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax")) + (patches + (search-patches "automake-skip-amhello-tests.patch")))))) + (define-public libtool (package (name "libtool") @@ -335,7 +356,7 @@ Makefile, simplifying the entire process for the developer.") ("perl" ,perl) ("help2man" ,help2man) ;because we modify ltmain.sh ("automake" ,automake) ;some tests rely on 'aclocal' - ("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te' + ("autoconf" ,autoconf-wrapper))) ;others on 'autom4te' (arguments `(;; Libltdl is provided as a separate package, so don't install it here. diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 6e7bcc1479..5487157c86 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -544,7 +544,10 @@ detection, and lossless compression.") ("lz4" ,lz4) ("openssl" ,openssl) ("python-llfuse" ,python-llfuse) - ("python-msgpack" ,python-msgpack) + ;; The Python msgpack library changed its name so Borg requires this + ;; transitional package for now: + ;; <https://bugs.gnu.org/30662> + ("python-msgpack" ,python-msgpack-transitional) ("zstd" ,zstd))) (synopsis "Deduplicated, encrypted, authenticated and compressed backups") (description "Borg is a deduplicating backup program. Optionally, it diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 2a50080599..f630ccec2b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -543,6 +544,7 @@ store.") ;; Note: Always use a dot after the minor version since various places rely ;; on "version-major+minor" to determine where locales are found. (version "2.26.105-g0890d5379c") + (replacement glibc-2.26-patched) (source (origin (method url-fetch) (uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/" @@ -845,6 +847,14 @@ GLIBC/HURD for a Hurd host" ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) +(define glibc-2.26-patched + (package + (inherit glibc) + (source (origin + (inherit (package-source glibc)) + (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch") + (origin-patches (package-source glibc)))))))) + (define-public glibc-2.25 (package (inherit glibc) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm new file mode 100644 index 0000000000..f557dce8e5 --- /dev/null +++ b/gnu/packages/bioconductor.scm @@ -0,0 +1,42 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages bioconductor) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system r) + #:use-module (gnu packages)) + +(define-public r-hpar + (package + (name "r-hpar") + (version "1.20.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "hpar" version)) + (sha256 + (base32 + "0s5v79mgxdx862v1jrdf5pdap81nz5vjx25ni8s3sl97ldckf6j8")))) + (build-system r-build-system) + (home-page "https://bioconductor.org/packages/hpar/") + (synopsis "Human Protein Atlas in R") + (description "This package provides a simple interface to and data from +the Human Protein Atlas project.") + (license license:artistic2.0))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b758c72dec..d0873c9676 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -110,32 +110,6 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) -(define-public r-ape - (package - (name "r-ape") - (version "5.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "ape" version)) - (sha256 - (base32 - "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3")))) - (build-system r-build-system) - (propagated-inputs - `(("r-lattice" ,r-lattice) - ("r-nlme" ,r-nlme) - ("r-rcpp" ,r-rcpp))) - (home-page "http://ape-package.ird.fr/") - (synopsis "Analyses of phylogenetics and evolution") - (description - "This package provides functions for reading, writing, plotting, and -manipulating phylogenetic trees, analyses of comparative data in a -phylogenetic framework, ancestral character analyses, analyses of -diversification and macroevolution, computing distances from DNA sequences, -and several other tools.") - (license license:gpl2+))) - (define-public aragorn (package (name "aragorn") @@ -1854,38 +1828,22 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") (define-public cutadapt (package (name "cutadapt") - (version "1.14") + (version "1.16") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/marcelm/cutadapt/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/marcelm/cutadapt.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "16gbpiwy4m48vq2h5wqar3i8vr6vcj9gcl2qvqim19x6ya9dp8kd")))) + "09pr02067jiks19nc0aby4xp70hhgvb554i2y1c04rv1m401w7q8")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; The tests must be run after installation. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (setenv "PYTHONPATH" - (string-append - (getenv "PYTHONPATH") - ":" (assoc-ref outputs "out") - "/lib/python" - (string-take (string-take-right - (assoc-ref inputs "python") 5) 3) - "/site-packages")) - (zero? (system* "nosetests" "-P" "tests"))))))) (inputs `(("python-xopen" ,python-xopen))) (native-inputs `(("python-cython" ,python-cython) - ("python-nose" ,python-nose))) + ("python-pytest" ,python-pytest))) (home-page "https://cutadapt.readthedocs.io/en/stable/") (synopsis "Remove adapter sequences from nucleotide sequencing reads") (description @@ -3019,6 +2977,76 @@ sequencing (HTS) data. There are also an number of useful utilities for manipulating HTS data.") (license license:expat))) +(define-public java-htsjdk-latest + (package + (name "java-htsjdk") + (version "2.14.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/samtools/htsjdk.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1lmya1fdjy03mz6zmdmd86j9v9vfhqb3952mqq075navx1i6g4bc")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; test require Scala + #:jdk ,icedtea-8 + #:jar-name "htsjdk.jar" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-useless-build.xml + (lambda _ (delete-file "build.xml") #t)) + ;; The tests require the scalatest package. + (add-after 'unpack 'remove-tests + (lambda _ (delete-file-recursively "src/test") #t))))) + (inputs + `(("java-ngs" ,java-ngs) + ("java-snappy-1" ,java-snappy-1) + ("java-commons-compress" ,java-commons-compress) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ("java-commons-jexl-2" ,java-commons-jexl-2) + ("java-xz" ,java-xz))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "http://samtools.github.io/htsjdk/") + (synopsis "Java API for high-throughput sequencing data (HTS) formats") + (description + "HTSJDK is an implementation of a unified Java library for accessing +common file formats, such as SAM and VCF, used for high-throughput +sequencing (HTS) data. There are also an number of useful utilities for +manipulating HTS data.") + (license license:expat))) + +;; This is needed for picard 2.10.3 +(define-public java-htsjdk-2.10.1 + (package (inherit java-htsjdk-latest) + (name "java-htsjdk") + (version "2.10.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/samtools/htsjdk.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1kxh7slm2pm3x9p6jxa1wqsq9a31dhiiflhxnxqcisan4k3rwia2")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; tests require Scala + #:jdk ,icedtea-8 + #:jar-name "htsjdk.jar" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-useless-build.xml + (lambda _ (delete-file "build.xml") #t)) + ;; The tests require the scalatest package. + (add-after 'unpack 'remove-tests + (lambda _ (delete-file-recursively "src/test") #t))))))) + ;; This version matches java-htsjdk 2.3.0. Later versions also require a more ;; recent version of java-htsjdk, which depends on gradle. (define-public java-picard @@ -3097,6 +3125,90 @@ commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and VCF.") (license license:expat))) +;; This is needed for dropseq-tools +(define-public java-picard-2.10.3 + (package + (name "java-picard") + (version "2.10.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/broadinstitute/picard.git") + (commit version))) + (file-name (string-append "java-picard-" version "-checkout")) + (sha256 + (base32 + "1ajlx31l6i1k3y2rhnmgq07sz99g2czqfqgkr9mihmdjp3gwjhvi")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "picard.jar" + ;; Tests require jacoco:coverage. + #:tests? #f + #:jdk ,icedtea-8 + #:main-class "picard.cmdline.PicardCommandLine" + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple) + (sxml transform) + (sxml xpath)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-useless-build.xml + (lambda _ (delete-file "build.xml") #t)) + ;; This is necessary to ensure that htsjdk is found when using + ;; picard.jar as an executable. + (add-before 'build 'edit-classpath-in-manifest + (lambda* (#:key inputs #:allow-other-keys) + (chmod "build.xml" #o664) + (call-with-output-file "build.xml.new" + (lambda (port) + (sxml->xml + (pre-post-order + (with-input-from-file "build.xml" + (lambda _ (xml->sxml #:trim-whitespace? #t))) + `((target . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) + (car kids))) + ;; FIXME: We're breaking the line + ;; early with a dummy path to + ;; ensure that the store reference + ;; isn't broken apart and can still + ;; be found by the reference + ;; scanner. + (msg (format #f + "\ +Class-Path: /~a \ + ~a/share/java/htsjdk.jar${line.separator}" + ;; maximum line length is 70 + (string-tabulate (const #\b) 57) + (assoc-ref inputs "java-htsjdk")))) + (if (member "manifest" name) + `(,tag ,@kids + (echo + (@ (message ,msg) + (file "${manifest.file}") + (append "true")))) + `(,tag ,@kids))))) + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) txt)))) + port))) + (rename-file "build.xml.new" "build.xml") + #t))))) + (propagated-inputs + `(("java-htsjdk" ,java-htsjdk-2.10.1))) + (native-inputs + `(("java-testng" ,java-testng) + ("java-guava" ,java-guava))) + (home-page "http://broadinstitute.github.io/picard/") + (synopsis "Tools for manipulating high-throughput sequencing data and formats") + (description "Picard is a set of Java command line tools for manipulating +high-throughput sequencing (HTS) data and formats. Picard is implemented +using the HTSJDK Java library to support accessing file formats that are +commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and +VCF.") + (license license:expat))) + ;; This is the last version of Picard to provide net.sf.samtools (define-public java-picard-1.113 (package (inherit java-picard) @@ -3211,10 +3323,89 @@ VCF.") ("jdk" ,icedtea-8 "jdk") ("jdk-src" ,(car (assoc-ref (package-native-inputs icedtea-8) "jdk-drop"))))))) +(define-public fastqc + (package + (name "fastqc") + (version "0.11.5") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.bioinformatics.babraham.ac.uk/" + "projects/fastqc/fastqc_v" + version "_source.zip")) + (sha256 + (base32 + "18rrlkhcrxvvvlapch4dpj6xc6mpayzys8qfppybi8jrpgx5cc5f")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:build-target "build" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + (("jbzip2-0.9.jar") + (string-append (assoc-ref inputs "java-jbzip2") + "/share/java/jbzip2.jar")) + (("sam-1.103.jar") + (string-append (assoc-ref inputs "java-picard-1.113") + "/share/java/sam-1.112.jar")) + (("cisd-jhdf5.jar") + (string-append (assoc-ref inputs "java-cisd-jhdf5") + "/share/java/sis-jhdf5.jar"))) + #t)) + ;; There is no installation target + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share/fastqc/")) + (exe (string-append share "/fastqc"))) + (for-each mkdir-p (list bin share)) + (copy-recursively "bin" share) + (substitute* exe + (("my \\$java_bin = 'java';") + (string-append "my $java_bin = '" + (assoc-ref inputs "java") + "/bin/java';"))) + (chmod exe #o555) + (symlink exe (string-append bin "/fastqc")) + #t)))))) + (inputs + `(("java" ,icedtea) + ("perl" ,perl) ; needed for the wrapper script + ("java-cisd-jhdf5" ,java-cisd-jhdf5) + ("java-picard-1.113" ,java-picard-1.113) + ("java-jbzip2" ,java-jbzip2))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/") + (synopsis "Quality control tool for high throughput sequence data") + (description + "FastQC aims to provide a simple way to do some quality control +checks on raw sequence data coming from high throughput sequencing +pipelines. It provides a modular set of analyses which you can use to +give a quick impression of whether your data has any problems of which +you should be aware before doing any further analysis. + +The main functions of FastQC are: + +@itemize +@item Import of data from BAM, SAM or FastQ files (any variant); +@item Providing a quick overview to tell you in which areas there may + be problems; +@item Summary graphs and tables to quickly assess your data; +@item Export of results to an HTML based permanent report; +@item Offline operation to allow automated generation of reports + without running the interactive application. +@end itemize\n") + (license license:gpl3+))) + (define-public htslib (package (name "htslib") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append @@ -3222,17 +3413,8 @@ VCF.") version "/htslib-" version ".tar.bz2")) (sha256 (base32 - "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m")))) + "1il6i2p84b0y9c93dhvzzki1ifw9bvapm2mvpr0xvb2nq8jlwgdy")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after - 'unpack 'patch-tests - (lambda _ - (substitute* "test/test.pl" - (("/bin/bash") (which "bash"))) - #t))))) (inputs `(("openssl" ,openssl) ("curl" ,curl) @@ -4629,6 +4811,7 @@ distribution, coverage uniformity, strand specificity, etc.") (uri (hg-reference (url "https://bitbucket.org/libsleipnir/sleipnir") (changeset changeset))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx")))) @@ -4687,7 +4870,7 @@ to the user's query of interest.") (define-public samtools (package (name "samtools") - (version "1.5") + (version "1.7") (source (origin (method url-fetch) @@ -4696,7 +4879,7 @@ to the user's query of interest.") version "/samtools-" version ".tar.bz2")) (sha256 (base32 - "1xidmv0jmfy7l0kb32hdnlshcxgzi1hmygvig0cqrq1fhckdlhl5")))) + "18acyqysbxpydlc44lqv2hpp57l06bs9a3yqmcvjk8va2xrrdc77")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -6017,14 +6200,14 @@ distribution.") (define-public r-dexseq (package (name "r-dexseq") - (version "1.24.2") + (version "1.24.3") (source (origin (method url-fetch) (uri (bioconductor-uri "DEXSeq" version)) (sha256 (base32 - "18nh8ynxirfwkmc4sawdxgl7w1sl9ny5zpv8zbhv9vi5vgb8pxmj")))) + "0xip73hlbr3zry9d7ly9vvvsbb3xjcmfa09lr9fdy528dwjrf084")))) (properties `((upstream-name . "DEXSeq"))) (build-system r-build-system) (propagated-inputs @@ -6200,14 +6383,14 @@ testing and other simple calculations.") (define-public r-shortread (package (name "r-shortread") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ShortRead" version)) (sha256 (base32 - "06mknlsmd4hnaxzdjapgvp2kgdnf9w103y500dsac5jgsz4vwzcz")))) + "1cyv47632m9ljkxfsvnvmd19sb607ys5kz8fwh6v39dnw16g0a6m")))) (properties `((upstream-name . "ShortRead"))) (build-system r-build-system) (inputs @@ -6968,13 +7151,13 @@ names in their natural, rather than lexicographic, order.") (define-public r-edger (package (name "r-edger") - (version "3.20.8") + (version "3.20.9") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "0g7bj6w61blw3m22hw9rc01n554k9qkjizh7njr3j4shmhads58d")))) + "0y52snwbz37xzdd7gihdkqczbndlfzmmypv6hri3ymjyfmlx6qaw")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs @@ -7034,13 +7217,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.34.8") + (version "3.34.9") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "0bmxsgz2yll83sd3wbxsrsfd35468igb0d8lldym0d0lqfz906bw")))) + "1y2fm61g5i0fn0j3l31xvwh9zww9bpkc4nwzb1d0yv1cag20jkdc")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -7089,13 +7272,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-genomicranges (package (name "r-genomicranges") - (version "1.30.2") + (version "1.30.3") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicRanges" version)) (sha256 (base32 - "0c3r155603vb4zjs3adqa72770bh8karc11y8gl62l1m24jrkbnj")))) + "07cszc9ri94nzk4dffwnsj247ih6pchnrzrvnb0q4dkk33gwy8n1")))) (properties `((upstream-name . "GenomicRanges"))) (build-system r-build-system) @@ -7519,13 +7702,13 @@ information about the latest version of the Gene Ontologies.") (define-public r-topgo (package (name "r-topgo") - (version "2.30.0") + (version "2.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "topGO" version)) (sha256 (base32 - "1hqffz5qp7glxdvjp37005g8qk5nam3f9wpf6d1wjnzpar04f3dz")))) + "1cgz4knxr328xfqlhl6ypxl6x86rfrlqz748kn94ainxjzz55i6x")))) (properties `((upstream-name . "topGO"))) (build-system r-build-system) @@ -8365,14 +8548,14 @@ in SNV base substitution data.") (define-public r-wgcna (package (name "r-wgcna") - (version "1.62") + (version "1.63") (source (origin (method url-fetch) (uri (cran-uri "WGCNA" version)) (sha256 (base32 - "0c52rp09gqphz6g5x9jzkdcsyvfrknq0dkq9saslgy8q8ap974vx")))) + "1225dqm68bynkmklnsxdqdd3zqrpzbvqwyly8ibxmk75z33xz309")))) (properties `((upstream-name . "WGCNA"))) (build-system r-build-system) (propagated-inputs @@ -8542,6 +8725,16 @@ of gene-level counts.") "src/hdf5source/hdf5small.tgz" "-C" "src/" ) (substitute* "src/hdf5/configure" (("/bin/mv") "mv")) + ;; Remove timestamp and host system information to make + ;; the build reproducible. + (substitute* "src/hdf5/src/libhdf5.settings.in" + (("Configured on: @CONFIG_DATE@") + "Configured on: Guix") + (("Uname information:.*") + "Uname information: Linux\n") + ;; Remove unnecessary store reference. + (("C Compiler:.*") + "C Compiler: GCC\n")) #t))))) (propagated-inputs `(("r-zlibbioc" ,r-zlibbioc))) @@ -8706,6 +8899,7 @@ intervals (e.g. genes, sequence alignments).") (uri (git-reference (url "https://github.com/smithlabcode/piranha.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "117dc0zf20c61jam69sk4abl57ah6yi6i7qra7d7y5zrbgk12q5n")))) @@ -10460,6 +10654,16 @@ block processing.") (invoke "tar" "xvf" (assoc-ref inputs "hdf5-source")) (rename-file (string-append "hdf5-" ,(package-version hdf5)) "hdf5") + ;; Remove timestamp and host system information to make + ;; the build reproducible. + (substitute* "hdf5/src/libhdf5.settings.in" + (("Configured on: @CONFIG_DATE@") + "Configured on: Guix") + (("Uname information:.*") + "Uname information: Linux\n") + ;; Remove unnecessary store reference. + (("C Compiler:.*") + "C Compiler: GCC\n")) (rename-file "Makevars.in" "Makevars") (substitute* "Makevars" (("HDF5_CXX_LIB=.*") @@ -10588,14 +10792,14 @@ quality control.") (define-public r-scran (package (name "r-scran") - (version "1.6.7") + (version "1.6.8") (source (origin (method url-fetch) (uri (bioconductor-uri "scran" version)) (sha256 (base32 - "0zfm5i8xrnzb3894xygqd6zkbwaa2x3z74wbxw39fcjhyhxv2hmb")))) + "07wniyrh2fhhkz28v0bfgpvpi1hkkn2cvhacrvvvck142j79944x")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -10659,9 +10863,37 @@ are optimized per data type and for subsetted calculations such that both memory usage and processing time is minimized.") (license license:expat))) +(define-public r-phangorn + (package + (name "r-phangorn") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "phangorn" version)) + (sha256 + (base32 + "0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ape" ,r-ape) + ("r-fastmatch" ,r-fastmatch) + ("r-igraph" ,r-igraph) + ("r-magrittr" ,r-magrittr) + ("r-matrix" ,r-matrix) + ("r-quadprog" ,r-quadprog) + ("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/KlausVigo/phangorn") + (synopsis "Phylogenetic analysis in R") + (description + "Phangorn is a package for phylogenetic analysis in R. It supports +estimation of phylogenetic trees and networks using Maximum Likelihood, +Maximum Parsimony, distance methods and Hadamard conjugation.") + (license license:gpl2+))) + (define-public r-dropbead - (let ((commit "cf0be5ae5302684bd03e78ab65b142900bbbb840") - (revision "1")) + (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247") + (revision "2")) (package (name "r-dropbead") (version (string-append "0-" revision "." (string-take commit 7))) @@ -10671,9 +10903,10 @@ memory usage and processing time is minimized.") (uri (git-reference (url "https://github.com/rajewsky-lab/dropbead.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "1b2lphsc236s1rdzlijxg8yl1jnqpwcvj4x938r89rqpj93jb780")))) + "0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -11424,6 +11657,7 @@ dependency like SeqAn.") (uri (git-reference (url "https://github.com/y-256/libdivsufsort.git") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2")))) @@ -11879,3 +12113,738 @@ variable number of row and column annotations. Loom also supports sparse graphs. This library makes it easy to work with @file{.loom} files for single-cell RNA-seq data.") (license license:bsd-3))) + +;; We cannot use the latest commit because it requires Java 9. +(define-public java-forester + (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6") + (revision "1")) + (package + (name "java-forester") + (version (string-append "0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cmzmasek/forester.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0vxavc1yrf84yrnf20dq26hi0lglidk8d382xrxsy4qmlbjd276z")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled jars and pre-built classes + (delete-file-recursively "forester/java/resources") + (delete-file-recursively "forester/java/classes") + (for-each delete-file (find-files "forester/java/" "\\.jar$")) + ;; Delete bundled applications + (delete-file-recursively "forester_applications") + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; there are none + #:jdk ,icedtea-8 + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple) + (sxml transform)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "forester/java") #t)) + (add-after 'chdir 'fix-dependencies + (lambda _ + (chmod "build.xml" #o664) + (call-with-output-file "build.xml.new" + (lambda (port) + (sxml->xml + (pre-post-order + (with-input-from-file "build.xml" + (lambda _ (xml->sxml #:trim-whitespace? #t))) + `(;; Remove all unjar tags to avoid repacking classes. + (unjar . ,(lambda _ '())) + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) txt)))) + port))) + (rename-file "build.xml.new" "build.xml") + #t)) + ;; FIXME: itext is difficult to package as it depends on a few + ;; unpackaged libraries. + (add-after 'chdir 'remove-dependency-on-unpackaged-itext + (lambda _ + (delete-file "src/org/forester/archaeopteryx/PdfExporter.java") + (substitute* "src/org/forester/archaeopteryx/MainFrame.java" + (("pdf_written_to = PdfExporter.*") + "throw new IOException(\"PDF export is not available.\");")) + #t)) + ;; There is no install target + (replace 'install (install-jars "."))))) + (propagated-inputs + `(("java-commons-codec" ,java-commons-codec) + ("java-openchart2" ,java-openchart2))) + (home-page "https://sites.google.com/site/cmzmasek/home/software/forester") + (synopsis "Phylogenomics libraries for Java") + (description "Forester is a collection of Java libraries for +phylogenomics and evolutionary biology research. It includes support for +reading, writing, and exporting phylogenetic trees.") + (license license:lgpl2.1+)))) + +(define-public java-forester-1.005 + (package + (name "java-forester") + (version "1.005") + (source (origin + (method url-fetch) + (uri (string-append "http://search.maven.org/remotecontent?" + "filepath=org/biojava/thirdparty/forester/" + version "/forester-" version "-sources.jar")) + (file-name (string-append name "-" version ".jar")) + (sha256 + (base32 + "04r8qv4rk3p71z4ajrvp11py1z46qrx0047j3zzs79s6lnsm3lcv")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; there are none + #:jdk ,icedtea-8 + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple) + (sxml transform)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (call-with-output-file "build.xml" + (lambda (port) + (sxml->xml + (pre-post-order + (with-input-from-file "src/build.xml" + (lambda _ (xml->sxml #:trim-whitespace? #t))) + `(;; Remove all unjar tags to avoid repacking classes. + (unjar . ,(lambda _ '())) + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) txt)))) + port))) + (copy-file (assoc-ref inputs "synth_look_and_feel_1.xml") + "synth_look_and_feel_1.xml") + (copy-file (assoc-ref inputs "phyloxml.xsd") + "phyloxml.xsd") + (substitute* "build.xml" + (("../resources/synth_laf/synth_look_and_feel_1.xml") + "synth_look_and_feel_1.xml") + (("../resources/phyloxml_schema/1.10/phyloxml.xsd") + "phyloxml.xsd")) + #t)) + ;; FIXME: itext is difficult to package as it depends on a few + ;; unpackaged libraries. + (add-after 'unpack 'remove-dependency-on-unpackaged-itext + (lambda _ + (delete-file "src/org/forester/archaeopteryx/PdfExporter.java") + (substitute* '("src/org/forester/archaeopteryx/MainFrame.java" + "src/org/forester/archaeopteryx/MainFrameApplication.java") + (("pdf_written_to = PdfExporter.*") + "throw new IOException(\"PDF export is not available.\"); /*") + ((".getPrintSizeX\\(\\), getOptions\\(\\).getPrintSizeY\\(\\) \\);") "*/") + (("getCurrentTreePanel\\(\\).getHeight\\(\\) \\);") "*/")) + #t)) + (add-after 'unpack 'delete-pre-built-classes + (lambda _ (delete-file-recursively "src/classes") #t)) + ;; There is no install target + (replace 'install (install-jars "."))))) + (propagated-inputs + `(("java-commons-codec" ,java-commons-codec) + ("java-openchart2" ,java-openchart2))) + ;; The source archive does not contain the resources. + (native-inputs + `(("phyloxml.xsd" + ,(origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/" + "b61cc2dcede0bede317db362472333115756b8c6/" + "forester/resources/phyloxml_schema/1.10/phyloxml.xsd")) + (file-name (string-append name "-phyloxml-" version ".xsd")) + (sha256 + (base32 + "1zxc4m8sn4n389nqdnpxa8d0k17qnr3pm2y5y6g6vh4k0zm52npv")))) + ("synth_look_and_feel_1.xml" + ,(origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/" + "29e04321615da6b35c1e15c60e52caf3f21d8e6a/" + "forester/java/classes/resources/synth_look_and_feel_1.xml")) + (file-name (string-append name "-synth-look-and-feel-" version ".xml")) + (sha256 + (base32 + "1gv5602gv4k7y7713y75a4jvj7i9s7nildsbdl7n9q10sc2ikg8h")))))) + (home-page "https://sites.google.com/site/cmzmasek/home/software/forester") + (synopsis "Phylogenomics libraries for Java") + (description "Forester is a collection of Java libraries for +phylogenomics and evolutionary biology research. It includes support for +reading, writing, and exporting phylogenetic trees.") + (license license:lgpl2.1+))) + +(define-public java-biojava-core + (package + (name "java-biojava-core") + (version "4.2.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biojava/biojava") + (commit (string-append "biojava-" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1bvryh2bpsvash8ln79cmc9sqm8qw72hz4xzwqxcrjm8ssxszhqk")))) + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8 + #:jar-name "biojava-core.jar" + #:source-dir "biojava-core/src/main/java/" + #:test-dir "biojava-core/src/test" + ;; These tests seem to require internet access. + #:test-exclude (list "**/SearchIOTest.java" + "**/BlastXMLParserTest.java" + "**/GenbankCookbookTest.java" + "**/GenbankProxySequenceReaderTest.java") + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "biojava-core/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "biojava-core/src/test/resources" + "build/test-classes") + #t))))) + (propagated-inputs + `(("java-log4j-api" ,java-log4j-api) + ("java-log4j-core" ,java-log4j-core) + ("java-slf4j-api" ,java-slf4j-api) + ("java-slf4j-simple" ,java-slf4j-simple))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://biojava.org") + (synopsis "Core libraries of Java framework for processing biological data") + (description "BioJava is a project dedicated to providing a Java framework +for processing biological data. It provides analytical and statistical +routines, parsers for common file formats, reference implementations of +popular algorithms, and allows the manipulation of sequences and 3D +structures. The goal of the biojava project is to facilitate rapid +application development for bioinformatics. + +This package provides the core libraries.") + (license license:lgpl2.1+))) + +(define-public java-biojava-phylo + (package (inherit java-biojava-core) + (name "java-biojava-phylo") + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8 + #:jar-name "biojava-phylo.jar" + #:source-dir "biojava-phylo/src/main/java/" + #:test-dir "biojava-phylo/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "biojava-phylo/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "biojava-phylo/src/test/resources" + "build/test-classes") + #t))))) + (propagated-inputs + `(("java-log4j-api" ,java-log4j-api) + ("java-log4j-core" ,java-log4j-core) + ("java-slf4j-api" ,java-slf4j-api) + ("java-slf4j-simple" ,java-slf4j-simple) + ("java-biojava-core" ,java-biojava-core) + ("java-forester" ,java-forester))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://biojava.org") + (synopsis "Biojava interface to the forester phylogenomics library") + (description "The phylo module provides a biojava interface layer to the +forester phylogenomics library for constructing phylogenetic trees."))) + +(define-public java-biojava-alignment + (package (inherit java-biojava-core) + (name "java-biojava-alignment") + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8 + #:jar-name "biojava-alignment.jar" + #:source-dir "biojava-alignment/src/main/java/" + #:test-dir "biojava-alignment/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "biojava-alignment/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "biojava-alignment/src/test/resources" + "build/test-classes") + #t))))) + (propagated-inputs + `(("java-log4j-api" ,java-log4j-api) + ("java-log4j-core" ,java-log4j-core) + ("java-slf4j-api" ,java-slf4j-api) + ("java-slf4j-simple" ,java-slf4j-simple) + ("java-biojava-core" ,java-biojava-core) + ("java-biojava-phylo" ,java-biojava-phylo) + ("java-forester" ,java-forester))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://biojava.org") + (synopsis "Biojava API for genetic sequence alignment") + (description "The alignment module of BioJava provides an API that +contains + +@itemize +@item implementations of dynamic programming algorithms for sequence + alignment; +@item reading and writing of popular alignment file formats; +@item a single-, or multi- threaded multiple sequence alignment algorithm. +@end itemize\n"))) + +(define-public java-biojava-core-4.0 + (package (inherit java-biojava-core) + (name "java-biojava-core") + (version "4.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biojava/biojava") + (commit (string-append "biojava-" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "13675f6y9aqi7bi2lk3s1z7a22ynccjiqwa8izh7p97xi9wsfmd8")))))) + +(define-public java-biojava-phylo-4.0 + (package (inherit java-biojava-core-4.0) + (name "java-biojava-phylo") + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8 + #:jar-name "biojava-phylo.jar" + #:source-dir "biojava-phylo/src/main/java/" + #:test-dir "biojava-phylo/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "biojava-phylo/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "biojava-phylo/src/test/resources" + "build/test-classes") + #t))))) + (propagated-inputs + `(("java-log4j-api" ,java-log4j-api) + ("java-log4j-core" ,java-log4j-core) + ("java-slf4j-api" ,java-slf4j-api) + ("java-slf4j-simple" ,java-slf4j-simple) + ("java-biojava-core" ,java-biojava-core-4.0) + ("java-forester" ,java-forester-1.005))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://biojava.org") + (synopsis "Biojava interface to the forester phylogenomics library") + (description "The phylo module provides a biojava interface layer to the +forester phylogenomics library for constructing phylogenetic trees."))) + +(define-public java-biojava-alignment-4.0 + (package (inherit java-biojava-core-4.0) + (name "java-biojava-alignment") + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8 + #:jar-name "biojava-alignment.jar" + #:source-dir "biojava-alignment/src/main/java/" + #:test-dir "biojava-alignment/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "biojava-alignment/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "biojava-alignment/src/test/resources" + "build/test-classes") + #t))))) + (propagated-inputs + `(("java-log4j-api" ,java-log4j-api) + ("java-log4j-core" ,java-log4j-core) + ("java-slf4j-api" ,java-slf4j-api) + ("java-slf4j-simple" ,java-slf4j-simple) + ("java-biojava-core" ,java-biojava-core-4.0) + ("java-biojava-phylo" ,java-biojava-phylo-4.0) + ("java-forester" ,java-forester-1.005))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://biojava.org") + (synopsis "Biojava API for genetic sequence alignment") + (description "The alignment module of BioJava provides an API that +contains + +@itemize +@item implementations of dynamic programming algorithms for sequence + alignment; +@item reading and writing of popular alignment file formats; +@item a single-, or multi- threaded multiple sequence alignment algorithm. +@end itemize\n"))) + +(define-public dropseq-tools + (package + (name "dropseq-tools") + (version "1.13") + (source + (origin + (method url-fetch) + (uri "http://mccarrolllab.com/download/1276/") + (file-name (string-append "dropseq-tools-" version ".zip")) + (sha256 + (base32 + "0yrffckxqk5l8b5xb6z4laq157zd9mdypr2p4b4vq2bhjzi1sj0s")) + ;; Delete bundled libraries + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file (find-files "jar/lib" "\\.jar$")) + (delete-file-recursively "3rdParty"))))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; test data are not included + #:test-target "test" + #:build-target "all" + #:source-dir "public/src/" + #:jdk ,icedtea-8 + #:make-flags + (list (string-append "-Dpicard.executable.dir=" + (assoc-ref %build-inputs "java-picard") + "/share/java/")) + #:modules ((ice-9 match) + (srfi srfi-1) + (guix build utils) + (guix build java-utils) + (guix build ant-build-system)) + #:phases + (modify-phases %standard-phases + ;; All dependencies must be linked to "lib", because that's where + ;; they will be searched for when the Class-Path property of the + ;; manifest is computed. + (add-after 'unpack 'record-references + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "jar/lib") + (let ((dirs (filter-map (match-lambda + ((name . dir) + (if (and (string-prefix? "java-" name) + (not (string=? name "java-testng"))) + dir #f))) + inputs))) + (for-each (lambda (jar) + (symlink jar (string-append "jar/lib/" (basename jar)))) + (append-map (lambda (dir) (find-files dir "\\.jar$")) + dirs))) + #t)) + ;; There is no installation target + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share/java/")) + (lib (string-append share "/lib/")) + (scripts (list "BAMTagHistogram" + "BAMTagofTagCounts" + "BaseDistributionAtReadPosition" + "CollapseBarcodesInPlace" + "CollapseTagWithContext" + "ConvertToRefFlat" + "CreateIntervalsFiles" + "DetectBeadSynthesisErrors" + "DigitalExpression" + "Drop-seq_alignment.sh" + "FilterBAM" + "FilterBAMByTag" + "GatherGeneGCLength" + "GatherMolecularBarcodeDistributionByGene" + "GatherReadQualityMetrics" + "PolyATrimmer" + "ReduceGTF" + "SelectCellsByNumTranscripts" + "SingleCellRnaSeqMetricsCollector" + "TagBamWithReadSequenceExtended" + "TagReadWithGeneExon" + "TagReadWithInterval" + "TrimStartingSequence" + "ValidateReference"))) + (for-each mkdir-p (list bin share lib)) + (install-file "dist/dropseq.jar" share) + (for-each (lambda (script) + (chmod script #o555) + (install-file script bin)) + scripts) + (substitute* (map (lambda (script) + (string-append bin "/" script)) + scripts) + (("^java") (which "java")) + (("jar_deploy_dir=.*") + (string-append "jar_deploy_dir=" share "\n")))) + #t)) + ;; FIXME: We do this after stripping jars because we don't want it to + ;; copy all these jars and strip them. We only want to install + ;; links. Arguably, this is a problem with the ant-build-system. + (add-after 'strip-jar-timestamps 'install-links + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/java/")) + (lib (string-append share "/lib/"))) + (for-each (lambda (jar) + (symlink (readlink jar) + (string-append lib (basename jar)))) + (find-files "jar/lib" "\\.jar$"))) + #t))))) + (inputs + `(("jdk" ,icedtea-8) + ("java-picard" ,java-picard-2.10.3) + ("java-log4j-1.2-api" ,java-log4j-1.2-api) + ("java-commons-math3" ,java-commons-math3) + ("java-commons-jexl2" ,java-commons-jexl-2) + ("java-commons-collections4" ,java-commons-collections4) + ("java-commons-lang2" ,java-commons-lang) + ("java-commons-io" ,java-commons-io) + ("java-snappy-1.0.3-rc3" ,java-snappy-1) + ("java-guava" ,java-guava) + ("java-la4j" ,java-la4j) + ("java-biojava-core" ,java-biojava-core-4.0) + ("java-biojava-alignment" ,java-biojava-alignment-4.0) + ("java-jdistlib" ,java-jdistlib) + ("java-simple-xml" ,java-simple-xml) + ("java-snakeyaml" ,java-snakeyaml))) + (native-inputs + `(("unzip" ,unzip) + ("java-testng" ,java-testng))) + (home-page "http://mccarrolllab.com/dropseq/") + (synopsis "Tools for Drop-seq analyses") + (description "Drop-seq is a technology to enable biologists to +analyze RNA expression genome-wide in thousands of individual cells at +once. This package provides tools to perform Drop-seq analyses.") + (license license:expat))) + +(define-public pigx-rnaseq + (package + (name "pigx-rnaseq") + (version "0.0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/" + "releases/download/v" version + "/pigx_rnaseq-" version ".tar.gz")) + (sha256 + (base32 + "168hx2ig3rarphx3l21ay9yyg8ipaakzixnrhpbdi0sknhyvrrk8")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-tests? #f ; not supported + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + ;; Make sure the executable finds all R modules. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/pigx-rnaseq") + `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))) + `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH"))))) + #t))))) + (inputs + `(("snakemake" ,snakemake) + ("fastqc" ,fastqc) + ("multiqc" ,multiqc) + ("star" ,star) + ("trim-galore" ,trim-galore) + ("htseq" ,htseq) + ("samtools" ,samtools) + ("bedtools" ,bedtools) + ("r-minimal" ,r-minimal) + ("r-rmarkdown" ,r-rmarkdown) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-gprofiler" ,r-gprofiler) + ("r-deseq2" ,r-deseq2) + ("r-dt" ,r-dt) + ("r-knitr" ,r-knitr) + ("r-pheatmap" ,r-pheatmap) + ("r-corrplot" ,r-corrplot) + ("r-reshape2" ,r-reshape2) + ("r-plotly" ,r-plotly) + ("r-scales" ,r-scales) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-crosstalk" ,r-crosstalk) + ("r-tximport" ,r-tximport) + ("r-rtracklayer" ,r-rtracklayer) + ("r-rjson" ,r-rjson) + ("salmon" ,salmon) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) + ("python-wrapper" ,python-wrapper) + ("python-pyyaml" ,python-pyyaml))) + (home-page "http://bioinformatics.mdc-berlin.de/pigx/") + (synopsis "Analysis pipeline for RNA sequencing experiments") + (description "PiGX RNAseq is an analysis pipeline for preprocessing and +reporting for RNA sequencing experiments. It is easy to use and produces high +quality reports. The inputs are reads files from the sequencing experiment, +and a configuration file which describes the experiment. In addition to +quality control of the experiment, the pipeline produces a differential +expression report comparing samples in an easily configurable manner.") + (license license:gpl3+))) + +(define-public pigx-chipseq + (package + (name "pigx-chipseq") + (version "0.0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" + "releases/download/v" version + "/pigx_chipseq-" version ".tar.gz")) + (sha256 + (base32 + "1jliwhifnjgl9x0z730bzpxswi2s84fyg5y8cagbyzpw509452f5")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + ;; Make sure the executable finds all R modules. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/pigx-chipseq") + `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))) + `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH"))))) + #t))))) + (inputs + `(("r-minimal" ,r-minimal) + ("r-argparser" ,r-argparser) + ("r-chipseq" ,r-chipseq) + ("r-data-table" ,r-data-table) + ("r-genomation" ,r-genomation) + ("r-genomicranges" ,r-genomicranges) + ("r-rtracklayer" ,r-rtracklayer) + ("r-rcas" ,r-rcas) + ("r-stringr" ,r-stringr) + ("r-jsonlite" ,r-jsonlite) + ("r-heatmaply" ,r-heatmaply) + ("r-ggplot2" ,r-ggplot2) + ("r-plotly" ,r-plotly) + ("python-wrapper" ,python-wrapper) + ("python-pyyaml" ,python-pyyaml) + ("snakemake" ,snakemake) + ("macs" ,macs) + ("multiqc" ,multiqc) + ("perl" ,perl) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) + ("fastqc" ,fastqc) + ("bowtie" ,bowtie) + ("idr" ,idr) + ("snakemake" ,snakemake) + ("samtools" ,samtools) + ("bedtools" ,bedtools) + ("kentutils" ,kentutils))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "http://bioinformatics.mdc-berlin.de/pigx/") + (synopsis "Analysis pipeline for ChIP sequencing experiments") + (description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak +calling and reporting for ChIP sequencing experiments. It is easy to use and +produces high quality reports. The inputs are reads files from the sequencing +experiment, and a configuration file which describes the experiment. In +addition to quality control of the experiment, the pipeline enables to set up +multiple peak calling analysis and allows the generation of a UCSC track hub +in an easily configurable manner.") + (license license:gpl3+))) + +(define-public pigx-bsseq + (package + (name "pigx-bsseq") + (version "0.0.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/" + "releases/download/v" version + "/pigx_bsseq-" version ".tar.gz")) + (sha256 + (base32 + "1h8ma99vi7hs83nafvjpq8jmaq9977j3n11c4zd95hai0cf7zxmp")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-timezone + ;; The readr package is picky about timezones. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZ" "UTC+1") + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t)) + (add-after 'install 'wrap-executable + ;; Make sure the executable finds all R modules. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/pigx-bsseq") + `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))) + `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH"))))) + #t))))) + (native-inputs + `(("tzdata" ,tzdata))) + (inputs + `(("r-minimal" ,r-minimal) + ("r-annotationhub" ,r-annotationhub) + ("r-dt" ,r-dt) + ("r-genomation" ,r-genomation) + ("r-methylkit" ,r-methylkit) + ("r-rtracklayer" ,r-rtracklayer) + ("r-rmarkdown" ,r-rmarkdown) + ("r-bookdown" ,r-bookdown) + ("r-ggplot2" ,r-ggplot2) + ("r-ggbio" ,r-ggbio) + ("ghc-pandoc" ,ghc-pandoc) + ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc) + ("python-wrapper" ,python-wrapper) + ("python-pyyaml" ,python-pyyaml) + ("snakemake" ,snakemake) + ("bismark" ,bismark) + ("fastqc" ,fastqc) + ("bowtie" ,bowtie) + ("trim-galore" ,trim-galore) + ("cutadapt" ,cutadapt) + ("samtools" ,samtools))) + (home-page "http://bioinformatics.mdc-berlin.de/pigx/") + (synopsis "Bisulfite sequencing pipeline from fastq to methylation reports") + (description "PiGx BSseq is a data processing pipeline for raw fastq read +data of bisulfite experiments; it produces reports on aggregate methylation +and coverage and can be used to produce information on differential +methylation and segmentation.") + (license license:gpl3+))) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index bf584fa6c3..69fbc2777a 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -111,6 +111,20 @@ across a broad spectrum of applications.") (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) +(define-public boost-1.66 + (package + (inherit boost) + (version "1.66.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/boost/boost/" version "/boost_" + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) + ".tar.bz2")) + (sha256 + (base32 + "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap")))))) + (define-public mdds (package (name "mdds") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 7c0faca9a2..2abb44fdb8 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,8 +90,8 @@ makes a few sacrifices to acquire fast full and incremental build times.") It can compile code written in C, C++, Fortran, Java, Rust, and other languages. Meson provides features comparable to those of the Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson -files}, are written in a custom domain-specific language (DSL) that resembles -Python.") +files}, are written in a custom domain-specific language (@dfn{DSL}) that +resembles Python.") (license license:asl2.0))) (define-public meson-for-build diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm index 93eeaf0ee6..8ee5d86e3c 100644 --- a/gnu/packages/calcurse.scm +++ b/gnu/packages/calcurse.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +30,7 @@ (define-public calcurse (package (name "calcurse") - (version "4.2.2") + (version "4.3.0") (source (origin (method url-fetch) @@ -37,7 +38,7 @@ version ".tar.gz")) (sha256 (base32 - "0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266")))) + "16jzg0nasnxdlz23i121x41pq5kbxmjzk52c5d863rg117fc7v1i")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (native-inputs `(("tzdata" ,tzdata-for-tests))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 598b584cb3..672064db12 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; ;;; This file is part of GNU Guix. @@ -360,14 +360,15 @@ capacity is user-selectable.") "0lwc0hn94m9r8fi07sjqz3fr618l6lnw3zsakxw7nlgnxbjsk7pi")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list (string-append "XMLTO=" - (assoc-ref %build-inputs "xmlto") - "/bin/xmlto" - " --searchpath " - (assoc-ref %build-inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:" - (assoc-ref %build-inputs "docbook-xml") - "/xml/dtd/docbook")) + `(#:configure-flags + (list (string-append "XMLTO=" + (assoc-ref %build-inputs "xmlto") + "/bin/xmlto --searchpath " + (assoc-ref %build-inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl) + "/htmlhelp:" + (assoc-ref %build-inputs "docbook-xml") + "/xml/dtd/docbook")) #:phases (modify-phases %standard-phases (add-after 'install 'wrap-program diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 8e1eb127b2..73d3efd9e1 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> @@ -202,14 +202,14 @@ multi-paradigm automated test framework for C++ and Objective-C.") (define-public cmdtest (package (name "cmdtest") - (version "0.29") + (version "0.32") (source (origin (method url-fetch) (uri (string-append "http://git.liw.fi/cmdtest/snapshot/" name "-" version ".tar.gz")) (sha256 (base32 - "1i6gi4yp4qqx1liax098c7nwdb24pghh11xqlrcs7lnhh079rqhb")))) + "1jmfiyrrqmpvwdb273bkb8hjaf4rwx9njblx29pmr7giyahskwi5")))) (build-system python-build-system) (arguments `(#:python ,python-2 @@ -271,13 +271,13 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.81") + (version "1.82") (source (origin (method url-fetch) (uri (string-append "https://github.com/danmar/cppcheck/archive/" version ".tar.gz")) (sha256 - (base32 "0miamqk7pa2dzmnmi5wb6hjp2a3zya1x8afnlcxby8jb6gp6wf8j")) + (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (home-page "http://cppcheck.sourceforge.net") @@ -834,146 +834,231 @@ subprocess and see the output as well as any file modifications.") (define-public python2-scripttest (package-with-python2 python-scripttest)) -(define-public python-testtools +(define-public python-testtools-bootstrap (package - (name "python-testtools") - (version "1.4.0") + (name "python-testtools-bootstrap") + (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "testtools" version)) (sha256 (base32 - "1vw8yljnd75d396hhw6s2hrf4cclzy845ifd5am0lxsl235z3i8c")))) + "0n8519lk8aaa91vymz842831181wf7fss98hyllhygi3z1nfq9sq")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-module-imports - (lambda _ - (substitute* "setup.py" - (("'unittest2>=0.8.0',") "")) - (substitute* '("testtools/testcase.py" - "testtools/testsuite.py" - "testtools/run.py" - "testtools/tests/test_run.py" - "testtools/tests/test_testsuite.py" - "testtools/tests/test_deferredruntest.py") - ;; unittest2 is a backport of Python2.7 features to Python 2.4. - (("import unittest2 as unittest") "import unittest") - (("import unittest2") "import unittest as unittest2") - (("from unittest2 import") "from unittest import")) - (substitute* "testtools/tests/test_testresult.py" - ;; NUL in source code is not allowed (raises ValueError). - (("\\x00\\x04") "\\x04")) - #t))))) + (arguments '(#:tests? #f)) (propagated-inputs - `(("python-mimeparse" ,python-mimeparse) - ("python-extras" ,python-extras))) + `(("python-extras" ,python-extras) + ("python-fixtures" ,python-fixtures-bootstrap) + ("python-mimeparse" ,python-mimeparse) + ("python-pbr" ,python-pbr-minimal) + ("python-six" ,python-six) + ("python-traceback2" ,python-traceback2) + ("python-unittest2" ,python-unittest2))) (home-page "https://github.com/testing-cabal/testtools") (synopsis "Extensions to the Python standard library unit testing framework") (description + "This package is only for bootstrapping. Do not use this.") + (license license:psfl))) + +(define-public python2-testtools-bootstrap + (package-with-python2 python-testtools-bootstrap)) + +(define-public python-testtools + (package + (inherit python-testtools-bootstrap) + (name "python-testtools") + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "-m" "testtools.run" + "testtools.tests.test_suite")))))) + (propagated-inputs + `(("python-extras" ,python-extras) + ("python-fixtures" ,python-fixtures) + ("python-mimeparse" ,python-mimeparse) + ("python-pbr" ,python-pbr) + ("python-six" ,python-six) + ("python-traceback2" ,python-traceback2) + ("python-unittest2" ,python-unittest2))) + (native-inputs + `(("python-testscenarios" ,python-testscenarios-bootstrap))) + (description "Testtools extends the Python standard library unit testing framework to provide matchers, more debugging information, and cross-Python -compatibility.") - (license license:psfl))) +compatibility."))) (define-public python2-testtools (package-with-python2 python-testtools)) -(define-public python-testscenarios +(define-public python-testscenarios-bootstrap (package - (name "python-testscenarios") - (version "0.4") + (name "python-testscenarios-bootstrap") + (version "0.5.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/t/testscenarios/testscenarios-" - version ".tar.gz")) + (uri (pypi-uri "testscenarios" version)) (sha256 (base32 - "1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg")))) + "1dm2aydqpv76vnsk1pw7k8n42hq58cfi4n1ixy7nyzpaj1mwnmy2")))) (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "-m" "testtools.run" + "testscenarios.test_suite")))))) (propagated-inputs - `(("python-testtools" ,python-testtools))) + `(("python-pbr" ,python-pbr-minimal) + ("python-testtools" ,python-testtools-bootstrap))) (home-page "https://launchpad.net/testscenarios") (synopsis "Pyunit extension for dependency injection") (description - "Testscenarios provides clean dependency injection for Python unittest -style tests.") + "This package is only for bootstrapping. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option +(define-public python2-testscenarios-bootstrap + (package-with-python2 python-testscenarios-bootstrap)) + +(define-public python-testscenarios + (package + (inherit python-testscenarios-bootstrap) + (name "python-testscenarios") + (propagated-inputs + `(("python-pbr" ,python-pbr) + ("python-testtools" ,python-testtools))) + (description + "Testscenarios provides clean dependency injection for Python unittest +style tests."))) + (define-public python2-testscenarios (package-with-python2 python-testscenarios)) -(define-public python-testresources +;; Testresources requires python-pbr at runtime, but pbr needs it for its +;; own tests. Hence this bootstrap variant. +(define-public python-testresources-bootstrap (package - (name "python-testresources") - (version "0.2.7") - (source - (origin - (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/t/testresources/testresources-" - version ".tar.gz")) - (sha256 - (base32 - "0cbj3plbllyz42c4b5xxgwaa7mml54lakslrn4kkhinxhdri22md")))) + (name "python-testresources-bootstrap") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "testresources" version)) + (sha256 + (base32 + "05s4dsli9g17m1r3b1gvwicbbgq011hnpb2b9qnj27ja2n11k7gf")))) (build-system python-build-system) + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-pbr" ,python-pbr-minimal))) (home-page "https://launchpad.net/testresources") (synopsis "Pyunit extension for managing test resources") (description - "Testresources is an extension to Python's unittest to allow declarative -use of resources by test cases.") + "This package is only here for bootstrapping purposes. Use the regular +testresources package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option +(define-public python2-testresources-bootstrap + (package-with-python2 python-testresources-bootstrap)) + +(define-public python-testresources + (package + (inherit python-testresources-bootstrap) + (name "python-testresources") + (propagated-inputs + `(("python-pbr" ,python-pbr))) + (arguments '()) + (native-inputs + `(("python-fixtures" ,python-fixtures) + ("python-testtols" ,python-testtools))) + (description + "Testresources is an extension to Python's unittest to allow declarative +use of resources by test cases."))) + (define-public python2-testresources (package-with-python2 python-testresources)) -(define-public python-subunit +(define-public python-subunit-bootstrap (package - (name "python-subunit") - (version "0.0.21") + (name "python-subunit-bootstrap") + (version "1.2.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/p/python-subunit/python-subunit-" - version ".tar.gz")) + (uri (pypi-uri "python-subunit" version)) (sha256 (base32 - "1nkw9wfbvizmpajbj3in8ns07g7lwkiv8hip14jjlwk3cacls6jv")))) + "1yii2gx3z6323as3iraj1yphj76dy7i3h6kj63pnc5y0hwjs5sgx")))) (build-system python-build-system) (propagated-inputs `(("python-extras" ,python-extras) - ("python-mimeparse" ,python-mimeparse))) + ("python-testtools" ,python-testtools-bootstrap))) (native-inputs - `(("python-testscenarios" ,python-testscenarios))) + `(("python-fixtures" ,python-fixtures-bootstrap) + ("python-hypothesis" ,python-hypothesis) + ("python-testscenarios" ,python-testscenarios-bootstrap))) (home-page "http://launchpad.net/subunit") (synopsis "Python implementation of the subunit protocol") (description - "Python-subunit is a Python implementation of the subunit test streaming -protocol.") + "This package is here for bootstrapping purposes only. Use the regular +python-subunit package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option +(define-public python2-subunit-bootstrap + (package-with-python2 python-subunit-bootstrap)) + +(define-public python-subunit + (package + (inherit python-subunit-bootstrap) + (name "python-subunit") + (propagated-inputs + `(("python-extras" ,python-extras) + ("python-testtools" ,python-testtools))) + (native-inputs + `(("python-fixtures" ,python-fixtures) + ("python-hypothesis" ,python-hypothesis) + ("python-testscenarios" ,python-testscenarios))) + (description + "Python-subunit is a Python implementation of the subunit test streaming +protocol."))) + (define-public python2-subunit (package-with-python2 python-subunit)) +;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its +;; own tests. Hence this bootstrap variant. +(define-public python-fixtures-bootstrap + (package + (name "python-fixtures-bootstrap") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "fixtures" version)) + (sha256 + (base32 + "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w")))) + (build-system python-build-system) + (arguments `(#:tests? #f)) + (propagated-inputs + `(("python-pbr-minimal" ,python-pbr-minimal) + ("python-six" ,python-six))) + (home-page "https://launchpad.net/python-fixtures") + (synopsis "Python test fixture library") + (description + "This package is only used for bootstrapping. Use the regular +python-fixtures package instead.") + (license (list license:bsd-3 license:asl2.0)))) ; at user's option + +(define-public python2-fixtures-bootstrap + (package-with-python2 python-fixtures-bootstrap)) + (define-public python-fixtures (package + (inherit python-fixtures-bootstrap) (name "python-fixtures") - (version "1.4.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "fixtures" version)) - (sha256 - (base32 - "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y")))) - (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -982,25 +1067,23 @@ protocol.") (zero? (system* "python" "-m" "testtools.run" "fixtures.test_suite"))))))) (propagated-inputs - `(("python-six" ,python-six))) + ;; Fixtures uses pbr at runtime to check versions, etc. + `(("python-pbr" ,python-pbr) + ("python-six" ,python-six))) (native-inputs `(("python-mock" ,python-mock) - ("python-pbr-minimal" ,python-pbr-minimal) - ("python-testtools" ,python-testtools))) - (home-page "https://launchpad.net/python-fixtures") - (synopsis "Python test fixture library") + ("python-testtools" ,python-testtools-bootstrap))) (description "Fixtures provides a way to create reusable state, useful when writing -Python tests.") - (license (list license:bsd-3 license:asl2.0)))) ; at user's option +Python tests."))) (define-public python2-fixtures (package-with-python2 python-fixtures)) -(define-public python-testrepository +(define-public python-testrepository-bootstrap (package - (name "python-testrepository") - (version "0.0.20") + (name "python-testrepository-bootstrap") + (version "0.0.20") (source (origin (method url-fetch) @@ -1011,6 +1094,26 @@ Python tests.") (base32 "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m")))) (build-system python-build-system) + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-fixtures" ,python-fixtures-bootstrap) + ("python-subunit" ,python-subunit-bootstrap) + ("python-testtools" ,python-testtools-bootstrap))) + (native-inputs + `(("python-mimeparse" ,python-mimeparse))) + (home-page "https://launchpad.net/testrepository") + (synopsis "Database for Python test results") + (description + "Bootstrap package for python-testrepository. Don't use this.") + (license (list license:bsd-3 license:asl2.0)))) ; at user's option + +(define-public python2-testrepository-bootstrap + (package-with-python2 python-testrepository-bootstrap)) + +(define-public python-testrepository + (package + (inherit python-testrepository-bootstrap) + (name "python-testrepository") (arguments ;; FIXME: Many tests are failing. '(#:tests? #f)) @@ -1019,14 +1122,10 @@ Python tests.") ("python-subunit" ,python-subunit) ("python-testtools" ,python-testtools))) (native-inputs - `(("python-pbr-minimal" ,python-pbr-minimal) ;; same as for building fixture - ("python-mimeparse" ,python-mimeparse))) - (home-page "https://launchpad.net/testrepository") - (synopsis "Database for Python test results") + `(("python-mimeparse" ,python-mimeparse))) (description "Testrepository provides a database of test results which can be used as part of a developer's workflow to check things such as what tests -have failed since the last commit or what tests are currently failing.") - (license (list license:bsd-3 license:asl2.0)))) ; at user's option +have failed since the last commit or what tests are currently failing."))) (define-public python2-testrepository (package-with-python2 python-testrepository)) @@ -1629,18 +1728,20 @@ backported from Python 2.7 for Python 2.4+.") (define-public behave (package (name "behave") - (version "1.2.5") + (version "1.2.6") (source (origin (method url-fetch) - (uri (pypi-uri "behave" version ".tar.bz2")) + (uri (pypi-uri "behave" version)) (sha256 (base32 - "1iypp6z46r19n4xmgx6m1lwmlpfjh8vapq8izigrqlaarvp2y64c")))) + "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) ("python-nose" ,python-nose) - ("python-pyhamcrest" ,python-pyhamcrest))) + ("python-pathpy" ,python-pathpy) + ("python-pyhamcrest" ,python-pyhamcrest) + ("python-pytest" ,python-pytest))) (propagated-inputs `(("python-six" ,python-six) ("python-parse" ,python-parse) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index c9048ccb8e..9e5d42952f 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -184,8 +184,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "4ab2f2c3f084ffd9d0f77134cc1af0f8cf0e13be") - (revision "12")) + (let ((commit "aa4c7784940581b5e271b9c7c4ac80b6ee1ee309") + (revision "13")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -197,7 +197,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "1r97z5lkzg6vx014rfmv1pp3x3bl1shb6wkcgnlncwqf56a9bzi1")))) + "1827vgk47rcgm2x0cxzvg79ni6vazjzr8hr9pljlvbd9awzr7hxp")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index a4e2d38e36..e6c5c4e793 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +31,7 @@ #:use-module (gnu packages) #:use-module (gnu packages backup) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages file) #:use-module (gnu packages libevent) @@ -149,3 +150,59 @@ and workspaces that can be used in the compiler environment of your choice.") license:bsd-2 ; cmlibarchive license:expat ; cmjsoncpp is dual MIT/public domain license:public-domain)))) ; cmlibarchive/archive_getdate.c + +;; Recent Ceph requires Boost 1.66, which in turn requires CMake 3.11 for +;; its updated "FindBoost.cmake" facility. +(define-public cmake-3.11 + (package + (inherit cmake) + (version "3.11.0-rc2") + (source (origin + (inherit (package-source cmake)) + (uri (string-append "https://www.cmake.org/files/v" + (version-major+minor version) + "/cmake-" version ".tar.gz")) + (sha256 + (base32 + "14p6ais19nfcwl914n4n5rbzaqwafv3qkg6nd8jw54ykn6lz6mf3")) + (snippet + '(begin + ;; Drop bundled software. + (with-directory-excursion "Utilities" + (for-each delete-file-recursively + '("cmbzip2" + "cmcurl" + "cmexpat" + "cmliblzma" + "cmzlib")) + #t))))) + (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments cmake) + ((#:make-flags flags ''()) `(cons (string-append + "ARGS=-j " + (number->string (parallel-job-count)) + " --output-on-failure") + ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (replace 'patch-bin-sh + (lambda _ + (substitute* + '("Modules/CompilerId/Xcode-3.pbxproj.in" + "Modules/CPack.RuntimeScript.in" + "Source/cmakexbuild.cxx" + "Source/cmGlobalXCodeGenerator.cxx" + "Source/cmLocalUnixMakefileGenerator3.cxx" + "Source/cmExecProgramCommand.cxx" + "Utilities/Release/release_cmake.cmake" + "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c" + "Tests/CMakeLists.txt" + "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") + (("/bin/sh") (which "sh"))) + #t)) + ;; This is now passed through #:make-flags. + (delete 'set-test-environment))))) + (inputs + `(("rhash" ,rhash) + ,@(package-inputs cmake))))) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 2067067f20..979c7a72b8 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) + #:use-module (gnu packages graphviz) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) @@ -139,10 +140,10 @@ highlighting your own code that seemed comprehensible when you wrote it.") (home-page "https://www.gnu.org/software/global/") (synopsis "Cross-environment source code tag system") (description - "GLOBAL is a source code tagging system that functions in the same way -across a wide array of environments, such as different text editors, shells -and web browsers. The resulting tags are useful for quickly moving around in -a large, deeply nested project.") + "GNU GLOBAL is a source code tagging system that functions in the same +way across a wide array of environments, such as different text editors, +shells and web browsers. The resulting tags are useful for quickly moving +around in a large, deeply nested project.") (license license:gpl3+))) (define-public sloccount @@ -204,23 +205,24 @@ COCOMO model or user-provided parameters.") (define-public cloc (package (name "cloc") - (version "1.74") + (version "1.76") (source (origin (method url-fetch) (uri (string-append - "https://github.com/AlDanial/cloc/releases/download/" version + "https://github.com/AlDanial/cloc/releases/download/v" version "/cloc-" version ".tar.gz")) (sha256 (base32 - "0rq5xfiln1wlv3yr9mg18ax4gskbss786iqaf0v45iv6awyl5b2m")))) + "05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) ("perl" ,perl) ("perl-algorithm-diff" ,perl-algorithm-diff) - ("perl-regexp-common" ,perl-regexp-common) - ("perl-digest-md5" ,perl-digest-md5))) + ("perl-digest-md5" ,perl-digest-md5) + ("perl-parallel-forkmanager" ,perl-parallel-forkmanager) + ("perl-regexp-common" ,perl-regexp-common))) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) @@ -228,13 +230,13 @@ COCOMO model or user-provided parameters.") (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) - (zero? - (system* "make" "-C" "Unix" - (string-append "prefix=" out) - (string-append "INSTALL=" - (assoc-ref inputs "coreutils") - "/bin/install") - "install"))))) + (invoke "make" "-C" "Unix" + (string-append "prefix=" out) + (string-append "INSTALL=" + (assoc-ref inputs "coreutils") + "/bin/install") + "install") + #t))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -496,3 +498,32 @@ importantly we give you proper follow-symbol and find-references support.") (description "This package provides a wrapper around @command{make} to produce colored output.") (license license:gpl2+))) + +(define-public makefile2graph + (package + (name "makefile2graph") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lindenb/" name + "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "0h1vchkpmm9h6s87p5nf0ksjxcmsxpx8k62a508w428n570wcr4l")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (arguments + '(#:test-target "test" + #:make-flags (list "CC=gcc" (string-append "prefix=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("graphviz" ,graphviz))) + (home-page "https://github.com/lindenb/makefile2graph") + (synopsis "Creates a graph of dependencies from GNU Make") + (description + "@code{make2graph} creates a graph of dependencies from GNU Make. The +output is a graphviz-dot file, a Gexf-XML file or a list of the deepest +independent targets.") + (license license:expat))) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index a475016876..33b957adfe 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -67,6 +67,15 @@ ;;; To avoid circular dependencies, this module should not be imported ;;; directly from anywhere. ;;; +;;; Below, we frequently use "inherit" to create modified packages. The +;;; reason why we use "inherit" instead of "package/inherit" is because we do +;;; not want these commencement packages to inherit grafts. By definition, +;;; these packages are not depended on at run time by any of the packages we +;;; use. Thus it does not make sense to inherit grafts. Furthermore, those +;;; grafts would often lead to extra overhead for users who would end up +;;; downloading those "-boot0" packages just to build package replacements +;;; that are in fact not going to be used. +;;; ;;; Code: (define gnu-make-boot0 @@ -649,27 +658,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. - (package (inherit glibc-final-with-bootstrap-bash) - (name "glibc") - (inputs `(("static-bash" ,static-bash-for-glibc) - ,@(alist-delete - "static-bash" - (package-inputs glibc-final-with-bootstrap-bash)))) - - ;; This time we need 'msgfmt' to install all the libc.mo files. - (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) - ("gettext" ,gettext-boot0))) - - ;; The final libc only refers to itself, but the 'debug' output contains - ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great - ;; if 'allowed-references' were per-output. - (arguments - `(#:allowed-references - ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) - static-bash-for-glibc - (package-outputs glibc-final-with-bootstrap-bash)) + ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. + (let ((glibc (package-with-bootstrap-guile glibc))) + (package/inherit glibc + (name "glibc") + (inputs `(("static-bash" ,static-bash-for-glibc) + ,@(alist-delete + "static-bash" + (package-inputs glibc-final-with-bootstrap-bash)))) + + ;; This time we need 'msgfmt' to install all the libc.mo files. + (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) + ("gettext" ,gettext-boot0))) + + (propagated-inputs + (package-propagated-inputs glibc-final-with-bootstrap-bash)) + + ;; The final libc only refers to itself, but the 'debug' output contains + ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great + ;; if 'allowed-references' were per-output. + (arguments + `(#:allowed-references + ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) + static-bash-for-glibc + (package-outputs glibc-final-with-bootstrap-bash)) - ,@(package-arguments glibc-final-with-bootstrap-bash))))) + ,@(package-arguments glibc-final-with-bootstrap-bash)))))) (define gcc-boot0-wrapped ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index dfdebdb1b3..e95b2a3d27 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -99,7 +99,7 @@ (zero? (system* "./configure" (string-append "--prefix=" out))))))))) - (home-page "http://zlib.net/") + (home-page "https://zlib.net/") (synopsis "Compression library") (description "zlib is designed to be a free, general-purpose, legally unencumbered -- @@ -598,6 +598,7 @@ with the sfArk algorithm.") (uri (git-reference (url "https://github.com/raboof/sfarkxtc.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj")))) @@ -841,14 +842,14 @@ extract such file systems.") (define-public pigz (package (name "pigz") - (version "2.3.3") + (version "2.4") (source (origin (method url-fetch) (uri (string-append "http://zlib.net/pigz/" name "-" version ".tar.gz")) (sha256 (base32 - "172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf")))) + "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54")))) (build-system gnu-build-system) (arguments `(#:phases @@ -866,7 +867,7 @@ extract such file systems.") #:make-flags (list "CC=gcc") #:test-target "tests")) (inputs `(("zlib" ,zlib))) - (home-page "http://zlib.net/pigz/") + (home-page "https://zlib.net/pigz/") (synopsis "Parallel implementation of gzip") (description "This package provides a parallel implementation of gzip that exploits @@ -1014,7 +1015,8 @@ human-readable output.") "http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.bz2")) (sha256 (base32 - "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d")))) + "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d")) + (patches (search-patches "lrzip-CVE-2017-8842.patch")))) (build-system gnu-build-system) (native-inputs `(;; nasm is only required when building for 32-bit x86 platforms @@ -1068,21 +1070,23 @@ algorithm within the Numpy framework.") (define-public snappy (package (name "snappy") - (version "1.1.3") + (version "1.1.7") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/google/snappy/releases/download/" - version "/" name "-" version ".tar.gz")) + (uri (string-append "https://github.com/google/snappy/archive/" + version ".tar.gz")) + (file-name (string-append "snappy-" version ".tar.gz")) (sha256 (base32 - "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig")))) - (build-system gnu-build-system) + "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (home-page "https://github.com/google/snappy") (synopsis "Fast compressor/decompressor") - (description "Snappy is a compression/decompression library. It does not + (description "Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; -instead, it aims for very high speeds and reasonable compression. For instance, +instead, it aims for very high speeds and reasonable compression. For instance, compared to the fastest mode of zlib, Snappy is an order of magnitude faster for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger.") @@ -1128,7 +1132,7 @@ install: libbitshuffle.so (define-public java-snappy (package (name "java-snappy") - (version "1.1.4") + (version "1.1.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/xerial/snappy-java/archive/" @@ -1136,7 +1140,7 @@ install: libbitshuffle.so (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1w58diryma7qz7aa24yv8shf3flxcbbw8jgcn2lih14wgmww58ww")))) + "0q4kxz2n97czf6g5gzq0d8yz22cgiaj7wp51rzsswh3bi99bpgg5")))) (build-system ant-build-system) (arguments `(#:jar-name "snappy.jar" @@ -1176,7 +1180,9 @@ install: libbitshuffle.so (("NAME\\): \\$\\(SNAPPY_OBJ\\)") "NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)")) ;; Finally we can run the Makefile to build the dynamic library. - (zero? (system* "make" "native")))) + ;; Use the -nocmake target to avoid a dependency on cmake, + ;; which in turn requires the "git_unpacked" directory. + (invoke "make" "native-nocmake"))) ;; Once we have built the shared library, we need to place it in the ;; "build" directory so it can be added to the jar file. (add-after 'build-jni 'copy-jni @@ -1185,13 +1191,14 @@ install: libbitshuffle.so "build/classes/org/xerial/snappy/native"))) (add-before 'check 'fix-failing (lambda _ - ;; This package assumes maven build, which puts results in "target". - ;; We put them in "build" instead, so fix that. - (substitute* "src/test/java/org/xerial/snappy/SnappyLoaderTest.java" - (("target/classes") "build/classes")) - ;; FIXME: probably an error - (substitute* "src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java" - (("91080") "91013"))))))) + (with-directory-excursion "src/test/java/org/xerial/snappy" + ;; This package assumes maven build, which puts results in "target". + ;; We put them in "build" instead, so fix that. + (substitute* "SnappyLoaderTest.java" + (("target/classes") "build/classes")) + ;; This requires Hadoop, which is not in Guix yet. + (delete-file "SnappyHadoopCompatibleOutputStreamTest.java")) + #t))))) (inputs `(("osgi-framework" ,java-osgi-framework))) (propagated-inputs @@ -1202,6 +1209,8 @@ install: libbitshuffle.so ("hamcrest" ,java-hamcrest-core) ("xerial-core" ,java-xerial-core) ("classworlds" ,java-plexus-classworlds) + ("commons-lang" ,java-commons-lang) + ("commons-io" ,java-commons-io) ("perl" ,perl))) (home-page "https://github.com/xerial/snappy-java") (synopsis "Compression/decompression algorithm in Java") @@ -1531,6 +1540,7 @@ or junctions, and always follows hard links.") (origin (method url-fetch) (uri (string-append "http://github.com/twogood/unshield/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x")))) diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index 22a0427b9a..0da9f8438b 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -60,8 +60,8 @@ #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (mkdir-p bin) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) (install-file "src/conky" bin)) #t))))) (inputs diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e1fb1b6215..b7126518c1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,32 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages web)) +(define-public r-ape + (package + (name "r-ape") + (version "5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ape" version)) + (sha256 + (base32 + "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3")))) + (build-system r-build-system) + (propagated-inputs + `(("r-lattice" ,r-lattice) + ("r-nlme" ,r-nlme) + ("r-rcpp" ,r-rcpp))) + (home-page "http://ape-package.ird.fr/") + (synopsis "Analyses of phylogenetics and evolution") + (description + "This package provides functions for reading, writing, plotting, and +manipulating phylogenetic trees, analyses of comparative data in a +phylogenetic framework, ancestral character analyses, analyses of +diversification and macroevolution, computing distances from DNA sequences, +and several other tools.") + (license license:gpl2+))) + (define-public r-colorspace (package (name "r-colorspace") @@ -1472,14 +1499,14 @@ imputations.") (define-public r-truncnorm (package (name "r-truncnorm") - (version "1.0-7") + (version "1.0-8") (source (origin (method url-fetch) (uri (cran-uri "truncnorm" version)) (sha256 (base32 - "1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7")))) + "0zn88wdd58223kibk085rhsikl4yhlrwiyq109hzjg06hy6lwmj9")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/truncnorm/") (synopsis "Truncated normal distribution") @@ -1637,21 +1664,21 @@ simplifying cross-class interoperability.") (define-public r-performanceanalytics (package (name "r-performanceanalytics") - (version "1.4.3541") + (version "1.5.2") (source (origin (method url-fetch) (uri (cran-uri "PerformanceAnalytics" version)) (sha256 (base32 - "1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v")))) + "01bgm57z079g6r505w3bj293zkbd49fwa8sg55z87vizwavipml6")))) (properties `((upstream-name . "PerformanceAnalytics"))) (build-system r-build-system) (propagated-inputs - `(("r-xts" ,r-xts) + `(("r-quadprog" ,r-quadprog) + ("r-xts" ,r-xts) ("r-zoo" ,r-zoo))) - (native-inputs `(("gfortran" ,gfortran))) (home-page "http://r-forge.r-project.org/projects/returnanalytics/") (synopsis "Econometric tools for performance and risk analysis") (description "This is a collection of econometric functions for @@ -2139,14 +2166,14 @@ display.") (define-public r-pillar (package (name "r-pillar") - (version "1.1.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "1gh3j2pbbf5y4d5nyqnlr0x27jjyvjjspcccmw61airs1n6rx8jq")))) + "1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -2225,3 +2252,965 @@ meta-analysis of significance values including the methods of Edgington, Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate published results; and a routine for graphical display.") (license license:gpl2))) + +(define-public r-network + (package + (name "r-network") + (version "1.13.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "network" version)) + (sha256 + (base32 + "11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s")))) + (build-system r-build-system) + (home-page "http://statnet.org/") + (synopsis "Classes for relational data") + (description + "This package provides tools to create and modify network objects. The +@code{network} class can represent a range of relational data types, and +supports arbitrary vertex/edge/graph attributes.") + (license license:gpl2+))) + +(define-public r-statnet-common + (package + (name "r-statnet-common") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "statnet.common" version)) + (sha256 + (base32 + "0yw6l5b4qv0jqlg4zyczas7m12a5pyqghs6ydxy2f6v6vxkijvi0")))) + (properties + `((upstream-name . "statnet.common"))) + (build-system r-build-system) + (home-page "http://www.statnet.org") + (synopsis "R scripts and utilities used by the Statnet software") + (description "This package provides non-statistical utilities used by the +software developed by the Statnet Project.") + (license license:gpl3))) + +(define-public r-sna + (package + (name "r-sna") + (version "2.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "sna" version)) + (sha256 + (base32 + "1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2")))) + (build-system r-build-system) + (propagated-inputs + `(("r-network" ,r-network) + ("r-statnet-common" ,r-statnet-common))) + (home-page "http://www.statnet.org") + (synopsis "Tools for social network analysis") + (description + "This package provides a range of tools for social network analysis, +including node and graph-level indices, structural distance and covariance +methods, structural equivalence detection, network regression, random graph +generation, and 2D/3D network visualization.") + (license license:gpl2+))) + +(define-public r-ttr + (package + (name "r-ttr") + (version "0.23-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "TTR" version)) + (sha256 + (base32 + "07r62ngyzjl4aszdxnr3n6bnbcgcap32yhd430jsilicg8n06di1")))) + (properties `((upstream-name . "TTR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-xts" ,r-xts) + ("r-zoo" ,r-zoo))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://github.com/joshuaulrich/TTR") + (synopsis "Technical trading rules") + (description + "This package provides functions and data to construct technical trading +rules with R.") + (license license:gpl2))) + +(define-public r-leaps + (package + (name "r-leaps") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "leaps" version)) + (sha256 + (base32 + "11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m")))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/leaps/") + (synopsis "Regression subset selection") + (description + "This package provides tools for regression subset selection, including +exhaustive search.") + (license license:gpl2+))) + +(define-public r-splus2r + (package + (name "r-splus2r") + (version "1.2-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "splus2R" version)) + (sha256 + (base32 + "0xrbj8vxy0pc6hl7m8abv71d3hjw47cl51s7j7priadyqczkq6sz")))) + (properties `((upstream-name . "splus2R"))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/splus2R/") + (synopsis "Supplemental S-PLUS functionality in R") + (description + "Currently there are many functions in S-PLUS that are missing in R. To +facilitate the conversion of S-PLUS packages to R packages, this package +provides some missing S-PLUS functionality in R.") + (license license:gpl2))) + +(define-public r-ifultools + (package + (name "r-ifultools") + (version "2.0-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "ifultools" version)) + (sha256 + (base32 + "0pv2msaa1rmj8csxdclzi2jwg9pfdvh87blj9j3xa3myisglq092")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-splus2r" ,r-splus2r))) + (home-page "http://cran.r-project.org/web/packages/ifultools/") + (synopsis "Insightful research tools") + (description "This package provides C code used by the wmtsa, fractal, and +sapa R packages.") + (license license:gpl2))) + +(define-public r-sapa + (package + (name "r-sapa") + (version "2.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "sapa" version)) + (sha256 + (base32 + "056xlh14dnzq4x7sbp7ff2k61jxy7110a742b502vz549qfrr5ds")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ifultools" ,r-ifultools) + ("r-splus2r" ,r-splus2r))) + (home-page "http://cran.r-project.org/web/packages/sapa/") + (synopsis "Spectral analysis for physical applications") + (description "This package provides software for the book Spectral +Analysis for Physical Applications, Donald B. Percival and Andrew T. Walden, +Cambridge University Press, 1993.") + (license license:gpl2))) + +(define-public r-quantmod + (package + (name "r-quantmod") + (version "0.4-12") + (source + (origin + (method url-fetch) + (uri (cran-uri "quantmod" version)) + (sha256 + (base32 + "0y7gh0k1s10vdsfch8777avbhf99mc9crikvx7ahqrw0j631vmhq")))) + (build-system r-build-system) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-ttr" ,r-ttr) + ("r-xts" ,r-xts) + ("r-zoo" ,r-zoo))) + (home-page "http://cran.r-project.org/web/packages/quantmod/") + (synopsis "Quantitative financial modelling framework") + (description "This package provides a quantitative financial modelling +framework to allow users to specify, build, trade, and analyse quantitative +financial trading strategies.") + (license license:gpl3))) + +(define-public r-tseries + (package + (name "r-tseries") + (version "0.10-43") + (source + (origin + (method url-fetch) + (uri (cran-uri "tseries" version)) + (sha256 + (base32 + "1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2")))) + (build-system r-build-system) + (propagated-inputs + `(("r-quadprog" ,r-quadprog) + ("r-quantmod" ,r-quantmod) + ("r-zoo" ,r-zoo))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/tseries/") + (synopsis "Time series analysis and computational finance") + (description + "This package provides functions relating to time series analysis and +computational finance.") + (license license:gpl2))) + +(define-public r-wmtsa + (package + (name "r-wmtsa") + (version "2.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "wmtsa" version)) + (sha256 + (base32 + "1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ifultools" ,r-ifultools) + ("r-mass" ,r-mass) + ("r-splus2r" ,r-splus2r))) + (home-page "http://cran.r-project.org/web/packages/wmtsa/") + (synopsis "Wavelet methods for time series analysis") + (description + "This package provides software to accompany the book \"Wavelet Methods +for Time Series Analysis\", Donald B. Percival and Andrew T. Walden, Cambridge +University Press, 2000.") + (license license:gpl2))) + +(define-public r-tsa + (package + (name "r-tsa") + (version "1.01") + (source + (origin + (method url-fetch) + (uri (cran-uri "TSA" version)) + (sha256 + (base32 + "0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx")))) + (properties `((upstream-name . "TSA"))) + (build-system r-build-system) + (propagated-inputs + `(("r-leaps" ,r-leaps) + ("r-locfit" ,r-locfit) + ("r-mgcv" ,r-mgcv) + ("r-tseries" ,r-tseries))) + (home-page "http://www.stat.uiowa.edu/~kchan/TSA.htm") + (synopsis "Time series analysis") + (description + "This package contains R functions and datasets detailed in the book +\"Time Series Analysis with Applications in R (second edition)\" by Jonathan +Cryer and Kung-Sik Chan.") + (license license:gpl2+))) + +(define-public r-extradistr + (package + (name "r-extradistr") + (version "1.8.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "extraDistr" version)) + (sha256 + (base32 + "0ywn4qwnamv36l1hw27l9y5kh3v6ha5781wsv2bz6szqjgg7kdb3")))) + (properties `((upstream-name . "extraDistr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/twolodzko/extraDistr") + (synopsis "Additional univariate and multivariate distributions") + (description + "This package implements density, distribution functions, quantile +functions and random generation functions for a large number of univariate and +multivariate distributions.") + (license license:gpl2))) + +(define-public r-fractal + (package + (name "r-fractal") + (version "2.0-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "fractal" version)) + (sha256 + (base32 + "18lr9z0gslvfc3z8vyj3krqj3bfhg60zv1fzinrwwkc4cpk1w7mp")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ifultools" ,r-ifultools) + ("r-mass" ,r-mass) + ("r-sapa" ,r-sapa) + ("r-scatterplot3d" ,r-scatterplot3d) + ("r-splus2r" ,r-splus2r) + ("r-wmtsa" ,r-wmtsa))) + (home-page "http://cran.r-project.org/web/packages/fractal/") + (synopsis "Fractal time series modeling and analysis") + (description + "This package provides tools for stochastic fractal and deterministic +chaotic time series analysis.") + (license license:gpl2))) + +(define-public r-urca + (package + (name "r-urca") + (version "1.3-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "urca" version)) + (sha256 + (base32 + "1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732")))) + (build-system r-build-system) + (propagated-inputs `(("r-nlme" ,r-nlme))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/urca/") + (synopsis "Unit root and cointegration tests for time series data") + (description + "This package provides unit root and cointegration tests encountered in +applied econometric analysis.") + (license license:gpl2+))) + +(define-public r-cubature + (package + (name "r-cubature") + (version "1.3-11") + (source + (origin + (method url-fetch) + (uri (cran-uri "cubature" version)) + (sha256 + (base32 + "06f6gsvbb732p80r6hxvzh4ik546icxfvx21dyh65ypmw3kgm64k")))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/bnaras/cubature") + (synopsis "Adaptive multivariate integration over hypercubes") + (description + "This package is an R wrapper around the cubature C library for adaptive +multivariate integration over hypercubes. This version provides both +@code{hcubature} and @code{pcubature} routines in addition to a vector +interface.") + ;; The included cubature C library is released under GPLv2+, but the + ;; wrapper declares the license to be GPLv3+. + (license (list license:gpl2+ license:gpl3+)))) + +(define-public r-trend + (package + (name "r-trend") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "trend" version)) + (sha256 + (base32 + "06yifqbsvxbmk5gld4z2nnyhf59v8ks5xjwacmb25mv9r6bn388b")))) + (build-system r-build-system) + (propagated-inputs + `(("r-extradistr" ,r-extradistr))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/trend/") + (synopsis "Non-parametric trend tests and change-point detection") + (description + "The analysis of environmental data often requires the detection of +trends and change-points. This package includes tests for trend +detection (Cox-Stuart Trend Test, Mann-Kendall Trend Test, (correlated) +Hirsch-Slack Test, partial Mann-Kendall Trend Test, multivariate (multisite) +Mann-Kendall Trend Test, (Seasonal) Sen's slope, partial Pearson and Spearman +correlation trend test), change-point detection (Lanzante's test procedures, +Pettitt's test, Buishand Range Test, Buishand U Test, Standard Normal +Homogeinity Test), detection of non-randomness (Wallis-Moore Phase Frequency +Test, Bartels rank von Neumann's ratio test, Wald-Wolfowitz Test) and the two +sample Robust Rank-Order Distributional Test.") + (license license:gpl3))) + +(define-public r-expm + (package + (name "r-expm") + (version "0.999-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "expm" version)) + (sha256 + (base32 + "1mihl67kvv1xv0figp25jkmwfn4iwkcx15cng2348y8gm6zybw9q")))) + (build-system r-build-system) + (propagated-inputs `(("r-matrix" ,r-matrix))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://r-forge.r-project.org/projects/expm/") + (synopsis "Tools for matrix exponentials and related quantities") + (description + "This package provides tools for the computation of the matrix +exponential, logarithm, square root, and related quantities.") + (license license:gpl2+))) + +(define-public r-complexplus + (package + (name "r-complexplus") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "complexplus" version)) + (sha256 + (base32 + "16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx")))) + (build-system r-build-system) + (propagated-inputs + `(("r-expm" ,r-expm) + ("r-matrix" ,r-matrix))) + (home-page "http://cran.r-project.org/web/packages/complexplus/") + (synopsis "Functions of complex or real variables") + (description + "This package extends several functions to the complex domain, including +the matrix exponential and logarithm, and the determinant.") + (license license:gpl2))) + +(define-public r-phontools + (package + (name "r-phontools") + (version "0.2-2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "phonTools" version)) + (sha256 + (base32 + "01i481mhswsys3gpasw9gn6nxkfmi7bz46g5c84m13pg0cv8hxc7")))) + (properties `((upstream-name . "phonTools"))) + (build-system r-build-system) + (home-page "http://www.santiagobarreda.com/rscripts.html") + (synopsis "Tools for phonetic and acoustic analyses") + (description + "This package contains tools for the organization, display, and analysis +of the sorts of data frequently encountered in phonetics research and +experimentation, including the easy creation of IPA vowel plots, and the +creation and manipulation of WAVE audio files.") + (license license:bsd-2))) + +(define-public r-np + (package + (name "r-np") + (version "0.60-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "np" version)) + (sha256 + (base32 + "1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr")))) + (build-system r-build-system) + (propagated-inputs + `(("r-boot" ,r-boot) + ("r-cubature" ,r-cubature) + ("r-quantreg" ,r-quantreg))) + (home-page "https://github.com/JeffreyRacine/R-Package-np") + (synopsis "Non-parametric kernel smoothing methods for mixed data types") + (description "This package provides non-parametric (and semi-parametric) +kernel methods that seamlessly handle a mix of continuous, unordered, and +ordered factor data types.") + ;; Any version of the GPL. + (license license:gpl3+))) + +(define-public r-powerplus + (package + (name "r-powerplus") + (version "3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "powerplus" version)) + (sha256 + (base32 + "0ayp6x34hkzgris4j3zbbs0r23n81bhww3wgfyy630ri4sk6brrn")))) + (build-system r-build-system) + (propagated-inputs + `(("r-complexplus" ,r-complexplus) + ("r-expm" ,r-expm) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-phontools" ,r-phontools))) + (home-page "http://cran.r-project.org/web/packages/powerplus/") + (synopsis "Exponentiation operations") + (description + "This package provides tools for the computation of matrix and scalar +exponentiation.") + (license license:gpl2))) + +(define-public r-heatmaply + (package + (name "r-heatmaply") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "heatmaply" version)) + (sha256 + (base32 + "03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc")))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-colorspace" ,r-colorspace) + ("r-dendextend" ,r-dendextend) + ("r-ggplot2" ,r-ggplot2) + ("r-gplots" ,r-gplots) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-magrittr" ,r-magrittr) + ("r-plotly" ,r-plotly) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-reshape2" ,r-reshape2) + ("r-scales" ,r-scales) + ("r-seriation" ,r-seriation) + ("r-viridis" ,r-viridis) + ("r-webshot" ,r-webshot))) + (home-page "https://cran.r-project.org/package=heatmaply") + (synopsis "Interactive cluster heat maps using plotly") + (description + "This package enables you to create interactive cluster heatmaps that can +be saved as a stand-alone HTML file, embedded in R Markdown documents or in a +Shiny app, and made available in the RStudio viewer pane. Hover the mouse +pointer over a cell to show details or drag a rectangle to zoom. A heatmap is +a popular graphical method for visualizing high-dimensional data, in which a +table of numbers is encoded as a grid of colored cells. The rows and columns +of the matrix are ordered to highlight patterns and are often accompanied by +dendrograms.") + ;; Either version of the license. + (license (list license:gpl2 license:gpl3)))) + +(define-public r-cgdsr + (package + (name "r-cgdsr") + (version "1.2.10") + (source + (origin + (method url-fetch) + (uri (cran-uri "cgdsr" version)) + (sha256 + (base32 + "1xyhw7mhmjichr1l6f9y1qvfj9wm87kfbm87ji7lcwf36gxh5g23")))) + (build-system r-build-system) + (propagated-inputs + `(("r-r-methodss3" ,r-r-methodss3) + ("r-r-oo" ,r-r-oo))) + (home-page "https://github.com/cBioPortal/cgdsr") + (synopsis "R-based API for accessing the MSKCC Cancer Genomics Data Server") + (description + "This package provides a basic set of R functions for querying the Cancer +Genomics Data Server (CGDS), hosted by the Computational Biology Center at +Memorial-Sloan-Kettering Cancer Center (MSKCC).") + (license license:lgpl3))) + +(define-public r-import + (package + (name "r-import") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "import" version)) + (sha256 + (base32 + "0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji")))) + (build-system r-build-system) + (home-page "https://github.com/smbache/import") + (synopsis "Import mechanism for R") + (description + "This is an alternative mechanism for importing objects from packages. +The syntax allows for importing multiple objects from a package with a single +command in an expressive way. The import package bridges some of the gap +between using @code{library} (or @code{require}) and direct (single-object) +imports. Furthermore the imported objects are not placed in the current +environment. It is also possible to import objects from stand-alone @code{.R} +files.") + (license license:expat))) + +(define-public r-shinyace + (package + (name "r-shinyace") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "shinyAce" version)) + (sha256 + (base32 + "0ycka8rsw0178q9klfid97vdn5cbyx3r778nis5s3dqipdyazdm9")))) + (properties `((upstream-name . "shinyAce"))) + (build-system r-build-system) + (propagated-inputs + `(("r-shiny" ,r-shiny))) + (home-page "http://cran.r-project.org/web/packages/shinyAce") + (synopsis "Ace editor bindings for Shiny") + (description + "This package provides Ace editor bindings to enable a rich text editing +environment within Shiny.") + (license license:expat))) + +(define-public r-radiant-data + (package + (name "r-radiant-data") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "radiant.data" version)) + (sha256 + (base32 + "1ylina1jlrmvjkj8pwg0ip5jv1038vnzyckmf542xl7g11x8rvw1")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete files that are under CC-NC-SA. + (delete-file-recursively "inst/app/tools/help") + #t)))) + (properties `((upstream-name . "radiant.data"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-broom" ,r-broom) + ("r-car" ,r-car) + ("r-curl" ,r-curl) + ("r-dplyr" ,r-dplyr) + ("r-dt" ,r-dt) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-import" ,r-import) + ("r-jsonlite" ,r-jsonlite) + ("r-knitr" ,r-knitr) + ("r-lubridate" ,r-lubridate) + ("r-magrittr" ,r-magrittr) + ("r-markdown" ,r-markdown) + ("r-pryr" ,r-pryr) + ("r-psych" ,r-psych) + ("r-readr" ,r-readr) + ("r-rmarkdown" ,r-rmarkdown) + ("r-rstudioapi" ,r-rstudioapi) + ("r-scales" ,r-scales) + ("r-shiny" ,r-shiny) + ("r-shinyace" ,r-shinyace) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/radiant-rstats/radiant.data") + (synopsis "Data menu for Radiant: business analytics using R and Shiny") + (description + "The Radiant Data menu includes interfaces for loading, saving, viewing, +visualizing, summarizing, transforming, and combining data. It also contains +functionality to generate reproducible reports of the analyses conducted in +the application.") + (license license:agpl3))) + +(define-public r-algdesign + (package + (name "r-algdesign") + (version "1.1-7.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "AlgDesign" version)) + (sha256 + (base32 + "0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz")))) + (properties `((upstream-name . "AlgDesign"))) + (build-system r-build-system) + (home-page "https://github.com/jvbraun/AlgDesign") + (synopsis "Algorithmic experimental design") + (description + "This package provides tools to calculate exact and approximate theory +experimental designs for D, A, and I criteria. Very large designs may be +created. Experimental designs may be blocked or blocked designs created from +a candidate list, using several criteria. The blocking can be done when whole +and within plot factors interact.") + (license license:gpl2+))) + +(define-public r-signal + (package + (name "r-signal") + (version "0.7-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "signal" version)) + (sha256 + (base32 + "1vsxramz5qd9q9s3vlqzmfdpmwl2rhlb2n904zw6f0fg0xxjfq3b")))) + (build-system r-build-system) + (propagated-inputs `(("r-mass" ,r-mass))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://cran.r-project.org/web/packages/signal/") + (synopsis "Signal processing") + (description + "This package provides a set of signal processing functions originally +written for Matlab and GNU Octave. It includes filter generation utilities, +filtering functions, resampling routines, and visualization of filter models. +It also includes interpolation functions.") + (license license:gpl2))) + +(define-public r-psych + (package + (name "r-psych") + (version "1.7.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "psych" version)) + (sha256 + (base32 + "0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k")))) + (build-system r-build-system) + (propagated-inputs + `(("r-foreign" ,r-foreign) + ("r-lattice" ,r-lattice) + ("r-mnormt" ,r-mnormt) + ("r-nlme" ,r-nlme))) + (home-page "http://cran.r-project.org/web/packages/psych") + (synopsis "Procedures for psychological, psychometric, and personality research") + (description + "This package provides a general purpose toolbox for personality, +psychometric theory and experimental psychology. The functions are primarily +for multivariate analysis and scale construction using factor analysis, +principal component analysis, cluster analysis and reliability analysis, +although others provide basic descriptive statistics. It provides functions +for analyzing data at multiple levels within and between group statistics, +including correlations and factor analysis; functions for simulating and +testing particular item and test structures are included. Several functions +serve as a useful front end for structural equation modeling.") + (license license:gpl2+))) + +(define-public r-gsubfn + (package + (name "r-gsubfn") + (version "0.6-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "gsubfn" version)) + (sha256 + (base32 + "196x4c3ihf4q3i0v7b1xa6jm8jjld2rsx00qz03n90wfnjdx5idv")))) + (build-system r-build-system) + (propagated-inputs `(("r-proto" ,r-proto))) + (home-page "http://gsubfn.googlecode.com") + (synopsis "Utilities for strings and function arguments.") + (description + "This package provides @code{gsubfn} which is like @code{gsub} but can +take a replacement function or certain other objects instead of the +replacement string. Matches and back references are input to the replacement +function and replaced by the function output. @code{gsubfn} can be used to +split strings based on content rather than delimiters and for quasi-perl-style +string interpolation. The package also has facilities for translating +formulas to functions and allowing such formulas in function calls instead of +functions.") + (license license:gpl2+))) + +(define-public r-sqldf + (package + (name "r-sqldf") + (version "0.4-11") + (source + (origin + (method url-fetch) + (uri (cran-uri "sqldf" version)) + (sha256 + (base32 + "0q12vsb53p2wchgp8wfz5bk08wfnm0jxjrakclj4jyy6x3a7ksff")))) + (build-system r-build-system) + (propagated-inputs + `(("r-chron" ,r-chron) + ("r-dbi" ,r-dbi) + ("r-gsubfn" ,r-gsubfn) + ("r-proto" ,r-proto) + ("r-rsqlite" ,r-rsqlite))) + (home-page "https://github.com/ggrothendieck/sqldf") + (synopsis "Manipulate R data frames using SQL") + (description + "The @code{sqldf} function is typically passed a single argument which is +an SQL select statement where the table names are ordinary R data frame names. +@code{sqldf} transparently sets up a database, imports the data frames into +that database, performs the SQL statement and returns the result using a +heuristic to determine which class to assign to each column of the returned +data frame. The @code{sqldf} or @code{read.csv.sql} functions can also be +used to read filtered files into R even if the original files are larger than +R itself can handle.") + (license license:gpl2))) + +(define-public r-abind + (package + (name "r-abind") + (version "1.4-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "abind" version)) + (sha256 + (base32 + "0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/abind/") + (synopsis "Combine multidimensional arrays") + (description + "This package provides tools to combine multidimensional arrays into a +single array. This is a generalization of @code{cbind} and @code{rbind}. It +works with vectors, matrices, and higher-dimensional arrays. It also provides +the functions @code{adrop}, @code{asub}, and @code{afill} for manipulating, +extracting and replacing data in arrays.") + (license license:lgpl2.0+))) + +(define-public r-prroc + (package + (name "r-prroc") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "PRROC" version)) + (sha256 + (base32 + "03hvh92lq4i4w4mla9bvwrwb4626f4hvlxgdn57hamp70960vjyc")))) + (properties `((upstream-name . "PRROC"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/PRROC/") + (synopsis "Precision-Recall and ROC curves for weighted and unweighted data") + (description + "This package computes the areas under the @dfn{precision-recall} (PR) +and ROC curve for weighted (e.g. soft-labeled) and unweighted data. In +contrast to other implementations, the interpolation between points of the PR +curve is done by a non-linear piecewise function. In addition to the areas +under the curves, the curves themselves can also be computed and plotted by a +specific S3-method.") + (license license:gpl3))) + +(define-public r-vim + (package + (name "r-vim") + (version "4.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "VIM" version)) + (sha256 + (base32 + "1vjcs5wvjv94ln01d94h9rs4j50d3ky4n26mm3prgh13raylrmnd")))) + (properties `((upstream-name . "VIM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-car" ,r-car) + ("r-colorspace" ,r-colorspace) + ("r-data-table" ,r-data-table) + ("r-e1071" ,r-e1071) + ("r-laeken" ,r-laeken) + ("r-mass" ,r-mass) + ("r-nnet" ,r-nnet) + ("r-rcpp" ,r-rcpp) + ("r-robustbase" ,r-robustbase) + ("r-sp" ,r-sp) + ("r-vcd" ,r-vcd))) + (home-page "https://github.com/alexkowa/VIM") + (synopsis "Visualization and imputation of missing values") + (description + "This package provides tools for the visualization of missing and/or +imputed values are introduced, which can be used for exploring the data and +the structure of the missing and/or imputed values. Depending on this +structure of the missing values, the corresponding methods may help to +identify the mechanism generating the missing values and allows to explore the +data including missing values. In addition, the quality of imputation can be +visually explored using various univariate, bivariate, multiple and +multivariate plot methods.") + (license license:gpl2+))) + +(define-public r-fnn + (package + (name "r-fnn") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "FNN" version)) + (sha256 + (base32 + "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj")))) + (properties `((upstream-name . "FNN"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/FNN") + (synopsis "Fast nearest neighbor search algorithms and applications") + (description + "This package provides cover-tree and kd-tree fast k-nearest neighbor +search algorithms. Related applications including KNN classification, +regression and information measures are implemented.") + ;; The DESCRIPTION file erroneously states that GPL version 2.1 or + ;; later can be used. + (license license:gpl2+))) + +(define-public r-smoother + (package + (name "r-smoother") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "smoother" version)) + (sha256 + (base32 + "0nqr1bvlr5bnasqg74zmknjjl4x28kla9h5cxpga3kq5z215pdci")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ttr" ,r-ttr))) + (home-page "http://cran.r-project.org/web/packages/smoother") + (synopsis "Functions relating to the smoothing of numerical data") + (description + "This package provides a collection of methods for smoothing numerical +data, commencing with a port of the Matlab gaussian window smoothing function. +In addition, several functions typically used in smoothing of financial data +are included.") + (license license:gpl2))) + +(define-public r-riverplot + (package + (name "r-riverplot") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "riverplot" version)) + (sha256 + (base32 + "0q1icpny8nkxyjhawyjzwrw8qlz0ayn2xyrsqrm4vkxyv6c9xk8z")))) + (build-system r-build-system) + (home-page "https://logfc.wordpress.com") + (synopsis "Sankey or ribbon plots") + (description + "Sankey plots are a type of diagram that is convenient to illustrate how +flow of information, resources etc. separates and joins, much like observing +how rivers split and merge. For example, they can be used to compare +different clusterings. This package provides an implementation of Sankey +plots for R.") + (license license:gpl2+))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 4922c58753..1e447d4f3a 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -258,7 +258,7 @@ the wrong hands.") (define-public keyutils (package (name "keyutils") - (version "1.5.9") + (version "1.5.10") (source (origin (method url-fetch) @@ -267,7 +267,7 @@ the wrong hands.") version ".tar.bz2")) (sha256 (base32 - "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd")) + "1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i")) (modules '((guix build utils))) ;; Create relative symbolic links instead of absolute ones to /lib/* (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/") @@ -384,9 +384,9 @@ no man page, refer to the home page for usage details.") (delete 'configure) ;no configuration to be done (add-after 'install 'i18n (lambda* (#:key make-flags #:allow-other-keys) - (zero? (apply system* - "make" "-C" "extras/translations" - "install" make-flags)))) + (apply invoke "make" "-C" "extras/translations" + "install" make-flags) + #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -411,8 +411,9 @@ no man page, refer to the home page for usage details.") ;; querying `tomb -h`. (let ((tomb (string-append (assoc-ref outputs "out") "/bin/tomb"))) - (zero? (system* tomb "dig" "-s" "10" "secrets.tomb")))))))) - (home-page "http://www.dyne.org/software/tomb") + (invoke tomb "dig" "-s" "10" "secrets.tomb") + #t)))))) + (home-page "https://www.dyne.org/software/tomb") (synopsis "File encryption for secret data") (description "Tomb is an application to manage the creation and access of encrypted diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index e51e014e99..fbf177d9da 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,7 @@ (package (name "curl") (version "7.57.0") - (replacement curl-7.58.0) + (replacement curl-7.59.0) (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" @@ -136,10 +137,10 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define-public curl-7.58.0 +(define-public curl-7.59.0 (package (inherit curl) - (version "7.58.0") + (version "7.59.0") (source (origin (method url-fetch) @@ -147,32 +148,38 @@ tunneling, and so on.") version ".tar.xz")) (sha256 (base32 - "1qz303lagxidmkyym90mxiaqnqddwi2219vzydsyn29n4iski0ba")))))) + "1z310hrjm2vmbcpkyp81dcmj9rk127zkjyawpy2pah0nz6yslkp4")))))) (define-public kurly (package (name "kurly") - (version "1.1.0") + (version "1.2.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/davidjpeacock/kurly.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3")))) + "01kp33gvzxmk6ipz7323wqwmbc90q2mwzsjig8rzpqsm4kji5hi6")))) (build-system go-build-system) (arguments `(#:import-path "github.com/davidjpeacock/kurly" #:install-source? #f #:phases (modify-phases %standard-phases - (add-after 'install 'install-readme - (lambda* (#:key outputs import-path #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (readme (string-append "src/" import-path "/README.md")) - (misc (string-append out "/share/kurly/misc/"))) - (install-file readme misc) + (add-after 'install 'install-documentation + (lambda* (#:key import-path outputs #:allow-other-keys) + (let* ((source (string-append "src/" import-path)) + (out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version)) + (man (string-append out "/share/man/man1"))) + (with-directory-excursion source + (install-file "README.md" doc) + (mkdir-p man) + (copy-file "meta/kurly.man" + (string-append man "/kurly.1"))) #t)))))) (inputs `(("go-github-com-alsm-ioprogress" ,go-github-com-alsm-ioprogress) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e289a604f9..56531f50e3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> -;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> @@ -396,14 +396,15 @@ mapping from string keys to string values.") (define-public memcached (package (name "memcached") - (version "1.5.0") + (version "1.5.6") (source (origin (method url-fetch) (uri (string-append "https://memcached.org/files/memcached-" version ".tar.gz")) (sha256 - (base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0")))) + (base32 + "00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn")))) (build-system gnu-build-system) (inputs `(("libevent" ,libevent) @@ -699,14 +700,14 @@ as a drop-in replacement of MySQL.") (define-public postgresql (package (name "postgresql") - (version "10.2") + (version "10.3") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy")))) + "06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-uuid=e2fs") @@ -744,14 +745,14 @@ pictures, sounds, or video.") (package (inherit postgresql) (name "postgresql") - (version "9.6.6") + (version "9.6.8") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r")))))) + "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga")))))) (define-public qdbm (package @@ -840,7 +841,7 @@ types are supported, as is encryption.") (define-public rocksdb (package (name "rocksdb") - (version "5.2.1") + (version "5.10.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/rocksdb" @@ -848,18 +849,28 @@ types are supported, as is encryption.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb")) + "0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944")) (modules '((guix build utils))) (snippet '(begin ;; TODO: unbundle gtest. (delete-file "build_tools/gnu_parallel") + (substitute* "Makefile" + (("build_tools/gnu_parallel") "parallel")) #t)))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" + `(#:make-flags (list "CC=gcc" "V=1" + ;; Ceph requires that RTTI is enabled. + "USE_RTTI=1" (string-append "INSTALL_PATH=" - (assoc-ref %outputs "out"))) + (assoc-ref %outputs "out")) + + ;; Running the full test suite takes hours and require + ;; a lot of disk space. Instead we only run a subset + ;; (see .travis.yml and Makefile). + "ROCKSDBTESTS_END=db_tailing_iter_test") + #:test-target "check_some" ;; Many tests fail on 32-bit platforms. There are multiple reports about ;; this upstream, but it's not going to be supported any time soon. #:tests? (let ((system ,(or (%current-target-system) @@ -871,7 +882,6 @@ types are supported, as is encryption.") (add-after 'unpack 'patch-Makefile (lambda _ (substitute* "Makefile" - (("build_tools/gnu_parallel") "parallel") ;; Don't depend on the static library when installing. (("install: install-static") "install: install-shared") @@ -888,20 +898,20 @@ types are supported, as is encryption.") (add-before 'check 'disable-failing-tests (lambda _ (substitute* "Makefile" - ;; This test fails with GCC-5 and is unmaintained. - ;; https://github.com/facebook/rocksdb/issues/2148 - (("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\") ;; These tests reliably fail due to "Too many open files". (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\") (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\")) #t)) - (add-after 'check 'build-release-libraries + (add-after 'check 'build ;; The default build target is a debug build for tests. The - ;; install target depends on "shared_lib" and "static_lib" - ;; targets for release builds so we build them here for clarity. - ;; TODO: Add debug output. - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "shared_lib" make-flags))))))) + ;; install target depends on the "shared_lib" release target + ;; so we build it here for clarity. + (lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys) + (apply invoke "make" "shared_lib" + `(,@(if parallel-build? + `("-j" ,(number->string (parallel-job-count))) + '()) + ,@make-flags))))))) (native-inputs `(("parallel" ,parallel) ("perl" ,perl) @@ -925,8 +935,9 @@ between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor} (RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded compactions, making it specially suitable for storing multiple terabytes of data in a single database. RocksDB is partially based on @code{LevelDB}.") - ;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0. - (license (list license:bsd-3 license:asl2.0)))) + ;; RocksDB is dual licensed under GPL2 and ASL 2.0. Some header + ;; files carry the 3-clause BSD license. + (license (list license:gpl2 license:asl2.0 license:bsd-3)))) (define-public sparql-query (package @@ -2037,14 +2048,14 @@ and web services platform functionality.") (define-public r-rmysql (package (name "r-rmysql") - (version "0.10.13") + (version "0.10.14") (source (origin (method url-fetch) (uri (cran-uri "RMySQL" version)) (sha256 (base32 - "1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82")))) + "01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590")))) (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (native-inputs @@ -2235,17 +2246,21 @@ SQLAlchemy Database Toolkit for Python.") (define-public python-pickleshare (package (name "python-pickleshare") - (version "0.5") + (version "0.7.4") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/p/" - "pickleshare/pickleshare-" version ".tar.gz")) + (uri (pypi-uri "pickleshare" version)) (sha256 - (base32 "11ljr90j3p6qswdrbl7p4cjb2i93f6vn0vx9anzpshsx0d2mggn0")))) + (base32 "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4")))) (build-system python-build-system) - (propagated-inputs - `(("python-pathpy" ,python-pathpy))) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest")))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/vivainio/pickleshare") (synopsis "Tiny key value database with concurrency support") (description @@ -2256,10 +2271,15 @@ value in database is immediately visible to other processes accessing the same database. Concurrency is possible because the values are stored in separate files. Hence the “database” is a directory where all files are governed by PickleShare.") + (properties `((python2-variant . ,(delay python2-pickleshare)))) (license license:expat))) (define-public python2-pickleshare - (package-with-python2 python-pickleshare)) + (let ((pickleshare (package-with-python2 + (strip-python2-variant python-pickleshare)))) + (package (inherit pickleshare) + (propagated-inputs `(("python2-pathlib2" ,python2-pathlib2) + ,@(package-propagated-inputs pickleshare)))))) (define-public python-apsw (package @@ -2270,30 +2290,31 @@ PickleShare.") (method url-fetch) (uri (string-append "https://github.com/rogerbinns/apsw/archive/" version ".tar.gz")) + (file-name (string-append "apsw-" version ".tar.gz")) (sha256 (base32 "00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2")))) (build-system python-build-system) (inputs - `(("sqlite" ,sqlite))) + `(("sqlite" ,sqlite))) (arguments `(#:phases (modify-phases %standard-phases (replace 'build (lambda _ - (zero? - (system* "python" "setup.py" "build" "--enable-all-extensions")))) + (invoke "python" "setup.py" "build" "--enable-all-extensions") + #t)) (add-after 'build 'build-test-helper (lambda _ - (zero? - (system - (string-append "gcc -fPIC -shared -o ./testextension.sqlext " - "-I. -Isqlite3 src/testextension.c") )))) + (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext" + "-I." "-Isqlite3" "src/testextension.c") + #t)) (delete 'check) (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (zero? (system* "python" "setup.py" "test"))))))) + (invoke "python" "setup.py" "test") + #t))))) (home-page "https://github.com/rogerbinns/apsw/") (synopsis "Another Python SQLite Wrapper") (description "APSW is a Python wrapper for the SQLite diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm new file mode 100644 index 0000000000..3c3189e073 --- /dev/null +++ b/gnu/packages/debian.scm @@ -0,0 +1,170 @@ +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages debian) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages perl) + #:use-module (gnu packages wget)) + +(define-public debian-archive-keyring + (package + (name "debian-archive-keyring") + (version "2017.7") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/d/" name "/" + name "_" version ".tar.xz")) + (sha256 + (base32 + "1pdwgipfi0y4svhxlw8arhq792f1g3vlmw4raphizy7sa65vd4ca")))) + (build-system gnu-build-system) + (arguments + '(#:test-target "verify-results" + #:parallel-build? #f ; has race conditions + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apt (string-append out "/etc/apt/trusted.gpg.d/")) + (key (string-append out "/share/keyrings/"))) + (install-file "keyrings/debian-archive-keyring.gpg" key) + (install-file "keyrings/debian-archive-removed-keys.gpg" key) + (for-each (lambda (file) + (install-file file apt)) + (find-files "trusted.gpg" "\\.gpg$"))) + #t))))) + (native-inputs + `(("gnupg" ,gnupg) + ("jetring" ,jetring))) + (home-page "https://packages.qa.debian.org/d/debian-archive-keyring.html") + (synopsis "GnuPG archive keys of the Debian archive") + (description + "The Debian project digitally signs its Release files. This package +contains the archive keys used for that.") + (license (list license:public-domain ; the keys + license:gpl2+)))) ; see debian/copyright + +(define-public ubuntu-keyring + (package + (name "ubuntu-keyring") + (version "2018.02.28") + (source + (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/ubuntu/+archive/primary/" + "+files/" name "_" version ".tar.gz")) + (sha256 + (base32 + "1zj3012cz7rlx9pm39wnwa0lmi1h38n6bkgbz81vnmcsvqsc9a3a")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (apt (string-append out "/etc/apt/trusted.gpg.d/")) + (key (string-append out "/share/keyrings/"))) + (setenv "PATH" (string-append + (assoc-ref %build-inputs "gzip") "/bin:" + (assoc-ref %build-inputs "tar") "/bin")) + (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) + (for-each (lambda (file) + (install-file file apt)) + (find-files "." "ubuntu-[^am].*\\.gpg$")) + (for-each (lambda (file) + (install-file file key)) + (find-files "." "ubuntu-[am].*\\.gpg$"))) + #t))) + (native-inputs + `(("tar" ,tar) + ("gzip" ,gzip))) + (home-page "https://launchpad.net/ubuntu/+source/ubuntu-keyring") + (synopsis "GnuPG keys of the Ubuntu archive") + (description + "The Ubuntu project digitally signs its Release files. This package +contains the archive keys used for that.") + (license (list license:public-domain ; the keys + license:gpl2+)))) ; see debian/copyright + +(define-public debootstrap + (package + (name "debootstrap") + (version "1.0.93") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/d/" name "/" + name "_" version ".tar.gz")) + (sha256 + (base32 + "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-source + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (wget (assoc-ref inputs "wget")) + (debian (assoc-ref inputs "debian-keyring")) + (ubuntu (assoc-ref inputs "ubuntu-keyring"))) + (substitute* "Makefile" + (("/usr") "") + (("-o root -g root") "") + (("chown root.*") "\n")) + (substitute* "scripts/sid" + (("/usr") debian)) + (substitute* "scripts/gutsy" + (("/usr") ubuntu)) + (substitute* "debootstrap" + (("=/usr") (string-append "=" out))) + (substitute* "functions" + (("wget ") (string-append wget "/bin/wget "))) + #t))) + (add-after 'install 'install-man-file + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "debootstrap.8" + (string-append out "/share/man/man8")) + #t)))) + #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:tests? #f)) ; no tests + (inputs + `(("debian-keyring" ,debian-archive-keyring) + ("ubuntu-keyring" ,ubuntu-keyring) + ("wget" ,wget))) + ;; The following are required for debootstrap to work correctly + (propagated-inputs + `(("binutils" ,binutils) + ("gnupg" ,gnupg) + ("perl" ,perl))) + (home-page "https://anonscm.debian.org/cgit/d-i/debootstrap.git") + (synopsis "Bootstrap a basic Debian system") + (description "Debootstrap is used to create a Debian base system from +scratch, without requiring the availability of @code{dpkg} or @code{apt}. +It does this by downloading .deb files from a mirror site, and carefully +unpacking them into a directory which can eventually be chrooted into.") + (license license:gpl2))) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 777018bfb2..1f238637a4 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,8 +67,6 @@ (bin (string-append out "/bin")) (doc (string-append out "/share/doc/delta-" ,version))) (begin - (mkdir-p bin) - (mkdir-p doc) (for-each (lambda (h) (install-file h doc)) `("License.txt" ,@(find-files "www" ".*\\.html"))) @@ -75,7 +74,7 @@ (install-file b bin)) `("delta" "multidelta" "topformflat")))) #t)) - (delete 'configure)))) + (delete 'configure)))) ; no configure script (home-page "http://delta.tigris.org/") (synopsis "Heuristical file minimizer") (description @@ -87,10 +86,11 @@ program to exhibit a bug.") ;; home-page pointing to a bsd-2 license. (license bsd-3))) +;; Newer versions depend on LLVM and Clang >= 4, which have yet to be packaged. (define-public c-reduce (package (name "c-reduce") - (version "2.5.0") + (version "2.6.0") (source (origin (method url-fetch) @@ -99,12 +99,12 @@ program to exhibit a bug.") "creduce-" version ".tar.gz"))) (sha256 (base32 - "1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d")))) + "0pf5q0n8vkdcr1wrkxn2jzxv0xkrir13bwmqfw3jpbm3dh2c3b6d")))) (build-system gnu-build-system) (inputs `(("astyle" ,astyle) - ("llvm" ,llvm) - ("clang" ,clang) + ("llvm" ,llvm-3.9.1) + ("clang" ,clang-3.9.1) ("flex" ,flex) ("indent" ,indent) ("perl" ,perl) @@ -133,7 +133,7 @@ program to exhibit a bug.") "file-which" "getopt-tabular" "regex-common" "sys-cpu"))))) #t))))) - (home-page "http://embed.cs.utah.edu/creduce") + (home-page "https://embed.cs.utah.edu/creduce") (synopsis "Reducer for interesting code") (description "C-Reduce is a tool that takes a large C or C++ program that has a diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 25e4613170..3f50070ef7 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> +;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -211,7 +212,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch/zipbomb) @@ -219,20 +220,8 @@ It comes with a German-English dictionary with approximately 270,000 entries.") "Grammalecte-fr-v" version ".zip")) (sha256 (base32 - "0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i")))) + "0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2")))) (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-setup.py - ;; FIXME: "setup.py" contains a typo in 0.6.1 release. The - ;; issue was reported and fixed upstream - ;; (https://dicollecte.org/thread.php?prj=fr&t=674). This - ;; phase can be removed in next release. - (lambda _ - (substitute* "setup.py" - (("server_options\\.") "grammalecte-server-options.")) - #t))))) (home-page "https://www.dicollecte.org") (synopsis "French spelling and grammar checker") (description "Grammalecte is a grammar checker dedicated to the French diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 0b447b5176..a901af6f14 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -36,13 +36,13 @@ (define-public python-django (package (name "python-django") - (version "1.11.10") + (version "1.11.11") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "1ndc7axr7cz8jwhr4mz16fvwd0jcd6i81q2wi9nl172s71kkaf12")))) + "1p0fk0dszci9gx76hyhay3n8n0k8r4sznbdcrpd9g2xl15rps1vl")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) @@ -182,13 +182,13 @@ useful tools for testing Django applications and projects.") (define-public python-django-filter (package (name "python-django-filter") - (version "0.14.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "django-filter" version)) (sha256 (base32 - "0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx")))) + "0slpfqfhnjrzlrb6vmswyhrzn01p84s16j2x1xib35gg4fxg23pc")))) (build-system python-build-system) (arguments '(#:phases @@ -198,6 +198,8 @@ useful tools for testing Django applications and projects.") (zero? (system* "python" "runtests.py"))))))) (native-inputs `(("python-django" ,python-django) + ("python-djangorestframework" ,python-djangorestframework) + ("python-django-crispy-forms", python-django-crispy-forms) ("python-mock" ,python-mock))) (home-page "https://django-filter.readthedocs.io/en/latest/") (synopsis "Reusable Django application to filter querysets dynamically") @@ -265,15 +267,18 @@ account authentication.") (define-public python-django-gravatar2 (package (name "python-django-gravatar2") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (pypi-uri "django-gravatar2" version)) (sha256 (base32 - "1v4qyj6kms321yw0z2g1kch6b2dskmv6fjd6sfxzwr4xshq9mccl")))) + "1qsv40xywbqsf4mkrmsswrpzqd7nfljxpfiim9an2z3dykn5rka6")))) (build-system python-build-system) + (arguments + '(;; TODO: The django project for the tests is missing from the release. + #:tests? #f)) (inputs `(("python-django" ,python-django))) (home-page "https://github.com/twaddington/django-gravatar") @@ -755,3 +760,52 @@ Django projects, which allows association of a number of tags with any (define-public python2-django-tagging (package-with-python2 python-django-tagging)) + +(define-public python-djangorestframework + (package + (name "python-djangorestframework") + (version "3.7.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "djangorestframework" version)) + (sha256 + (base32 + "11qv117gqwswxjljs7wafxg1hyzzlx3qrviwlk9hw41bsbl997lz")))) + (build-system python-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("python-django" ,python-django))) + (home-page "https://www.django-rest-framework.org") + (synopsis "Toolkit for building Web APIs with Django") + (description + "The Django REST framework is for building Web APIs with Django. It +provides features like a web browseable API and authentication policies.") + (license license:bsd-2))) + +(define-public python-django-crispy-forms + (package + (name "python-django-crispy-forms") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-crispy-forms" version)) + (sha256 + (base32 + "16s05jx86jmimlvnwpq73kl0mqw1v9lryc8zi61a9qwl25krm6mj")))) + (build-system python-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("python-django" ,python-django))) + (home-page + "http://github.com/maraujop/django-crispy-forms") + (synopsis "Tool to control Django forms without custom templates") + (description + "@code{django-crispy-forms} lets you easily build, customize and reuse +forms using your favorite CSS framework, without writing template code.") + (license license:expat))) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 03fc54450e..3034bc5493 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -177,7 +177,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (define-public dblatex (package (name "dblatex") - (version "0.3.9") + (version "0.3.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/dblatex/dblatex/" @@ -185,8 +185,7 @@ by no means limited to these applications.) This package provides XML DTDs.") version ".tar.bz2")) (sha256 (base32 - "0pdizc5rjywwzxa1qqhdmba5zr35pbmdwbysalsid7xw87w3kq06")) - (patches (search-patches "dblatex-remove-multirow.patch")))) + "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg")))) (build-system python-build-system) ;; TODO: Add xfig/transfig for fig2dev utility (inputs diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 81e6885f66..c2c162c75c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> @@ -614,7 +614,7 @@ process, passing on the arguments as command line arguments.") 'build 'pre-build (lambda* (#:key inputs #:allow-other-keys) (define (el-dir store-dir) - (match (find-files store-dir) + (match (find-files store-dir "\\.el$") ((f1 f2 ...) (dirname f1)) (_ ""))) @@ -2990,14 +2990,14 @@ package provides a light and a dark variant.") (define-public emacs-ahungry-theme (package (name "emacs-ahungry-theme") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-" version ".tar")) (sha256 (base32 - "14dhnrlbjzrxk5ligf0z2im5bgnxpjqqzqcrmqg5355xrgpbpb7v")))) + "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm")))) (build-system emacs-build-system) (home-page "https://github.com/ahungry/color-theme-ahungry") (synopsis "Ahungry color theme for Emacs") @@ -3546,6 +3546,7 @@ It is recommended to use @code{clojure-mode} with paredit or smartparens.") (uri (string-append "https://github.com/cask/epl/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc")))) @@ -4300,6 +4301,7 @@ CIDER).") (uri (git-reference (url "https://github.com/joaotavora/sly.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l")))) @@ -4492,14 +4494,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "20180103") + (version "20180226") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-" version ".tar")) (sha256 (base32 - "1hyw9sigcv9wn37y2icmhf1czf0s3dgvsmn36355l95zsw7hnvgj")))) + "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4519,7 +4521,7 @@ reproducible research.") (package-version emacs-org) ".tar")) (sha256 (base32 - "164i2asqh34p1g3iqsn7rziyxbi1ys8fwdmn7nsw5xph8qszv9zj")))) + "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -6785,8 +6787,8 @@ want to use it.") (license license:gpl3+))) (define-public emacs-slack - (let ((commit "02ee1d7339e48c64946041f6f4e09447c3f53e82") - (revision "2")) + (let ((commit "92724604879149cf331fa8778d089813a9d4ce1a") + (revision "3")) (package (name "emacs-slack") (version (string-append "0-" revision "." (string-take commit 7))) @@ -6798,7 +6800,7 @@ want to use it.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0grx95xxf314m2k35m1kf20l2pwc6j11ibvrngx4pis7wqwjas3h")))) + "1fdf8s3ca356k7m7f5kqzfamfl2nrqjj2pynjv3kkrr0ad15nxmw")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-alert" ,emacs-alert) @@ -6889,7 +6891,7 @@ in a generalized CSV (character-separated values) format.") (define-public emacs-transmission (package (name "emacs-transmission") - (version "0.12") + (version "0.12.1") (source (origin (method url-fetch) (uri (string-append @@ -6898,7 +6900,7 @@ in a generalized CSV (character-separated values) format.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0bpsy16pycp6m9aqvfjh2x1yswfb305ib7m2slcjpb6njgxfi6")))) + "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n")))) (build-system emacs-build-system) (home-page "https://github.com/holomorph/transmission") (synopsis "Emacs interface to a Transmission session") @@ -7311,3 +7313,51 @@ Features: (description "@code{epipe} provides an utility to use your editor in the pipeline, featuring the support for running @code{emacsclient}.") (license license:gpl3+))) + +(define-public emacs-hcl-mode + (package + (name "emacs-hcl-mode") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/syohex/emacs-hcl-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x")))) + (build-system emacs-build-system) + (home-page "https://github.com/syohex/emacs-hcl-mode") + (synopsis "Major mode for the Hashicorp Configuration Language") + (description + "@code{emacs-hcl-mode} provides an Emacs major mode for working with +@acronym{HCL, Hashicorp Configuration Language}. It provides syntax +highlighting and indentation support.") + (license license:gpl3+))) + +(define-public emacs-terraform-mode + (package + (name "emacs-terraform-mode") + (version "0.06") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/syohex/emacs-terraform-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-hcl-mode" ,emacs-hcl-mode))) + (home-page "https://github.com/syohex/emacs-terraform-mode") + (synopsis "Major mode for Terraform") + (description + "@code{emacs-terraform-mode} provides a major mode for working with +@uref{https://www.terraform.io/, Terraform} configuration files. Most of the +functionality is inherited from @code{hcl-mode}.") + (license license:gpl3+))) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index b2e33ea10b..6f09c8f353 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -696,7 +697,7 @@ upload binaries to a Parallax Propeller micro-controller.") (define-public spin2cpp (package (name "spin2cpp") - (version "3.6.3") + (version "3.6.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/totalspectrum/spin2cpp/" @@ -704,7 +705,7 @@ upload binaries to a Parallax Propeller micro-controller.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0v5vzh69bp1r2byrpz12rql1w24ff2v9msr31596zq6hd6n82lnh")))) + "05qak187sn0xg7vhrxw27b19xhmid1b8ab8kax3gv0faavzablfw")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;; The tests assume that a micro-controller is connected. diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 413bc5f102..a0bf841415 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 ng0 <ng0@infotropique.org> ;;; ;;; This file is part of GNU Guix. @@ -60,7 +60,7 @@ (define-public efl (package (name "efl") - (version "1.20.6") + (version "1.20.7") (source (origin (method url-fetch) (uri (string-append @@ -68,7 +68,9 @@ version ".tar.xz")) (sha256 (base32 - "1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn")))) + "1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh")))) + (outputs '("out" ; 49 MB + "include")) ; 17 MB (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -284,9 +286,10 @@ Libraries with some extra bells and whistles.") (("/bin/mount") (string-append utils "/bin/mount")) (("/bin/umount") (string-append utils "/bin/umount")) (("/usr/bin/eject") (string-append utils "/bin/eject")) - ; TODO: Replace suspend and hibernate also. - (("/sbin/shutdown -h now") "/run/current-system/profile/sbin/halt") - (("/sbin/shutdown -r now") "/run/current-system/profile/sbin/reboot")) + (("/etc/acpi/sleep.sh force") "/run/current-system/profile/bin/loginctl suspend") + (("/etc/acpi/hibernate.sh force") "/run/current-system/profile/bin/loginctl hibernate") + (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now") + (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now")) #t)))))) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 1d73f4aef4..0e65213c72 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -114,6 +114,7 @@ single file can be mounted.") (uri (git-reference (url "https://github.com/ReproducibleBuilds/disorderfs.git") (commit "0.5.2"))) + (file-name (git-file-name name version)) (sha256 (base32 "1j028dq3d4m64mn9xmfamcnnc7i2drmra4pdmxdmqdsi8p7yj4sv")))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 12595dc31c..714af3df72 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,11 +71,8 @@ (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (fw-dir (string-append out "/lib/firmware"))) - (mkdir-p fw-dir) (for-each (lambda (file) - (copy-file file - (string-append fw-dir "/" - (basename file)))) + (install-file file fw-dir)) (find-files "." "\\.fw$")) #t)))) #:tests? #f)) @@ -94,11 +92,11 @@ Linux-libre.") (license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD")))) (define-public b43-tools - (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288") - (rev "1")) + (let ((commit "27892ef741e7f1d08cb939744f8b8f5dac7b04ae") + (revision "1")) (package (name "b43-tools") - (version (string-append "20140625-" rev "." (string-take commit 7))) + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) @@ -108,7 +106,7 @@ Linux-libre.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv")))) + "1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) @@ -117,11 +115,11 @@ Linux-libre.") `(#:modules ((srfi srfi-1) (guix build gnu-build-system) (guix build utils)) - #:tests? #f ;no tests + #:tests? #f ; no tests #:phases (let ((subdirs '("assembler" "disassembler"))) (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (add-before 'build 'patch-/bin/true (lambda _ (substitute* (find-files "." "Makefile") @@ -129,21 +127,22 @@ Linux-libre.") #t)) (replace 'build (lambda _ - (every (lambda (dir) - (zero? (system* "make" "-C" dir "CC=gcc"))) - subdirs))) + (for-each (lambda (dir) + (invoke "make" "-C" dir "CC=gcc")) + subdirs) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/bin")) - (every (lambda (dir) - (zero? - (system* "make" "-C" dir - (string-append "PREFIX=" out) - "install"))) - subdirs)))))))) + (for-each (lambda (dir) + (invoke "make" "-C" dir + (string-append "PREFIX=" out) + "install")) + subdirs) + #t))))))) (home-page - "http://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools") + "https://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools") (synopsis "Collection of tools for the b43 wireless driver") (description "The b43 firmware tools is a collection of firmware extractor, @@ -259,6 +258,8 @@ coreboot.") (setenv "WORKSPACE" cwd) (setenv "EDK_TOOLS_PATH" tools) (setenv "PATH" (string-append (getenv "PATH") ":" bin)) + ; FIXME: The below script errors out. When using 'invoke' instead + ; of 'system*' this causes the build to fail. (system* "bash" "edksetup.sh" "BaseTools") (substitute* "Conf/target.txt" (("^TARGET[ ]*=.*$") "TARGET = RELEASE\n") @@ -268,14 +269,16 @@ coreboot.") (number->string (parallel-job-count))))) ;; Build build support. (setenv "BUILD_CC" "gcc") - (zero? (system* "make" "-C" (string-append tools "/Source/C")))))) + (invoke "make" "-C" (string-append tools "/Source/C")) + #t))) (add-after 'build 'build-ia32 (lambda _ (substitute* "Conf/target.txt" (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n") (("^ACTIVE_PLATFORM[ ]*=.*$") "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n")) - (zero? (system* "build")))) + (invoke "build") + #t)) ,@(if (string=? "x86_64-linux" (%current-system)) '((add-after 'build 'build-x64 (lambda _ @@ -283,7 +286,8 @@ coreboot.") (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n") (("^ACTIVE_PLATFORM[ ]*=.*$") "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n")) - (zero? (system* "build"))))) + (invoke "build") + #t))) '()) (delete 'build) (replace 'install @@ -299,7 +303,7 @@ coreboot.") '())) #t))))) (supported-systems '("x86_64-linux" "i686-linux")) - (home-page "http://www.tianocore.org") + (home-page "https://www.tianocore.org") (synopsis "UEFI firmware for QEMU") (description "OVMF is an EDK II based project to enable UEFI support for Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 5309510d40..192f84c36c 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> @@ -402,7 +402,10 @@ dump Intel Firmware Descriptor data of an image file.") Management Engine (ME). You need to @code{sudo rmmod mei_me} and @code{sudo rmmod mei} before using this tool. Also pass @code{iomem=relaxed} to the Linux kernel command line.") - (license license:gpl2))) + (license license:gpl2) + + ;; This is obviously an Intel thing, plus it requires <cpuid.h>. + (supported-systems '("x86_64-linux" "i686-linux")))) (define-public me-cleaner (package @@ -420,7 +423,7 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'create-setup.py + (add-after 'unpack 'create-setup.py (lambda _ (call-with-output-file "setup.py" (lambda (port) @@ -433,4 +436,7 @@ setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py']) (synopsis "Intel ME cleaner") (description "This package provides tools for disabling Intel ME as far as possible (it only edits ME firmware image files).") - (license license:gpl3+))) + (license license:gpl3+) + + ;; This is an Intel thing. + (supported-systems '("x86_64-linux" "i686-linux")))) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8af4f8dc83..aa9e466ebb 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> +;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,27 @@ #:use-module (gnu packages python) #:use-module (gnu packages xorg)) +(define-public font-ibm-plex + (package + (name "font-ibm-plex") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/IBM/plex/releases/download/" + "v" version "/OpenType.zip")) + (sha256 + (base32 + "0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795")))) + (build-system font-build-system) + (home-page "https://github.com/IBM/plex") + (synopsis "IBM Plex typeface") + (description "This package provides the Plex font family. It comes in a +Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The +fonts have been designed to work well in user interface (UI) environments as +well as other mediums.") + (license license:silofl1.1))) + (define-public font-inconsolata (package (name "font-inconsolata") diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 383243b13f..22382f745a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -290,7 +290,7 @@ high quality, anti-aliased and subpixel rendered text on a display.") ; The exact license is more X11-style than BSD-style. (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) - (home-page "http://www.freedesktop.org/wiki/Software/fontconfig"))) + (home-page "https://www.freedesktop.org/wiki/Software/fontconfig"))) (define-public t1lib (package diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 63adb4d076..3c83e668b0 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -409,7 +409,7 @@ manager for the current system.") `(("shared-mime-info" ,shared-mime-info) ;for tests ("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests ("python-nose" ,python-nose))) - (home-page "http://freedesktop.org/wiki/Software/pyxdg") + (home-page "https://www.freedesktop.org/wiki/Software/pyxdg") (synopsis "Implementations of freedesktop.org standards in Python") (description "PyXDG is a collection of implementations of freedesktop.org standards in @@ -740,7 +740,7 @@ message bus.") (inputs `(("shadow" ,shadow) ("polkit" ,polkit))) - (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/") + (home-page "https://www.freedesktop.org/wiki/Software/AccountsService/") (synopsis "D-Bus interface for user account query and manipulation") (description "The AccountService project provides a set of D-Bus interfaces for querying @@ -840,7 +840,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") ("libqmi" ,libqmi) ("polkit" ,polkit))) (synopsis "Mobile broadband modems manager") - (home-page "http://www.freedesktop.org/wiki/Software/ModemManager/") + (home-page "https://www.freedesktop.org/wiki/Software/ModemManager/") (description "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB @@ -882,7 +882,7 @@ modems and setup connections with them.") ("sqlite" ,sqlite) ("telepathy-glib" ,telepathy-glib))) (synopsis "Telepathy logger library") - (home-page "http://telepathy.freedesktop.org/") + (home-page "https://telepathy.freedesktop.org/") (description "Telepathy logger is a headless observer client that logs information received by the Telepathy framework. It features pluggable backends to log @@ -909,7 +909,7 @@ different sorts of messages in different formats.") ("python-dbus" ,python2-dbus))) (propagated-inputs `(("telepathy-glib" ,telepathy-glib))) - (home-page "http://telepathy.freedesktop.org/") + (home-page "https://telepathy.freedesktop.org/") (synopsis "Telepathy IRC connection manager") (description "Idle is an IRC connection manager for the Telepathy framework. This @@ -971,7 +971,7 @@ share connections to real-time communication services without conflicting.") `(("colord" ,colord) ("gtk+" ,gtk+))) (synopsis "GTK integration for libcolord") - (home-page "http://www.freedesktop.org/software/colord/") + (home-page "https://www.freedesktop.org/software/colord/") (description "This is a GTK+ convenience library for interacting with colord. It is useful for both applications which need colour management and applications that @@ -1068,7 +1068,7 @@ to applications simultaneously competing for fingerprint readers.") `(("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib))) - (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/") + (home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/") (synopsis "Utilities for working with desktop entries") (description "This package contains a few command line utilities for working with diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index 735fdab8e8..c8a91be4ef 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -26,15 +26,16 @@ (define-public fribidi (package (name "fribidi") - (version "0.19.7") + (version "1.0.1") (source (origin (method url-fetch) (uri - (string-append "http://fribidi.org/download/" name "-" version + (string-append "https://github.com/fribidi/fribidi/releases" + "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "13jsb5qadlhsaxkbrb49nqslmbh904vvzhsm5mm2ghmv29i2l8h8")))) + (base32 "1r3ll7apx4b8bhvdkwi71y06df9kvr4q3asvajswvdlh0pbq5cf1")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") @@ -42,5 +43,5 @@ "GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary.") - (home-page "http://fribidi.org/") + (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 395e38d3ae..5a79edf245 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -168,7 +168,7 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.12.0") + (version "0.12.1") (source (origin (method url-fetch) @@ -176,7 +176,7 @@ as required.") name "/" name "-" version ".tar.bz2")) (sha256 (base32 - "14zag4mhwp5mbir63j1k01jys973kmrivznmm78v6qa92l64jn0a")))) + "1gbqm42dd0m3fvqz3bk53889479dvn8679zp6ba8a9q2br2wkvv0")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 2a5bc63294..db13ac0eff 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> @@ -386,7 +386,7 @@ support.") (define-public tiled (package (name "tiled") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -394,7 +394,7 @@ support.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0l4wc10d10fi0a5spbi318kjfzlizmycpr4wwlq04sk3b5kra0w0")))) + "08bxl6vc7ynnji4r6ij9ayr2jixvfhv4daplw5p96s0gkhdqd90k")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) @@ -547,7 +547,15 @@ archive on a per-file basis.") "love-" version "-linux-src.tar.gz")) (sha256 (base32 - "11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj")))) + "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)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1051,7 +1059,7 @@ games.") (define-public godot (package (name "godot") - (version "3.0") + (version "3.0.1") (source (origin (method url-fetch) (uri @@ -1060,7 +1068,7 @@ games.") (file-name (string-append name "-" version)) (sha256 (base32 - "1jhp269n1a7c663v2555444icbjwzscj4r8cq4rrrap7r7dr4hyc")))) + "0k8c12nzhl98i9il9s3awbwdamkrwxk0s47jr7n8a3z93rpszd2p")))) (build-system scons-build-system) (arguments `(#:scons ,scons-python2 @@ -1103,16 +1111,16 @@ games.") (if (file-exists? "godot.x11.tools.64") (rename-file "godot.x11.tools.64" "godot") (rename-file "godot.x11.tools.32" "godot")) - (install-file "godot" bin))))) + (install-file "godot" bin)) + #t))) (add-after 'install 'install-godot-desktop (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (desktop (string-append out "/share/applications")) (icon-dir (string-append out "/share/pixmaps"))) - (mkdir-p desktop) - (mkdir-p icon-dir) (rename-file "icon.png" "godot.png") (install-file "godot.png" icon-dir) + (mkdir-p desktop) (with-output-to-file (string-append desktop "/godot.desktop") (lambda _ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index eb98197a06..6d44d8d91e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -370,7 +370,7 @@ effects and music to make a completely free game.") (version "3.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/golly/golly-" + (uri (string-append "mirror://sourceforge/golly/golly/golly-" version "/golly-" version "-src.tar.gz")) (sha256 @@ -3491,6 +3491,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.") (uri (git-reference (url "https://github.com/freegish/freegish.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx")) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 3b1def55e1..c815cdd7ea 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,45 +94,27 @@ most common applications of GD involve website development.") (define-public perl-gd (package (name "perl-gd") - (version "2.56") + (version "2.68") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/L/LD/LDS/" + (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" "GD-" version ".tar.gz")) (sha256 (base32 - "1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z")) - (patches (search-patches - "perl-gd-options-passthrough-and-fontconfig.patch")))) + "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va")))) (build-system perl-build-system) - (native-inputs - `(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42 (inputs - `(("gd" ,gd) - ("zlib" ,zlib) - ("png" ,libpng) - ("ft" ,freetype) - ("jpeg" ,libjpeg) - ("fontconfig" ,fontconfig))) + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gd" ,gd) + ("libpng" ,libpng) + ("libjpeg" ,libjpeg) + ("zlib" ,zlib))) (arguments - ;; We must use Build.PL for building because Makefile.PL fails to build - ;; the XS source. - `(#:module-build-flags (map (lambda (i) - (string-append "--lib_" i "_path=" - (assoc-ref %build-inputs i))) - '("zlib" "png" "ft" "jpeg" "fontconfig")) - #:tests? #f ;; Failed 1/2 test programs. 1/12 subtests failed. - #:phases - (modify-phases %standard-phases - (add-after 'configure 'clear-autogenerated-files - (lambda _ - ;; This file is autogenerated by its .PLS script at build - ;; time, but file creation fails because that file already - ;; exists in the distribution with non-writable - ;; permissions, so delete it first. - (delete-file "bdf_scripts/bdf2gdfont.pl") - #t))))) + `(#:make-maker-flags + (list (string-append "--lib_jpeg_path=" + (assoc-ref %build-inputs "libjpeg"))))) (home-page "http://search.cpan.org/dist/GD") (synopsis "Perl interface to the GD graphics library") (description "GD.pm is an autoloadable interface module for libgd, a diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 6cad2ba93b..345ac76317 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -362,4 +362,4 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.") It provides a convenient easy to use API for handling and rendering Postscript documents.") (license license:gpl2+) - (home-page "http://www.freedesktop.org/wiki/Software/libspectre"))) + (home-page "https://www.freedesktop.org/wiki/Software/libspectre"))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e802d6ce1a..34968f9d91 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,7 +125,7 @@ ;; '--autolaunch'. ("libx11" ,libx11))) - (home-page "http://dbus.freedesktop.org/") + (home-page "https://www.freedesktop.org/wiki/Software/dbus/") (synopsis "Message bus for inter-process communication (IPC)") (description "D-Bus is a message bus system, a simple way for applications to @@ -462,7 +463,7 @@ translated.") (native-inputs `(("glib" ,glib "bin") ("pkg-config" ,pkg-config))) - (home-page "http://dbus.freedesktop.org/doc/dbus-glib/") + (home-page "https://dbus.freedesktop.org/doc/dbus-glib/") (synopsis "D-Bus GLib bindings") (description "GLib bindings for D-Bus. The package is obsolete and superseded @@ -499,7 +500,7 @@ has an ease of use unmatched by other C++ callback libraries.") (define glibmm (package (name "glibmm") - (version "2.50.1") + (version "2.54.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -507,10 +508,13 @@ has an ease of use unmatched by other C++ callback libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z")))) + "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw")))) (build-system gnu-build-system) (arguments - `(#:phases + `(;; XXX: Some tests uses C++14 features. Remove this when the default + ;; compiler is >= GCC6. + #:configure-flags '("CXXFLAGS=-std=gnu++14") + #:phases (modify-phases %standard-phases (add-before 'build 'pre-build (lambda _ @@ -532,7 +536,7 @@ has an ease of use unmatched by other C++ callback libraries.") (propagated-inputs `(("libsigc++" ,libsigc++) ("glib" ,glib))) - (home-page "http://gtkmm.org/") + (home-page "https://gtkmm.org/") (synopsis "C++ interface to the GLib library") (description "Glibmm provides a C++ programming interface to the part of GLib that are @@ -544,7 +548,7 @@ useful for C++.") (name "python2-pygobject") ;; This was the last version to declare the 2.0 platform number, i.e. its ;; pkg-config files were named pygobject-2.0.pc - (version "2.28.6") + (version "2.28.7") (source (origin (method url-fetch) @@ -553,7 +557,7 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv")) + "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv")) (patches (search-patches "python2-pygobject-2-gi-info-type-error-domain.patch")))) (build-system gnu-build-system) @@ -623,6 +627,33 @@ useful for C++.") ("python-pycairo" ,python2-pycairo) ("gobject-introspection" ,gobject-introspection))))) +(define-public perl-glib + (package + (name "perl-glib") + (version "1.326") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/X/XA/XAOC/Glib-" + version ".tar.gz")) + (sha256 + (base32 + "0prn9kkdpwjq9qmzqashbhk3pq4gvlrmvm3b10xf1dhc48406382")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (inputs + `(("glib" ,glib))) + (home-page "http://search.cpan.org/dist/Glib/") + (synopsis "Perl wrappers for the GLib utility and Object libraries") + (description "This module provides perl access to GLib and GLib's GObject +libraries. GLib is a portability and utility library; GObject provides a +generic type system with inheritance and a powerful signal system. Together +these libraries are used as the foundation for many of the libraries that make +up the Gnome environment, and are used in many unrelated projects.") + (license license:lgpl2.1+))) + (define telepathy-glib (package (name "telepathy-glib") @@ -663,7 +694,7 @@ useful for C++.") `(("dbus" ,dbus) ("dbus-glib" ,dbus-glib) ("glib" ,glib))) - (home-page "http://telepathy.freedesktop.org/wiki/") + (home-page "https://telepathy.freedesktop.org/wiki/") (synopsis "GLib Real-time communications framework over D-Bus") (description "Telepathy is a flexible, modular communications framework that enables real-time communication over D-Bus via pluggable protocol diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 19cc4d2e34..a4ace442e8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> @@ -947,7 +947,7 @@ guidelines.") (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) - (home-page "http://freedesktop.org/wiki/Software/shared-mime-info") + (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info") (synopsis "Database of common MIME types") (description "The shared-mime-info package contains the core database of common types @@ -972,7 +972,7 @@ database is translated at Transifex.") (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no check target - (home-page "http://icon-theme.freedesktop.org/releases/") + (home-page "https://icon-theme.freedesktop.org/releases/") (synopsis "Freedesktop icon theme") (description @@ -1595,7 +1595,7 @@ creating interactive structured graphics.") (native-inputs `(("gtkmm-2" ,gtkmm-2) ("pkg-config" ,pkg-config))) - (home-page "http://gtkmm.org") + (home-page "https://gtkmm.org") (synopsis "C++ bindings to the GNOME Canvas library") (description "C++ bindings to the GNOME Canvas library.") (license license:lgpl2.0+))) @@ -2322,7 +2322,7 @@ and objects.") ("libxkbfile" ,libxkbfile) ("xkbcomp" ,xkbcomp) ("xkeyboard-config" ,xkeyboard-config))) - (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/") + (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/") (synopsis "High-level API for X Keyboard Extension") (description "LibXklavier is a library providing high-level API for X Keyboard @@ -2448,7 +2448,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.60.3") + (version "2.62.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2456,7 +2456,7 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "08lawrdkkzycvpb1h0wfiqfz6dgx77jp0wxp546lxgisy9icf38v")))) + "1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -2689,7 +2689,7 @@ floating in an ocean using only your brain and a little bit of luck.") (define-public gnome-sudoku (package (name "gnome-sudoku") - (version "3.26.0") + (version "3.28.0") (source (origin (method url-fetch) @@ -2698,7 +2698,7 @@ floating in an ocean using only your brain and a little bit of luck.") name "-" version ".tar.xz")) (sha256 (base32 - "186k2axryn3ic8blc9ddnvyrqqf88khg2hlisfa1n4wp784wfx47")))) + "07b4lzniaf3gjsss6zl1lslv18smwc4nrijykvn2z90f423q2xav")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -2828,7 +2828,7 @@ keyboard shortcuts.") ("sqlite" ,sqlite) ("polkit" ,polkit) ("sane-backends" ,sane-backends))) - (home-page "http://www.freedesktop.org/software/colord/") + (home-page "https://www.freedesktop.org/software/colord/") (synopsis "Color management service") (description "Colord is a system service that makes it easy to manage, install and generate color profiles to accurately color manage input and @@ -2964,7 +2964,7 @@ faster results and to avoid unnecessary server load.") `(("dbus-glib" ,dbus-glib) ("libgudev" ,libgudev) ("libusb" ,libusb))) - (home-page "http://upower.freedesktop.org/") + (home-page "https://upower.freedesktop.org/") (synopsis "System daemon for managing power devices") (description "UPower is an abstraction for enumerating power devices, @@ -4645,7 +4645,7 @@ javascript engine and the GObject introspection framework.") (define-public gedit (package (name "gedit") - (version "3.22.1") + (version "3.28.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4653,7 +4653,7 @@ javascript engine and the GObject introspection framework.") name "-" version ".tar.xz")) (sha256 (base32 - "0as9r5zvnyrxh699q6jnd0p9ddqy5qamfbxggpdjzagzixhw6yxa")))) + "0pyam0zi44xq776x20ycqnvmf86l98jns8ldv4m81gnp9wnhmycv")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases @@ -5600,7 +5600,7 @@ like switching to windows and launching applications.") (define-public gtk-vnc (package (name "gtk-vnc") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) @@ -5609,7 +5609,7 @@ like switching to windows and launching applications.") name "-" version ".tar.xz")) (sha256 (base32 - "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw")))) + "1cdaywj5lqnl5b22qzd7k7lmacsnmk8b8rc4drk6gvqmcrlsljzk")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-gtk=3.0"))) @@ -5625,6 +5625,7 @@ like switching to windows and launching applications.") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper) ("vala" ,vala))) (home-page "https://wiki.gnome.org/Projects/gtk-vnc") (synopsis "VNC viewer widget for GTK+") @@ -5727,7 +5728,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "3.24.2.1") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5735,16 +5736,17 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1cv138z04qx0fh1a2z2hvxy4p1x15vdv5gmkx5f3hb6c3w2rsz9m")))) - (build-system glib-or-gtk-build-system) + "1d0l4vgcjqj4671hb6s2a56baqlasbxn3wl6vfrpdsk5qq299jbr")))) + (build-system meson-build-system) (arguments - '(#:configure-flags - '("--disable-selinux") ; XXX: not packaged + '(#:glib-or-gtk? #t ;; XXX: FAIL: check-nautilus ;; Settings schema 'org.gnome.nautilus.preferences' is not installed #:tests? #f)) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. + `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database + ("glib:bin" ,glib "bin") ; for glib-mkenums, etc. + ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config))) @@ -5754,7 +5756,8 @@ shared object databases, search tools and indexing.") ("exempi" ,exempi) ("gnome-desktop" ,gnome-desktop) ("gnome-autoar" ,gnome-autoar) - ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar + ("libselinux" ,libselinux) + ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar ("tracker" ,tracker) ;; XXX: gtk+ is required by libnautilus-extension.pc ;; diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 0569395d48..ac7f8ab85f 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -322,7 +322,7 @@ kinds of basic applications for the foundation of a GNU internet.") "0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake))) (inputs `(("guile" ,guile-2.0) ("gnunet" ,gnunet))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 77f5771298..cb0651d626 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,10 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> @@ -618,7 +618,7 @@ PGP keysigning parties.") "1n5bpcfpl9vg1xp6r1jhbyahrgdyxp05b5pria1rh4m0qnv8sifr")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,(autoconf-wrapper)) + `(("autoconf" ,autoconf-wrapper) ("automake" ,automake))) (inputs `(("perl" ,perl) ("perl-text-template" ,perl-text-template) @@ -929,3 +929,58 @@ keyring content. Parcimonie is a daemon that fetches one key at a time using the Tor network, waits a bit, changes the Tor circuit being used, and starts over.") (license license:gpl1+))) + +(define-public jetring + (package + (name "jetring") + (version "0.25") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/j/" name "/" + name "_" version ".tar.xz")) + (sha256 + (base32 + "0shcnnw0h31b08vmnvf18ni33dg40w18wv9smb69vkklz3h4jhpw")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'hardlink-gnupg + (lambda* (#:key inputs #:allow-other-keys) + (let ((gpg (string-append (assoc-ref inputs "gnupg") + "/bin/gpg"))) + (substitute* (find-files "." "jetring-[[:alpha:]]+$") + (("gpg -") (string-append gpg " -")) + (("\\\"gpg\\\"") (string-append "\"" gpg "\""))) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man"))) + (for-each (lambda (file) + (install-file file (string-append out "/bin/"))) + (find-files "." "jetring-[[:alpha:]]+$")) + (for-each (lambda (file) + (install-file file (string-append man "/man1/"))) + (find-files "." ".*\\.1$")) + (install-file "jetring.7" (string-append man "/man7/")) + #t)))) + #:tests? #f)) ; no test phase + (inputs + `(("gnupg" ,gnupg) + ("perl" ,perl))) + (home-page "https://joeyh.name/code/jetring/") + (synopsis "GnuPG keyring maintenance using changesets") + (description + "Jetring is a collection of tools that allow for gpg keyrings to be +maintained using changesets. It was developed with the Debian keyring in mind, +and aims to solve the problem that a gpg keyring is a binary blob that's hard +for multiple people to collaboratively edit. + +With jetring, changesets can be submitted, reviewed to see exactly what they +will do, applied, and used to build a keyring. The origin of every change made +to the keyring is available for auditing, and gpg signatures can be used for +integrity guarantees.") + (license license:gpl2+))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8d9573fb81..323743d089 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -274,7 +274,7 @@ in C/C++.") (home-page "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR") (synopsis "Netscape API for system level and libc-like functions") - (description "Netscape Portable Runtime (NSPR) provides a + (description "Netscape Portable Runtime (@dfn{NSPR}) provides a platform-neutral API for system level and libc-like functions. It is used in the Mozilla clients.") (license license:mpl2.0))) @@ -401,7 +401,7 @@ security standards.") (define-public icecat (package (name "icecat") - (version "52.3.0-gnu1") + (version "52.6.0-gnu1") (source (origin (method url-fetch) @@ -410,7 +410,7 @@ security standards.") "/" name "-" version ".tar.bz2")) (sha256 (base32 - "00jki754d6310fxj1b7dbhqj69y5igck6gqg6rgfya243nsb56k9")) + "09fn54glqg1aa93hnz5zdcy07cps09dbni2b4200azh6nang630a")) (patches (list (search-patch "icecat-avoid-bundled-libraries.patch") @@ -418,125 +418,26 @@ security standards.") (search-patch "icecat-use-system-graphite2.patch") (mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k") (mozilla-patch "icecat-bug-1350152.patch" "f822bda79c28" "1wf56169ca874shr6r7qx40s17h2gwj7ngmpyylrpmd1c6hipvsj") - (mozilla-patch "icecat-bug-1388166.patch" "fbb0bdb191d5" "1y8wpj38vw1dd6f375s9i0mrk9bd8z8gz5g70p4qynfllpkn072d") - (mozilla-patch "icecat-CVE-2017-7810-pt1.patch" "fbddb5cdd3c7" "0k5nyl2z1y2rx9fwqyfj64678yv6v3pnmshgk552pbzqmaf8i1hq") - (mozilla-patch "icecat-CVE-2017-7810-pt2.patch" "76c25987a275" "095b9vwsiza9ikbnnppfcld16h75x5bxjfxc73913y04n0i42ifh") - (mozilla-patch "icecat-CVE-2017-7810-pt3.patch" "32eec29a85a5" "057simakqg56jvas1wkskg5kszn96m74nca26x08d5w7rzmbv1q2") - (mozilla-patch "icecat-bug-1373222.patch" "ecef71fa933f" "0vsymgy5j702lamvh2riahni7rdj9ba3bd6i4a2m22d638rwp1i2") - (mozilla-patch "icecat-CVE-2017-7814.patch" "68a444daf85b" "1faaadaajidzb9i00710zxdyv370hlrdg1l5rw2ymfmzbjj4jqyd") - (mozilla-patch "icecat-bug-1376825.patch" "eeeec9cafc4e" "188qf6zi9kyxb33330yia6wmrd5mdyqn5hr1cl38zy7m3akv8srh") - (mozilla-patch "icecat-bug-1385272.patch" "d68fa12fbffc" "13gh97vz9n2b7303jcvr1072iy8bghy9chvbmxzvw82prvkscavw") - (mozilla-patch "icecat-bug-1390002.patch" "c24e6fc9f689" "0aswhy5fz2f6wzd5j5gg3nqvz707ip344089h2z2chcp146vxmf4") - (mozilla-patch "icecat-CVE-2017-7810-pt4.patch" "ae110cf77596" "0gdrkfq9wy9cfcdgbj14ci86xgh2prkbz69pfy97r9igd8059syw") - (mozilla-patch "icecat-CVE-2017-7810-pt5.patch" "b8417112486d" "1hya6lccz7vm51v4f6ww072794cwzmfn9xhxmvrnqbiyspxx5fz4") - (mozilla-patch "icecat-bug-1386905.patch" "badbf4308211" "0fj1pyjqfdsbrlfykwmkzav2nvdj1f4grwq3cal9f7ay6wjnfs9b") - (mozilla-patch "icecat-CVE-2017-7810-pt6.patch" "d78675515c78" "03w5hqy40xkckbaf5bm9kdbdqvp9ffvpk9mlrc9lja6b7qa4pjhg") - (mozilla-patch "icecat-bug-1382303.patch" "f01155fe4d54" "0hnz1kvmvspg6453kydsklbvrjgzn8x3djvrym3f2xl2yinaf90d") - (mozilla-patch "icecat-bug-1393467.patch" "4eec2a60622c" "1h006mwcsagq7mz7haymwgr7fn4zj14n5lxbjcmhdqrxdvma2hjj") - (mozilla-patch "icecat-bug-1384801.patch" "9556e792f905" "0i74r807189s8i78483caiifw68cn7fs543i4cys6k3gn12dhhjy") - (mozilla-patch "icecat-CVE-2017-7823.patch" "bd284765b5bc" "1c4hss87kc4qwx30magbqczm9h7zmwirjfc8zimqbrnwv9bbsfh3") - (mozilla-patch "icecat-CVE-2017-7805.patch" "113da8d46aa4" "1vy0lw659mwixmb57mgybga152rdwqd5zj1g7nfw1zgp15pfwr75") - (mozilla-patch "icecat-bug-1376399.patch" "58a574502ca9" "1zmg91pg0s5nwngc32a4fywidvxyaayvx1h052fsv0i4cfm16l9v") - (mozilla-patch "icecat-bug-1396570.patch" "24db61862c54" "0af1jjfma042xvn0xhgims1yvb2b51nhn4m0pcfwg3fn0llmka03") - (mozilla-patch "icecat-CVE-2017-7819.patch" "1a02f11c6efe" "18a9qvdvrqw34qw3lljg6gkn358jl23lyimhmbc964023rhs36sz") - (mozilla-patch "icecat-CVE-2017-7810-pt7.patch" "002686d9536f" "065g0d759wfiaj69b1sqg7l08p2knc0q9m9hvkgwwsf0r78xcbjj") - (mozilla-patch "icecat-CVE-2017-7810-pt8.patch" "eaadb31758d8" "0b3k3la6ykac5mbp9gyqqgjbmj19vx9sl1b0wp387qar0p12nyaz") - (mozilla-patch "icecat-bug-1368269.patch" "0cff5e66e0f4" "0jb0wqi7c0ih4441s1908j6gv18v4inh7k2w47h3c9nhz4rgyrw7") - (mozilla-patch "icecat-CVE-2017-7793.patch" "6ff3c82962f0" "0bw82034kdmrpznigbavzzsiybzrw8giyf8v0z2cxf6mwl72bf9k") - (mozilla-patch "icecat-bug-1400399.patch" "d6f78b1349b7" "0i3gwr2al3xl65yfa3nimvy8dp0jzpx21f6bjw18xwn7zkkh9j54") - (mozilla-patch "icecat-bug-1400721.patch" "285cde398833" "0a1i32zl30wfyw7zkqj595s94n6wdlg5c495m0910pd05pjg3qam") - (mozilla-patch "icecat-CVE-2017-7826-pt01.patch" "98b3988592a6" "03wy173lj6mvmh5q92brf596h8676h0zasgqfnndpvsmsiaih120") - (mozilla-patch "icecat-CVE-2017-7826-pt02.patch" "47590f0c274b" "0zsys6dcyhfb4a8k2dhsls7425jg6r1ijlrsn1lc5smwyf62zx5v") - (mozilla-patch "icecat-CVE-2017-7826-pt03.patch" "55b435cbbb55" "1gcasaqrxa13a55v05bkxl3d1md829kpfhqiaws83wn08x28l0my") - (mozilla-patch "icecat-CVE-2017-7826-pt04.patch" "8549cf2dab3e" "168gs32ncavaj9xn4gwhh9i01cbpnhgx9yn333apsrc1gwknpvsr") - (mozilla-patch "icecat-CVE-2017-7826-pt05.patch" "349acf56ff49" "1vwn87rdryfjsn809pl50xmr82q98gz3vz9h6clkd905vbd9rwz7") - (mozilla-patch "icecat-CVE-2017-7826-pt06.patch" "3af5bf8bdea0" "07az28dnpxr36j7i3llxkrlkrmg0bwk4f3sm75x1f0r1v5575p3p") - (mozilla-patch "icecat-CVE-2017-7826-pt07.patch" "592df6088926" "1gy27idik4b6wcg4szww08cmpcljssja8wql6w1d807h7ni65lr7") - (mozilla-patch "icecat-CVE-2017-7826-pt08.patch" "77a2d4610275" "13ysbwflnysj4rs45ibckd621s0vyg1s8dvannlvanvrz1g72zcz") - (mozilla-patch "icecat-CVE-2017-7826-pt09.patch" "2b30335d0b95" "0hs5cwickvfw7r5dn7y148jgr2b21hl613qp83k56634d0y64qwp") - (mozilla-patch "icecat-CVE-2017-7826-pt10.patch" "d6f008f95598" "0xclxrbg7pv8pa2j15p0gy9c8sigy2i9j0kvazl5fbyg6jsg3xgd") - (mozilla-patch "icecat-CVE-2017-7826-pt11.patch" "ab9b51cd75ac" "08jy3rbkyh934aw261ls0s87947d2mhss7xqk1xfdir9crij2g27") - (mozilla-patch "icecat-bug-1343147-pt1.patch" "971d6345bc3a" "13791cvc51i991i5qyz6gp94vwzwkx479bnr8fsf8dw7z72wrsch") - (mozilla-patch "icecat-bug-1343147-pt2.patch" "60df7db06669" "0r372g1zksvkzyz0qpq0mp30frilgsfxxx2xida8xc08wgxp5lh9") - (mozilla-patch "icecat-CVE-2017-7826-pt12.patch" "df49c25e6e4c" "0j77xbkxpflqf4jlccrv61vq0jgp4lfn8kb0zw1lswp3cyd6ml4i") - (mozilla-patch "icecat-CVE-2017-7826-pt13.patch" "3b899f872623" "01zjcpm8yp4s8yf4mj1bzq01aylmi69kd8qv0rrcl9hmj4g3pzr2") - (mozilla-patch "icecat-CVE-2017-7826-pt14.patch" "3d6d558ae6a6" "17wynknvs5wi7m9g5vn43rjmivbg1l6pnv8jymz1ccidy27qgdqi") - (mozilla-patch "icecat-CVE-2017-7826-pt15.patch" "8426754b7130" "0bbm2294bkvld55rdbpsc8b82ljqdcxpbg6cwdzvwfhqayl2pnqm") - (mozilla-patch "icecat-CVE-2017-7828-pt1.patch" "5ddd5d2aa769" "12z5i8h6qwjb1h1fvp2426bgsnsxx539d8k2is9x1q4133356niy") - (mozilla-patch "icecat-CVE-2017-7826-pt16.patch" "dd068f4e132a" "17qy9c1vfkz3pj6y8qmqbic73wrangsbdlylk2s54nbzhhp9cj1g") - (mozilla-patch "icecat-CVE-2017-7826-pt17.patch" "e6bd533b57e9" "1mmqav9yhxd0j47yffcdykaqjibfwjsk0jn0f44099s87y8qn9zy") - (mozilla-patch "icecat-CVE-2017-7826-pt18.patch" "2a87fb6b9c07" "0z0scw4y1vqhqkbw1ag14g8xrif14l95x7fd50q2sw425lli29lc") - (mozilla-patch "icecat-bug-1404910.patch" "5007f2472f64" "0ns1l4yipwbb52sps2xzg30qd1rkpwykxq4chjg3wllhmcxbvvpw") - (mozilla-patch "icecat-CVE-2017-7830.patch" "04e3b5c1f0b2" "0nmv3jnx94ykxg64xkiwc8kx4df8zw7y5yzjnxz1sll2v88b9hmf") - (mozilla-patch "icecat-CVE-2017-7828-pt2.patch" "2f48c03d9b3f" "16qdy3rahmkhsjnzqjcgzg1a4k7czd40m04gs9i75cd88kbripri") - (mozilla-patch "icecat-bug-1348660-pt1.patch" "a352bfcbaf55" "1j3kxnhci9fh3lj8rizbcfv8xzn5kikxwpfy8a091d51sdn20873") - (mozilla-patch "icecat-bug-1348660-pt2.patch" "57f43e2ab9b5" "1jva4y79zb85npak3mddrx5rsf4mxczb314kcr8yhlkwqv0nx5sp") - (mozilla-patch "icecat-bug-1348660-pt3.patch" "917d65bb8896" "0k29y8i96lanqjjm6vybg0s6gjbk1mz5bfnga6aj1g0hnb7c3s8d") - (mozilla-patch "icecat-bug-1348660-pt4.patch" "28934912eede" "1mhxw26050l3d09n8w912a86df87afcshvsk9k1k375anfk0927x") - (search-patch "icecat-bug-1348660-pt5.patch") - (mozilla-patch "icecat-bug-1348660-pt6.patch" "556ff3bfb9fc" "0kckjc8jp885xfaiwx2b9qnk1plqjhi0mwhjjcmfajvh3l3mrl8h") - (mozilla-patch "icecat-bug-1350564.patch" "2abf26abb2a2" "0axdzp9g9k74wpkwrsdx263h01sv9bd3rarhhl68xnvc7n6i45lx") - (mozilla-patch "icecat-bug-1404787.patch" "8335e1d7b140" "17d7kb8ginzflhdkrbi60vh2b907spbzmvwih7a595gqpihmnqqn") - (mozilla-patch "icecat-CVE-2017-7826-pt19.patch" "de336078d36b" "0gyzbap8hr1iywk0x2x0h7z7zp7q89hi56h8c03vvc7771dkvjkf") - (mozilla-patch "icecat-bug-1047098-pt1.patch" "088577f0c46e" "0y3sz6kx07ls7jsvhqhhrl6v69a94wqvv3lz7hnplah23y06h17z") - (mozilla-patch "icecat-bug-1047098-pt2.patch" "c7e3abf74023" "11dcjzx56v4yb2dvm23j2g86q8yva2hc69lmb7s5w18l6ygwwhzr") - (mozilla-patch "icecat-bug-1047098-pt3.patch" "36bd15d14c5a" "0cb3l3hpsgk674f08kfamxhqfga3ah5v904gpxq9ag006vzd2cxz") - (mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16") - (search-patch "icecat-bug-1415133.patch") - (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m") - (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl") - (mozilla-patch "icecat-bug-1413741.patch" "4e00ce2897c4" "0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w") - (mozilla-patch "icecat-CVE-2018-5089-pt01.patch" "92d450811409" "0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy") - (mozilla-patch "icecat-CVE-2018-5089-pt02.patch" "7eba7d14704a" "1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g") - (mozilla-patch "icecat-CVE-2018-5089-pt03.patch" "457d023c167e" "11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9") - (mozilla-patch "icecat-CVE-2018-5089-pt04.patch" "5e7b16213198" "14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh") - (mozilla-patch "icecat-CVE-2018-5102.patch" "0712b6cbbdc8" "0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5") - (mozilla-patch "icecat-CVE-2018-5089-pt05.patch" "084c427ccf99" "0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d") - (mozilla-patch "icecat-CVE-2018-5089-pt06.patch" "1bfb3d8d4510" "0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j") - (mozilla-patch "icecat-bug-1414425.patch" "5623e01e63a8" "08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs") - (mozilla-patch "icecat-CVE-2018-5089-pt07.patch" "14a389d40329" "0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1") - (mozilla-patch "icecat-bug-1415441.patch" "7339297cddb7" "017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j") - (mozilla-patch "icecat-CVE-2018-5096.patch" "aa55d4cdaee5" "1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw") - (mozilla-patch "icecat-bug-1382358.patch" "762f4e53889a" "0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k") - (mozilla-patch "icecat-CVE-2018-5089-pt08.patch" "0152d097672f" "16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg") - (search-patch "icecat-bug-1414945.patch") - (mozilla-patch "icecat-CVE-2018-5089-pt09.patch" "079356ed5317" "107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92") - (mozilla-patch "icecat-CVE-2018-5089-pt10.patch" "93e4994a892c" "00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx") - (mozilla-patch "icecat-CVE-2018-5089-pt11.patch" "f8a6e1864832" "1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba") - (mozilla-patch "icecat-CVE-2018-5089-pt12.patch" "0cc1c9068714" "1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac") - (mozilla-patch "icecat-CVE-2018-5095.patch" "ce6f3fb2bf58" "1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra") - (mozilla-patch "icecat-CVE-2018-5103.patch" "6b4d3c5d5e51" "074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4") - (mozilla-patch "icecat-bug-1411745.patch" "1a510ee578a0" "1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5") (mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip") - (mozilla-patch "icecat-CVE-2018-5091.patch" "bc166be85bb4" "0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg") - (mozilla-patch "icecat-CVE-2018-5089-pt13.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b") - (mozilla-patch "icecat-CVE-2018-5098.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3") - (mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7") - (search-patch "icecat-bug-1424373-pt2.patch") - (mozilla-patch "icecat-CVE-2018-5089-pt14.patch" "c2945f1249eb" "18p0344w6grpyfiz8dczfw977p0qy37iqv95whgnrjli2ab51kji") - (mozilla-patch "icecat-CVE-2018-5117-pt1.patch" "263165eacc54" "0518xnd9f4qkn7l0z73kldm9dr33y6hf054ril4f8r2j8s9fy33i") - (mozilla-patch "icecat-CVE-2018-5117-pt2.patch" "58e87d9cc44e" "0j9qwjm25bmhw0sj426yl4fqaa6zknf5cjk0yisdd3895652n5i4") - (mozilla-patch "icecat-CVE-2018-5089-pt15.patch" "aa4b11615431" "0whfvwaj3dmk89ah2kbv7zz7a8ckqa0xajf5fl12bgl7q8c8ndnm") - (mozilla-patch "icecat-CVE-2018-5104.patch" "66761c5bfbe1" "076128pxc7ik1zq2v0d5m6vd7nls2030jzdc4w0ggy8hd5yyb8g9") - (mozilla-patch "icecat-bug-1408631.patch" "6f5c8df1925d" "1hgr18p5dwhlsan6jxlj3ay7cbfyywk40bpbnjc8gqmq6y25cn48") - (mozilla-patch "icecat-bug-1422735.patch" "b88ef76f5687" "0rzpxfrhddc0238rq3r1b02j95g0rdplk1fjmk85m51xvggh9086") - (mozilla-patch "icecat-bug-1261963.patch" "d0c98f5b6c12" "1z9jn19hnwjand9c0ifc39gq71nz17jjqy2s5fqr2z06y8qys62h") - (mozilla-patch "icecat-CVE-2018-5089-pt16.patch" "f7865afb1fe6" "0i7ydmcr1g0ih3myyxaxjq6wfg3rvq5j4893kjqksqihfqrkzs4j") - (mozilla-patch "icecat-CVE-2018-5097.patch" "9fb7614319df" "1xirahk06w8pyw4pdh64f4pg3qcb7c8x8frrmad2895fagy14g4k") - (mozilla-patch "icecat-mitigate-spectre.patch" "81d6465bd7c2" "1za5l249pb5x7f283vrimy0ankjzvwa99hfql3v4fm5a4grjkj9n") - (mozilla-patch "icecat-CVE-2018-5089-pt17.patch" "5f753161df25" "1k2mpwagz08wzxfzwy2b4a0pz0hkhdqby6n11i7pasx3ary670km") - (mozilla-patch "icecat-CVE-2018-5099.patch" "b95d654de120" "1cv7nz2gsyjjigw6wv4xagh8q6bcg0971md8b6xjvz5m26aynlaw") - (mozilla-patch "icecat-bug-1408631.patch" "3b1faddc0e5f" "0817x5mrdyjj0gc9yi19m6d78d18ypc9nbld64d2axhc8v9bz3xf") - (mozilla-patch "icecat-glibc-2.26.patch" "57d4fae4dffe" "1sv7kp7m4i7n31ny8k7cpjsrqpxh5y5jm27sh2cgpj7fhi5kqsj2") - (mozilla-patch "icecat-CVE-2018-5089-pt18.patch" "fe271a2b9503" "11wr8mdxw01dlmzkq55hf0qd52cwmx4vk96cff66d4kkl1dbj6qn") - (mozilla-patch "icecat-CVE-2018-5089-pt19.patch" "410da936a1e8" "14dvaysz0svlh50kdabjhd2s5avz6p93sbyqhwik5rlvcg5ax5zp") - (mozilla-patch "icecat-CVE-2018-5089-pt20.patch" "8368a9a379e3" "0fqq01ms7m4kb9b10n8gy5n9n4x43crz2gn1r6c4ny52wzgm3j6f") - (mozilla-patch "icecat-CVE-2018-5089-pt21.patch" "a7c8e85285e2" "1caa2w5r8rqb1qrk4mgf2vw1k592idvqmgs8qfz2dp2744kk6z98") (mozilla-patch "icecat-bug-1375217.patch" "00fc630c9a46" "17pcprp452nslk6sac6sili0p74zh8w3g0v1wsdn0ikm9xmnphhv") (mozilla-patch "icecat-bug-1261175.patch" "f0ec180993d2" "0jiazxcwki83wr00fyh2g518ynsd33p7nk65zk4d1682gn22lc8v") (mozilla-patch "icecat-bug-1433005.patch" "a6a9e26688c1" "0cvizvilb4k422j2gzqcbakznvsffmk6n6xn1ayj5rgxfaizkkqk") (mozilla-patch "icecat-bug-1434580.patch" "198ad052621e" "1721zx8hifdlflrhvw6hmkdgjbvsmxl9n84iji5qywhlp2krdk9r") - (mozilla-patch "icecat-bug-1426087.patch" "391ea77ebfdb" "1fhkvd0z6mvdkj7m0d3jlj42rsdw5r4x122c1wb1i428228ifw6n"))) + (mozilla-patch "icecat-bug-1426087.patch" "391ea77ebfdb" "1fhkvd0z6mvdkj7m0d3jlj42rsdw5r4x122c1wb1i428228ifw6n") + (mozilla-patch "icecat-bug-1416307.patch" "54f2f7f93b30" "1ncjir16mqya37wgf6fy2rqki3vl433c4grjr3fypmlig6xfgg1l") + (mozilla-patch "icecat-bug-1430557.patch" "2c4d7a59041b" "178c6gid89cvw52yqs43i6x6s5w0hslj0rfa2r8b4762ij3civ92") + (mozilla-patch "icecat-bug-1416529.patch" "f87ef3774d5e" "0payf3az2w93nzl5qknqx290jbxk8v39rwhdgq7wyd5f245dywxk") + (mozilla-patch "icecat-bug-1324042.patch" "ac743923f81d" "0msyr45xr1j5q4x6ah4r907pwjngyi0k6pp9y8ixk21cnwbzrdwx") + (mozilla-patch "icecat-bug-1428947.patch" "456913d7e8b5" "0fx0s06kxxj7g4hllinaskgh41z3k48zml6yqqzxx485qk3hdh9x") + (mozilla-patch "icecat-bug-1334465-pt1.patch" "f95c5b881442" "0iaddhf65jd9cycj4bw0b207n2jiqkr4q84jifzyqn4ygs75wdqd") + (mozilla-patch "icecat-bug-1334465-pt2.patch" "8a4265c8fb41" "1d9zfdbrlw9wzr84b7pj7lxgy487lsx0kfd89287hjk0al8m6vrw") + (mozilla-patch "icecat-bug-1398021.patch" "28855df568d8" "1kmq836gniplxpjnvq8lhbcc1aqi56al628r1mzdy94b5yb0lis3") + (mozilla-patch "icecat-bug-1388020.patch" "e8ab2736499b" "0n28vcd65rxsyq3z22rfcfksryfndhm1i3g6ah3akg11jnagqf5v") + (mozilla-patch "icecat-bug-1437087.patch" "014877bf17ea" "0hk90pnf7h7kvidji6ydvva1zpyraipn03pjhvprdqr7k2fqzmsz") + (mozilla-patch "icecat-bug-1437507.patch" "5b3a5de48912" "1ifya05rcd34ryp9zawdacihhkkf2m0xn2q8m8c6v78bvxj0mgig") + (mozilla-patch "icecat-bug-1440926.patch" "1df9b4404acd" "1sd59vsarfsbh3vlrzrqv6n1ni7vxdzm83j6s6g0fygl1h8kwijg") + (mozilla-patch "icecat-bug-1430173-pt1.patch" "9124c3972e2b" "13ns5yy39yzfx7lrkv4rgwdz6s6q0z4i09wkbxdvnkfsz17cd17i") + (mozilla-patch "icecat-bug-1430173-pt2.patch" "9f6dc031be51" "0bv2p98z5ahp3x9wxnhwxn87g21djvzzp7jy55ik90hqixsbhwdl"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f11cc76d9c..20a8c538be 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -187,7 +187,11 @@ (inputs `(("tzdata" ,tzdata) ("pcre" ,pcre) - ("gcc:lib" ,gcc "lib"))) + ;; Building Go 1.10 with the Go 1.4 bootstrap, Thread Sanitizer from GCC + ;; 5 finds a data race during the the test suite of Go 1.10. With GCC 6, + ;; the race doesn't seem to be present: + ;; https://github.com/golang/go/issues/24046 + ("gcc:lib" ,gcc-6 "lib"))) (native-inputs `(("pkg-config" ,%pkg-config) ("which" ,which) @@ -372,6 +376,119 @@ in the style of communicating sequential processes (@dfn{CSP}).") ,@(package-native-inputs go-1.4))) (supported-systems %supported-systems))) +(define-public go-1.10 + (package + (inherit go-1.9) + (name "go") + (version "1.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/golang/" + name version ".src.tar.gz")) + (sha256 + (base32 + "093z1h0gmi458kv7smpx0ph6jm7ss9mzxa432kysbz85jhl4kppk")))) + (arguments + (substitute-keyword-arguments (package-arguments go-1.9) + ((#:phases phases) + `(modify-phases ,phases + (replace 'prebuild + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) + (ld (string-append (assoc-ref inputs "libc") "/lib")) + (loader (car (find-files ld "^ld-linux.+"))) + (net-base (assoc-ref inputs "net-base")) + (tzdata-path + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) + (output (assoc-ref outputs "out"))) + + ;; Removing net/ tests, which fail when attempting to access + ;; network resources not present in the build container. + (for-each delete-file + '("net/listen_test.go" + "net/parse_test.go" + "net/cgo_unix_test.go")) + + (substitute* "os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/pwd") (which "pwd")) + (("/bin/sh") (which "sh"))) + + ;; Add libgcc to runpath + (substitute* "cmd/link/internal/ld/lib.go" + (("!rpath.set") "true")) + (substitute* "cmd/go/internal/work/gccgo.go" + (("cgoldflags := \\[\\]string\\{\\}") + (string-append "cgoldflags := []string{" + "\"-rpath=" gcclib "\"" + "}")) + (("\"-lgcc_s\", ") + (string-append + "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) + (substitute* "cmd/go/internal/work/gc.go" + (("ldflags = setextld\\(ldflags, compiler\\)") + (string-append + "ldflags = setextld(ldflags, compiler)\n" + "ldflags = append(ldflags, \"-r\")\n" + "ldflags = append(ldflags, \"" gcclib "\")\n"))) + + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available + ;; nor necessary for the build to succeed. + (for-each + (match-lambda + ((file regex) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name))))) + '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") + ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("os/os_test.go" "(.+)(TestHostname.+)") + ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ("time/format_test.go" "(.+)(TestParseInLocation.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") + ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") + ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") + ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") + ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") + ("os/exec/exec_test.go" "(.+)(TestPipes.+)") + ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") + ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)") + ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)") + ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)") + ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)") + ("net/lookup_test.go" "(.+)(TestLookupPort.+)") + ("syscall/exec_linux_test.go" + "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) + + ;; fix shebang for testar script + ;; note the target script is generated at build time. + (substitute* "../misc/cgo/testcarchive/carchive_test.go" + (("#!/usr/bin/env") (string-append "#!" (which "env")))) + + (substitute* "net/lookup_unix.go" + (("/etc/protocols") (string-append net-base "/etc/protocols"))) + (substitute* "net/port_unix.go" + (("/etc/services") (string-append net-base "/etc/services"))) + (substitute* "time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path)) + (substitute* (find-files "cmd" "\\.go") + (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) + #t))) + (replace 'set-bootstrap-variables + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; Tell the build system where to find the bootstrap Go. + (let ((go (assoc-ref inputs "go"))) + (setenv "GOROOT_BOOTSTRAP" go) + (setenv "GOGC" "400") + ;; Go 1.10 tries to write to $HOME in a test + (setenv "HOME" "/tmp") + #t))))))))) + (define-public go go-1.9) (define-public go-github-com-alsm-ioprogress @@ -385,6 +502,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (uri (git-reference (url "https://github.com/alsm/ioprogress.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh")))) @@ -410,6 +528,7 @@ writers can be supplied for alternate environments.") (uri (git-reference (url "https://github.com/aki237/nscjar.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96")))) @@ -434,6 +553,7 @@ jar struct to manage the cookies added to the cookie jar.") (uri (git-reference (url "https://github.com/davidjpeacock/cli.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "01s53ny3p0fdx64rnwcnmjj4xpc5adihnh6islsfq5z1ph2phhnj")))) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 211a33ef89..e07c9f4acb 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -108,6 +108,7 @@ manipulate maps.") (uri (git-reference (url "https://github.com/freefoote/gpscorrelate") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "006a6l8p38a4h7y2959sqrmjjn29d8pd50zj9nypcp5ph18nybjb")))) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 70df77b5d2..19c9b2269b 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,6 +18,7 @@ (define-module (gnu packages graph) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -172,3 +173,29 @@ model.") "This package interfaces R with the graphviz library for plotting R graph objects from the @code{graph} package.") (license license:epl1.0))) + +(define-public r-rbiofabric + (let ((commit "666c2ae8b0a537c006592d067fac6285f71890ac") + (revision "1")) + (package + (name "r-rbiofabric") + (version (string-append "0.3-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wjrl/RBioFabric.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1yahqrcrqpbcywv73y9rlmyz8apdnp08afialibrr93ch0p06f8z")))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph))) + (home-page "http://www.biofabric.org/") + (synopsis "BioFabric network visualization") + (description "This package provides an implementation of the function +@code{bioFabric} for creating scalable network digrams where nodes are +represented by horizontal lines, and edges are represented by vertical +lines.") + (license license:expat)))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index d6feab1197..8504b2f11e 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> -;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> +;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; @@ -251,7 +251,7 @@ exception-handling library.") (define-public ogre (package (name "ogre") - (version "1.10.7") + (version "1.10.11") (source (origin (method url-fetch) @@ -259,7 +259,7 @@ exception-handling library.") "/archive/v" version ".tar.gz")) (sha256 (base32 - "1p0c91cc7zg3c00wjaibnxb0a0xm14mkg0h65pzpw93m0d6nc8wd")) + "13bdh9v4026qf8w8rbfln2rmwf0rby1a8fz55zpdvpy105i6cbpz")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 5fad28952b..4ec5765bb1 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -87,7 +87,7 @@ "testsuite/exec_opcodes_sys.c") (("if \\(error\\) return 1;") "if (error) return 77;"))))))) - (home-page "http://gstreamer.freedesktop.org/modules/orc.html") + (home-page "https://gstreamer.freedesktop.org/modules/orc.html") (synopsis "Oil runtime compiler") (description "Orc is a just-in-time compiler implemented as a library and set of @@ -405,7 +405,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") ("ffmpeg" ,ffmpeg) ("orc" ,orc) ("zlib" ,zlib))) - (home-page "http://gstreamer.freedesktop.org/") + (home-page "https://gstreamer.freedesktop.org/") (synopsis "Plugins for the GStreamer multimedia library") (description "This GStreamer plugin supports a large number of audio and video diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8b4925f950..aeca806ee6 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module (gnu packages) @@ -323,6 +325,7 @@ diagrams.") (uri (git-reference (url "http://git.drobilla.net/ganv.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1cr8w02lr6bk9mkxa12j3imq721b2an2yn4bj5wnwmpm91ddn2gi"))))))) @@ -1039,7 +1042,7 @@ library.") (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("glibmm" ,glibmm) ("atk" ,atk))) - (home-page "http://www.gtkmm.org") + (home-page "https://www.gtkmm.org") (synopsis "C++ interface to the ATK accessibility library") (description "ATKmm provides a C++ programming interface to the ATK accessibility @@ -1049,7 +1052,7 @@ toolkit.") (define-public gtkmm (package (name "gtkmm") - (version "3.22.0") + (version "3.22.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1057,11 +1060,11 @@ toolkit.") name "-" version ".tar.xz")) (sha256 (base32 - "1x8l0ny6r3ym53z82q9d5fan4m9vi93xy3b3hj1hrclgc95lvnh5")))) + "1400535lhyya462pfx8bp11k3mg3jsbdghlpygskd5ai665dkbwi")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ;for 'glib-compile-resources' - ("xorg-server" ,xorg-server))) + ("xorg-server" ,xorg-server-1.19.3))) (propagated-inputs `(("pangomm" ,pangomm) ("cairomm" ,cairomm) @@ -1069,7 +1072,11 @@ toolkit.") ("gtk+" ,gtk+) ("glibmm" ,glibmm))) (arguments - '(#:phases (modify-phases %standard-phases + `(;; XXX: Tests require C++14 or later. Remove this when the default + ;; compiler is >= GCC6. + #:configure-flags '("CXXFLAGS=-std=gnu++14") + #:disallowed-references (,xorg-server-1.19.3) + #:phases (modify-phases %standard-phases (add-before 'check 'run-xvfb (lambda* (#:key inputs #:allow-other-keys) (let ((xorg-server (assoc-ref inputs "xorg-server"))) @@ -1080,7 +1087,7 @@ toolkit.") ;; Don't fail because of the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0") #t)))))) - (home-page "http://gtkmm.org/") + (home-page "https://gtkmm.org/") (synopsis "C++ interface to the GTK+ graphical user interface library") (description @@ -1114,6 +1121,38 @@ extensive documentation, including API reference and a tutorial.") ("gtk+" ,gtk+-2) ("glibmm" ,glibmm))))) +(define-public gtksourceviewmm + (package + (name "gtksourceviewmm") + (version "3.18.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0fgvmhm4h4qmxig87qvangs6ijw53mi40siz7pixlxbrsgiil22i")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; In 'Requires' of gtksourceviewmm-3.0.pc. + `(("glibmm" ,glibmm) + ("gtkmm" ,gtkmm) + ("gtksourceview" ,gtksourceview))) + (synopsis "C++ interface to the GTK+ 'GtkTextView' widget") + (description + "gtksourceviewmm is a portable C++ library that extends the standard GTK+ +framework for multiline text editing with support for configurable syntax +highlighting, unlimited undo/redo, search and replace, a completion framework, +printing and other features typical of a source code editor.") + (license license:lgpl2.1+) + (home-page "https://developer.gnome.org/gtksourceview/"))) + +;;; +;;; Python bindings. +;;; + (define-public python-pycairo (package (name "python-pycairo") @@ -1236,6 +1275,95 @@ targeted at GTK 2.x, and can be used in conjunction with gnome-python to write GNOME applications.") (license license:lgpl2.1+))) +(define-public perl-cairo + (package + (name "perl-cairo") + (version "1.106") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/X/XA/XAOC/Cairo-" + version ".tar.gz")) + (sha256 + (base32 + "1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (inputs + `(("cairo" ,cairo))) + (home-page "http://search.cpan.org/dist/Cairo/") + (synopsis "Perl interface to the cairo 2d vector graphics library") + (description "Cairo provides Perl bindings for the vector graphics library +cairo. It supports multiple output targets, including PNG, PDF and SVG. Cairo +produces identical output on all those targets.") + (license license:lgpl2.1+))) + +(define-public perl-gtk2 + (package + (name "perl-gtk2") + (version "1.24992") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-" + version ".tar.gz")) + (sha256 + (base32 + "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (inputs + `(("gtk+" ,gtk+-2))) + (propagated-inputs + `(("perl-pango" ,perl-pango))) + (home-page "http://search.cpan.org/dist/Gtk2/") + (synopsis "Perl interface to the 2.x series of the Gimp Toolkit library") + (description "Perl bindings to the 2.x series of the Gtk+ widget set. +This module allows you to write graphical user interfaces in a Perlish and +object-oriented way, freeing you from the casting and memory management in C, +yet remaining very close in spirit to original API.") + (license license:lgpl2.1+))) + +(define-public perl-pango + (package + (name "perl-pango") + (version "1.227") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Pango-" + version ".tar.gz")) + (sha256 + (base32 + "0wdcidnfnb6nm79fzfs39ivawj3x8m98a147fmcxgv1zvwia9c1l")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) + (inputs + `(("pango" ,pango))) + (propagated-inputs + `(("perl-cairo" ,perl-cairo) + ("perl-glib" ,perl-glib))) + (home-page "http://search.cpan.org/dist/Pango/") + (synopsis "Layout and render international text") + (description "Pango is a library for laying out and rendering text, with an +emphasis on internationalization. Pango can be used anywhere that text layout +is needed, but using Pango in conjunction with Cairo and/or Gtk2 provides a +complete solution with high quality text handling and graphics rendering. + +Dynamically loaded modules handle text layout for particular combinations of +script and font backend. Pango provides a wide selection of modules, including +modules for Hebrew, Arabic, Hangul, Thai, and a number of Indic scripts. +Virtually all of the world's major scripts are supported. + +In addition to the low level layout rendering routines, Pango includes +@code{Pango::Layout}, a high level driver for laying out entire blocks of text, +and routines to assist in editing internationalized text.") + (license license:lgpl2.1+))) + (define-public girara (package (name "girara") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a4685ec7e4..7f01441b0e 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -282,6 +282,21 @@ without requiring the source code to be rewritten.") ; when heavily loaded) (replacement #f))) +(define-public guile-2.2.2 + ;; Keep it so that, when 'guix' runs on 2.2.2, 'guix pull' compiles objects + ;; with 2.2.2, thereby avoiding the ABI incompatibility issues described in + ;; <https://bugs.gnu.org/29570>. + (package + (inherit guile-2.2) + (version "2.2.2") + (source (origin + (inherit (package-source guile-2.2)) + (uri (string-append "mirror://gnu/guile/guile-" version + ".tar.xz")) + (sha256 + (base32 + "1azm25zcmxif0skxfrp11d2wc89nrzpjaann9yxdw6pvjxhs948w")))))) + (define-public guile-next (deprecated-package "guile-next" guile-2.2)) @@ -752,7 +767,7 @@ format is also supported.") (symlink "README.org" "README") (zero? (system* "autoreconf" "-fi"))))))) (native-inputs - `(("autoconf" ,(autoconf-wrapper)) + `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("texinfo" ,texinfo) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. @@ -1242,14 +1257,14 @@ Guile's foreign function interface.") (define-public haunt (package (name "haunt") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/haunt/haunt-" version ".tar.gz")) (sha256 (base32 - "1fpaf1vm6s7j13fs35barjh5yajcc2rc3pi8r7278wpgp4i2vs3w")))) + "0nm00krmqq4zmqi2irh35dbf2cn6al58s620hijmhfvhgvdqznlp")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 match) (ice-9 ftw) @@ -1266,12 +1281,15 @@ Guile's foreign function interface.") out "/share/guile/site"))) (match (scandir site) (("." ".." version) - (let ((modules (string-append site "/" version))) + (let ((modules (string-append site "/" version)) + (compiled-modules (string-append + out "/lib/guile/" version + "/site-ccache"))) (wrap-program (string-append bin "/haunt") `("GUILE_LOAD_PATH" ":" prefix (,modules)) `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,modules))) + (,compiled-modules))) #t))))))))) (native-inputs `(("pkg-config" ,pkg-config) @@ -1834,7 +1852,7 @@ dictionary and suggesting spelling corrections.") (string-append "--libdir=" (assoc-ref %outputs "out") "/lib/bash")))) (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. @@ -1982,35 +2000,30 @@ manipulate repositories of the Git version control system.") (package-for-guile-2.0 guile-git)) (define-public guile-syntax-highlight - (let ((commit "a047675e66861b647426372aa2ba7820f749616d") - (revision "0")) - (package - (name "guile-syntax-highlight") - (version (string-append "0.0." revision "." - (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://dthompson.us/guile-syntax-highlight.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1zjr6sg3n7xbdsliy45i39dqanxvcms58ayx36wxrz72zpq58vq3")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) - (inputs - `(("guile" ,guile-2.2))) - (synopsis "General-purpose syntax highlighter for GNU Guile") - (description "Guile-syntax-highlight is a general-purpose syntax + (package + (name "guile-syntax-highlight") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://files.dthompson.us/" + "guile-syntax-highlight/" + "guile-syntax-highlight-" + version ".tar.gz")) + (sha256 + (base32 + "1p771kq15x83483m23bhah1sz6vkalg3drm7x279f4j1cxligkzi")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.2))) + (synopsis "General-purpose syntax highlighter for GNU Guile") + (description "Guile-syntax-highlight is a general-purpose syntax highlighting library for GNU Guile. It can parse code written in various programming languages into a simple s-expression that can be converted to HTML (via SXML) or any other format for rendering.") - (home-page "http://dthompson.us/software/guile-syntax-highlight") - (license license:lgpl3+)))) + (home-page "http://dthompson.us/projects/guile-syntax-highlight.html") + (license license:lgpl3+))) (define-public guile-sjson (package diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index a24ee4b7c0..1190bc63a5 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -777,6 +777,18 @@ for Haskell, optimized for ease of use and high performance. (A note on naming: in Greek mythology, Aeson was the father of Jason.)") (license license:bsd-3))) +(define-public ghc-aeson-for-pandoc-1 + (package (inherit ghc-aeson) + (version "1.1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/aeson/aeson-" + version ".tar.gz")) + (sha256 + (base32 + "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p")))))) + (define-public ghc-aeson-pretty (package (name "ghc-aeson-pretty") @@ -866,3 +878,26 @@ of a JSON value into a @code{Data.Aeson.Value}.") (description "HTTP multipart split out of the cgi package, for Haskell.") (license license:bsd-3))) + +(define-public ghc-uri-encode + (package + (name "ghc-uri-encode") + (version "1.5.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/uri-encode/uri-encode-" + version ".tar.gz")) + (sha256 + (base32 + "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8")))) + (build-system haskell-build-system) + (inputs + `(("ghc-text" ,ghc-text) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-network-uri" ,ghc-network-uri))) + (home-page "https://hackage.haskell.org/package/uri-encode") + (synopsis "Unicode aware uri-encoding") + (description "Unicode aware uri-encoding for Haskell.") + (license license:bsd-3))) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e62c405ab7..c5408f8627 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -63,7 +63,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) - #:use-module (ice-9 regex)) + #:use-module (ice-9 regex) + #:use-module ((srfi srfi-1) #:select (alist-delete))) (define-public cl-yale-haskell (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270") @@ -1072,7 +1073,7 @@ patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") (synopsis "Specify refactorings to perform with apply-refact") (description "This library provides a datatype which can be interpreted by -@code{apply-refact}. It exists as a seperate library so that applications can +@code{apply-refact}. It exists as a separate library so that applications can specify refactorings without depending on GHC.") (license license:bsd-3))) @@ -4980,6 +4981,22 @@ pandoc to represent structured documents. It also provides functions for building up, manipulating and serialising @code{Pandoc} structures.") (license license:bsd-3))) +(define-public ghc-pandoc-types-for-pandoc-1 + (package (inherit ghc-pandoc-types) + (version "1.17.0.5") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "pandoc-types/pandoc-types-" + version ".tar.gz")) + (sha256 + (base32 + "1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8")))) + (inputs + `(("ghc-syb" ,ghc-syb) + ("ghc-aeson" ,ghc-aeson-for-pandoc-1) + ("ghc-string-qq" ,ghc-string-qq))))) + (define-public ghc-texmath (package (name "ghc-texmath") @@ -5013,6 +5030,27 @@ markup formats). The TeX reader supports basic LaTeX and AMS extensions, and it can parse and apply LaTeX macros.") (license license:gpl2+))) +(define-public ghc-texmath-for-pandoc-1 + (package (inherit ghc-texmath) + (version "0.9.4.4") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "texmath/texmath-" version ".tar.gz")) + (sha256 + (base32 + "129q33m56diiv35kdwfb07838wrg0mm88kxdqxfyl1zvf9nzkqkd")))) + (inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1) + ("ghc-parsec" ,ghc-parsec) + ("ghc-split" ,ghc-split) + ("ghc-syb" ,ghc-syb) + ("ghc-temporary" ,ghc-temporary) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-xml" ,ghc-xml))))) + (define-public ghc-regex-pcre-builtin (package (name "ghc-regex-pcre-builtin") @@ -5562,6 +5600,12 @@ back-ends.") "This package provides a library to parse and render YAML documents.") (license license:bsd-3))) +(define-public ghc-yaml-for-pandoc-1 + (package (inherit ghc-yaml) + (inputs + `(("ghc-aeson" ,ghc-aeson-for-pandoc-1) + ,@(alist-delete "ghc-aeson" (package-inputs ghc-yaml)))))) + (define-public ghc-filemanip (package (name "ghc-filemanip") @@ -5666,6 +5710,27 @@ TIFF and GIF formats.") described in @url{https://www.lua.org/}.") (license license:expat))) +(define-public ghc-hslua-for-pandoc-1 + (package (inherit ghc-hslua) + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "hslua/hslua-" version ".tar.gz")) + (sha256 + (base32 + "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid")))) + (inputs + `(("lua" ,lua-5.1) + ("ghc-text" ,ghc-text))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-contrib" ,ghc-hspec-contrib) + ("ghc-hunit" ,ghc-hunit) + ("hspec-discover" ,hspec-discover))))) + (define-public ghc-hslua-module-text (package (name "ghc-hslua-module-text") @@ -5755,6 +5820,8 @@ representations of current time.") (sha256 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=QuickCheck"))) (inputs `(("ghc-random" ,ghc-random) ("ghc-test-framework" ,ghc-test-framework) @@ -5890,6 +5957,57 @@ supported by that framework can be added. An optional command-line program is provided. Skylighting is intended to be the successor to highlighting-kate.") (license license:gpl2))) +(define-public ghc-skylighting-for-pandoc-1 + (package (inherit ghc-skylighting) + (version "0.1.1.5") + (source (origin + (method git-fetch) + ;; We take the sources from Github, because the tarball on + ;; hackage does not include the XML files. + (uri (git-reference + (url "https://github.com/jgm/skylighting.git") + (commit version))) + (file-name (string-append "ghc-skylighting-" version "-checkout")) + (sha256 + (base32 + "0z3yv8v2fqqgv6lsf0ff3ld0h2vkg97b2jiry9wn2f1rizwdqmzl")))) + (arguments + `(#:configure-flags '("-fbootstrap") + #:phases + (modify-phases %standard-phases + ;; After building the skylighting-extract tool we use it to generate + ;; syntax source files from the included XML files. These are then + ;; added to the skylighting.cabal file. + (add-after 'build 'extract-xml + (lambda _ + (make-file-writable "skylighting.cabal") + (apply invoke "./dist/build/skylighting-extract/skylighting-extract" + (find-files "xml" "\\.xml$")) + #t)) + ;; Reconfigure without bootstrap flag + (add-after 'extract-xml 'configure-again + (lambda* (#:key outputs inputs tests? #:allow-other-keys) + ((assoc-ref %standard-phases 'configure) + #:outputs outputs + #:inputs inputs + #:tests? tests? + #:configure-flags '("-f-bootstrap")))) + (add-after 'configure-again 'build-again + (assoc-ref %standard-phases 'build))))) + (inputs + `(("ghc-aeson" ,ghc-aeson-for-pandoc-1) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-diff" ,ghc-diff) + ("ghc-hxt" ,ghc-hxt) + ("ghc-mtl" ,ghc-mtl) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin) + ("ghc-safe" ,ghc-safe) + ("ghc-text" ,ghc-text) + ("ghc-utf8-string" ,ghc-utf8-string))))) + (define-public ghc-doctemplates (package (name "ghc-doctemplates") @@ -5921,6 +6039,29 @@ provided. Skylighting is intended to be the successor to highlighting-kate.") "This package provides a simple text templating system used by pandoc.") (license license:bsd-3))) +(define-public ghc-doctemplates-for-pandoc-1 + (package (inherit ghc-doctemplates) + (version "0.1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "doctemplates/doctemplates-" + version ".tar.gz")) + (sha256 + (base32 + "0swal6rjya1293mwvl63jch5fx9ghpsil7qs4v7rpansa0izalmp")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson-for-pandoc-1) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-text" ,ghc-text) + ("ghc-vector" ,ghc-vector) + ("ghc-parsec" ,ghc-parsec) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-scientific" ,ghc-scientific))))) + (define-public ghc-pandoc (package (name "ghc-pandoc") @@ -5997,6 +6138,67 @@ definition lists, tables, and other features. A compatibility mode is provided for those who need a drop-in replacement for Markdown.pl.") (license license:gpl2+))) +;; This is the last version of Pandoc 1.x, which is preferred for Rmarkdown. +(define-public ghc-pandoc-1 + (package (inherit ghc-pandoc) + (version "1.19.2.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-" + version ".tar.gz")) + (sha256 + (base32 + "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v")))) + (arguments + `(#:configure-flags (list "--allow-newer=skylighting"))) + (inputs + `(("ghc-aeson" ,ghc-aeson-for-pandoc-1) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-cmark" ,ghc-cmark) + ("ghc-data-default" ,ghc-data-default) + ("ghc-deepseq-generics" ,ghc-deepseq-generics) + ("ghc-diff" ,ghc-diff) + ("ghc-doctemplates" ,ghc-doctemplates-for-pandoc-1) + ("ghc-executable-path" ,ghc-executable-path) + ("ghc-extensible-exceptions" ,ghc-extensible-exceptions) + ("ghc-filemanip" ,ghc-filemanip) + ("ghc-haddock-library" ,ghc-haddock-library) + ("ghc-hslua" ,ghc-hslua-for-pandoc-1) + ("ghc-http" ,ghc-http) + ("ghc-http-client" ,ghc-http-client) + ("ghc-http-client-tls" ,ghc-http-client-tls) + ("ghc-http-types" ,ghc-http-types) + ("ghc-juicypixels" ,ghc-juicypixels) + ("ghc-mtl" ,ghc-mtl) + ("ghc-network" ,ghc-network) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-old-time" ,ghc-old-time) + ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1) + ("ghc-parsec" ,ghc-parsec) + ("ghc-random" ,ghc-random) + ("ghc-scientific" ,ghc-scientific) + ("ghc-sha" ,ghc-sha) + ("ghc-skylighting" ,ghc-skylighting-for-pandoc-1) + ("ghc-syb" ,ghc-syb) + ("ghc-tagsoup" ,ghc-tagsoup) + ("ghc-temporary" ,ghc-temporary) + ("ghc-texmath" ,ghc-texmath-for-pandoc-1) + ("ghc-text" ,ghc-text) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-xml" ,ghc-xml) + ("ghc-yaml" ,ghc-yaml-for-pandoc-1) + ("ghc-zip-archive" ,ghc-zip-archive) + ("ghc-zlib" ,ghc-zlib))) + (native-inputs + `(("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))))) + (define-public ghc-hs-bibutils (package (name "ghc-hs-bibutils") @@ -7358,6 +7560,8 @@ Haskell, using gnuplot for rendering.") (sha256 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=vector"))) (inputs `(("ghc-hashable" ,ghc-hashable) ("ghc-primitive" ,ghc-primitive) @@ -8177,12 +8381,12 @@ Background: There exists a feature space for queues that extends between: @itemize @item Simple, single-ended, non-concurrent, bounded queues -@item Double-ended, threadsafe, growable queues with important points -inbetween (such as the queues used for work-stealing). +@item Double-ended, thread-safe, growable queues with important points +in between (such as the queues used for work stealing). @end itemize This package includes an interface for Deques that allows the programmer -to use a single API for all of the above, while using the type-system to +to use a single API for all of the above, while using the type system to select an efficient implementation given the requirements (using type families). This package also includes a simple reference implementation based on @@ -8528,6 +8732,8 @@ functions.") (base32 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=QuickCheck"))) (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1) ("ghc-cryptohash-md5" ,ghc-cryptohash-md5) ("ghc-entropy" ,ghc-entropy) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index ff34da9f4a..cf612666f1 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -59,7 +59,7 @@ (define-public feh (package (name "feh") - (version "2.23.2") + (version "2.25.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -67,7 +67,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "1hw9xhhmm404ircmd7aw9n51n23wzjxzmav272ldk1pxb2jk3hcn")))) + "197sm78bm33dvahr5nxqkbmpmdn4b13ahc9mrgn1l7n104bg4phc")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5943457f94..b576c508ec 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -7,8 +7,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org> -;;; Copyright © 2016 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> @@ -59,6 +58,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages qt) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -1230,3 +1230,66 @@ medical image data, e.g. magnetic resonance image (MRI) and functional MRI (synopsis "Color picker") (description "Gpick is an advanced color picker and palette editing tool.") (license license:bsd-3))) + +(define-public libiptcdata + (package + (name "libiptcdata") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "03pfvkmmx762iydq0q207x2028d275pbdysfsgpmrr0ywy63pxkr")))) + (build-system gnu-build-system) + (home-page "http://libiptcdata.sourceforge.net/") + (synopsis "IPTC metadata manipulation library") + (description "Libiptcdata is a C library for manipulating the International +Press Telecommunications Council (IPTC) metadata stored within multimedia files +such as images. This metadata can include captions and keywords, often used by +popular photo management applications. The library provides routines for +parsing, viewing, modifying, and saving this metadata.") + (license license:lgpl2.0+))) + +(define-public flameshot + (package + (name "flameshot") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/lupoDharkael/flameshot/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kp451bqgssvg8n3sg60s3fifplm9l5kxiij0yxkl864p2mhw8im")))) + (build-system gnu-build-system) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase))) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "qmake" + "CONFIG+=packaging" + (string-append "BASEDIR=" (assoc-ref outputs "out")) + "PREFIX=/")))))) + (home-page "https://github.com/lupoDharkael/flameshot") + (synopsis "Powerful yet simple to use screenshot software") + (description "Flameshot is a screenshot program. +Features: + +@itemize +@item Customizable appearance. +@item Easy to use. +@item In-app screenshot edition. +@item DBus interface. +@item Upload to Imgur. +@end itemize\n") + (license license:gpl3+))) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 97b3225a77..d798833742 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -47,14 +47,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.9-35") + (version "6.9.9-37") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "09c8298v7112y579mfp0bgsa3gsmcx2l5zbgfkwply4ihszprh0i")))) + "1hmfw0jcpc3s3gz9zrzjy9amyrfz6gzzjdsyaw3xw994aq9qf4lq")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index f1a3cb23f4..1e98369ea3 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -46,25 +46,15 @@ (define-public inkscape (package (name "inkscape") - (version "0.92.2") + (version "0.92.3") (source (origin (method url-fetch) (uri (string-append "https://media.inkscape.org/dl/" "resources/file/" "inkscape-" version ".tar.bz2")) - (patches - (list - ;; Fix compatibility with poppler >= 0.58. - (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/" - "9418824967eb4c53371ef8588243fed4cab496e0.patch")) - (sha256 - (base32 - "0wwyhkqb1qyazz5f6wqrc223l6k8qnmadiw28q8gihlgvh38rvll"))))) (sha256 (base32 - "1lyghk6yarcv9nwkh6k366p6hb7rfilqcvbyji09hki59khd0a56")))) + "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6")))) (build-system cmake-build-system) (inputs `(("aspell" ,aspell) @@ -87,7 +77,10 @@ ("perl" ,perl) ("pkg-config" ,pkg-config))) ;; FIXME: tests require gmock - (arguments `(#:tests? #f)) + (arguments + `(#:tests? #f + #:make-flags + '("gtk_update_icon_cache=true"))) (home-page "https://inkscape.org/") (synopsis "Vector graphics editor") (description "Inkscape is a vector graphics editor. What sets Inkscape diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index b00fd6cc19..e59b34417b 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 ng0 <ng0@infotropique.org> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -272,23 +272,23 @@ using a mouse. It is customizable and extensible with plugins and scripts.") (define-public ii (package (name "ii") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) (uri (string-append "http://dl.suckless.org/tools/" name "-" version ".tar.gz")) (sha256 (base32 - "176cqwnn6h7w4kbfd66hzqa243l26pqp2b06bii0nmnm0rkaqwis")))) + "1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") #:phases (modify-phases %standard-phases - (delete 'configure)))) ; no configure - (home-page "http://tools.suckless.org/ii/") + (delete 'configure)))) ; no configure + (home-page "https://tools.suckless.org/ii/") (synopsis "FIFO and file system based IRC client") (description "ii (Irc it) is a minimalist FIFO and file system based IRC client.") @@ -313,7 +313,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.") #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure - (home-page "http://tools.suckless.org/sic/") + (home-page "https://tools.suckless.org/sic/") (synopsis "Simple IRC client") (description "sic is a simple IRC client, even more minimalistic than ii.") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d3fa88adbd..b4f64e2c2e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -59,6 +59,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) ;alsa + #:use-module (gnu packages maths) #:use-module (gnu packages web) #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) @@ -1587,7 +1588,8 @@ IcedTea build harness.") (modules '((guix build utils))) (snippet '(begin - (substitute* "acinclude.m4" + (substitute* '("configure" + "acinclude.m4") ;; Do not embed build time (("(DIST_ID=\"Custom build).*$" _ prefix) (string-append prefix "\"\n")) @@ -1596,65 +1598,90 @@ IcedTea build harness.") "DIST_NAME=\"guix\"")) #t)))) (arguments - (substitute-keyword-arguments (package-arguments icedtea-7) - ((#:configure-flags flags) - `(let ((jdk (assoc-ref %build-inputs "jdk"))) - `(;;"--disable-bootstrap" - "--enable-bootstrap" - "--enable-nss" - "--disable-downloading" - "--disable-system-pcsc" - "--disable-system-sctp" - "--disable-tests" ;they are run in the check phase instead - "--with-openjdk-src-dir=./openjdk.src" - ,(string-append "--with-jdk-home=" jdk)))) - ((#:phases phases) - `(modify-phases ,phases - (delete 'fix-x11-extension-include-path) - (delete 'patch-paths) - (delete 'set-additional-paths) - (delete 'patch-patches) - (add-after 'unpack 'patch-jni-libs - ;; Hardcode dynamically loaded libraries. - (lambda _ - (let* ((library-path (search-path-as-string->list - (getenv "LIBRARY_PATH"))) - (find-library (lambda (name) - (search-path - library-path - (string-append "lib" name ".so"))))) - (for-each - (lambda (file) - (catch 'decoding-error - (lambda () - (substitute* file - (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" - _ name version) - (format #f "\"~a\"" (find-library name))) - (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (format #f "\"~a\"" (find-library name))))) - (lambda _ - ;; Those are safe to skip. - (format (current-error-port) - "warning: failed to substitute: ~a~%" - file)))) - (find-files "openjdk.src/jdk/src/solaris/native" - "\\.c|\\.h")) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/icedtea")) - (jre (assoc-ref outputs "out")) - (jdk (assoc-ref outputs "jdk"))) - (copy-recursively "openjdk.build/docs" doc) - (copy-recursively "openjdk.build/images/j2re-image" jre) - (copy-recursively "openjdk.build/images/j2sdk-image" jdk) - ;; Install the nss.cfg file to JRE to enable SSL/TLS - ;; support via NSS. - (copy-file (string-append jdk "/jre/lib/security/nss.cfg") - (string-append jre "/lib/security/nss.cfg")) - #t))))))) + `(#:imported-modules + ((guix build ant-build-system) + (guix build syscalls) + ,@%gnu-build-system-modules) + ,@(substitute-keyword-arguments (package-arguments icedtea-7) + ((#:modules modules) + `((guix build utils) + (guix build gnu-build-system) + ((guix build ant-build-system) #:prefix ant:) + (ice-9 match) + (ice-9 popen) + (srfi srfi-19) + (srfi srfi-26))) + ((#:configure-flags flags) + `(let ((jdk (assoc-ref %build-inputs "jdk"))) + `( ;;"--disable-bootstrap" + "--enable-bootstrap" + "--enable-nss" + "--disable-downloading" + "--disable-system-pcsc" + "--disable-system-sctp" + "--disable-tests" ;they are run in the check phase instead + "--with-openjdk-src-dir=./openjdk.src" + ,(string-append "--with-jdk-home=" jdk)))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'fix-x11-extension-include-path) + (delete 'patch-paths) + (delete 'set-additional-paths) + (delete 'patch-patches) + ;; Prevent the keytool from recording the current time when + ;; adding certificates at build time. + (add-after 'unpack 'patch-keystore + (lambda _ + (substitute* "openjdk.src/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java" + (("date = new Date\\(\\);") + "\ +date = (System.getenv(\"SOURCE_DATE_EPOCH\") != null) ?\ +new Date(Long.parseLong(System.getenv(\"SOURCE_DATE_EPOCH\"))) :\ +new Date();")) + #t)) + (add-after 'unpack 'patch-jni-libs + ;; Hardcode dynamically loaded libraries. + (lambda _ + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-library (lambda (name) + (search-path + library-path + (string-append "lib" name ".so"))))) + (for-each + (lambda (file) + (catch 'decoding-error + (lambda () + (substitute* file + (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" + _ name version) + (format #f "\"~a\"" (find-library name))) + (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) + (format #f "\"~a\"" (find-library name))))) + (lambda _ + ;; Those are safe to skip. + (format (current-error-port) + "warning: failed to substitute: ~a~%" + file)))) + (find-files "openjdk.src/jdk/src/solaris/native" + "\\.c|\\.h")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/icedtea")) + (jre (assoc-ref outputs "out")) + (jdk (assoc-ref outputs "jdk"))) + (copy-recursively "openjdk.build/docs" doc) + (copy-recursively "openjdk.build/images/j2re-image" jre) + (copy-recursively "openjdk.build/images/j2sdk-image" jdk) + ;; Install the nss.cfg file to JRE to enable SSL/TLS + ;; support via NSS. + (copy-file (string-append jdk "/jre/lib/security/nss.cfg") + (string-append jre "/lib/security/nss.cfg")) + #t))) + (add-after 'install 'strip-jar-timestamps + (assoc-ref ant:%standard-phases 'strip-jar-timestamps))))))) (native-inputs `(("jdk" ,icedtea-7 "jdk") ("openjdk-src" @@ -2015,6 +2042,510 @@ debugging, etc.") (delete-file-recursively "lib") #t)) (replace 'install (install-jars "bin/lib"))))))) +;; This is the last 3.x release of ECJ +(define-public java-ecj-3 + (package + (name "java-ecj") + (version "3.8.2") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.eclipse.org/eclipse/" + "downloads/drops/R-" version + "-201301310800/ecjsrc-" version ".jar")) + (sha256 + (base32 + "01mdj14jw11g1jfnki4fi8229p0c6zzckd38zqy2w4m3cjcvsx04")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; none included + #:jdk ,icedtea-7 ; doesn't build with JDK8+ + #:make-flags (list "-f" "src/build.xml") + #:build-target "build" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-manifest + (lambda _ + ;; Record the main class to make ecj executable. + (with-atomic-file-replacement "src/META-INF/MANIFEST.MF" + (lambda (in out) + (display "Manifest-Version: 1.0 +Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" + out))))) + (replace 'install (install-jars "."))))) + (home-page "https://eclipse.org") + (synopsis "Eclipse Java development tools core batch compiler") + (description "This package provides the Eclipse Java core batch compiler.") + (license license:epl1.0))) + +;; This is needed for java-cisd-args4j +(define-public java-ecj-3.5 + (package (inherit java-ecj-3) + (version "3.5.1") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "http://archive.eclipse.org/eclipse/" + "downloads/drops/R-" version + "-200909170800/ecjsrc-" version ".zip")) + (sha256 + (base32 + "1vnl2mavisc567bip736xzsvvbjif5279wc4a7pbdik5wlir8qr7")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; none included + #:jdk ,icedtea-7 ; doesn't build with JDK8+ + #:build-target "build" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-manifest + (lambda _ + ;; Record the main class to make ecj executable. + (with-atomic-file-replacement "META-INF/MANIFEST.MF" + (lambda (in out) + (dump-port in out) + (display "Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" + out))))) + (replace 'install (install-jars "."))))) + (native-inputs + `(("unzip" ,unzip))))) + +(define-public java-cisd-base + (let ((revision 38938) + (base-version "14.12.0")) + (package + (name "java-cisd-base") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "base/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/base/")) + (revision revision))) + (file-name (string-append "java-cisd-base-" version "-checkout")) + (sha256 + (base32 + "1i5adyf7nzclb0wydgwa1az04qliid8035vpahaandmkmigbnxiy")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete included gradle jar + (delete-file-recursively "gradle/wrapper") + ;; Delete pre-built native libraries + (delete-file-recursively "libs") + #t)))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:test-target "jar-test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "build-resources") + "../build_resources") + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar")) + (("\\$\\{lib\\}/commons-lang/commons-lang.jar") + (string-append (assoc-ref inputs "java-commons-lang") + "/share/java/commons-lang-" + ,(package-version java-commons-lang) ".jar")) + (("\\$\\{lib\\}/commons-io/commons-io.jar") + (string-append (assoc-ref inputs "java-commons-io") + "/share/java/commons-io-" + ,(package-version java-commons-io) + "-SNAPSHOT.jar")) + ;; Remove dependency on svn + (("<build-info.*") "") + (("\\$\\{revision.number\\}") + ,(number->string revision)) + (("\\$\\{version.number\\}") ,base-version)) + ;; Remove dependency on classycle + (substitute* "../build_resources/ant/build-common.xml" + (("<taskdef name=\"dependency-checker.*") "") + (("classname=\"classycle.*") "") + (("classpath=\"\\$\\{lib\\}/classycle.*") "")) + #t)) + ;; A few tests fail because of the lack of a proper /etc/groups and + ;; /etc/passwd file in the build container. + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "sourceTest/java/ch/systemsx/cisd/base/AllTests.java" + (("Unix.isOperational\\(\\)") "false")) + #t)) + ;; These decorators are almost useless and pull in an unpackaged + ;; dependency. + (add-after 'unpack 'remove-useless-decorators + (lambda _ + (substitute* "source/java/ch/systemsx/cisd/base/unix/Unix.java" + (("@Private") "") + (("import ch.rinn.restrictions.Private;") "")) + (substitute* "sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java" + (("@Friend.*") "") + (("import ch.rinn.restrictions.Friend;") "")) + #t)) + (add-before 'configure 'build-native-code + (lambda* (#:key inputs #:allow-other-keys) + (let ((jdk (assoc-ref inputs "jdk")) + (dir ,(match (%current-system) + ("i686-linux" + "i386-Linux") + ((or "armhf-linux" "aarch64-linux") + "arm-Linux") + ((or "x86_64-linux") + "amd64-Linux") + (_ "unknown-Linux")))) + (with-directory-excursion "source/c" + (invoke "gcc" "-shared" "-O3" "-fPIC" "unix.c" + (string-append "-I" jdk "/include") + (string-append "-I" jdk "/include/linux") + "-o" "libunix.so") + (invoke "gcc" "-shared" "-O3" "-fPIC" + "-DMACHINE_BYTE_ORDER=1" + "copyCommon.c" + "copyByteChar.c" + "copyByteDouble.c" + "copyByteFloat.c" + "copyByteInt.c" + "copyByteLong.c" + "copyByteShort.c" + (string-append "-I" jdk "/include") + (string-append "-I" jdk "/include/linux") + "-o" "libnativedata.so")) + (install-file "source/c/libunix.so" + (string-append "libs/native/unix/" dir)) + (install-file "source/c/libnativedata.so" + (string-append "libs/native/nativedata/" dir)) + #t))) + ;; In the "check" phase we only build the test executable. + (add-after 'check 'run-tests + (lambda _ + (invoke "java" "-jar" "targets/dist/sis-base-test.jar") + (delete-file "targets/dist/sis-base-test.jar") + #t)) + (replace 'install (install-jars "targets/dist"))))) + (native-inputs + `(("jdk" ,icedtea-8) + ("java-commons-lang" ,java-commons-lang) + ("java-commons-io" ,java-commons-io) + ("java-testng" ,java-testng) + ("build-resources" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "base/tags/release/" + (version-major+minor base-version) + ".x/" base-version + "/build_resources/")) + (revision revision))) + (sha256 + (base32 + "0b6335gkm4x895rac6kfg9d3rpq0sy19ph4zpg2gyw6asfsisjhk")))))) + (home-page "http://svnsis.ethz.ch") + (synopsis "Utility classes for libraries from ETH Zurich") + (description "This library supplies some utility classes needed for +libraries from the SIS division at ETH Zurich like jHDF5.") + ;; The C sources are under a non-copyleft license, which looks like a + ;; variant of the BSD licenses. The whole package is under the ASL2.0. + (license (list license:asl2.0 + (license:non-copyleft "file://source/c/COPYING")))))) + +(define-public java-cisd-args4j + (let ((revision 39162) + (base-version "9.11.2")) + (package + (name "java-cisd-args4j") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "args4j/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/args4j/")) + (revision revision))) + (file-name (string-append "java-cisd-args4j-" version "-checkout")) + (sha256 + (base32 + "0hhqznjaivq7ips7mkwas78z42s6djsm20rrs7g1zd59rcsakxn2")))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:tests? #f ; there are no tests + ;; There are weird build failures with JDK8, such as: "The type + ;; java.io.ObjectInputStream cannot be resolved. It is indirectly + ;; referenced from required .class files" + #:jdk ,icedtea-7 + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple) + (sxml transform) + (sxml xpath)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "../build_resources") + (invoke "tar" "xf" (assoc-ref inputs "build-resources") + "-C" "../build_resources" + "--strip-components=1") + (mkdir-p "../build_resources/lib") + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: There should be a more convenient abstraction for + ;; editing XML files. + (with-directory-excursion "../build_resources/ant/" + (chmod "build-common.xml" #o664) + (call-with-output-file "build-common.xml.new" + (lambda (port) + (sxml->xml + (pre-post-order + (with-input-from-file "build-common.xml" + (lambda _ (xml->sxml #:trim-whitespace? #t))) + `(;; Remove dependency on classycle and custom ant tasks + (taskdef . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) kids))) + (if (or (member "build-info" name) + (member "dependency-checker" name) + (member "build-java-subprojects" name) + (member "project-classpath" name)) + '() ; skip + `(,tag ,@kids))))) + (typedef . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) kids))) + (if (member "recursive-jar" name) + '() ; skip + `(,tag ,@kids))))) + (build-java-subprojects . ,(lambda _ '())) + ;; Ignore everything else + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) txt)))) + port))) + (rename-file "build-common.xml.new" "build-common.xml")) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/cisd-base/cisd-base.jar") + (string-append (assoc-ref inputs "java-cisd-base") + "/share/java/sis-base.jar")) + ;; Remove dependency on svn + (("<build-info.*") "") + (("\\$\\{revision.number\\}") + ,(number->string revision)) + (("\\$\\{version.number\\}") ,base-version) + ;; Don't use custom ant tasks. + (("recursive-jar") "jar") + (("<project-classpath.*") "")) + #t)) + (replace 'install (install-jars "targets/dist"))))) + (inputs + `(("java-cisd-base" ,java-cisd-base))) + (native-inputs + `(("ecj" ,java-ecj-3.5) + ("build-resources" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "args4j/tags/release/" + (version-major+minor base-version) + ".x/" base-version + "/build_resources/")) + (revision revision))) + (sha256 + (base32 + "056cam4k8pll7ass31sy6gwn8g8719njc41yf4l02b0342nilkyf")) + (modules '((guix build utils))) + ;; Delete bundled pre-built jars. + (snippet + '(begin (delete-file-recursively "lib/") #t)))))) + (home-page "http://svnsis.ethz.ch") + (synopsis "Command line parser library") + (description "This package provides a parser for command line arguments.") + (license license:asl2.0)))) + +(define-public java-cisd-jhdf5 + (let ((revision 39162) + (base-version "14.12.6")) + (package + (name "java-cisd-jhdf5") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "jhdf5/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/jhdf5/")) + (revision revision))) + (file-name (string-append "java-cisd-jhdf5-" version "-checkout")) + (sha256 + (base32 + "13i17s2hn0q9drdqvp8csy7770p3hdbh9rp30ihln2ldkfawdmz0")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete included gradle jar + (delete-file-recursively "gradle/wrapper") + ;; Delete pre-built native libraries + (delete-file-recursively "libs") + #t)))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:build-target "jar-all" + #:test-target "jar-test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + ;; Don't erase results from the build phase when building tests. + (add-after 'unpack 'separate-test-target-from-clean + (lambda _ + (substitute* "build/build.xml" + (("\"jar-test\" depends=\"clean, ") + "\"jar-test\" depends=\"")) + #t)) + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "build-resources") + "../build_resources") + (delete-file-recursively "../build_resources/lib/") + (mkdir-p "../build_resources/lib") + ;; Remove dependency on classycle + (substitute* "../build_resources/ant/build-common.xml" + (("<taskdef name=\"dependency-checker.*") "") + (("classname=\"classycle.*") "") + (("classpath=\"\\$\\{lib\\}/classycle.*") "")) + ;; Remove dependency on svn + (substitute* "build/build.xml" + (("<build-info.*") "") + (("\\$\\{revision.number\\}") + ,(number->string revision)) + (("\\$\\{version.number\\}") ,base-version)) + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "../build_resources/ant/build-common.xml" + (("../libraries/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar"))) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/sis-base/sis-base.jar") + (string-append (assoc-ref inputs "java-cisd-base") + "/share/java/sis-base.jar")) + (("\\$\\{lib\\}/cisd-args4j/cisd-args4j.jar") + (string-append (assoc-ref inputs "java-cisd-args4j") + "/share/java/cisd-args4j.jar")) + (("\\$\\{lib\\}/commons-lang/commons-lang.jar") + (string-append (assoc-ref inputs "java-commons-lang") + "/share/java/commons-lang-" + ,(package-version java-commons-lang) ".jar")) + (("\\$\\{lib\\}/commons-io/commons-io.jar") + (string-append (assoc-ref inputs "java-commons-io") + "/share/java/commons-io-" + ,(package-version java-commons-io) + "-SNAPSHOT.jar")) + (("\\$\\{lib\\}/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar")) + (("\\$\\{lib\\}/junit4/junit.jar") + (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar")) + (("\\$\\{lib\\}/jmock/hamcrest/hamcrest-core.jar") + (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar"))) + ;; Remove dependency on ch.rinn.restrictions + (with-directory-excursion "source/java/ch/systemsx/cisd/hdf5/" + (substitute* '("BitSetConversionUtils.java" + "HDF5Utils.java") + (("import ch.rinn.restrictions.Private;") "") + (("@Private") ""))) + (with-directory-excursion "sourceTest/java/ch/systemsx/cisd/hdf5/" + (substitute* '("BitSetConversionTest.java" + "h5ar/HDF5ArchiverTest.java") + (("import ch.rinn.restrictions.Friend;") "") + (("@Friend.*") "")) + ;; Remove leftovers from removing @Friend + (substitute* "h5ar/HDF5ArchiverTest.java" + (("\\{ HDF5Archiver.class, IdCache.class, LinkRecord.class \\}\\)") + ""))) + #t)) + (add-before 'configure 'build-native-library + (lambda* (#:key inputs #:allow-other-keys) + (let ((jdk (assoc-ref inputs "jdk")) + (hdf5 (assoc-ref inputs "hdf5")) + (dir ,(match (%current-system) + ("i686-linux" + "i386-Linux") + ((or "armhf-linux" "aarch64-linux") + "arm-Linux") + ((or "x86_64-linux") + "amd64-Linux") + (_ "unknown-Linux")))) + (with-directory-excursion "source/c" + (apply invoke `("gcc" "-shared" "-O3" + "-fPIC" + "-Wl,--exclude-libs,ALL" + ,@(find-files "jhdf5" "\\.c$") + ,@(find-files "hdf-java" "\\.c$") + ,(string-append "-I" hdf5 "/include") + ,(string-append "-I" jdk "/include") + ,(string-append "-I" jdk "/include/linux") + ,(string-append hdf5 "/lib/libhdf5.a") + "-o" "libjhdf5.so" "-lz"))) + (install-file "source/c/libjhdf5.so" + (string-append "libs/native/jhdf5/" dir)) + #t))) + ;; In the "check" phase we only build the test executable. + (add-after 'check 'run-tests + (lambda _ + (invoke "java" "-jar" "targets/dist/sis-jhdf5-test.jar") + (delete-file "targets/dist/sis-jhdf5-test.jar") + #t)) + (replace 'install + (install-jars "targets/dist"))))) + (inputs + `(("java-cisd-base" ,java-cisd-base) + ("java-cisd-args4j" ,java-cisd-args4j) + ("java-commons-lang" ,java-commons-lang) + ("java-commons-io" ,java-commons-io) + ("hdf5" ,hdf5) + ("zlib" ,zlib))) + (native-inputs + `(("jdk" ,icedtea-8) + ("java-testng" ,java-testng) + ("java-junit" ,java-junit) + ("java-jmock" ,java-jmock) + ("java-hamcrest-core" ,java-hamcrest-core) + ("build-resources" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "jhdf5/tags/release/" + (version-major+minor base-version) + ".x/" base-version + "/build_resources/")) + (revision revision))) + (sha256 + (base32 + "0b6335gkm4x895rac6kfg9d3rpq0sy19ph4zpg2gyw6asfsisjhk")))))) + (home-page "https://wiki-bsse.ethz.ch/display/JHDF5/") + (synopsis "Java binding for HDF5") + (description "JHDF5 is a high-level API in Java for reading and writing +HDF5 files, building on the libraries provided by the HDF Group.") + ;; The C sources are under a non-copyleft license, which looks like a + ;; variant of the BSD licenses. The whole package is under the ASL2.0. + (license (list license:asl2.0 + (license:non-copyleft "file://source/c/COPYING")))))) + (define-public java-classpathx-servletapi (package (name "java-classpathx-servletapi") @@ -2480,7 +3011,7 @@ mechanism of Java. It is especially useful for dynamic loading of application components.") (license license:asl2.0))) -(define-public java-plexus-container-default-bootstrap +(define java-plexus-container-default-bootstrap (package (name "java-plexus-container-default-bootstrap") (version "1.7.1") @@ -2657,6 +3188,418 @@ archives (jar).") `(("archiver" ,java-plexus-archiver) ("hamcrest" ,java-hamcrest-core))))) +(define-public java-plexus-component-annotations + (package + (inherit java-plexus-container-default) + (name "java-plexus-component-annotations") + (arguments + `(#:jar-name "plexus-component-annotations.jar" + #:source-dir "plexus-component-annotations/src/main/java" + #:tests? #f)); no tests + (inputs '()) + (native-inputs '()) + (synopsis "Plexus descriptors generator") + (description "This package is a Maven plugin to generate Plexus descriptors +from source tags and class annotations."))) + +(define-public java-plexus-cipher + (package + (name "java-plexus-cipher") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/plexus-cipher" + "/archive/plexus-cipher-" version ".tar.gz")) + (sha256 + (base32 + "1j3r8xzlxlk340snkjp6lk2ilkxlkn8qavsfiq01f43xmvv8ymk3")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "plexus-cipher.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; FIXME: requires sisu-inject-bean + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + (mkdir-p "build/classes/META-INF/sisu") + (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named" + (lambda _ + (display "org.sonatype.plexus.components.cipher.DefaultPlexusCipher\n"))) + #t))))) + (inputs + `(("java-cdi-api" ,java-cdi-api) + ("java-javax-inject" ,java-javax-inject))) + (home-page "https://github.com/sonatype/plexus-cipher") + (synopsis "Encryption/decryption Component") + (description "Plexus-cipher contains a component to deal with encryption +and decryption.") + (license license:asl2.0))) + +(define-public java-plexus-compiler-api + (package + (name "java-plexus-compiler-api") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/plexus-compiler" + "/archive/plexus-compiler-" version ".tar.gz")) + (sha256 + (base32 + "0g3x26pymcdnfnwv2a1i57pd5s26f5zqfi1rdy98z1bn01klx25k")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "plexus-compiler-api.jar" + #:source-dir "plexus-compiler-api/src/main/java" + #:jdk ,icedtea-8 + #:test-dir "plexus-compiler-api/src/test")) + (inputs + `(("java-plexus-container-default" ,java-plexus-container-default) + ("java-plexus-util" ,java-plexus-utils))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "https://github.com/codehaus-plexus/plexus-compiler") + (synopsis "Plexus Compilers component's API to manipulate compilers") + (description "This package contains the API used by components to manipulate +compilers.") + (license (list license:asl2.0 + license:expat)))) + +(define-public java-plexus-compiler-javac + (package + (inherit java-plexus-compiler-api) + (name "java-plexus-compiler-javac") + (arguments + `(#:jar-name "plexus-compiler-javac.jar" + #:source-dir "plexus-compilers/plexus-compiler-javac/src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; depends on compiler-test -> maven-core -> ... -> this package. + #:test-dir "plexus-compilers/plexus-compiler-javac/src/test")) + (inputs + `(("java-plexus-compiler-api" ,java-plexus-compiler-api) + ("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default))) + (native-inputs + `(("java-junit" ,java-junit))) + (synopsis "Javac Compiler support for Plexus Compiler component") + (description "This package contains the Javac Compiler support for Plexus +Compiler component."))) + +(define-public java-plexus-sec-dispatcher + (package + (name "java-plexus-sec-dispatcher") + (version "1.4") ;; Newest release listed at the Maven Central Repository. + (source (origin + ;; This project doesn't tag releases or publish tarballs, so we take + ;; the "prepare release plexus-sec-dispatcher-1.4" git commit. + (method url-fetch) + (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/" + "archive/7db8f88048.tar.gz")) + (sha256 + (base32 + "1smfrk4n7xbrsxpxcp2j4i0j8q86j73w0w6xg7qz83dp6dagdjgp")) + (file-name (string-append name "-" version ".tar.gz")))) + (arguments + `(#:jar-name "plexus-sec-dispatcher.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-models + (lambda* (#:key inputs #:allow-other-keys) + (define (modello-single-mode file version mode) + (zero? (system* "java" + "org.codehaus.modello.ModelloCli" + file mode "src/main/java" version + "false" "true"))) + (let ((file "src/main/mdo/settings-security.mdo")) + (and + (modello-single-mode file "1.0.0" "java") + (modello-single-mode file "1.0.0" "xpp3-reader") + (modello-single-mode file "1.0.0" "xpp3-writer"))))) + (add-before 'build 'generate-components.xml + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + (with-output-to-file "build/classes/META-INF/plexus/components.xml" + (lambda _ + (display + "<component-set>\n + <components>\n + <component>\n + <role>org.sonatype.plexus.components.sec.dispatcher.SecDispatcher</role>\n + <role-hint>default</role-hint>\n + <implementation>org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher</implementation>\n + <description></description>\n + <requirements>\n + <requirement>\n + <role>org.sonatype.plexus.components.cipher.PlexusCipher</role>\n + <field-name>_cipher</field-name>\n + </requirement>\n + <requirement>\n + <role>org.sonatype.plexus.components.sec.dispatcher.PasswordDecryptor</role>\n + <field-name>_decryptors</field-name>\n + </requirement>\n + </requirements>\n + <configuration>\n + <_configuration-file>~/.settings-security.xml</_configuration-file>\n + </configuration>\n + </component>\n + </components>\n +</component-set>\n"))))) + (add-before 'check 'fix-paths + (lambda _ + (copy-recursively "src/test/resources" "target")))))) + (inputs + `(("java-plexus-cipher" ,java-plexus-cipher))) + (native-inputs + `(("java-modello-core" ,java-modello-core) + ;; for modello: + ("java-plexus-container-default" ,java-plexus-container-default) + ("java-plexus-classworlds" ,java-plexus-classworlds) + ("java-plexus-utils" ,java-plexus-utils) + ("java-guava" ,java-guava) + ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) + ("java-sisu-build-api" ,java-sisu-build-api) + ;; modello plugins: + ("java-modellop-plugins-java" ,java-modello-plugins-java) + ("java-modellop-plugins-xml" ,java-modello-plugins-xml) + ("java-modellop-plugins-xpp3" ,java-modello-plugins-xpp3) + ;; for tests + ("java-junit" ,java-junit))) + (build-system ant-build-system) + (home-page "https://github.com/sonatype/plexus-sec-dispatcher") + (synopsis "Plexus Security Dispatcher Component") + (description "This package is the Plexus Security Dispatcher Component. +This component decrypts a string passed to it.") + (license license:asl2.0))) + +(define-public java-sisu-build-api + (package + (name "java-sisu-build-api") + (version "0.0.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sonatype/sisu-build-api/" + "archive/plexus-build-api-" version ".tar.gz")) + (sha256 + (base32 + "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "sisu-build-api.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; FIXME: how to run the tests? + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + (substitute* (find-files "build/classes") + (("\\$\\{project.version\\}") ,version)) + #t)) + (add-before 'build 'generate-plexus-compontent + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + ;; This file is required for plexus to inject this package. + ;; FIXME: how is it generated? + (with-output-to-file "build/classes/META-INF/plexus/components.xml" + (lambda _ + (display + "<component-set>\n + <components>\n + <component>\n + <role>org.sonatype.plexus.build.incremental.BuildContext</role>\n + <role-hint>default</role-hint>\n + <implementation>org.sonatype.plexus.build.incremental.DefaultBuildContext</implementation>\n + <description>Filesystem based non-incremental build context implementation\n +which behaves as if all files were just created.</description>\n + </component>\n + </components>\n +</component-set>\n"))) + #t))))) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default))) + (home-page "https://github.com/sonatype/sisu-build-api/") + (synopsis "Base build API for maven") + (description "This package contains the base build API for maven and +a default implementation of it. This API is about scanning files in a +project and determining what files need to be rebuilt.") + (license license:asl2.0))) + +(define-public java-modello-core + (package + (name "java-modello-core") + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/modello" + "/archive/modello-" version ".tar.gz")) + (sha256 + (base32 + "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "modello-core.jar" + #:source-dir "modello-core/src/main/java" + #:test-dir "modello-core/src/test" + #:main-class "org.codehaus.modello.ModelloCli" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + (copy-file "modello-core/src/main/resources/META-INF/plexus/components.xml" + "build/classes/META-INF/plexus/components.xml") + #t)) + (add-before 'check 'fix-tests + (lambda _ + (with-directory-excursion "modello-core/src/test/java/org/codehaus" + (substitute* '("modello/core/DefaultModelloCoreTest.java" + "modello/core/io/ModelReaderTest.java") + (("src/test") "modello-core/src/test"))) + #t))))) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default) + ("java-sisu-build-api" ,java-sisu-build-api))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-plexus-classworlds" ,java-plexus-classworlds) + ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) + ("java-guava" ,java-guava))) + (home-page "http://codehaus-plexus.github.io/modello/") + (synopsis "Framework for code generation from a simple model") + (description "Modello is a framework for code generation from a simple model. + +Modello generates code from a simple model format: based on a plugin +architecture, various types of code and descriptors can be generated from the +single model, including Java POJOs, XML/JSON/YAML marshallers/unmarshallers, +XSD and documentation.") + (license (list + license:expat + ;; Although this package uses only files licensed under expat, + ;; other parts of the source are licensed under different + ;; licenses. We include them to be inherited by other packages. + license:asl2.0 + ;; Some files in modello-plugin-java are licensed under a + ;; 5-clause BSD license. + (license:non-copyleft + (string-append "file:///modello-plugins/modello-plugin-java/" + "src/main/java/org/codehaus/modello/plugin/" + "java/javasource/JNaming.java")))))) + +(define-public java-modello-plugins-java + (package + (inherit java-modello-core) + (name "java-modello-plugins-java") + (arguments + `(#:jar-name "modello-plugins-java.jar" + #:source-dir "modello-plugins/modello-plugin-java/src/main/java" + #:test-dir "modello-plugins/modello-plugin-java/src/test" + #:jdk ,icedtea-8 + #:tests? #f; requires maven-model, which depends on this package + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively "modello-plugins/modello-plugin-java/src/main/resources" + "build/classes") + #t))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ,@(package-inputs java-modello-core))) + (synopsis "Modello Java Plugin") + (description "Modello Java Plugin generates Java objects for the model."))) + +(define-public java-modello-plugins-xml + (package + (inherit java-modello-core) + (name "java-modello-plugins-xml") + (arguments + `(#:jar-name "modello-plugins-xml.jar" + #:source-dir "modello-plugins/modello-plugin-xml/src/main/java" + #:test-dir "modello-plugins/modello-plugin-xml/src/test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively + "modello-plugins/modello-plugin-xml/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'fix-paths + (lambda _ + (with-directory-excursion "modello-plugins/modello-plugin-xml/src/test" + (substitute* + "java/org/codehaus/modello/plugins/xml/XmlModelloPluginTest.java" + (("src/test") "modello-plugins/modello-plugin-xml/src/test")))))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ("java-modello-plugins-java" ,java-modello-plugins-java) + ,@(package-inputs java-modello-core))) + (synopsis "Modello XML Plugin") + (description "Modello XML Plugin contains shared code for every plugins +working on XML representation of the model."))) + +(define-public java-modello-test + (package + (inherit java-modello-core) + (name "java-modello-test") + (arguments + `(#:jar-name "modello-test.jar" + #:source-dir "modello-test/src/main/java" + #:tests? #f; no tests + #:jdk ,icedtea-8)) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-compiler-api" ,java-plexus-compiler-api) + ("java-plexus-compiler-javac" ,java-plexus-compiler-javac) + ("java-plexus-container-default" ,java-plexus-container-default))) + (synopsis "Modello test package") + (description "The modello test package contains the basis to create +Modello generator unit-tests, including sample models and xml files to test +every feature for every plugin."))) + +(define-public java-modello-plugins-xpp3 + (package + (inherit java-modello-core) + (name "java-modello-plugins-xpp3") + (arguments + `(#:jar-name "modello-plugins-xpp3.jar" + #:source-dir "modello-plugins/modello-plugin-xpp3/src/main/java" + #:test-dir "modello-plugins/modello-plugin-xpp3/src/test" + ;; One of the test dependencies is maven-model which depends on this package. + #:tests? #f + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively "modello-plugins/modello-plugin-xpp3/src/main/resources" + "build/classes") + #t))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ("java-modello-plugins-java" ,java-modello-plugins-java) + ("java-modello-plugins-xml" ,java-modello-plugins-xml) + ,@(package-inputs java-modello-core))) + (native-inputs + `(("java-xmlunit" ,java-xmlunit) + ("java-modello-test" ,java-modello-test) + ,@(package-native-inputs java-modello-core))) + (synopsis "Modello XPP3 Plugin") + (description "The modello XPP3 plugin generates XML readers and writers based +on the XPP3 API (XML Pull Parser)."))) + (define-public java-asm (package (name "java-asm") @@ -2940,39 +3883,30 @@ The jMock library (package (inherit java-hamcrest-core) (name "java-hamcrest-all") (arguments - (substitute-keyword-arguments (package-arguments java-hamcrest-core) - ;; FIXME: a unit test fails because org.hamcrest.SelfDescribing is not - ;; found, although it is part of the hamcrest-core library that has - ;; just been built. - ;; - ;; Fixing this one test is insufficient, though, and upstream confirmed - ;; that the latest hamcrest release fails its unit tests when built - ;; with Java 7. See https://github.com/hamcrest/JavaHamcrest/issues/30 - ((#:tests? _) #f) - ((#:build-target _) "bigjar") - ((#:phases phases) - `(modify-phases ,phases - ;; Some build targets override the classpath, so we need to patch - ;; the build.xml to ensure that required dependencies are on the - ;; classpath. - (add-after 'unpack 'patch-classpath-for-integration - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "build.xml" - ((" build/hamcrest-library-\\$\\{version\\}.jar" line) - (string-join - (cons line - (append - (find-files (assoc-ref inputs "java-hamcrest-core") "\\.jar$") - (find-files (assoc-ref inputs "java-junit") "\\.jar$") - (find-files (assoc-ref inputs "java-jmock") "\\.jar$") - (find-files (assoc-ref inputs "java-easymock") "\\.jar$"))) - ";"))) - #t)))))) + `(#:jdk ,icedtea-8 + ,@(substitute-keyword-arguments (package-arguments java-hamcrest-core) + ((#:build-target _) "bigjar") + ((#:phases phases) + `(modify-phases ,phases + ;; Some build targets override the classpath, so we need to patch + ;; the build.xml to ensure that required dependencies are on the + ;; classpath. + (add-after 'unpack 'patch-classpath-for-integration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + ((" build/hamcrest-library-\\$\\{version\\}.jar" line) + (string-join + (cons line + (append + (find-files (assoc-ref inputs "java-junit") "\\.jar$") + (find-files (assoc-ref inputs "java-jmock") "\\.jar$") + (find-files (assoc-ref inputs "java-easymock") "\\.jar$"))) + ";"))) + #t))))))) (inputs `(("java-junit" ,java-junit) ("java-jmock" ,java-jmock-1) ("java-easymock" ,java-easymock) - ("java-hamcrest-core" ,java-hamcrest-core) ,@(package-inputs java-hamcrest-core))))) (define-public java-jopt-simple @@ -5103,7 +6037,9 @@ tree walking, and translation.") version ".tar.gz")) (sha256 (base32 - "0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m")))) + "0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m")) + (patches + (search-patches "antlr3-3_3-fix-java8-compilation.patch")))) (arguments `(#:jar-name (string-append ,name "-" ,version ".jar") #:source-dir (string-join '("tool/src/main/java" @@ -5185,7 +6121,6 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (define antlr3-3.1 (package (inherit antlr3) - (name "antlr3-3.1") (version "3.1") (source (origin (method url-fetch) @@ -5194,9 +6129,11 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) version ".tar.gz")) (sha256 (base32 - "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")))) + "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")) + (patches + (search-patches "antlr3-3_1-fix-java8-compilation.patch")))) (arguments - `(#:jar-name (string-append ,name "-" ,version ".jar") + `(#:jar-name (string-append "antlr3-" ,version ".jar") #:source-dir "src:runtime/Java/src" #:tests? #f #:phases @@ -5228,12 +6165,13 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (for-each (lambda (file) (display file) (newline) - (system* "antlr" "-o" dir (string-append dir file))) + (invoke "antlr" "-o" dir (string-append dir file))) '("antlr.g" "antlr.print.g" "assign.types.g" "buildnfa.g" "define.g"))) (format #t "codegen.g\n") - (system* "antlr" "-o" "src/org/antlr/codegen" - "src/org/antlr/codegen/codegen.g"))) + (invoke "antlr" "-o" "src/org/antlr/codegen" + "src/org/antlr/codegen/codegen.g") + #t)) (add-before 'build 'fix-build-xml (lambda _ (substitute* "build.xml" @@ -6056,7 +6994,8 @@ it manages project dependencies, gives diffs jars, and much more.") ;; packaging. It uses the version referenced in pom.xml. We replace ;; it with our own version. (substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java" - (("2.4.0.201411031534") "3.4.0"))))))) + (("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*") + ,(package-version java-aqute-bndlib)))))))) (inputs `(("lang" ,java-ops4j-base-lang) ("io" ,java-ops4j-base-io) @@ -6365,6 +7304,7 @@ configuration.") (method url-fetch) (uri (string-append "https://bitbucket.org/asomov/snakeyaml/get/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0rf5ha6w0waz50jz2479jsrbgmd0dnx0gs337m126j5z7zlmg7mg")))) @@ -6956,7 +7896,7 @@ those in Perl and JavaScript.") (define-public java-testng (package (name "java-testng") - (version "6.14.2") + (version "6.14.3") (source (origin (method git-fetch) (uri (git-reference @@ -6965,7 +7905,7 @@ those in Perl and JavaScript.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ngj88dpbqqdx9084cmiasmn9q3v5dgx45qbvxpip47nxc5x14xy")))) + "0y6vq30i5g276kw0v2bhbvci22ijg7ax49ap2611yqlhbs4d6dqv")))) (build-system ant-build-system) (arguments `(#:jdk ,icedtea-8; java.util.function @@ -7030,54 +7970,56 @@ to use.") (license license:asl2.0))) (define-public java-jnacl - (package - (name "java-jnacl") - (version "0.1.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/neilalexander/jnacl") - (commit "40c322e0a42637ab17cdf941138eeaf2494055f8"))) - (sha256 - (base32 - "1pspnmp44q61a2q4bpslpxw86rfn8s5l0xgvyrikqgdvg7ypx597")))) - (build-system ant-build-system) - (arguments - `(#:jar-name "java-jnacl.jar" - #:source-dir "src/main/java" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-tests - (lambda _ - (substitute* "src/test/java/com/neilalexander/jnacl/NaClTest.java" - (("assertions.Assertions") "assertions.api.Assertions")) - (substitute* "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java" - (("assertions.Assertions") "assertions.api.Assertions")) - #t)) - (replace 'check - (lambda _ - (system* "ant" "compile-tests") - (and - (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") - ":build/classes" - ":build/test-classes") - "org.testng.TestNG" "-testclass" - "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class")) - (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") - ":build/classes" - ":build/test-classes") - "org.testng.TestNG" "-testclass" - "build/test-classes/com/neilalexander/jnacl/NaClTest.class")))))))) - (native-inputs - `(("java-testng" ,java-testng) - ("java-fest-util" ,java-fest-util) - ("java-fest-assert" ,java-fest-assert))) - (home-page "https://github.com/neilalexander/jnacl") - (synopsis "Java implementation of NaCl") - (description "Pure Java implementation of the NaCl: Networking and + (let ((commit "094e819afdd63ea81a499b3bcb42a271006bebd9") + (revision "2")) + (package + (name "java-jnacl") + (version (string-append "0.1.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neilalexander/jnacl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d6g6xhn83byv5943n7935wwjsk0ibk0qdvqgr699qqgqqmwisbb")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jnacl.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-tests + (lambda _ + (substitute* '("src/test/java/com/neilalexander/jnacl/NaClTest.java" + "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java") + (("assertions.Assertions") "assertions.api.Assertions")) + #t)) + (replace 'check + (lambda _ + (invoke "ant" "compile-tests") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaClTest.class") + #t))))) + (native-inputs + `(("java-testng" ,java-testng) + ("java-fest-util" ,java-fest-util) + ("java-fest-assert" ,java-fest-assert))) + (home-page "https://github.com/neilalexander/jnacl") + (synopsis "Java implementation of NaCl") + (description "Pure Java implementation of the NaCl: Networking and Cryptography library.") - (license license:mpl2.0))) + (license license:bsd-2)))) (define-public java-mvel2 (package @@ -7172,8 +8114,9 @@ configuration and string construction.") (add-before 'build 'run-javacc (lambda _ (with-directory-excursion "src/main/java/org/apache/commons/jexl2/parser/" - (and (zero? (system* "java" "jjtree" "Parser.jjt")) - (zero? (system* "java" "javacc" "Parser.jj"))))))))) + (invoke "java" "jjtree" "Parser.jjt") + (invoke "java" "javacc" "Parser.jj")) + #t))))) (inputs `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) (native-inputs @@ -7213,7 +8156,8 @@ by technical operatives or consultants working with enterprise platforms.") (add-before 'configure 'generate-source (lambda _ (with-directory-excursion "src/build/source_templates" - (zero? (system* "mvel2" "../gen_sources.mvel" "../../java")))))))) + (invoke "mvel2" "../gen_sources.mvel" "../../java")) + #t))))) (native-inputs `(("mvel" ,java-mvel2))) (home-page "https://jpountz.github.io/lz4-java") @@ -7243,7 +8187,8 @@ algorithms and xxHash hashing algorithm.") (lambda _ (mkdir-p "src") (with-directory-excursion "src" - (zero? (system* "unzip" "../src.zip")))))))) + (invoke "unzip" "../src.zip")) + #t))))) (native-inputs `(("unzip" ,unzip) ("junit" ,java-junit))) @@ -7274,7 +8219,8 @@ for the Java programming language.") (lambda _ (mkdir-p "src") (with-directory-excursion "src" - (zero? (system* "unzip" "../src.zip")))))))) + (invoke "unzip" "../src.zip")) + #t))))) (native-inputs `(("unzip" ,unzip) ("junit" ,java-junit))) @@ -7631,7 +8577,8 @@ protocol-independent framework to build mail and messaging applications.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")))) + "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")) + (patches (search-patches "java-jeromq-fix-tests.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-jeromq.jar" @@ -7645,7 +8592,13 @@ protocol-independent framework to build mail and messaging applications.") ;; Failures "**/DealerSpecTest.java" "**/CustomDecoderTest.java" - "**/CustomEncoderTest.java"))) + "**/CustomEncoderTest.java" + "**/ConnectRidTest.java" + "**/ReqSpecTest.java" + "**/PushPullSpecTest.java" + "**/PubSubHwmTest.java" + "**/RouterSpecTest.java" + "**/ProxyTest.java"))) (inputs `(("java-jnacl" ,java-jnacl))) (native-inputs @@ -7901,26 +8854,23 @@ including pre-existing objects that you do not have source-code of.") (modify-phases %standard-phases (add-before 'build 'build-native (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "hawtjni-generator/src/main/resources/" - (and - (system* "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o" - "-fPIC" "-O2" - (string-append "-I" (assoc-ref inputs "jdk") "/include/linux")) - (system* "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o" - "-fPIC" "-O2" - (string-append "-I" (assoc-ref inputs "jdk") "/include/linux")) - (system* "gcc" "-o" "libhawtjni.so" "-shared" - "hawtjni.o" "hawtjni-callback.o"))))) + (let ((include (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))) + (with-directory-excursion "hawtjni-generator/src/main/resources/" + (invoke "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o" + "-fPIC" "-O2" include) + (invoke "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o" + "-fPIC" "-O2" include) + (invoke "gcc" "-o" "libhawtjni.so" "-shared" + "hawtjni.o" "hawtjni-callback.o"))) + #t)) (add-after 'install 'install-native (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib")) (inc (string-append out "/include"))) - (mkdir-p lib) - (mkdir-p inc) (with-directory-excursion "hawtjni-generator/src/main/resources/" - (copy-file "libhawtjni.so" (string-append lib "/libhawtjni.so")) - (copy-file "hawtjni.h" (string-append inc "/hawtjni.h")))) + (install-file "libhawtjni.so" lib) + (install-file "hawtjni.h" inc))) #t))))) (inputs `(("java-commons-cli" ,java-commons-cli) @@ -7957,14 +8907,14 @@ that is part of the SWT Tools project.") (with-directory-excursion "src/main/native-package/src" (substitute* "jansi_ttyname.c" (("#include \"jansi_.*") "")) - (and - (system* "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o" - (string-append "-I" (assoc-ref inputs "java-hawtjni") - "/include") - (string-append "-I" (assoc-ref inputs "jdk") - "/include/linux") - "-fPIC" "-O2") - (system* "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o"))))) + (invoke "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o" + (string-append "-I" (assoc-ref inputs "java-hawtjni") + "/include") + (string-append "-I" (assoc-ref inputs "jdk") + "/include/linux") + "-fPIC" "-O2") + (invoke "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o") + #t))) (add-before 'build 'install-native (lambda _ (let ((dir (string-append "build/classes/META-INF/native/" @@ -7977,7 +8927,6 @@ that is part of the SWT Tools project.") #t)) (add-after 'install 'install-native (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") "/include")) (install-file "src/main/native-package/src/jansi.h" (string-append (assoc-ref outputs "out") "/include")) #t))))) @@ -7985,8 +8934,9 @@ that is part of the SWT Tools project.") `(("java-hawtjni" ,java-hawtjni))) (home-page "https://fusesource.github.io/jansi/") (synopsis "Native library for jansi") - (description "Java-jansi-native contains the native library for the jansi -frobnication library/framework.") + (description "This package provides the native library for jansi, a small +Java library that allows you to use ANSI escape sequences to format your +console output.") (license license:asl2.0))) (define-public java-jansi @@ -8370,3 +9320,44 @@ against expected outcomes.") ("java-junit" ,java-junit))) (native-inputs `(("java-mockito-1" ,java-mockito-1))))) + +(define-public java-openchart2 + (package + (name "java-openchart2") + (version "1.4.3") + (source (origin + (method url-fetch) + (uri (string-append "http://download.approximatrix.com/openchart2/" + "openchart2-" version ".source.zip")) + (sha256 + (base32 + "1xq96zm5r02n1blja0072jmmsifmxc40lbyfbnmcnr6mw42frh4g")))) + (build-system ant-build-system) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-junit-errors + (lambda _ + (with-directory-excursion "unittest/src/com/approximatrix/charting/" + (substitute* '("coordsystem/ticklocator/NumericXTickLocatorTest.java" + "coordsystem/ticklocator/NumericYTickLocatorTest.java" + "coordsystem/ticklocator/ObjectXTickLocatorTest.java" + "model/DefaultChartDataModelConstraintsTest.java" + "model/MultiScatterDataModelConstraintsTest.java" + "model/threedimensional/DotPlotDataModelConstraintsTest.java") + (("(assertEquals[^;]+);" before _) + (string-append (string-drop-right before 2) ", 1E-6);")))) + #t)) + (replace 'install (install-jars "."))))) + (native-inputs + `(("unzip" ,unzip) + ("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://approximatrix.com/products/openchart2/") + (synopsis "Simple plotting for Java") + (description "Openchart2 provides a simple, yet powerful, interface for +Java programmers to create two-dimensional charts and plots. The library +features an assortment of graph styles, including advanced scatter plots, bar +graphs, and pie charts.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 41bbc66dd2..7a44abdec2 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -315,7 +315,12 @@ "USE_SYSTEM_OPENSPECFUN=1"))) (inputs `(("llvm" ,llvm) - ("arpack-ng" ,arpack-ng) + + ;; The bundled version is 3.3.0 so stick to that version. With other + ;; versions, we get test failures in 'linalg/arnoldi' as described in + ;; <https://bugs.gnu.org/30282>. + ("arpack-ng" ,arpack-ng-3.3.0) + ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 84b45961b5..246860e3f3 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016,2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,7 +141,7 @@ common build settings used in software produced by the KDE community.") (define-public phonon (package (name "phonon") - (version "4.9.1") + (version "4.10.0") (source (origin (method url-fetch) (uri (string-append @@ -149,7 +150,7 @@ common build settings used in software produced by the KDE community.") name "-" version ".tar.xz")) (sha256 (base32 - "177647r2jqfm32hqcz2nqfqv6v48hn5ab2vc31svba2wz23fkgk7")))) + "0gyhlnwamzfw31kw4qh0v6rj0m47k9wfygd6h07klg9ggp60xhg2")))) (build-system cmake-build-system) (native-inputs ;; TODO: Think about adding pulseaudio. Is it required for sound? diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index bb17edf2f5..6f8571d22a 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -128,7 +128,7 @@ generator library for C++.") ;; of the standard build process. To make things easier, we bootstrap ;; and patch shebangs here, so we don't have to worry about it later. (define libdvdnav/kodi - (let ((commit "981488f7f27554b103cca10c1fbeba027396c94a")) + (let ((commit "6.0.0-Leia-Alpha-1")) (package (name "libdvdnav-bootstrapped") (version commit) @@ -140,7 +140,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "089pswc51l3avh95zl4cpsh7gh1innh7b2y4xgx840mcmy46ycr8")))) + "1xiyfgf8v8aknlxlzsvk6pbzkhclz0hbh3s1b0w6ivkng2k310j9")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -163,7 +163,7 @@ generator library for C++.") (license license:gpl2+)))) (define libdvdread/kodi - (let ((commit "17d99db97e7b8f23077b342369d3c22a6250affd")) + (let ((commit "6.0.0-Leia-Alpha-1")) (package (name "libdvdread-bootstrapped") (version commit) @@ -175,7 +175,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl")))) + "1c3g18n2vwhgcfz3dka1pmw58bnv2ram7xjvizfiykb3sgi9zfwp")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -198,7 +198,7 @@ generator library for C++.") (license (list license:gpl2+ license:lgpl2.1+))))) (define libdvdcss/kodi - (let ((commit "2f12236bc1c92f73c21e973363f79eb300de603f")) + (let ((commit "1.4.1-Leia-Alpha-1")) (package (name "libdvdcss-bootstrapped") (version commit) @@ -210,7 +210,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd")))) + "0adafwsawxssj3nilkql447v0l4a2584rdpmy5rfjmznh91lykgh")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -235,20 +235,20 @@ generator library for C++.") (define-public kodi ;; We package the git version because the current released ;; version was cut while the cmake transition was in turmoil. - (let ((commit "67fd70f01a363002881f3519b50765b756716e3b") - (revision "7")) + (let ((commit "ec16dbca4dcf2923f53f819695a6d47c52e68d74") + (revision "8")) (package (name "kodi") - (version (string-append "18.0_alpha-" revision "-" (string-take commit 7))) + (version (git-version "18.0_alpha" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/xbmc/xbmc.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "12975n4r982kmxc0r9w24n3lrj7aj3cs4fjkdjnn0r9jbnvfxhs3")) + "1rxg752cl59124cfpfwmyjldn6qpq5jginxddpzvgagfadf10i4d")) (snippet '(begin (use-modules (guix build utils)) @@ -261,7 +261,6 @@ generator library for C++.") ;; "tools/depend/native/TexturePacker" ;; "lib/gtest" ;; "lib/cpluff" - ;; "lib/libexif" ;; "lib/libUPnP" "lib/libUPnP/Neptune/ThirdParty" "project/Win32BuildSetup/tools/7z")) @@ -312,7 +311,7 @@ generator library for C++.") ;; to make them writable before the build process starts. (("autoreconf -vif") "chmod -R u+w .")) - (substitute* "xbmc/linux/LinuxTimezone.cpp" + (substitute* "xbmc/platform/linux/LinuxTimezone.cpp" (("/usr/share/zoneinfo") (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) @@ -414,7 +413,7 @@ generator library for C++.") (description "Kodi is a media center application for playing videos, music, games, etc. Kodi is highly customizable and features a theme and plug-in system.") - (home-page "http://kodi.tv") + (home-page "https://kodi.tv") ;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but ;; there are some other licenses spread throughout. (license (list license:gpl2+ license:lgpl2.1+ diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index b4ed90ebb4..e9d6ce594c 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -130,7 +130,7 @@ sounds for various system events.") ;; The license of the various sounds is given in the 'CREDITS' file. (license (list cc-by-sa4.0 cc-by3.0 gpl2 gpl2+)) - (home-page "http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/"))) + (home-page "https://www.freedesktop.org/wiki/Specifications/sound-theme-spec/"))) (define-public python-pycanberra (package diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index cdd331acf4..983c8625e4 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016 David Thompson <davet@gnu.org> @@ -140,7 +140,7 @@ limited support for fork events.") ;; XXX: Some tests want /dev/tty, attempt to make connections, etc. #:tests? #f)) - (native-inputs `(("autoconf" ,(autoconf-wrapper)) + (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index d55e7aec3d..8515edf925 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -79,13 +79,13 @@ conversions for values passed between the two languages.") (define-public python-cffi (package (name "python-cffi") - (version "1.11.2") + (version "1.11.4") (source (origin (method url-fetch) (uri (pypi-uri "cffi" version)) (sha256 - (base32 "19h0wwz9cww74gw8cyq0izj8zkhjyzjw2d3ks1c3f1y4q28xv1xb")))) + (base32 "07fiy4wqg8g08x38r04ydjr8n6g0g74gb8si8b6jhymijalq746z")))) (build-system python-build-system) (outputs '("out" "doc")) (inputs @@ -121,7 +121,8 @@ conversions for values passed between the two languages.") "linker_so='gcc -shared')"))) (substitute* "testing/cffi0/test_ownlib.py" (("'cc testownlib") "'gcc testownlib")) - (zero? (system* "py.test" "-v" "c/" "testing/")))) + (invoke "py.test" "-v" "c/" "testing/") + #t)) (add-before 'check 'disable-failing-test ;; This is assumed to be a libffi issue: ;; https://bitbucket.org/cffi/cffi/issues/312/tests-failed-with-armv8 @@ -130,15 +131,14 @@ conversions for values passed between the two languages.") (("ret.left") "ownlib.left")) #t)) (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append data "/doc/" ,name "-" ,version)) + (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) + (let* ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/" ,name "-" ,version)) (html (string-append doc "/html"))) (with-directory-excursion "doc" - (system* "make" "html") + (apply invoke "make" "html" make-flags) (mkdir-p html) (copy-recursively "build/html" html)) - (copy-file "LICENSE" (string-append doc "/LICENSE")) #t)))))) (home-page "https://cffi.readthedocs.org") (synopsis "Foreign function interface for Python") @@ -152,13 +152,13 @@ conversions for values passed between the two languages.") (define-public ruby-ffi (package (name "ruby-ffi") - (version "1.9.18") + (version "1.9.22") (source (origin (method url-fetch) (uri (rubygems-uri "ffi" version)) (sha256 (base32 - "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0")))) + "17lvnpmllg4mlzf25lxbmfzk4l6rsddlxwwdkbs4d9v5gv154529")))) (build-system ruby-build-system) ;; FIXME: Before running tests the build system attempts to build libffi ;; from sources. diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm index 208e13546e..bbb98ff1f4 100644 --- a/gnu/packages/libftdi.scm +++ b/gnu/packages/libftdi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-public libftdi (package (name "libftdi") - (version "1.1") + (version "1.4") (source (origin (method url-fetch) (uri (string-append @@ -35,11 +36,11 @@ version ".tar.bz2")) (sha256 (base32 - "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0")))) + "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc")))) (build-system cmake-build-system) (propagated-inputs `(("libusb" ,libusb))) ; required by libftdi1.pc - (home-page "http://www.intra2net.com/en/developer/libftdi/") + (home-page "https://www.intra2net.com/en/developer/libftdi/") (synopsis "FTDI USB driver with bitbang mode") (description "libFTDI is a library to talk to FTDI chips: FT232BM, diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index aed90c500f..7a1a1433fd 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -190,7 +190,7 @@ into other word processors.") (define-public libe-book (package (name "libe-book") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -198,7 +198,7 @@ into other word processors.") version "/libe-book-" version ".tar.xz")) (sha256 (base32 - "1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz")))) + "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -206,6 +206,7 @@ into other word processors.") ("pkg-config" ,pkg-config))) (propagated-inputs ; in Requires or Requires.private field of .pkg `(("icu4c" ,icu4c) + ("liblangtag" ,liblangtag) ("librevenge" ,librevenge) ("libxml2" ,libxml2))) (inputs @@ -295,14 +296,14 @@ as Alfresco or Nuxeo.") (define-public libabw (package (name "libabw") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) - (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" + (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing")))) + "11949iscdb99f2jplxjd39282jxcrf2fw0sqbh5dl7gqb96r8whb")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -428,7 +429,7 @@ standard 21.0.2.") (sha256 (base32 "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k")))) (build-system gnu-build-system) - (home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/") + (home-page "https://www.freedesktop.org/wiki/Software/libexttextcat/") (synopsis "Text Categorization library") (description "Libexttextcat is an N-Gram-Based Text Categorization library primarily intended for language guessing.") @@ -468,14 +469,14 @@ Aldus/Macromedia/Adobe FreeHand documents.") (define-public libmspub (package (name "libmspub") - (version "0.1.2") + (version "0.1.4") (source (origin (method url-fetch) - (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" + (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "03sn6lxpr49sdq6j8q7fw7yjybyfahhs03z80388mh105pwapfmh")))) + "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -495,14 +496,14 @@ Microsoft Publisher documents of all versions.") (define-public libpagemaker (package (name "libpagemaker") - (version "0.0.3") + (version "0.0.4") (source (origin (method url-fetch) - (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" + (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1minj0q14d44qfas81a8lkpgj288h5xlkjp084sfx17xv9axr5nq")))) + "17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 904ab98cc0..7981a4f5cc 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -124,6 +124,7 @@ version of libusb to run with newer libusb.") (uri (git-reference (url "https://github.com/usb4java/libusb4java.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0wqgapalhfh9v38ycbl6i2f5lh1wpr6fzwn5dwd0rdacypkd1gml")))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4085332eb3..c3bd73023d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,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.15.5") -(define %linux-libre-hash "1vrqya5zkhzl37fpj5v0v1igm7jf2gi13apkpak90l51xiw592cs") +(define %linux-libre-version "4.15.9") +(define %linux-libre-hash "13lcard7i6w2c1cf9rfhvmq79xk4qp2p1c1920mfi69l20yvm572") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -392,8 +392,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.21") -(define %linux-libre-4.14-hash "07d27mph514jxxkzil4b3c848ywfd4r4js0wl5wsfy7a3j757278") +(define %linux-libre-4.14-version "4.14.26") +(define %linux-libre-4.14-hash "1m2zr17wpasg5riysbaa4g5i492jzr93py2jm088ki818s4a9cm3") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -402,20 +402,20 @@ 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.83" - "09mw2r2fbn0g6xfhyxk0n54c7sg0vk9nlp7k2ca3v0v24n7lrfza" + (make-linux-libre "4.9.87" + "1p8phvmxp04npzqzqcfmv8k9l5l65s7vpjcakdm0fxfkzvnswsp6" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.117" - "1mlq9npyriwj0wpj24zah55bkxil31l182ypbn6b3x4yvmr8lhz0" + (make-linux-libre "4.4.121" + "1d7djrhiib0ds9ssjkali6b5w6rzap4zgj5hf9jq1jmqpp54jkm4" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.49" - "0dklmqj6ayjlkz97b811zdvpgb3yppahinji9l9jmkz4ssi7a1gs" + (make-linux-libre "4.1.50" + "1hl1pk724v2waa55bhxfmxyz9nl6pkcj4dc3l80jfvqdfgr55mm2" %intel-compatible-systems #:configuration-file kernel-config)) @@ -873,7 +873,7 @@ ext3 or ext4 partition.") (define-public zerofree (package (name "zerofree") - (version "1.1.0") + (version "1.1.1") (home-page "https://frippery.org/uml/") (source (origin (method url-fetch) @@ -881,7 +881,7 @@ ext3 or ext4 partition.") ".tgz")) (sha256 (base32 - "059g29x5r1xj6wcj4xj85l8w6qrxyl86yqbybjqqz6nxz4falxzf")))) + "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1758,7 +1758,7 @@ file system is as easy as logging into the server with an SSH client.") (define-public archivemount (package (name "archivemount") - (version "0.8.7") + (version "0.8.9") (source (origin (method url-fetch) @@ -1766,7 +1766,7 @@ file system is as easy as logging into the server with an SSH client.") "archivemount-" version ".tar.gz")) (sha256 (base32 - "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127")))) + "0v4si1ri6lhnq9q87gkx7fsh6lv6xz4bynknwndqncpvfp5cy1jg")))) (build-system gnu-build-system) (inputs `(("fuse", fuse) ("libarchive", libarchive))) @@ -2530,14 +2530,14 @@ thanks to the use of namespaces.") (define-public hdparm (package (name "hdparm") - (version "9.53") + (version "9.54") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6")))) + "0ghnhdj7wfw6acfyhdawpfa5n9kvkvzgi1fw6i7sghgbjx5nhyjd")))) (build-system gnu-build-system) (arguments `(#:make-flags (let ((out (assoc-ref %outputs "out"))) @@ -2864,15 +2864,15 @@ arrays when needed.") (define-public multipath-tools (package (name "multipath-tools") - (version "0.7.1") + (version "0.7.4") (source (origin (method url-fetch) - (uri (string-append "http://git.opensvc.com/?p=multipath-tools/" + (uri (string-append "https://git.opensvc.com/?p=multipath-tools/" ".git;a=snapshot;h=" version ";sf=tgz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p")) + "02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8")) (modules '((guix build utils))) (snippet '(begin @@ -3706,7 +3706,7 @@ of flash storage.") (define-public libseccomp (package (name "libseccomp") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/seccomp/libseccomp/" @@ -3714,7 +3714,7 @@ of flash storage.") "/libseccomp-" version ".tar.gz")) (sha256 (base32 - "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x")))) + "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz")))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 020abc7494..1cda606c20 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -435,7 +435,7 @@ statistical profiler, a code coverage tool, and many other extensions.") (define-public ccl (package (name "ccl") - (version "1.11") + (version "1.11.5") (source #f) (build-system gnu-build-system) ;; CCL consists of a "lisp kernel" and "heap image", both of which are @@ -448,7 +448,7 @@ statistical profiler, a code coverage tool, and many other extensions.") ,(origin (method url-fetch) (uri (string-append - "ftp://ftp.clozure.com/pub/release/" version + "https://github.com/Clozure/ccl/releases/download/v" version "/ccl-" version "-" (match (%current-system) ((or "i686-linux" "x86_64-linux") "linuxx86") @@ -461,9 +461,9 @@ statistical profiler, a code coverage tool, and many other extensions.") (base32 (match (%current-system) ((or "i686-linux" "x86_64-linux") - "0w3dmj7q9kqyra3yrf1lxclnjz151yvf5s5q8ayllvmvqbl8bs08") + "0hs1f3z7crgzvinpj990kv9gvbsipxvcvwbmk54n51nasvc5025q") ("armhf-linux" - "1x487aaz2rqcb6k301sy2p39a1m4qdhg6z9p9fb76ssipqgr38b4") + "0p0l1dzsygb6i1xxgbipjpxkn46xhq3jm41a34ga1qqp4x8lkr62") (_ "")))))))) (native-inputs `(("m4" ,m4) @@ -484,6 +484,8 @@ statistical profiler, a code coverage tool, and many other extensions.") ;; Enter the source directory for the current platform's lisp ;; kernel, and run 'make clean' to remove the precompiled one. (lambda _ + (substitute* "lisp-kernel/m4macros.m4" + (("/bin/pwd") (which "pwd"))) (chdir (string-append "lisp-kernel/" ,(match (or (%current-target-system) (%current-system)) @@ -726,27 +728,29 @@ interactive development model in mind.") (sbcl-package->ecl-package sbcl-fiveam)) (define-public sbcl-bordeaux-threads - (package - (name "sbcl-bordeaux-threads") - (version "0.8.5") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/sionescu/bordeaux-threads/archive/v" - version ".tar.gz")) - (sha256 - (base32 "10ryrcx832fwqdawb6jmknymi7wpdzhi30qzx7cbrk0cpnka71w2")) - (file-name - (string-append "bordeaux-threads-" version ".tar.gz")))) - (inputs `(("alexandria" ,sbcl-alexandria))) - (native-inputs `(("fiveam" ,sbcl-fiveam))) - (build-system asdf-build-system/sbcl) - (synopsis "Portable shared-state concurrency library for Common Lisp") - (description "BORDEAUX-THREADS is a proposed standard for a minimal + (let ((commit "354abb0ae9f1d9324001e1a8abab3128d7420e0e") + (revision "1")) + (package + (name "sbcl-bordeaux-threads") + (version (git-version "0.8.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sionescu/bordeaux-threads.git") + (commit commit))) + (sha256 + (base32 "1hcfp21l6av1xj6z7r77sp6h4mwf9vvx4s745803sysq2qy2mwnq")) + (file-name + (git-file-name "bordeaux-threads" version)))) + (inputs `(("alexandria" ,sbcl-alexandria))) + (native-inputs `(("fiveam" ,sbcl-fiveam))) + (build-system asdf-build-system/sbcl) + (synopsis "Portable shared-state concurrency library for Common Lisp") + (description "BORDEAUX-THREADS is a proposed standard for a minimal MP/Threading interface. It is similar to the CLIM-SYS threading and lock support.") - (home-page "https://common-lisp.net/project/bordeaux-threads/") - (license license:x11))) + (home-page "https://common-lisp.net/project/bordeaux-threads/") + (license license:x11)))) (define-public cl-bordeaux-threads (sbcl-package->cl-source-package sbcl-bordeaux-threads)) @@ -1366,6 +1370,7 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks: (uri (git-reference (url "https://github.com/mishoo/cl-uglify-js.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a")))) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 27557e1b1b..f50a2f1cbb 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -73,7 +73,7 @@ staying as close to their API as is reasonable.") (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ;for tests - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool))) (arguments diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6e8f9a74ae..7986671e97 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -296,7 +296,7 @@ operating systems.") (define-public neomutt (package (name "neomutt") - (version "20171215") + (version "20180223") (source (origin (method url-fetch) @@ -304,7 +304,7 @@ operating systems.") "/archive/" name "-" version ".tar.gz")) (sha256 (base32 - "1df1c2ynvivna42ifj1lxmgb0bbfih0ggn1afyniadzjm6cnxdvz")))) + "1fr7158xhrhasylyxp709g9mdbggdmni3qn3baxvczfg2w003fhh")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) @@ -325,7 +325,7 @@ operating systems.") ("gettext-minimal" ,gettext-minimal) ("pkg-config" ,pkg-config) ("docbook-xsl" ,docbook-xsl) - ("docbook-xml" ,docbook-xml) + ("docbook-xml" ,docbook-xml-4.2) ("w3m" ,w3m) ("tcl" ,tcl))) (arguments @@ -368,18 +368,6 @@ operating systems.") (modify-phases %standard-phases ;; TODO: autosetup is meant to be included in the source, ;; but we should package autosetup and use our own version of it. - (add-before 'configure 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("doc/chunk.xsl" "doc/manual.xml.tail" - "doc/html.xsl" "doc/manual.xml.head") - (("http://docbook.sourceforge.net/release/xsl/current/") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) "/")) - (("http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/docbookx.dtd"))) - #t)) (add-before 'configure 'fix-sasl-test (lambda _ ;; Upstream suggestion to fix the failing sasl autosetup test. @@ -943,7 +931,7 @@ useful features.") (sha256 (base32 "1sxnaglp5hb0z78sgnfzva4x8m4flqhicvm1dz0krkxdmfsafrsf")))) (build-system gnu-build-system) - (native-inputs `(("autoconf" ,(autoconf-wrapper)) + (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) @@ -1192,16 +1180,15 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.0") + (version "2.3.0.1") (source (origin (method url-fetch) (uri (string-append "https://www.dovecot.org/releases/" (version-major+minor version) "/" name "-" version ".tar.gz")) - (patches (search-patches "dovecot-CVE-2017-15132.patch")) (sha256 (base32 - "10c5myzgys866c3x6jdr1s9x9pqnjd5vpyz8z384sph21m3wnq6y")))) + "0lzisrdgrj5qqwjb7bv99mf2aljm568r6g108yisp0s644z2nxxb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1388,7 +1375,7 @@ write simple, representation-independent mail handling code.") (define-public perl-email-address (package (name "perl-email-address") - (version "1.908") + (version "1.909") (source (origin (method url-fetch) @@ -1396,7 +1383,7 @@ write simple, representation-independent mail handling code.") "Email-Address-" version ".tar.gz")) (sha256 (base32 - "0i6ljdvpy279hpbqf6lgv4figr376rb2sh4yphj86xkdzsyn1y75")))) + "0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Email-Address") (synopsis "Email address parsing and creation") diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index e56ac937cb..e779376df9 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -198,6 +198,18 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (("/bin/sh") "sh") (("execv ") "execvp ")) #t))))))) + ;; We don't want to retain a reference to /gnu/store in the bootstrap + ;; versions of egrep/fgrep, so we remove the custom phase added since + ;; grep@2.25. The effect is 'egrep' and 'fgrep' look for 'grep' in + ;; $PATH. + (grep (package + (inherit grep) + (inputs '()) ;remove PCRE, which is optional + (arguments + (substitute-keyword-arguments (package-arguments grep) + ((#:phases phases) + `(modify-phases ,phases + (delete 'fix-egrep-and-fgrep))))))) (finalize (compose static-package package-with-relocatable-glibc))) `(,@(map (match-lambda @@ -210,17 +222,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("patch" ,patch) ("coreutils" ,coreutils) ("sed" ,sed) - ;; We don't want to retain a reference to /gnu/store in the - ;; bootstrap versions of egrep/fgrep, so we remove the custom - ;; phase added since grep@2.25. The effect is 'egrep' and - ;; 'fgrep' look for 'grep' in $PATH. - ("grep" ,(package - (inherit grep) - (arguments - (substitute-keyword-arguments (package-arguments grep) - ((#:phases phases) - `(modify-phases ,phases - (delete 'fix-egrep-and-fgrep))))))) + ("grep" ,grep) ("gawk" ,gawk))) ("bash" ,static-bash)))) @@ -531,6 +533,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ''("LDFLAGS=-ldl")) ((#:phases phases '%standard-phases) `(modify-phases ,phases + + ;; Do not record the absolute file name of 'sh' in + ;; (ice-9 popen). This makes 'open-pipe' unusable in + ;; a build chroot ('open-pipe*' is fine) but avoids + ;; keeping a reference to Bash. + (delete 'pre-configure) + (add-before 'configure 'static-guile (lambda _ (substitute* "libguile/Makefile.in" @@ -556,7 +565,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "guile-static-stripped") (build-system trivial-build-system) (arguments - `(#:modules ((guix build utils)) + ;; The end result should depend on nothing but itself. + `(#:allowed-references ("out") + #:modules ((guix build utils)) #:builder (let () (use-modules (guix build utils)) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index b3a688759a..644738f717 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -58,14 +58,14 @@ a flexible and convenient way.") (define-public man-db (package (name "man-db") - (version "2.7.6.1") + (version "2.8.2") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/man-db/man-db-" version ".tar.xz")) (sha256 (base32 - "0gqgs4zc3r87apns0k5qp689p2ylxx2596s2mkmkxjjay99brv88")))) + "0p0cvv5ykvyzq33qyfik11p2s0d2j75ans1avj9xv3c8vy3zzga5")))) (build-system gnu-build-system) (arguments `(#:phases @@ -131,6 +131,9 @@ a flexible and convenient way.") ("groff-minimal" ,groff-minimal) ("less" ,less) ("libpipeline" ,libpipeline) + ;; FIXME: 4.8 and later can use libseccomp, but it causes test + ;; failures in the build chroot. + ;;("libseccomp" ,libseccomp) ("util-linux" ,util-linux))) (native-search-paths (list (search-path-specification diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index b892a768d8..0281b02daa 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -135,7 +135,7 @@ MATE applications.") (setenv "CONFIG_SHELL" (which "sh")) (invoke "sh" "autogen.sh")))))) (native-inputs - `(("autoconf" ,(autoconf-wrapper)) + `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("intltool" ,intltool) ("icon-naming-utils" ,icon-naming-utils) @@ -1191,7 +1191,7 @@ Re-decorates windows on un-maximise. (("dbus-1") "")))))))) (native-inputs `(("automake" ,automake) - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("gettext" ,gettext-minimal) ("intltool" ,intltool) ("kbproto" ,kbproto) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 25e1d5a312..f9e5d2c3a2 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8,11 +8,11 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com> @@ -259,14 +259,14 @@ routines that have been extracted from the V8 JavaScript engine.") (define-public dionysus (package (name "dionysus") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/dionysus/dionysus-" version - ".tar.gz")) + ".tar.xz")) (sha256 (base32 - "1aqnvw6z33bzqgd1ga571pnx6vq2zrkckm1cz91grv45h4jr9vgs")))) + "194pzs1mlsj4ww6v37qq3961h5hckm5h805cv0r14xj3g9wfx2sk")))) (build-system gnu-build-system) (inputs `(("tcl" ,tcl))) ;for 'tclsh' (synopsis "Local search for universal constants and scientific values") @@ -418,18 +418,26 @@ computing convex hulls.") (define-public arpack-ng (package (name "arpack-ng") - (version "3.2.0") + (version "3.5.0") + (home-page "https://github.com/opencollab/arpack-ng") (source (origin (method url-fetch) - (uri (string-append "https://github.com/opencollab/arpack-ng/archive/" - version ".tar.gz")) + (uri (string-append home-page "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff")))) + "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh")))) (build-system gnu-build-system) - (home-page "https://github.com/opencollab/arpack-ng") + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + (invoke "autoreconf" "-vfi")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("lapack" ,lapack) ("fortran" ,gfortran))) @@ -440,6 +448,21 @@ large scale eigenvalue problems.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) +(define-public arpack-ng-3.3.0 + (package + (inherit arpack-ng) + (version "3.3.0") + (name (package-name arpack-ng)) + (home-page (package-home-page arpack-ng)) + (source + (origin + (method url-fetch) + (uri (string-append home-page "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cz53wqzcf6czmcpfb3vb61xi0rn5bwhinczl65hpmbrglg82ndd")))))) + (define-public arpack-ng-openmpi (package (inherit arpack-ng) (name "arpack-ng-openmpi") @@ -724,7 +747,11 @@ incompatible with HDF5.") ;; unnecessary store references to those compilers: (substitute* "src/libhdf5.settings" (("(/gnu/store/)([a-Z0-9]*)" all prefix hash) - (string-append prefix (string-take hash 10) "..."))) + (string-append prefix (string-take hash 10) "...")) + ;; Don't record the build-time kernel version to make the + ;; settings file reproducible. + (("Uname information:.*") + "Uname information: Linux\n")) #t)) (add-after 'install 'patch-references (lambda* (#:key inputs outputs #:allow-other-keys) @@ -2489,7 +2516,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "17.10.1") + (version "18.02.0") (source (origin (method url-fetch) @@ -2498,12 +2525,12 @@ point numbers.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0qlzc31cqkwpfgrb9cif9bcnkj3rq487plg4rns7jxv6pq4609v1")))) - (build-system gnu-build-system) + "03kr2rgfp4hcf3is8m8d8f9hj660c3xgrc50vrrfpixx4syh6wvj")) + (patches + (search-patches "wxmaxima-do-not-use-old-gnuplot-parameters.patch")))) + (build-system cmake-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("gettext" ,gettext-minimal))) + `(("gettext" ,gettext-minimal))) (inputs `(("wxwidgets" ,wxwidgets) ("maxima" ,maxima) @@ -2512,11 +2539,9 @@ point numbers.") ("gtk+" ,gtk+) ("shared-mime-info" ,shared-mime-info))) (arguments - `(#:phases + `(#:tests? #f ; no check target + #:phases (modify-phases %standard-phases - (add-after 'unpack 'autoconf - (lambda _ - (zero? (system* "sh" "bootstrap")))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm new file mode 100644 index 0000000000..81021f6461 --- /dev/null +++ b/gnu/packages/maven.scm @@ -0,0 +1,130 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages maven) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system ant) + #:use-module (gnu packages) + #:use-module (gnu packages java)) + +(define-public maven-resolver-api + (package + (name "maven-resolver-api") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/apache/maven-resolver/" + "archive/maven-resolver-" version ".tar.gz")) + (sha256 + (base32 + "0rpvdg3qr1j88gw0ankf0wnwfyq6238mdlm7s39vf5jrcvhdgwcl")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "maven-resolver-api.jar" + #:source-dir "maven-resolver-api/src/main/java" + #:test-dir "maven-resolver-api/src/test")) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://github.com/apache/maven-resolver") + (synopsis "Maven repository system API") + (description "This package contains the API for the maven repository system.") + (license license:asl2.0))) + +(define-public maven-resolver-spi + (package + (inherit maven-resolver-api) + (name "maven-resolver-spi") + (arguments + `(#:jar-name "maven-resolver-spi.jar" + #:source-dir "maven-resolver-spi/src/main/java" + #:test-dir "maven-resolver-spi/src/test" + #:jdk ,icedtea-8)) + (inputs + `(("maven-resolver-api" ,maven-resolver-api))) + (synopsis "Maven repository system SPI") + (description "This package contains the service provider interface (SPI) +for repository system implementations and repository connectors."))) + +(define-public maven-resolver-test-util + (package + (inherit maven-resolver-api) + (name "maven-resolver-test-util") + (arguments + `(#:jar-name "maven-resolver-test-util.jar" + #:source-dir "maven-resolver-test-util/src/main/java" + #:test-dir "maven-resolver-test-util/src/test" + #:jdk ,icedtea-8)) + (inputs + `(("maven-resolver-api" ,maven-resolver-api) + ("maven-resolver-spi" ,maven-resolver-spi))) + (synopsis "Utility classes for testing the maven repository system") + (description "This package contains a collection of utility classes to +ease testing of the repository system."))) + +(define-public maven-resolver-util + (package + (inherit maven-resolver-api) + (name "maven-resolver-util") + (arguments + `(#:jar-name "maven-resolver-util.jar" + #:source-dir "maven-resolver-util/src/main/java" + #:test-dir "maven-resolver-util/src/test" + #:jdk ,icedtea-8)) + (inputs + `(("maven-resolver-api" ,maven-resolver-api))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("maven-resolver-test-util" ,maven-resolver-test-util))) + (synopsis "Utility classes for the maven repository system") + (description "This package contains a collection of utility classes to +ease usage of the repository system."))) + +(define-public maven-resolver-connector-basic + (package + (inherit maven-resolver-api) + (name "maven-resolver-connector-basic") + (arguments + `(#:jar-name "maven-resolver-connector-basic.jar" + #:source-dir "maven-resolver-connector-basic/src/main/java" + #:test-dir "maven-resolver-connector-basic/src/test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-sisu + (lambda _ + (mkdir-p "build/classes/META-INF/sisu") + (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named" + (lambda _ + (display "org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory\n")))))))) + (inputs + `(("maven-resolver-api" ,maven-resolver-api) + ("maven-resolver-spi" ,maven-resolver-spi) + ("maven-resolver-util" ,maven-resolver-util) + ("java-javax-inject" ,java-javax-inject))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("maven-resolver-test-util" ,maven-resolver-test-util))) + (synopsis "Maven repository connector implementation") + (description "This package contains a repository connector implementation +for repositories using URI-based layouts."))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c97c48e0e0..d0e0431130 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -449,14 +449,14 @@ compromised.") (define-public znc (package (name "znc") - (version "1.6.5") + (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig")))) + "09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index c7bc5c025d..f7f34e9dc3 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,14 +37,14 @@ (define-public mingw-w64 (package (name "mingw-w64") - (version "5.0-rc2") + (version "5.0.3") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 - (base32 "0imdary8j07if8ih73pfgxiclpf2ax8h3mz8mxln07i8sbbd30c9")) + (base32 "1d4wrjfdlq5xqpv9zg6ssw4lm8jnv6522xf7d6zbjygmkswisq1a")) (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch")))) (native-inputs `(("xgcc-core" ,(cross-gcc %mingw-triplet)) ("xbinutils" ,(cross-binutils %mingw-triplet)))) @@ -76,9 +77,16 @@ #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1") #:tests? #f ; compiles and includes glibc headers #:strip-binaries? #f)) - (home-page "http://mingw.org") + (home-page "https://mingw-w64.org") (synopsis "Minimalist GNU for Windows") - (description "MinGW provides a complete programming tool set which is -suitable for the development of native MS-Windows applications, and which does -not depend on any 3rd-party C-Runtime dlls.") + (description + "Minimalist GNU for Windows (@dfn{MinGW}) is a complete software +development environment for creating native Microsoft Windows applications. + +It includes a set of Windows-specific header files and static import libraries +which enable the use of the Windows API. It does not rely on any third-party C +runtime dynamic-link libraries (@dfn{DLL}s). + +Mingw-w64 is an advancement of the original mingw.org project and provides +several new APIs such as DirectX and DDK, and 64-bit support.") (license license:fdl1.3+))) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d7a1641ad8..c5a86d02c6 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ (define-public nagios (package (name "nagios") - (version "4.2.4") + (version "4.3.4") ;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS. (source (origin (method url-fetch) @@ -49,7 +50,7 @@ version "/nagios-" version ".tar.gz")) (sha256 (base32 - "0w0blbwiw0ps04b7gkyyk89qkgwsxh6gydhmggbm1kl3ar3mq1dh")) + "1wa4m952sb23dqi5w759adimsp21bkhp598rpq9dnhz3v497h2y9")) (modules '((guix build utils))) (snippet ;; Ensure reproducibility. diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 63b82900c0..4bd58d9733 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -441,6 +441,7 @@ background while you work.") (uri (string-append "https://github.com/hydrogen-music/hydrogen/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy")))) @@ -2609,7 +2610,9 @@ of tools for manipulating and accessing your music.") (("add_subdirectory\\(resources/music\\)") "")))))) (build-system cmake-build-system) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + ;; This flag ensures that MilkyTracker links with the JACK library. + #:configure-flags '("-DCMAKE_CXX_FLAGS=-ljack"))) (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) @@ -3726,6 +3729,34 @@ notation and includes basic support for digital audio.") (home-page "http://www.rosegardenmusic.com/") (license license:gpl2))) +(define-public patchmatrix + (package + (name "patchmatrix") + (version "0.12.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenMusicKontrollers/patchmatrix.git") + (commit version))) + (file-name (string-append "patchmatrix-" version "-checkout")) + (sha256 + (base32 + "19ivp7h5vq6r1qhmycjxzvrgg7fc4a3v5vb3n4c7afs4z3pj53zi")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; no test target + (inputs + `(("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/OpenMusicKontrollers/patchmatrix") + (synopsis "Simple JACK patch bay") + (description "PatchMatrix is a patch bay for the JACK audio connection +kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and +OSC connections.") + (license license:artistic2.0))) + (define-public sorcer (package (name "sorcer") diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index d6bef33695..07c7ed36cb 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,7 +30,7 @@ (define-public nano (package (name "nano") - (version "2.9.3") + (version "2.9.4") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp")))) + "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 0fa8cea523..167d1af777 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> @@ -267,6 +267,42 @@ filtering (subscriptions), seamless access to multiple transport protocols and more.") (license license:lgpl3+))) +(define-public czmq + (package + (name "czmq") + (version "4.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/zeromq/" name + "/releases/download/v" version + "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "04gwf61rijwm6b2wblwv8gky1gdrbfmg1d19hf72kdc691ds7vrv")))) + (build-system gnu-build-system) + (arguments + '(;; TODO Tests fail for some reason: + ;; * zauth: OK + ;; * zbeacon: OK (skipping test, no UDP broadcasting) + ;; E: (czmq_selftest) 18-02-24 16:25:52 No broadcast interface found, (ZSYS_INTERFACE=lo) + ;; make[2]: *** [Makefile:2245: check-local] Segmentation fault + ;; make[2]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0' + ;; make[1]: *** [Makefile:2032: check-am] Error 2 + ;; make[1]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0' + ;; make: *** [Makefile:1588: check-recursive] Error 1 + ;; phase `check' failed after 19.4 seconds + #:tests? #f + #:configure-flags '("--enable-drafts"))) + (inputs + `(("zeromq" ,zeromq))) + (home-page "http://zeromq.org") + (synopsis "High-level C bindings for ØMQ") + (description + "czmq provides bindings for the ØMQ core API that hides the differences +between different versions of ØMQ.") + (license license:mpl2.0))) + (define-public librdkafka (package (name "librdkafka") @@ -498,7 +534,7 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "2.4.4") + (version "2.4.5") (source (origin (method url-fetch) @@ -506,7 +542,7 @@ of the same name.") version ".tar.xz")) (sha256 (base32 - "0n3g28hrhifnchlz4av0blq4ykm4zaxwwxbzdm9wsba27677b6h4")))) + "1mvgy67rvnwj2kbc43s4il81jvz5ai0bx2j3j2js7x50zclyrcmk")))) (build-system gnu-build-system) (inputs `(("c-ares" ,c-ares) ("glib" ,glib) @@ -1031,7 +1067,7 @@ library remains flexible, portable, and easily embeddable.") (define-public sslh (package (name "sslh") - (version "1.19b") + (version "1.19c") (source (origin (method url-fetch) (uri (string-append "https://github.com/yrutschle/sslh/archive/v" @@ -1039,7 +1075,7 @@ library remains flexible, portable, and easily embeddable.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0p0zfy5ifzj7508zqidgkf8g43frm7l5xcs5s6v7132lypcsbd4k")))) + "0pd8hifa9h0rm7vms3k6ic1k29xigrlv2idc5wgcafmb1v1243di")))) (build-system gnu-build-system) (native-inputs `(;; Test dependencies. @@ -1403,14 +1439,14 @@ does not use SSH and requires a pre-shared symmetric key.") (define-public quagga (package (name "quagga") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/quagga/quagga-" version ".tar.gz")) (sha256 (base32 - "0cddxip9gd579parx64n6d7iq937ikrb8qxgvjxjm406l43hjb7f")) + "1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73")) (patches (search-patches "quagga-reproducible-build.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 982d3f905c..976d0c048a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -31,9 +31,11 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) + #:use-module (gnu packages icu4c) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages web)) @@ -41,23 +43,43 @@ (define-public node (package (name "node") - (version "9.4.0") + (version "9.8.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "0rx947ibcfpa0lf93nayfrmjls7r7svqsq87z0xmjzf8fb9361r4")))) + "1mjr1rm5w26c0yb4zq6z5yv3zbvqk18lwbswhwn1sha8hapinjp8")) + (modules '((guix build utils))) + (snippet + `(begin + ;; Remove bundled software. + (for-each delete-file-recursively + '("deps/cares" + "deps/http_parser" + "deps/icu-small" + "deps/nghttp2" + "deps/openssl" + "deps/uv" + "deps/zlib")) + (substitute* "Makefile" + ;; Remove references to bundled software + (("deps/http_parser/http_parser.gyp") "") + (("deps/uv/include/\\*.h") "") + (("deps/uv/uv.gyp") "") + (("deps/zlib/zlib.gyp") "")))))) (build-system gnu-build-system) (arguments ;; TODO: Purge the bundled copies from the source. - '(#:configure-flags '("--shared-openssl" - "--shared-zlib" - "--shared-libuv" - "--shared-cares" + '(#:configure-flags '("--shared-cares" "--shared-http-parser" - "--without-snapshot") + "--shared-libuv" + "--shared-nghttp2" + "--shared-openssl" + "--shared-zlib" + "--without-snapshot" + "--with-intl=system-icu") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-files @@ -77,29 +99,13 @@ (("'/usr/bin/env'") (string-append "'" (which "env") "'"))) - - ;; test-make-doc needs doc-only target, which is inhibited below - (for-each delete-file - '("test/doctool/test-make-doc.js")) ;; FIXME: These tests depend on being able to install eslint. ;; See https://github.com/nodejs/node/issues/17098. (for-each delete-file - '("test/parallel/test-eslint-crypto-check.js" - "test/parallel/test-eslint-alphabetize-errors.js" + '("test/parallel/test-eslint-alphabetize-errors.js" "test/parallel/test-eslint-buffer-constructor.js" "test/parallel/test-eslint-documented-errors.js" - "test/parallel/test-eslint-inspector-check.js" - "test/parallel/test-eslint-lowercase-name-for-primitive.js" - "test/parallel/test-eslint-no-unescaped-regexp-dot.js" - "test/parallel/test-eslint-no-let-in-for-declaration.js" - "test/parallel/test-eslint-number-isnan.js" - "test/parallel/test-eslint-prefer-assert-iferror.js" - "test/parallel/test-eslint-prefer-assert-methods.js" - "test/parallel/test-eslint-prefer-common-expectserror.js" - "test/parallel/test-eslint-prefer-common-mustnotcall.js" - "test/parallel/test-eslint-prefer-util-format-errors.js" - "test/parallel/test-eslint-require-buffer.js" - "test/parallel/test-eslint-required-modules.js")) + "test/parallel/test-eslint-inspector-check.js")) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -135,14 +141,6 @@ (string-append (assoc-ref inputs "python") "/bin/python") "configure" flags))))) - (add-before 'check 'skip-check-doc-only - (lambda _ - (substitute* "Makefile" - ;; requires js-yaml, which is not part of the distribution, - ;; and falls back to using npm to download it - (("\\$\\(MAKE\\) doc-only" all) - (string-append "#" all))) - #t)) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) (let* ((bindir (string-append (assoc-ref outputs "out") @@ -155,6 +153,7 @@ (native-inputs `(("python" ,python-2) ("perl" ,perl) + ("pkg-config" ,pkg-config) ("procps" ,procps) ("util-linux" ,util-linux) ("which" ,which))) @@ -165,7 +164,9 @@ (inputs `(("c-ares" ,c-ares) ("http-parser" ,http-parser) + ("icu4c" ,icu4c) ("libuv" ,libuv) + ("nghttp2" ,nghttp2 "lib") ("openssl" ,openssl) ("zlib" ,zlib))) (synopsis "Evented I/O for V8 JavaScript") diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index d270f513dc..1c3b8cd313 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,6 +107,17 @@ computers over a network.") (base32 "0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--with-privsep-user=ntpd" + "--localstatedir=/var") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'modify-install-locations + (lambda _ + ;; Don't try to create /var/run or /var/db + (substitute* "src/Makefile.in" + (("DESTDIR\\)\\$\\(localstatedir") "TMPDIR")) + #t))))) (inputs `(("libressl" ,libressl))) ; enable TLS time constraints. See ntpd.conf(5). (home-page "http://www.openntpd.org/") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2ec67ba7be..24f402128c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -1123,14 +1123,15 @@ instances and printing them.") (define-public ocaml-qtest (package (name "ocaml-qtest") - (version "2.5") + (version "2.8") (source (origin (method url-fetch) - (uri (string-append "https://github.com/vincent-hugot/iTeML/" - "archive/v" version ".tar.gz")) + (uri (string-append "https://github.com/vincent-hugot/qtest/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hw3jqir7w79payy4knc38fa3nxcvl7ap6y6hnqavrhpi8zqb59j")))) + "1ff4if64mc9c7wmhjdgnlnh6k6a713piqzr4043zzj4s5pw7smxk")))) (build-system ocaml-build-system) (native-inputs `(("findlib" ,ocaml-findlib))) @@ -1144,7 +1145,7 @@ instances and printing them.") #:phases (modify-phases %standard-phases (delete 'configure)))) - (home-page "https://github.com/vincent-hugot/iTeML") + (home-page "https://github.com/vincent-hugot/qtest") (synopsis "Inline (Unit) Tests for OCaml") (description "Qtest extracts inline unit tests written using a special syntax in comments. Those tests are then run using the oUnit framework and the @@ -1163,6 +1164,7 @@ to use -- to sophisticated random generation of test cases.") (method url-fetch) (uri (string-append "https://github.com/rgrinberg/stringext" "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "19g6lfn03iki9f8h91hi0yiqn0b3wkxyq08b3y23wgv6jw6mssfh")))) @@ -1242,6 +1244,7 @@ coverage information.") (method url-fetch) (uri (string-append "https://github.com/xguerin/bitstring" "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0vy8ibrxccii1jbsk5q6yh1kxjigqvi7lhhcmizvd5gfhf7mfyc8")) @@ -1307,6 +1310,7 @@ powerful.") (method url-fetch) (uri (string-append "https://github.com/janestreet/result" "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1pgpfsgvhxnh0i37fkvp9j8nadns9hz9iqgabj4dr519j2gr1xvw")))) @@ -1644,6 +1648,7 @@ lets the client choose the concrete timeline.") (method url-fetch) (uri (string-append "https://github.com/savonet/ocaml-ssl/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "15p7652cvzdrlqxc1af11mg07wasxr1fsaj44gcmmh6bmav7wfzq")))) (build-system ocaml-build-system) @@ -1678,6 +1683,7 @@ through Transport Layer Security (@dfn{TLS}) encrypted connections.") (method url-fetch) (uri (string-append "https://github.com/ocsigen/lwt/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1gbw0g8a5a4b16diqrmlhc8ilnikrm4w3jjm1zq310maqg8z0zxz")))) (build-system ocaml-build-system) @@ -3448,6 +3454,7 @@ and 4 (random based) according to RFC 4122.") (method url-fetch) (uri (string-append "https://github.com/alavrik/piqi-ocaml/" "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv")))) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 2a55a80842..f0147bab59 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages openstack) + #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages gnupg) #:use-module (gnu packages python) @@ -39,27 +41,37 @@ (define-public python-bandit (package (name "python-bandit") - (version "0.13.2") + (version "1.4.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/b/bandit/bandit-" - version ".tar.gz")) + (uri (pypi-uri "bandit" version)) (sha256 (base32 - "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g")))) + "1m5bm42120zyazky4k0lp3d9r0jwhjmp6sb108xfr0vz952p15yb")))) (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Tests require the 'bandit' executable in PATH. + ;; It's only built during install time. + (add-installed-pythonpath inputs outputs) + (setenv "PATH" (string-append (assoc-ref outputs "out") + "/bin:" (getenv "PATH"))) + (invoke "python" "setup.py" "testr")))))) (propagated-inputs - `(("python-appdirs" ,python-appdirs) + `(("python-gitpython" ,python-gitpython) ("python-pyyaml" ,python-pyyaml) ("python-six" ,python-six) ("python-stevedore" ,python-stevedore))) (native-inputs - `(("python-pbr" ,python-pbr) - ;; Tests + `(;; Tests. + ("python-beautifulsoup4" ,python-beautifulsoup4) ("python-fixtures" ,python-fixtures) ("python-mock" ,python-mock) + ("python-subunit" ,python-subunit) ("python-testrepository" ,python-testrepository) ("python-testscenarios" ,python-testscenarios) ("python-testtools" ,python-testtools))) @@ -70,50 +82,50 @@ To do this Bandit processes each file, builds an AST from it, and runs appropriate plugins against the AST nodes. Once Bandit has finished scanning all the files it generates a report.") - (properties `((python2-variant . ,(delay python2-bandit)))) (license asl2.0))) (define-public python2-bandit - (package (inherit (package-with-python2 - (strip-python2-variant python-bandit))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) + (package-with-python2 python-bandit)) (define-public python-debtcollector (package (name "python-debtcollector") - (version "1.0.0") + (version "1.19.0") (source (origin (method url-fetch) (uri (pypi-uri "debtcollector" version)) (sha256 (base32 - "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv")))) + "06c7vyn184y9f0lsrwaz13aq63hdz5fjrd191b8nifx6acsni42f")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ;FIXME: Requires packaging python-doc8. (propagated-inputs - `(("python-six" ,python-six) + `(("python-pbr" ,python-pbr) + ("python-six" ,python-six) ("python-wrapt" ,python-wrapt))) (native-inputs - `(("python-babel" ,python-babel) - ("python-pbr" ,python-pbr) - ;; Tests. - ("python-oslotest" ,python-oslotest))) + `(;; Tests. + ("python-subunit" ,python-subunit) + ("python-testrepository" ,python-testrepository) + ("python-testtools" ,python-testtools))) (home-page "https://www.openstack.org/") (synopsis - "Find deprecated patterns and strategies in Python code") + "Find deprecated patterns and strategies in Python code") (description "This package provides a collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.") + (properties `((python2-variant . ,(delay python2-debtcollector)))) (license asl2.0))) (define-public python2-debtcollector - (package-with-python2 python-debtcollector)) + (let ((base (package-with-python2 (strip-python2-variant + python-debtcollector)))) + (package + (inherit base) + (propagated-inputs + `(("python2-funcsigs" ,python2-funcsigs) + ,@(package-propagated-inputs base)))))) (define-public python-hacking (package @@ -155,36 +167,66 @@ guidelines}.") (define-public python-mox3 (package (name "python-mox3") - (version "0.14.0") + (version "0.24.0") (source (origin (method url-fetch) (uri (pypi-uri "mox3" version)) + (patches (search-patches "python-mox3-python3.6-compat.patch")) (sha256 (base32 - "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx")))) + "0w58adwv7q9wzvmq9mlrk2asfk73myq9fpwy7mjkzsz3baa95zf5")))) (build-system python-build-system) - (arguments - ;; TODO: Resolve dependency cycle and re-enable. - '(#:tests? #f)) + (propagated-inputs + `(("python-fixtures" ,python-fixtures) + ("python-pbr" ,python-pbr))) (native-inputs - `(("python-fixtures" ,python-fixtures) - ; TODO re-add ("python-oslosphinx" ,python-oslosphinx) - ("python-pbr" ,python-pbr) - ("python-sphinx" ,python-sphinx) + `(("python-openstackdocstheme" ,python-openstackdocstheme) + ("python-sphinx" ,python-sphinx-1.6) + ("python-subunit" ,python-subunit) + ("python-testrepository" ,python-testrepository) ("python-testtools" ,python-testtools))) (home-page "https://www.openstack.org/") (synopsis "Mock object framework for Python") (description "Mox3 is an unofficial port of the @uref{https://code.google.com/p/pymox/, Google mox framework} to Python 3. It was meant to be as compatible -with mox as possible, but small enhancements have been made. The library was -tested on Python versions 3.2, 2.7, and 2.6.") +with mox as possible, but small enhancements have been made.") (license asl2.0))) (define-public python2-mox3 (package-with-python2 python-mox3)) +(define-public python-openstackdocstheme + (package + (name "python-openstackdocstheme") + (version "1.18.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "openstackdocstheme" version)) + (sha256 + (base32 + "1ki5204rjdqjvr8xr9w2qc1z6b6d2i5jas0i70xzkf9njlzjzv2r")))) + (build-system python-build-system) + (arguments + ;; FIXME: Tests require an old version of python-hacking, which in + ;; turn depends on mox3 which depends on this package. + `(#:tests? #f)) + (propagated-inputs + `(("python-dulwich" ,python-dulwich) + ("python-pbr" ,python-pbr))) + (native-inputs + `(("python-sphinx" ,python-sphinx-1.6))) + (home-page "https://docs.openstack.org/openstackdocstheme/latest/") + (synopsis "OpenStack Docs Theme") + (description + "This package provides themes and extensions for Sphinx for publishing +to docs.openstack.org and developer.openstack.org.") + (license asl2.0))) + +(define-public python2-openstackdocstheme + (package-with-python2 python-openstackdocstheme)) + (define-public python-os-client-config (package (name "python-os-client-config") @@ -257,27 +299,22 @@ tested on Python versions 3.2, 2.7, and 2.6.") (define-public python-stevedore (package (name "python-stevedore") - (version "1.12.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (pypi-uri "stevedore" version)) (sha256 - (base32 - "0999zvawaapzg6givjhn7vjscdwblcs73wf28wq1wb4g5mbb5phv")))) + (base32 + "02ynfgwma84g59834dmvzr39mcppy5s229zf1w23c0qngf753izi")))) (build-system python-build-system) (propagated-inputs - `(("python-six" ,python-six))) + `(("python-pbr" ,python-pbr) + ("python-six" ,python-six))) (native-inputs - `(("python-pbr" ,python-pbr) - ;; Tests - ("python-discover" ,python-discover) - ("python-docutils" ,python-docutils) - ("python-mock" ,python-mock) - ("python-oslosphinx" ,python-oslosphinx) - ("python-oslotest" ,python-oslotest) - ("python-sphinx" ,python-sphinx) - ("python-testrepository" ,python-testrepository))) + `(("python-mock" ,python-mock) + ("python-sphinx" ,python-sphinx-1.6) + ("python-testrepository" ,python-testrepository))) (home-page "https://github.com/dreamhost/stevedore") (synopsis "Manage dynamic plugins for Python applications") (description @@ -289,16 +326,10 @@ mechanism by building on top of setuptools entry points. The code for managing entry points tends to be repetitive, though, so stevedore provides manager classes for implementing common patterns for using dynamically loaded extensions.") - (properties `((python2-variant . ,(delay python2-stevedore)))) (license asl2.0))) (define-public python2-stevedore - (package (inherit (package-with-python2 - (strip-python2-variant python-stevedore))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) + (package-with-python2 python-stevedore)) (define-public python-tempest-lib (package @@ -349,31 +380,35 @@ common features used in Tempest.") (define-public python-oslo.config (package (name "python-oslo.config") - (version "2.4.0") + (version "5.2.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/o/oslo.config/oslo.config-" - version - ".tar.gz")) + (uri (pypi-uri "oslo.config" version)) (sha256 (base32 - "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1")))) + "0ymf7jxbq29fifyvkwhfiys1qvljqfxdw8ajwzwaf3yiqidgpxqd")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Requires packaging python-argparse. (propagated-inputs - `(("python-netaddr" ,python-netaddr) - ("python-six" ,python-six) - ("python-stevedore" ,python-stevedore))) + `(("python-debtcollector" ,python-debtcollector) + ("python-netaddr" ,python-netaddr) + ("python-oslo.i18n" ,python-oslo.i18n) + ("python-pbr" ,python-pbr) + ("python-rfc3986" ,python-rfc3986) + ("python-six" ,python-six) + ("python-stevedore" ,python-stevedore) + ("python-pyyaml" ,python-pyyaml))) (native-inputs - `(("python-pbr" ,python-pbr) - ;; Tests - ("python-oslo.i18n" ,python-oslo.i18n) - ("python-mock" ,python-mock) - ("python-oslotest" ,python-oslotest) - ("python-testscenarios" ,python-testscenarios))) + `(("python-bandit" ,python-bandit) + ("python-coverage" ,python-coverage) + ("python-mock" ,python-mock) + ("python-openstackdocstheme" ,python-openstackdocstheme) + ("python-oslotest" ,python-oslotest) + ("python-reno" ,python-reno) + ("python-sphinx" ,python-sphinx-1.6) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios) + ("python-testtools" ,python-testtools))) (home-page "https://launchpad.net/oslo") (synopsis "Oslo Configuration API") (description @@ -387,28 +422,22 @@ common features used in Tempest.") (define-public python-oslo.context (package (name "python-oslo.context") - (version "1.0.0") + (version "2.20.0") (source (origin (method url-fetch) (uri (pypi-uri "oslo.context" version)) (sha256 (base32 - "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3")))) + "0iiq9rpwg6wrdqnhf3d8z8g0g7fjhs5zn6qw6igvxplz2c3rbvvx")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2. + (propagated-inputs + `(("python-debtcollector" ,python-debtcollector) + ("python-pbr" ,python-pbr))) (native-inputs - `(("python-babel" ,python-babel) - ("python-pbr" ,python-pbr) - ;; Tests. - ("python-coverage" ,python-coverage) - ("python-hacking" ,python-hacking) - ("python-mock" ,python-mock) - ("python-os-client-config" ,python-os-client-config) - ("python-oslotest" ,python-oslotest) - ("python-oslosphinx" ,python-oslosphinx) - ("python-sphinx" ,python-sphinx))) + `(("python-fixtures" ,python-fixtures) + ("python-hacking" ,python-hacking) + ("python-oslotest" ,python-oslotest))) (home-page "https://launchpad.net/oslo") (synopsis "Oslo context library") (description @@ -423,17 +452,15 @@ pipeline and used by various modules such as logging.") (define-public python-oslo.i18n (package (name "python-oslo.i18n") - (version "3.0.0") + (version "3.19.0") (source (origin (method url-fetch) (uri (pypi-uri "oslo.i18n" version)) (sha256 (base32 - "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl")))) + "18lbfq55cqrbmwm5p6vci9mkjfzr0zwz54ax3ysa463wba5m84cp")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config. (propagated-inputs `(("python-babel" ,python-babel) ("python-six" ,python-six))) @@ -458,34 +485,33 @@ in an application or library.") (define-public python-oslo.log (package (name "python-oslo.log") - (version "1.6.0") + (version "3.36.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/o/oslo.log/oslo.log-" - version - ".tar.gz")) + (uri (pypi-uri "oslo.log" version)) (sha256 (base32 - "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z")))) + "0h7hplf1h8k24v75m3mq1jlrl74x5ynyr4hwgffsg5campxnza4x")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0. (propagated-inputs - `(("python-debtcollector" ,python-debtcollector) + `(("python-dateutil" ,python-dateutil) + ("python-debtcollector" ,python-debtcollector) + ("python-monotonic" ,python-monotonic) ("python-oslo.config" ,python-oslo.config) ("python-oslo.context" ,python-oslo.context) ("python-oslo.i18n" ,python-oslo.i18n) ("python-oslo.utils" ,python-oslo.utils) ("python-oslo.serialization" ,python-oslo.serialization) + ("python-pbr" ,python-pbr) + ("python-pyinotify" ,python-pyinotify) ("python-six" ,python-six))) (native-inputs - `(("python-babel" ,python-babel) - ("python-iso8601" ,python-iso8601) - ("python-mock" ,python-mock) + `(("python-mock" ,python-mock) ("python-oslotest" ,python-oslotest) - ("python-pbr" ,python-pbr))) + ("python-subunit" ,python-subunit) + ("python-testrepository" ,python-testrepository) + ("python-testtools" ,python-testtools))) (home-page "https://launchpad.net/oslo") (synopsis "Python logging library of the Oslo project") (description @@ -500,27 +526,23 @@ handlers and support for context specific logging (like resource id’s etc).") (define-public python-oslo.serialization (package (name "python-oslo.serialization") - (version "2.2.0") + (version "2.24.0") (source (origin (method url-fetch) (uri (pypi-uri "oslo.serialization" version)) (sha256 (base32 - "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4")))) + "08bxkp98c617y58x630xq44iiffm7f0f3cwh6zbnlkgq0zgh7jk1")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0. (propagated-inputs - `(("python-iso8601" ,python-iso8601) + `(("python-msgpack" ,python-msgpack) ("python-netaddr" ,python-netaddr) ("python-oslo.utils" ,python-oslo.utils) - ("python-simplejson" ,python-simplejson) ("python-six" ,python-six) ("python-pytz" ,python-pytz))) (native-inputs - `(("python-babel" ,python-babel) - ("python-pbr" ,python-pbr) + `(("python-pbr" ,python-pbr) ;; Tests. ("python-mock" ,python-mock) ("python-oslo.i18n" ,python-oslo.i18n) @@ -530,21 +552,28 @@ handlers and support for context specific logging (like resource id’s etc).") (description "The oslo.serialization library provides support for representing objects in transmittable and storable formats, such as JSON and MessagePack.") + (properties `((python2-variant . ,(delay python2-oslo.serialization)))) (license asl2.0))) (define-public python2-oslo.serialization - (package-with-python2 python-oslo.serialization)) + (let ((base (package-with-python2 (strip-python2-variant + python-oslo.serialization)))) + (package + (inherit base) + (native-inputs + `(("python2-ipaddress" ,python2-ipaddress) + ,@(package-native-inputs base)))))) (define-public python-reno (package (name "python-reno") - (version "2.0.3") + (version "2.7.0") (source (origin (method url-fetch) (uri (pypi-uri "reno" version)) (sha256 - (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd")))) + (base32 "0gwzi5dvacqx43smxl3rd1z33npn7gfhm50bvgmq90fib2q431wc")))) (build-system python-build-system) (arguments `(#:phases @@ -554,33 +583,27 @@ in transmittable and storable formats, such as JSON and MessagePack.") ;; reno expects a git repo (zero? (system* "git" "init"))))))) (propagated-inputs - `(("python-babel" ,python-babel) - ("python-dulwich" ,python-dulwich) + `(("python-dulwich" ,python-dulwich) + ("python-pbr" ,python-pbr) ("python-pyyaml" ,python-pyyaml) ("python-six" ,python-six))) (native-inputs `(("python-testtools" ,python-testtools) - ("python-pbr" ,python-pbr) ("python-testscenarios" ,python-testscenarios) ("python-testrepository" ,python-testrepository) ("python-mock" ,python-mock) - ("python-oslotest" ,python-oslotest) + ("python-docutils" ,python-docutils) + ("python-sphinx" ,python-sphinx) ("gnupg" ,gnupg) ("git" ,git))) (home-page "http://docs.openstack.org/developer/reno/") (synopsis "Release notes manager") (description "Reno is a tool for storing release notes in a git repository and building documentation from them.") - (properties `((python2-variant . ,(delay python2-reno)))) (license asl2.0))) (define-public python2-reno - (package (inherit (package-with-python2 - (strip-python2-variant python-reno))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) + (package-with-python2 python-reno)) (define-public python-oslosphinx (package @@ -623,65 +646,49 @@ from the OpenStack project.") (define-public python-oslotest (package (name "python-oslotest") - (version "1.10.0") + (version "3.2.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/o/oslotest/oslotest-" - version - ".tar.gz")) + (uri (pypi-uri "oslotest" version)) (sha256 (base32 - "0l3ny48ddz5xbf0v4r0jv1yhbdzinc2vy0lybhdkmx3xy0b886fs")))) + "1xay6wjxzqm4bg87fahqas84dhvhgf1gghzldkcczsfx897mqdkh")))) (build-system python-build-system) (propagated-inputs `(("python-fixtures" ,python-fixtures) ("python-mock" ,python-mock) ("python-mox3" ,python-mox3) - ("python-six" ,python-six))) - (native-inputs - `(("python-pbr" ,python-pbr) ("python-os-client-config" ,python-os-client-config) + ("python-six" ,python-six) ("python-subunit" ,python-subunit) ("python-testrepository" ,python-testrepository) - ("python-testscenarios" ,python-testscenarios) ("python-testtools" ,python-testtools))) + (native-inputs + `(("python-pbr" ,python-pbr) + ("python-testscenarios" ,python-testscenarios))) (home-page "https://launchpad.net/oslo") (synopsis "Oslo test framework") (description "The Oslo Test framework provides common fixtures, support for debugging, and better support for mocking results.") - (properties `((python2-variant . ,(delay python2-oslotest)))) (license asl2.0))) (define-public python2-oslotest - (package (inherit (package-with-python2 - (strip-python2-variant python-oslotest))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) + (package-with-python2 python-oslotest)) (define-public python-oslo.utils (package (name "python-oslo.utils") - (version "3.0.0") + (version "3.35.0") (source (origin (method url-fetch) (uri (pypi-uri "oslo.utils" version)) (sha256 (base32 - "1c4jrbvfs4hs37fics8frqlyhmsv7v92ncv2cpbm0av9x0ic6pnj")) - (snippet - '(begin - ;; FIXME: setuptools fails to import this file during the test - ;; phase. - (delete-file "oslo_utils/tests/test_netutils.py"))))) + "1ai9yyasyh1563khsri6ryk6iqdprmyiashg377m9h4nmv700ybx")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; FIXME: Requires oslo.config >= 2.7.0. (propagated-inputs `(("python-debtcollector" ,python-debtcollector) ("python-oslo.i18n" ,python-oslo.i18n) @@ -689,18 +696,21 @@ and better support for mocking results.") ("python-monotonic" ,python-monotonic) ("python-netaddr" ,python-netaddr) ("python-netifaces" ,python-netifaces) + ("python-pyparsing" ,python-pyparsing) ("python-pytz" ,python-pytz) ("python-six" ,python-six))) (native-inputs - `(("python-babel" ,python-babel) - ("python-pbr" ,python-pbr) + `(("python-pbr" ,python-pbr) ;; Tests. ("python-bandit" ,python-bandit) + ("python-ddt" ,python-ddt) + ("python-fixtures" ,python-fixtures) ("python-oslo.config" ,python-oslo.config) ("python-oslotest" ,python-oslotest) ("python-mock" ,python-mock) - ("python-mox3" ,python-mox3) - ("python-testscenarios" ,python-testscenarios))) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios) + ("python-testtools" ,python-testtools))) (home-page "https://launchpad.net/oslo") (synopsis "Oslo utility library") (description @@ -827,25 +837,16 @@ data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central \"brain\" or master point of control provides greater scalability, redundancy and permanence.") - (license asl2.0))) + (properties `((python2-variant . ,(delay python2-swiftclient)))) + (license asl2.0))) (define-public python2-swiftclient - (let ((swiftclient (package-with-python2 python-swiftclient))) + (let ((swiftclient (package-with-python2 + (strip-python2-variant python-swiftclient)))) (package (inherit swiftclient) - (arguments - `(#:python ,python-2 - ;; FIXME: subunit.run discover: error: no such option: --list - #:tests? #f)) (propagated-inputs `(("python2-futures" ,python2-futures) - ("python2-requests" ,python2-requests) - ,@(alist-delete "python-requests" - (package-propagated-inputs swiftclient)))) - (native-inputs - `(("python2-keystoneclient" ,python2-keystoneclient) - ("python2-oslosphinx" ,python2-oslosphinx) - ,@(fold alist-delete (package-native-inputs swiftclient) - '("python-keystoneclient" "python-oslosphinx"))))))) + ,@(package-propagated-inputs swiftclient)))))) (define-public python-git-review (package diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0bc9dd6dd7..376c7d4fdb 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -239,7 +239,7 @@ ;; XXX: Keep the development inputs here even though ;; they're unnecessary, just so that 'guix environment ;; guix' always contains them. - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) @@ -791,14 +791,23 @@ on top of GNU Guix.") (define-public gcab (package (name "gcab") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1ji8j8pnxqaycbp9ydi2zq7gcr02c2vw4qnc198i6jwy9zkh2x19")))) + "0l19sr6pg0cfcddmi5n79d08mjjbhn427ip5jlsy9zddq9r24aqr")) + ;; gcab 1.1 has a hard dependency on git — even when building + ;; from a tarball. Remove it early so ‘guix environment gcab’ + ;; can actually build what ‘guix build --source gcab’ returns. + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "meson.build" + (("git_version = .*$") "git_version = []\n")) + #t)))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 17423856aa..c110fab086 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -94,7 +94,7 @@ and they are executed on lists of files, hosts, users or other items.") (define-public slurm (package (name "slurm") - (version "17.11.2") + (version "17.11.3") (source (origin (method url-fetch) (uri (string-append @@ -102,7 +102,7 @@ and they are executed on lists of files, hosts, users or other items.") version ".tar.bz2")) (sha256 (base32 - "18yakb8kmhb16n0cv3zhjv8ahvsk9p0max8mmr2flb2c65fawks6")) + "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index f83c05a25b..46b6e795ab 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -9,13 +9,14 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,6 +45,8 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) + #:use-module (gnu packages curl) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) @@ -89,7 +92,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.2.4") + (version "2.3.1") (source (origin (method url-fetch) @@ -98,10 +101,17 @@ human.") version "-src.tar.xz")) (sha256 (base32 - "1pfkq1m5vb90kx67vyw70s1hc4ivjsvq2535vm6wdwwsncna6bz5")))) + "1gdrbpzwbs56anc3k5vklvcackcn214pc8gm5xh5zcymsi8q4zff")))) (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DWITH_XC_NETWORKING=YES" + "-DWITH_XC_BROWSER=YES" + "-DWITH_XC_SSHAGENT=YES"))) (inputs - `(("libgcrypt" ,libgcrypt) + `(("argon2" ,argon2) + ("curl" ,curl) ; XC_NETWORKING + ("libgcrypt" ,libgcrypt) + ("libsodium" ,libsodium) ; XC_BROWSER ("libxi" ,libxi) ("libxtst" ,libxtst) ("qtbase" ,qtbase) @@ -190,7 +200,7 @@ applications, there is xclip integration." ) (define-public yapet (package (name "yapet") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-" @@ -198,7 +208,7 @@ applications, there is xclip integration." ) ".tar.bz2")) (sha256 (base32 - "0ydbnqw6icdh07pnv2w6dhvq501bdfvrklv4xmyr8znca9d753if")))) + "1lq46mpxdsbl6qw4cj58hp9q7jckmyvbsi08p5zr77rjgqadxyyy")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) @@ -271,7 +281,7 @@ random passwords that pass the checks.") (define-public assword (package (name "assword") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (list @@ -280,7 +290,7 @@ random passwords that pass the checks.") "assword_" version ".orig.tar.gz"))) (sha256 (base32 - "0l6170y6my1gprqkazvzabgjkrkr9v2q7z48vjflna4r323yqira")))) + "03gkb6kvsghznbcw5l7nmrc6mn3ixkjd5jcs96ni4zs9l47jf7yp")))) (arguments `(;; irritatingly, tests do run but not there are two problems: ;; - "import gtk" fails for unknown reasons here despite it the @@ -603,3 +613,31 @@ password hash types most commonly found on various Unix systems, supported out of the box are Windows LM hashes, plus lots of other hashes and ciphers. This is the community-enhanced, \"jumbo\" version of John the Ripper.") (license license:gpl2+)))) + +(define-public sala + (package + (name "sala") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sala" version)) + (sha256 + (base32 + "13qgmc3i2a0cqp8jqrfl93lnphfagb32pgfikc1gza2a14asxzi8")))) + (build-system python-build-system) + (arguments + ;; Sala is supposed to work with Python 3.2 or higher, + ;; but it doesn't work with Python 3.6. Better stick + ;; to Python 2, which works fine. + `(#:python ,python-2)) + (propagated-inputs + `(("gnupg" ,gnupg) + ("pwgen" ,pwgen))) + (home-page "http://www.digip.org/sala/") + (synopsis "Encrypted plaintext password store") + (description + "Store passwords and other bits of sensitive plain-text information +to encrypted files on a directory hierarchy. The information is protected +by GnuPG's symmetrical encryption.") + (license license:expat))) diff --git a/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch new file mode 100644 index 0000000000..0c4deb024b --- /dev/null +++ b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch @@ -0,0 +1,35 @@ +Based on the upstream fix for the java8 compilation issue. +Simplified patch. +Upstream version of patch does not work with this source tree. + +The issue is that in java8 it is an error to pass null to +removeAll. Results in null pointer exception. java7 +behaviour was to return the list unmodified. + +From db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com> +Date: Fri, 5 Jan 2018 17:05:31 +0100 +Subject: [PATCH] Fix java8 compilation. + +--- + src/org/antlr/tool/CompositeGrammar.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java +index f1408e7..7e02431 100644 +--- a/src/org/antlr/tool/CompositeGrammar.java ++++ b/src/org/antlr/tool/CompositeGrammar.java +@@ -218,7 +218,9 @@ public class CompositeGrammar { + public List<Grammar> getIndirectDelegates(Grammar g) { + List<Grammar> direct = getDirectDelegates(g); + List<Grammar> delegates = getDelegates(g); +- delegates.removeAll(direct); ++ if (direct != null) { ++ delegates.removeAll(direct); ++ } + return delegates; + } + +-- +2.15.1 + diff --git a/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch b/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch new file mode 100644 index 0000000000..a7d6be9b6b --- /dev/null +++ b/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch @@ -0,0 +1,35 @@ +Based on the upstream fix for the java8 compilation issue. +Simplified patch. +Upstream version of patch does not work with this source tree. + +The issue is that in java8 it is an error to pass null to +removeAll. Results in null pointer exception. java7 +behaviour was to return the list unmodified. + +From 43867d50c05d1c06ab7220eb974a8874ae10c308 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com> +Date: Fri, 5 Jan 2018 19:08:24 +0100 +Subject: [PATCH] Fix java8 complilation error. + +--- + tool/src/main/java/org/antlr/tool/CompositeGrammar.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java +index f34ea73..63740a6 100644 +--- a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java ++++ b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java +@@ -226,7 +226,9 @@ public class CompositeGrammar { + public List<Grammar> getIndirectDelegates(Grammar g) { + List<Grammar> direct = getDirectDelegates(g); + List<Grammar> delegates = getDelegates(g); +- delegates.removeAll(direct); ++ if(direct != null) { ++ delegates.removeAll(direct); ++ } + return delegates; + } + +-- +2.15.1 + diff --git a/gnu/packages/patches/ceph-disable-cpu-optimizations.patch b/gnu/packages/patches/ceph-disable-cpu-optimizations.patch index f33eb629d6..421b1d4fe1 100644 --- a/gnu/packages/patches/ceph-disable-cpu-optimizations.patch +++ b/gnu/packages/patches/ceph-disable-cpu-optimizations.patch @@ -1,5 +1,4 @@ -Disable CPU optimizations not supported by all x86_64 systems. Also -don't add anything for i686. +Disable CPU optimizations not supported by all x86_64 systems. --- a/cmake/modules/SIMDExt.cmake 2017-03-23 22:22:58.254071694 +0100 +++ b/cmake/modules/SIMDExt.cmake 2017-03-23 22:23:22.446848845 +0100 @@ -15,39 +14,30 @@ don't add anything for i686. # # SIMD_COMPILE_FLAGS # -@@ -73,7 +68,7 @@ - set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mfpu=neon") - endif() - --elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64") -+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") - set(HAVE_INTEL 1) - CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE) - if(HAVE_INTEL_SSE) -@@ -83,26 +78,6 @@ - if(HAVE_INTEL_SSE2) - set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2") - endif() -- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3) -- if(HAVE_INTEL_SSE3) -- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3") -- endif() -- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3) -- if(HAVE_INTEL_SSSE3) -- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3") -- endif() -- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL) -- if(HAVE_INTEL_PCLMUL) -- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul") -- endif() -- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1) -- if(HAVE_INTEL_SSE4_1) -- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1") -- endif() -- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2) -- if(HAVE_INTEL_SSE4_2) -- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2") -- endif() +@@ -85,26 +80,6 @@ + if(HAVE_INTEL_SSE2) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2") + endif() +- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3) +- if(HAVE_INTEL_SSE3) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3") +- endif() +- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3) +- if(HAVE_INTEL_SSSE3) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3") +- endif() +- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL) +- if(HAVE_INTEL_PCLMUL) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul") +- endif() +- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1) +- if(HAVE_INTEL_SSE4_1) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1") +- endif() +- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2) +- if(HAVE_INTEL_SSE4_2) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2") +- endif() + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le") - set(HAVE_PPC64LE 1) - message(STATUS " we are ppc64le") diff --git a/gnu/packages/patches/ceph-disable-unittest-throttle.patch b/gnu/packages/patches/ceph-disable-unittest-throttle.patch deleted file mode 100644 index 08ae5f9e24..0000000000 --- a/gnu/packages/patches/ceph-disable-unittest-throttle.patch +++ /dev/null @@ -1,52 +0,0 @@ -FIXME: This test broke after the gcc-5/glibc-2.25 core-updates merge. -Not sure what's going on here, it hangs after spawning the first thread. - -diff --git a/src/test/common/Throttle.cc b/src/test/common/Throttle.cc -index 5b6d73217d..40a477b2a3 100644 ---- a/src/test/common/Throttle.cc -+++ b/src/test/common/Throttle.cc -@@ -216,44 +216,6 @@ TEST_F(ThrottleTest, wait) { - } while(!waited); - } - --TEST_F(ThrottleTest, destructor) { -- Thread_get *t; -- { -- int64_t throttle_max = 10; -- Throttle *throttle = new Throttle(g_ceph_context, "throttle", throttle_max); -- -- ASSERT_FALSE(throttle->get(5)); -- -- t = new Thread_get(*throttle, 7); -- t->create("t_throttle"); -- bool blocked; -- useconds_t delay = 1; -- do { -- usleep(delay); -- if (throttle->get_or_fail(1)) { -- throttle->put(1); -- blocked = false; -- } else { -- blocked = true; -- } -- delay *= 2; -- } while(!blocked); -- delete throttle; -- } -- -- { // -- // The thread is left hanging, otherwise it will abort(). -- // Deleting the Throttle on which it is waiting creates a -- // inconsistency that will be detected: the Throttle object that -- // it references no longer exists. -- // -- pthread_t id = t->get_thread_id(); -- ASSERT_EQ(pthread_kill(id, 0), 0); -- delete t; -- ASSERT_EQ(pthread_kill(id, 0), 0); -- } --} -- - std::pair<double, std::chrono::duration<double> > test_backoff( - double low_threshhold, - double high_threshhold, diff --git a/gnu/packages/patches/ceph-rocksdb-compat.patch b/gnu/packages/patches/ceph-rocksdb-compat.patch new file mode 100644 index 0000000000..1a3c6b0b23 --- /dev/null +++ b/gnu/packages/patches/ceph-rocksdb-compat.patch @@ -0,0 +1,63 @@ +Fix compatibility with newer versions of RocksDB. + +Adapted from this upstream patch, with some additional changes for 12.2: +https://github.com/ceph/ceph/commit/9d73a7121fdb1ae87cb1aa6f7d9d7a13f329ae68 + +diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc +index 8660afe1886d..bc0de79e23cb 100644 +--- a/src/kv/RocksDBStore.cc ++++ b/src/kv/RocksDBStore.cc +@@ -505,7 +505,7 @@ + // considering performance overhead, default is disabled + if (g_conf->rocksdb_perf) { + rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex); +- rocksdb::perf_context.Reset(); ++ rocksdb::get_perf_context()->Reset(); + } + + RocksDBTransactionImpl * _t = +@@ -532,13 +532,13 @@ + utime_t write_wal_time; + utime_t write_pre_and_post_process_time; + write_wal_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000); + write_memtable_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000); + write_delay_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000); + write_pre_and_post_process_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000); + logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); + logger->tinc(l_rocksdb_write_delay_time, write_delay_time); + logger->tinc(l_rocksdb_write_wal_time, write_wal_time); +@@ -558,7 +558,7 @@ + // considering performance overhead, default is disabled + if (g_conf->rocksdb_perf) { + rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex); +- rocksdb::perf_context.Reset(); ++ rocksdb::get_perf_context()->Reset(); + } + + RocksDBTransactionImpl * _t = +@@ -586,13 +586,13 @@ + utime_t write_wal_time; + utime_t write_pre_and_post_process_time; + write_wal_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000); + write_memtable_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000); + write_delay_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000); + write_pre_and_post_process_time.set_from_double( +- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); ++ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000); + logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); + logger->tinc(l_rocksdb_write_delay_time, write_delay_time); + logger->tinc(l_rocksdb_write_wal_time, write_wal_time); diff --git a/gnu/packages/patches/dblatex-remove-multirow.patch b/gnu/packages/patches/dblatex-remove-multirow.patch deleted file mode 100644 index 62d1c64e08..0000000000 --- a/gnu/packages/patches/dblatex-remove-multirow.patch +++ /dev/null @@ -1,30 +0,0 @@ -This patch is needed to fix dblatex with newer versions of TeX Live. -It was taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189 - ---- a/latex/style/dbk_table.sty Sun Oct 02 23:21:03 2016 +0200 -+++ b/latex/style/dbk_table.sty Mon Oct 10 21:31:00 2016 +0200 -@@ -9,7 +9,6 @@ - \usepackage{longtable} - \usepackage{lscape} - \usepackage{colortbl} --\usepackage{multirow} - \usepackage{calc} - \usepackage{hhline} - -@@ -21,16 +20,6 @@ - \expandafter[\expandafter3\expandafter]\expandafter{% - \multicolumn{#1}{#2}{#3}} - --% Make \@xmultirow long --\expandafter\long\expandafter\def% --\expandafter\@xmultirow% --\expandafter#\expandafter1% --\expandafter[\expandafter#\expandafter2\expandafter]% --\expandafter#\expandafter3% --\expandafter[\expandafter#\expandafter4\expandafter]% --\expandafter#\expandafter5% --\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}} -- - % For the newtbl code - \newdimen\newtblstarfactor% - \newdimen\newtblsparewidth% diff --git a/gnu/packages/patches/dovecot-CVE-2017-15132.patch b/gnu/packages/patches/dovecot-CVE-2017-15132.patch deleted file mode 100644 index 32666b8557..0000000000 --- a/gnu/packages/patches/dovecot-CVE-2017-15132.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix CVE-2017-15132: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15132 - -Patch copied from upstream source repository: - -https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060 - -From 1a29ed2f96da1be22fa5a4d96c7583aa81b8b060 Mon Sep 17 00:00:00 2001 -From: Timo Sirainen <timo.sirainen@dovecot.fi> -Date: Mon, 18 Dec 2017 16:50:51 +0200 -Subject: [PATCH] lib-auth: Fix memory leak in auth_client_request_abort() - -This caused memory leaks when authentication was aborted. For example -with IMAP: - -a AUTHENTICATE PLAIN -* - -Broken by 9137c55411aa39d41c1e705ddc34d5bd26c65021 ---- - src/lib-auth/auth-client-request.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lib-auth/auth-client-request.c b/src/lib-auth/auth-client-request.c -index 480fb42b30..046f7c307d 100644 ---- a/src/lib-auth/auth-client-request.c -+++ b/src/lib-auth/auth-client-request.c -@@ -186,6 +186,7 @@ void auth_client_request_abort(struct auth_client_request **_request) - - auth_client_send_cancel(request->conn->client, request->id); - call_callback(request, AUTH_REQUEST_STATUS_ABORT, NULL, NULL); -+ pool_unref(&request->pool); - } - - unsigned int auth_client_request_get_id(struct auth_client_request *request) diff --git a/gnu/packages/patches/gd-CVE-2018-5711.patch b/gnu/packages/patches/gd-CVE-2018-5711.patch new file mode 100644 index 0000000000..83b12cde63 --- /dev/null +++ b/gnu/packages/patches/gd-CVE-2018-5711.patch @@ -0,0 +1,61 @@ +This patch is adapted from commit a11f47475e6443b7f32d21f2271f28f417e2ac04 and +fixes CVE-2018-5711. + +From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" <cmbecker69@gmx.de> +Date: Wed, 29 Nov 2017 19:37:38 +0100 +Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx + +Due to a signedness confusion in `GetCode_` a corrupt GIF file can +trigger an infinite loop. Furthermore we make sure that a GIF without +any palette entries is treated as invalid *after* open palette entries +have been removed. + +CVE-2018-5711 + +See also https://bugs.php.net/bug.php?id=75571. +--- + src/gd_gif_in.c | 12 ++++++------ + 1 file changed, 38 insertions(+), 6 deletions(-) + +diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c +index daf26e7..0a8bd71 100644 +--- a/src/gd_gif_in.c ++++ b/src/gd_gif_in.c +@@ -335,11 +335,6 @@ terminated: + return 0; + } + +- if(!im->colorsTotal) { +- gdImageDestroy(im); +- return 0; +- } +- + /* Check for open colors at the end, so + * we can reduce colorsTotal and ultimately + * BitsPerPixel */ +@@ -351,6 +346,11 @@ terminated: + } + } + ++ if(!im->colorsTotal) { ++ gdImageDestroy(im); ++ return 0; ++ } ++ + return im; + } + +@@ -447,7 +447,7 @@ static int + GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) + { + int i, j, ret; +- unsigned char count; ++ int count; + + if(flag) { + scd->curbit = 0; + +-- +2.13.6 + diff --git a/gnu/packages/patches/glibc-allow-kernel-2.6.32.patch b/gnu/packages/patches/glibc-allow-kernel-2.6.32.patch new file mode 100644 index 0000000000..c03807323f --- /dev/null +++ b/gnu/packages/patches/glibc-allow-kernel-2.6.32.patch @@ -0,0 +1,46 @@ +This patch allows libc to be used with the heavily-patched kernel found +on CentOS 6, which identifies itself as 2.6.32. + +See <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00392.html>. + +Patch taken from Nixpkgs. + +diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure +index cace758c01..38fe7fe0b0 100644 +--- a/sysdeps/unix/sysv/linux/configure ++++ b/sysdeps/unix/sysv/linux/configure +@@ -69,7 +69,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5 + $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; } + decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; +-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; ++abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include <linux/version.h> +diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac +index 13abda0a51..6abc12eaed 100644 +--- a/sysdeps/unix/sysv/linux/configure.ac ++++ b/sysdeps/unix/sysv/linux/configure.ac +@@ -50,7 +50,7 @@ fi + AC_MSG_CHECKING(for kernel header at least $minimum_kernel) + changequote(,)dnl + decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; +-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; ++abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; + changequote([,])dnl + AC_TRY_COMPILE([#include <linux/version.h> + #if LINUX_VERSION_CODE < $decnum +diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h +index 823cd8224d..482caaeeec 100644 +--- a/sysdeps/unix/sysv/linux/dl-osinfo.h ++++ b/sysdeps/unix/sysv/linux/dl-osinfo.h +@@ -39,7 +39,7 @@ + GLRO(dl_osversion) = version; \ + \ + /* Now we can test with the required version. */ \ +- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \ ++ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \ + /* Not sufficent. */ \ + FATAL ("FATAL: kernel too old\n"); \ + } \ diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 69970a3e60..12cddff47b 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -3,17 +3,21 @@ This patch adds bindings to Linux syscalls for which glibc has symbols. Using the FFI would have been nice, but that's not an option when using a statically-linked Guile in an initrd that doesn't have libc.so around. ---- guile-2.0.11/libguile/posix.c.orig 2014-02-28 15:01:27.000000000 -0500 -+++ guile-2.0.11/libguile/posix.c 2015-06-21 14:28:23.624251038 -0400 -@@ -2245,6 +2245,295 @@ +diff --git a/libguile/posix.c b/libguile/posix.c +index b0fcad5fd..1343186e3 100644 +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -2341,6 +2341,335 @@ scm_init_popen (void) } - #endif + #endif /* HAVE_START_CHILD */ + +/* Linux! */ +#ifdef __linux__ + +#include <sys/mount.h> ++#include <sys/syscall.h> ++ +#include "libguile/foreign.h" +#include "libguile/bytevectors.h" + @@ -91,6 +95,16 @@ a statically-linked Guile in an initrd that doesn't have libc.so around. + ARGS, a space-separated list of options. */ +extern long init_module (void *module, unsigned long len, const char *args); + ++/* Load a kernel module from FD. FLAGS must be a bitwise or of ++ MODULE_INIT_* constants. The GNU libc doesn't provide a wrapper for ++ this one so we use 'syscall'. */ ++static int ++finit_module (int fd, const char *args, int flags) ++{ ++ return syscall (SYS_finit_module, fd, args, flags); ++} ++ ++ +SCM_DEFINE (scm_load_linux_module, "load-linux-module", 1, 1, 0, + (SCM data, SCM options), + "Load the Linux kernel module whose contents are in bytevector " @@ -121,6 +135,34 @@ a statically-linked Guile in an initrd that doesn't have libc.so around. +} +#undef FUNC_NAME + ++SCM_DEFINE (scm_load_linux_module_fd, "load-linux-module/fd", 1, 2, 0, ++ (SCM fd, SCM options, SCM flags), ++ "Load the Linux kernel module from the file at FD, " ++ "with the arguments from the OPTIONS string, and " ++ "optionally the given FLAGS.") ++#define FUNC_NAME s_scm_load_linux_module_fd ++{ ++ long err; ++ int c_fd, c_flags; ++ char *c_options; ++ ++ c_fd = scm_to_int (fd); ++ c_options = ++ scm_to_locale_string (SCM_UNBNDP (options) ? scm_nullstr : options); ++ c_flags = SCM_UNBNDP (flags) ? 0 : scm_to_int (flags); ++ ++ err = finit_module (c_fd, c_options, c_flags); ++ ++ free (c_options); ++ ++ if (err != 0) ++ SCM_SYSERROR; ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++ +/* Rebooting, halting, and all that. */ + +#include <sys/reboot.h> diff --git a/gnu/packages/patches/icecat-bug-1348660-pt5.patch b/gnu/packages/patches/icecat-bug-1348660-pt5.patch deleted file mode 100644 index b0bede3b38..0000000000 --- a/gnu/packages/patches/icecat-bug-1348660-pt5.patch +++ /dev/null @@ -1,727 +0,0 @@ -This is a subset of the following changeset from upstream: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/5e07bd37ac61 - -This excludes all test code from that changeset, including a GIT binary patch -that is not supported by Guix's patch-and-repack mechanism. - -# HG changeset patch -# User Jan Varga <jan.varga@gmail.com> -# Date 1490181244 -3600 -# Node ID 5e07bd37ac6162f218dfe03ed83b5dcca9653b68 -# Parent 28934912eede9e14895baf4af7575ca9639f59ee -Bug 1348660 - Part 5: Implement a method to retrieve usage data for all origins at once. r=btseng, a=lizzard - -diff --git a/dom/quota/ActorsChild.cpp b/dom/quota/ActorsChild.cpp ---- a/dom/quota/ActorsChild.cpp -+++ b/dom/quota/ActorsChild.cpp -@@ -137,16 +137,52 @@ QuotaUsageRequestChild::HandleResponse(n - AssertIsOnOwningThread(); - MOZ_ASSERT(NS_FAILED(aResponse)); - MOZ_ASSERT(mRequest); - - mRequest->SetError(aResponse); - } - - void -+QuotaUsageRequestChild::HandleResponse(const nsTArray<OriginUsage>& aResponse) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(mRequest); -+ -+ RefPtr<nsVariant> variant = new nsVariant(); -+ -+ if (aResponse.IsEmpty()) { -+ variant->SetAsEmptyArray(); -+ } else { -+ nsTArray<RefPtr<UsageResult>> usageResults; -+ -+ const uint32_t count = aResponse.Length(); -+ -+ usageResults.SetCapacity(count); -+ -+ for (uint32_t index = 0; index < count; index++) { -+ auto& originUsage = aResponse[index]; -+ -+ RefPtr<UsageResult> usageResult = new UsageResult(originUsage.origin(), -+ originUsage.persisted(), -+ originUsage.usage()); -+ -+ usageResults.AppendElement(usageResult.forget()); -+ } -+ -+ variant->SetAsArray(nsIDataType::VTYPE_INTERFACE_IS, -+ &NS_GET_IID(nsIQuotaUsageResult), -+ usageResults.Length(), -+ static_cast<void*>(usageResults.Elements())); -+ } -+ -+ mRequest->SetResult(variant); -+} -+ -+void - QuotaUsageRequestChild::HandleResponse(const OriginUsageResponse& aResponse) - { - AssertIsOnOwningThread(); - MOZ_ASSERT(mRequest); - - RefPtr<OriginUsageResult> result = - new OriginUsageResult(aResponse.usage(), - aResponse.fileUsage(), -@@ -177,16 +213,20 @@ QuotaUsageRequestChild::Recv__delete__(c - AssertIsOnOwningThread(); - MOZ_ASSERT(mRequest); - - switch (aResponse.type()) { - case UsageRequestResponse::Tnsresult: - HandleResponse(aResponse.get_nsresult()); - break; - -+ case UsageRequestResponse::TAllUsageResponse: -+ HandleResponse(aResponse.get_AllUsageResponse().originUsages()); -+ break; -+ - case UsageRequestResponse::TOriginUsageResponse: - HandleResponse(aResponse.get_OriginUsageResponse()); - break; - - default: - MOZ_CRASH("Unknown response type!"); - } - -diff --git a/dom/quota/ActorsChild.h b/dom/quota/ActorsChild.h ---- a/dom/quota/ActorsChild.h -+++ b/dom/quota/ActorsChild.h -@@ -93,16 +93,19 @@ private: - - // Only destroyed by QuotaChild. - ~QuotaUsageRequestChild(); - - void - HandleResponse(nsresult aResponse); - - void -+ HandleResponse(const nsTArray<OriginUsage>& aResponse); -+ -+ void - HandleResponse(const OriginUsageResponse& aResponse); - - // IPDL methods are only called by IPDL. - virtual void - ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool - Recv__delete__(const UsageRequestResponse& aResponse) override; -diff --git a/dom/quota/ActorsParent.cpp b/dom/quota/ActorsParent.cpp ---- a/dom/quota/ActorsParent.cpp -+++ b/dom/quota/ActorsParent.cpp -@@ -1039,16 +1039,42 @@ private: - // IPDL methods. - void - ActorDestroy(ActorDestroyReason aWhy) override; - - bool - RecvCancel() override; - }; - -+class GetUsageOp final -+ : public QuotaUsageRequestBase -+{ -+ nsTArray<OriginUsage> mOriginUsages; -+ nsDataHashtable<nsCStringHashKey, uint32_t> mOriginUsagesIndex; -+ -+ bool mGetAll; -+ -+public: -+ explicit GetUsageOp(const UsageRequestParams& aParams); -+ -+private: -+ ~GetUsageOp() -+ { } -+ -+ nsresult -+ TraverseRepository(QuotaManager* aQuotaManager, -+ PersistenceType aPersistenceType); -+ -+ nsresult -+ DoDirectoryWork(QuotaManager* aQuotaManager) override; -+ -+ void -+ GetResponse(UsageRequestResponse& aResponse) override; -+}; -+ - class GetOriginUsageOp final - : public QuotaUsageRequestBase - { - // If mGetGroupUsage is false, we use mUsageInfo to record the origin usage - // and the file usage. Otherwise, we use it to record the group usage and the - // limit. - UsageInfo mUsageInfo; - -@@ -5693,16 +5719,20 @@ PQuotaUsageRequestParent* - Quota::AllocPQuotaUsageRequestParent(const UsageRequestParams& aParams) - { - AssertIsOnBackgroundThread(); - MOZ_ASSERT(aParams.type() != UsageRequestParams::T__None); - - RefPtr<QuotaUsageRequestBase> actor; - - switch (aParams.type()) { -+ case UsageRequestParams::TAllUsageParams: -+ actor = new GetUsageOp(aParams); -+ break; -+ - case UsageRequestParams::TOriginUsageParams: - actor = new GetOriginUsageOp(aParams); - break; - - default: - MOZ_CRASH("Should never get here!"); - } - -@@ -6033,16 +6063,189 @@ QuotaUsageRequestBase::RecvCancel() - if (mCanceled.exchange(true)) { - NS_WARNING("Canceled more than once?!"); - return false; - } - - return true; - } - -+GetUsageOp::GetUsageOp(const UsageRequestParams& aParams) -+ : mGetAll(aParams.get_AllUsageParams().getAll()) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(aParams.type() == UsageRequestParams::TAllUsageParams); -+} -+ -+nsresult -+GetUsageOp::TraverseRepository(QuotaManager* aQuotaManager, -+ PersistenceType aPersistenceType) -+{ -+ AssertIsOnIOThread(); -+ MOZ_ASSERT(aQuotaManager); -+ -+ nsresult rv; -+ -+ nsCOMPtr<nsIFile> directory = -+ do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ rv = directory->InitWithPath(aQuotaManager->GetStoragePath(aPersistenceType)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ bool exists; -+ rv = directory->Exists(&exists); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!exists) { -+ return NS_OK; -+ } -+ -+ nsCOMPtr<nsISimpleEnumerator> entries; -+ rv = directory->GetDirectoryEntries(getter_AddRefs(entries)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ bool persistent = aPersistenceType == PERSISTENCE_TYPE_PERSISTENT; -+ -+ bool hasMore; -+ while (NS_SUCCEEDED((rv = entries->HasMoreElements(&hasMore))) && -+ hasMore && !mCanceled) { -+ nsCOMPtr<nsISupports> entry; -+ rv = entries->GetNext(getter_AddRefs(entry)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ nsCOMPtr<nsIFile> originDir = do_QueryInterface(entry); -+ MOZ_ASSERT(originDir); -+ -+ bool isDirectory; -+ rv = originDir->IsDirectory(&isDirectory); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!isDirectory) { -+ nsString leafName; -+ rv = originDir->GetLeafName(leafName); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!leafName.EqualsLiteral(DSSTORE_FILE_NAME)) { -+ QM_WARNING("Something (%s) in the repository that doesn't belong!", -+ NS_ConvertUTF16toUTF8(leafName).get()); -+ } -+ continue; -+ } -+ -+ int64_t timestamp; -+ nsCString suffix; -+ nsCString group; -+ nsCString origin; -+ bool isApp; -+ rv = aQuotaManager->GetDirectoryMetadata2WithRestore(originDir, -+ persistent, -+ ×tamp, -+ suffix, -+ group, -+ origin, -+ &isApp); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!mGetAll && -+ aQuotaManager->IsOriginWhitelistedForPersistentStorage(origin)) { -+ continue; -+ } -+ -+ OriginUsage* originUsage; -+ -+ // We can't store pointers to OriginUsage objects in the hashtable -+ // since AppendElement() reallocates its internal array buffer as number -+ // of elements grows. -+ uint32_t index; -+ if (mOriginUsagesIndex.Get(origin, &index)) { -+ originUsage = &mOriginUsages[index]; -+ } else { -+ index = mOriginUsages.Length(); -+ -+ originUsage = mOriginUsages.AppendElement(); -+ -+ originUsage->origin() = origin; -+ originUsage->persisted() = false; -+ originUsage->usage() = 0; -+ -+ mOriginUsagesIndex.Put(origin, index); -+ } -+ -+ UsageInfo usageInfo; -+ rv = GetUsageForOrigin(aQuotaManager, -+ aPersistenceType, -+ group, -+ origin, -+ isApp, -+ &usageInfo); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ originUsage->usage() = originUsage->usage() + usageInfo.TotalUsage(); -+ } -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ return NS_OK; -+} -+ -+nsresult -+GetUsageOp::DoDirectoryWork(QuotaManager* aQuotaManager) -+{ -+ AssertIsOnIOThread(); -+ -+ PROFILER_LABEL("Quota", "GetUsageOp::DoDirectoryWork", -+ js::ProfileEntry::Category::OTHER); -+ -+ nsresult rv; -+ -+ for (const PersistenceType type : kAllPersistenceTypes) { -+ rv = TraverseRepository(aQuotaManager, type); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ } -+ -+ return NS_OK; -+} -+ -+void -+GetUsageOp::GetResponse(UsageRequestResponse& aResponse) -+{ -+ AssertIsOnOwningThread(); -+ -+ aResponse = AllUsageResponse(); -+ -+ if (!mOriginUsages.IsEmpty()) { -+ nsTArray<OriginUsage>& originUsages = -+ aResponse.get_AllUsageResponse().originUsages(); -+ -+ mOriginUsages.SwapElements(originUsages); -+ } -+} -+ - GetOriginUsageOp::GetOriginUsageOp(const UsageRequestParams& aParams) - : mParams(aParams.get_OriginUsageParams()) - , mGetGroupUsage(aParams.get_OriginUsageParams().getGroupUsage()) - { - AssertIsOnOwningThread(); - MOZ_ASSERT(aParams.type() == UsageRequestParams::TOriginUsageParams); - } - -diff --git a/dom/quota/PQuota.ipdl b/dom/quota/PQuota.ipdl ---- a/dom/quota/PQuota.ipdl -+++ b/dom/quota/PQuota.ipdl -@@ -12,24 +12,30 @@ include "mozilla/dom/quota/Serialization - - using mozilla::dom::quota::PersistenceType - from "mozilla/dom/quota/PersistenceType.h"; - - namespace mozilla { - namespace dom { - namespace quota { - -+struct AllUsageParams -+{ -+ bool getAll; -+}; -+ - struct OriginUsageParams - { - PrincipalInfo principalInfo; - bool getGroupUsage; - }; - - union UsageRequestParams - { -+ AllUsageParams; - OriginUsageParams; - }; - - struct ClearOriginParams - { - PrincipalInfo principalInfo; - PersistenceType persistenceType; - bool persistenceTypeIsExplicit; -diff --git a/dom/quota/PQuotaUsageRequest.ipdl b/dom/quota/PQuotaUsageRequest.ipdl ---- a/dom/quota/PQuotaUsageRequest.ipdl -+++ b/dom/quota/PQuotaUsageRequest.ipdl -@@ -3,26 +3,39 @@ - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - - include protocol PQuota; - - namespace mozilla { - namespace dom { - namespace quota { - -+struct OriginUsage -+{ -+ nsCString origin; -+ bool persisted; -+ uint64_t usage; -+}; -+ -+struct AllUsageResponse -+{ -+ OriginUsage[] originUsages; -+}; -+ - struct OriginUsageResponse - { - uint64_t usage; - uint64_t fileUsage; - uint64_t limit; - }; - - union UsageRequestResponse - { - nsresult; -+ AllUsageResponse; - OriginUsageResponse; - }; - - protocol PQuotaUsageRequest - { - manager PQuota; - - parent: -diff --git a/dom/quota/QuotaManagerService.cpp b/dom/quota/QuotaManagerService.cpp ---- a/dom/quota/QuotaManagerService.cpp -+++ b/dom/quota/QuotaManagerService.cpp -@@ -490,16 +490,41 @@ QuotaManagerService::RemoveIdleObserver( - - NS_IMPL_ADDREF(QuotaManagerService) - NS_IMPL_RELEASE_WITH_DESTROY(QuotaManagerService, Destroy()) - NS_IMPL_QUERY_INTERFACE(QuotaManagerService, - nsIQuotaManagerService, - nsIObserver) - - NS_IMETHODIMP -+QuotaManagerService::GetUsage(nsIQuotaUsageCallback* aCallback, -+ bool aGetAll, -+ nsIQuotaUsageRequest** _retval) -+{ -+ MOZ_ASSERT(NS_IsMainThread()); -+ MOZ_ASSERT(aCallback); -+ -+ RefPtr<UsageRequest> request = new UsageRequest(aCallback); -+ -+ AllUsageParams params; -+ -+ params.getAll() = aGetAll; -+ -+ nsAutoPtr<PendingRequestInfo> info(new UsageRequestInfo(request, params)); -+ -+ nsresult rv = InitiateRequest(info); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ request.forget(_retval); -+ return NS_OK; -+} -+ -+NS_IMETHODIMP - QuotaManagerService::GetUsageForPrincipal(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback, - bool aGetGroupUsage, - nsIQuotaUsageRequest** _retval) - { - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aPrincipal); - MOZ_ASSERT(aCallback); -diff --git a/dom/quota/QuotaRequests.cpp b/dom/quota/QuotaRequests.cpp ---- a/dom/quota/QuotaRequests.cpp -+++ b/dom/quota/QuotaRequests.cpp -@@ -86,16 +86,25 @@ RequestBase::GetResultCode(nsresult* aRe - if (!mHaveResultOrErrorCode) { - return NS_ERROR_FAILURE; - } - - *aResultCode = mResultCode; - return NS_OK; - } - -+UsageRequest::UsageRequest(nsIQuotaUsageCallback* aCallback) -+ : mCallback(aCallback) -+ , mBackgroundActor(nullptr) -+ , mCanceled(false) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(aCallback); -+} -+ - UsageRequest::UsageRequest(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback) - : RequestBase(aPrincipal) - , mCallback(aCallback) - , mBackgroundActor(nullptr) - , mCanceled(false) - { - AssertIsOnOwningThread(); -diff --git a/dom/quota/QuotaRequests.h b/dom/quota/QuotaRequests.h ---- a/dom/quota/QuotaRequests.h -+++ b/dom/quota/QuotaRequests.h -@@ -73,16 +73,18 @@ class UsageRequest final - - nsCOMPtr<nsIVariant> mResult; - - QuotaUsageRequestChild* mBackgroundActor; - - bool mCanceled; - - public: -+ explicit UsageRequest(nsIQuotaUsageCallback* aCallback); -+ - UsageRequest(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback); - - void - SetBackgroundActor(QuotaUsageRequestChild* aBackgroundActor); - - void - ClearBackgroundActor() -diff --git a/dom/quota/QuotaResults.cpp b/dom/quota/QuotaResults.cpp ---- a/dom/quota/QuotaResults.cpp -+++ b/dom/quota/QuotaResults.cpp -@@ -5,16 +5,53 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - #include "QuotaResults.h" - - namespace mozilla { - namespace dom { - namespace quota { - -+UsageResult::UsageResult(const nsACString& aOrigin, -+ bool aPersisted, -+ uint64_t aUsage) -+ : mOrigin(aOrigin) -+ , mUsage(aUsage) -+ , mPersisted(aPersisted) -+{ -+} -+ -+NS_IMPL_ISUPPORTS(UsageResult, -+ nsIQuotaUsageResult) -+ -+NS_IMETHODIMP -+UsageResult::GetOrigin(nsACString& aOrigin) -+{ -+ aOrigin = mOrigin; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+UsageResult::GetPersisted(bool* aPersisted) -+{ -+ MOZ_ASSERT(aPersisted); -+ -+ *aPersisted = mPersisted; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+UsageResult::GetUsage(uint64_t* aUsage) -+{ -+ MOZ_ASSERT(aUsage); -+ -+ *aUsage = mUsage; -+ return NS_OK; -+} -+ - OriginUsageResult::OriginUsageResult(uint64_t aUsage, - uint64_t aFileUsage, - uint64_t aLimit) - : mUsage(aUsage) - , mFileUsage(aFileUsage) - , mLimit(aLimit) - { - } -diff --git a/dom/quota/QuotaResults.h b/dom/quota/QuotaResults.h ---- a/dom/quota/QuotaResults.h -+++ b/dom/quota/QuotaResults.h -@@ -8,16 +8,36 @@ - #define mozilla_dom_quota_QuotaResults_h - - #include "nsIQuotaResults.h" - - namespace mozilla { - namespace dom { - namespace quota { - -+class UsageResult -+ : public nsIQuotaUsageResult -+{ -+ nsCString mOrigin; -+ uint64_t mUsage; -+ bool mPersisted; -+ -+public: -+ UsageResult(const nsACString& aOrigin, -+ bool aPersisted, -+ uint64_t aUsage); -+ -+private: -+ virtual ~UsageResult() -+ { } -+ -+ NS_DECL_ISUPPORTS -+ NS_DECL_NSIQUOTAUSAGERESULT -+}; -+ - class OriginUsageResult - : public nsIQuotaOriginUsageResult - { - uint64_t mUsage; - uint64_t mFileUsage; - uint64_t mLimit; - - public: -diff --git a/dom/quota/nsIQuotaManagerService.idl b/dom/quota/nsIQuotaManagerService.idl ---- a/dom/quota/nsIQuotaManagerService.idl -+++ b/dom/quota/nsIQuotaManagerService.idl -@@ -10,16 +10,31 @@ interface nsIPrincipal; - interface nsIQuotaRequest; - interface nsIQuotaUsageCallback; - interface nsIQuotaUsageRequest; - - [scriptable, builtinclass, uuid(1b3d0a38-8151-4cf9-89fa-4f92c2ef0e7e)] - interface nsIQuotaManagerService : nsISupports - { - /** -+ * Schedules an asynchronous callback that will inspect all origins and -+ * return the total amount of disk space being used by storages for each -+ * origin separately. -+ * -+ * @param aCallback -+ * The callback that will be called when the usage is available. -+ * @param aGetAll -+ * An optional boolean to indicate inspection of all origins, -+ * including internal ones. -+ */ -+ [must_use] nsIQuotaUsageRequest -+ getUsage(in nsIQuotaUsageCallback aCallback, -+ [optional] in boolean aGetAll); -+ -+ /** - * Schedules an asynchronous callback that will return the total amount of - * disk space being used by storages for the given origin. - * - * @param aPrincipal - * A principal for the origin whose usage is being queried. - * @param aCallback - * The callback that will be called when the usage is available. - * @param aGetGroupUsage -diff --git a/dom/quota/nsIQuotaRequests.idl b/dom/quota/nsIQuotaRequests.idl ---- a/dom/quota/nsIQuotaRequests.idl -+++ b/dom/quota/nsIQuotaRequests.idl -@@ -18,16 +18,17 @@ interface nsIQuotaRequestBase : nsISuppo - - [must_use] readonly attribute nsresult resultCode; - }; - - [scriptable, uuid(166e28e6-cf6d-4927-a6d7-b51bca9d3469)] - interface nsIQuotaUsageRequest : nsIQuotaRequestBase - { - // The result can contain one of these types: -+ // array of nsIQuotaUsageResult - // nsIQuotaOriginUsageResult - [must_use] readonly attribute nsIVariant result; - - attribute nsIQuotaUsageCallback callback; - - [must_use] void - cancel(); - }; -diff --git a/dom/quota/nsIQuotaResults.idl b/dom/quota/nsIQuotaResults.idl ---- a/dom/quota/nsIQuotaResults.idl -+++ b/dom/quota/nsIQuotaResults.idl -@@ -1,16 +1,26 @@ - /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* vim: set ts=2 et sw=2 tw=80: */ - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - #include "nsISupports.idl" - -+[scriptable, function, uuid(d8c9328b-9aa8-4f5d-90e6-482de4a6d5b8)] -+interface nsIQuotaUsageResult : nsISupports -+{ -+ readonly attribute ACString origin; -+ -+ readonly attribute boolean persisted; -+ -+ readonly attribute unsigned long long usage; -+}; -+ - [scriptable, function, uuid(96df03d2-116a-493f-bb0b-118c212a6b32)] - interface nsIQuotaOriginUsageResult : nsISupports - { - readonly attribute unsigned long long usage; - - readonly attribute unsigned long long fileUsage; - - readonly attribute unsigned long long limit; - diff --git a/gnu/packages/patches/icecat-bug-1414945.patch b/gnu/packages/patches/icecat-bug-1414945.patch deleted file mode 100644 index 3638ace1c4..0000000000 --- a/gnu/packages/patches/icecat-bug-1414945.patch +++ /dev/null @@ -1,73 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3 - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Philip Chimento <philip.chimento@gmail.com> -# Date 1510012155 28800 -# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44 -# Parent 0152d097672f7e99504815cf7b06d9f303419fba -Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu - -On Darwin this would cause a race between two static initializers. - -diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp ---- a/js/src/shell/js.cpp -+++ b/js/src/shell/js.cpp -@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * - #else - static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; - #endif - - /* - * Limit the timeout to 30 minutes to prevent an overflow on platfoms - * that represent the time internally in microseconds using 32-bit int. - */ --static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); -+static const double MAX_TIMEOUT_SECONDS = 1800.0; - - // SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting - // with --shared-memory={on,off}. - #ifndef RELEASE_OR_BETA - # define SHARED_MEMORY_DEFAULT 1 - #else - # define SHARED_MEMORY_DEFAULT 0 - #endif -@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V - if (!ToNumber(cx, args[0], &t_secs)) - return false; - if (mozilla::IsNaN(t_secs)) { - JS_ReportErrorASCII(cx, "sleep interval is not a number"); - return false; - } - - duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); -+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); - if (duration > MAX_TIMEOUT_INTERVAL) { - JS_ReportErrorASCII(cx, "Excessive sleep interval"); - return false; - } - } - { - LockGuard<Mutex> guard(sc->watchdogLock); - TimeStamp toWakeup = TimeStamp::Now() + duration; -@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx) - - static bool - SetTimeoutValue(JSContext* cx, double t) - { - if (mozilla::IsNaN(t)) { - JS_ReportErrorASCII(cx, "timeout is not a number"); - return false; - } -+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); - if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { - JS_ReportErrorASCII(cx, "Excessive timeout value"); - return false; - } - GetShellContext(cx)->timeoutInterval = t; - if (!ScheduleWatchdog(cx, t)) { - JS_ReportErrorASCII(cx, "Failed to create the watchdog"); - return false; - diff --git a/gnu/packages/patches/icecat-bug-1415133.patch b/gnu/packages/patches/icecat-bug-1415133.patch deleted file mode 100644 index 4e322d21fb..0000000000 --- a/gnu/packages/patches/icecat-bug-1415133.patch +++ /dev/null @@ -1,40 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/22fe3ff3f923 - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Marco Bonardo <mbonardo@mozilla.com> -# Date 1510052455 -3600 -# Node ID 22fe3ff3f92358596521f7155ddc512006022207 -# Parent 2909ba991f3134f9fbf4859cf08582f1c9845594 -Bug 1415133 - Downgrades from 55+ to ESR lose bookmarks. r=past a=lizzard - -MozReview-Commit-ID: 44Rw7m1FP4h - -diff --git a/toolkit/components/places/Database.cpp b/toolkit/components/places/Database.cpp ---- a/toolkit/components/places/Database.cpp -+++ b/toolkit/components/places/Database.cpp -@@ -761,16 +761,21 @@ Database::InitSchema(bool* aDatabaseMigr - // 2. implement a method that performs upgrade to your version from the - // previous one. - // - // NOTE: The downgrade process is pretty much complicated by the fact old - // versions cannot know what a new version is going to implement. - // The only thing we will do for downgrades is setting back the schema - // version, so that next upgrades will run again the migration step. - -+ if (currentSchemaVersion > 36) { -+ // These versions are not downgradable. -+ return NS_ERROR_FILE_CORRUPTED; -+ } -+ - if (currentSchemaVersion < DATABASE_SCHEMA_VERSION) { - *aDatabaseMigrated = true; - - if (currentSchemaVersion < 11) { - // These are versions older than IceCat 4 that are not supported - // anymore. In this case it's safer to just replace the database. - return NS_ERROR_FILE_CORRUPTED; - } - diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch b/gnu/packages/patches/icecat-bug-1424373-pt2.patch deleted file mode 100644 index cdc7226bd3..0000000000 --- a/gnu/packages/patches/icecat-bug-1424373-pt2.patch +++ /dev/null @@ -1,183 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Mike Conley <mconley@mozilla.com> -# Date 1513892173 18000 -# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1 -# Parent 320032aaa06899f5585dcd0288059e5342118714 -Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau - -diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js ---- a/browser/app/profile/icecat.js -+++ b/browser/app/profile/icecat.js -@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh - pref("browser.crashReports.unsubmittedCheck.enabled", false); - #endif - - // chancesUntilSuppress is how many times we'll show the unsubmitted - // crash report notification across different days and shutdown - // without a user choice before we suppress the notification for - // some number of days. - pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); --pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); -+pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); - - #ifdef NIGHTLY_BUILD - // Enable the (fairly costly) client/server validation on nightly only. The other prefs - // controlling validation are located in /services/sync/services-sync.js - pref("services.sync.validation.enabled", true); - #endif -diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js ---- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js -+++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js -@@ -1,12 +1,12 @@ - "use strict"; - - const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page."; --const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit"; -+const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2"; - - const {TabStateFlusher} = - Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {}); - - // On debug builds, crashing tabs results in much thinking, which - // slows down the test and results in intermittent test timeouts, - // so we'll pump up the expected timeout for this test. - requestLongerTimeout(2); -diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul ---- a/browser/components/preferences/in-content/advanced.xul -+++ b/browser/components/preferences/in-content/advanced.xul -@@ -51,18 +51,18 @@ - #ifdef MOZ_TELEMETRY_REPORTING - <preference id="toolkit.telemetry.enabled" - name="toolkit.telemetry.enabled" - type="bool"/> - #endif - - <!-- Data Choices tab --> - #ifdef MOZ_CRASHREPORTER -- <preference id="browser.crashReports.unsubmittedCheck.autoSubmit" -- name="browser.crashReports.unsubmittedCheck.autoSubmit" -+ <preference id="browser.crashReports.unsubmittedCheck.autoSubmit2" -+ name="browser.crashReports.unsubmittedCheck.autoSubmit2" - type="bool"/> - #endif - - <!-- Network tab --> - <preference id="browser.cache.disk.capacity" - name="browser.cache.disk.capacity" - type="int"/> - <preference id="browser.offline-apps.notify" -@@ -232,17 +232,17 @@ - </hbox> - </vbox> - </groupbox> - #endif - #ifdef MOZ_CRASHREPORTER - <groupbox> - <caption> - <checkbox id="automaticallySubmitCrashesBox" -- preference="browser.crashReports.unsubmittedCheck.autoSubmit" -+ preference="browser.crashReports.unsubmittedCheck.autoSubmit2" - label="&alwaysSubmitCrashReports.label;" - accesskey="&alwaysSubmitCrashReports.accesskey;"/> - </caption> - <hbox class="indent"> - <label flex="1">&crashReporterDesc2.label;</label> - <spacer flex="10"/> - <label id="crashReporterLearnMore" - class="text-link">&crashReporterLearnMore.label;</label> -diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js ---- a/browser/components/sessionstore/test/browser_background_tab_crash.js -+++ b/browser/components/sessionstore/test/browser_background_tab_crash.js -@@ -142,17 +142,17 @@ add_task(function* test_background_crash - /** - * Tests that if a content process crashes taking down only - * background tabs, and the user is configured to send backlogged - * crash reports automatically, that the tab crashed page is not - * shown. - */ - add_task(function* test_background_crash_autosubmit_backlogged() { - yield SpecialPowers.pushPrefEnv({ -- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]], -+ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]], - }); - - yield setupBackgroundTabs(function*([tab1, tab2]) { - // Let's crash one of those background tabs now... - yield crashBackgroundTabs([tab1, tab2]); - - // Selecting the first tab should restore it. - let tabRestored = promiseTabRestored(tab1); -diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm ---- a/browser/modules/ContentCrashHandlers.jsm -+++ b/browser/modules/ContentCrashHandlers.jsm -@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = { - return nb.appendNotification(message, notificationID, - "chrome://browser/skin/tab-crashed.svg", - nb.PRIORITY_INFO_HIGH, buttons, - eventCallback); - }, - - get autoSubmit() { - return Services.prefs -- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit"); -+ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2"); - }, - - set autoSubmit(val) { -- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit", -+ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2", - val); - }, - - /** - * Attempt to submit reports to the crash report server. Each - * report will have the "SubmittedFromInfobar" extra key set - * to true. - * -diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js ---- a/browser/modules/test/browser_UnsubmittedCrashHandler.js -+++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js -@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever - clearPendingCrashReports(); - }); - - /** - * Tests that choosing "Send Always" flips the autoSubmit pref - * and sends the pending crash reports. - */ - add_task(function* test_can_submit_always() { -- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit"; -+ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2"; - Assert.equal(Services.prefs.getBoolPref(pref), false, - "We should not be auto-submitting by default"); - - let reportIDs = yield createPendingCrashReports(1); - let notification = - yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); - Assert.ok(notification, "There should be a notification"); - -@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway - - /** - * Tests that if the user has chosen to automatically send - * crash reports that no notification is displayed to the - * user. - */ - add_task(function* test_can_auto_submit() { - yield SpecialPowers.pushPrefEnv({ set: [ -- ["browser.crashReports.unsubmittedCheck.autoSubmit", true], -+ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true], - ]}); - - let reportIDs = yield createPendingCrashReports(3); - let promiseReports = waitForSubmittedReports(reportIDs); - let notification = - yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); - Assert.equal(notification, null, "There should be no notification"); - info("Waiting on reports to be received."); - diff --git a/gnu/packages/patches/java-jeromq-fix-tests.patch b/gnu/packages/patches/java-jeromq-fix-tests.patch new file mode 100644 index 0000000000..5466b92707 --- /dev/null +++ b/gnu/packages/patches/java-jeromq-fix-tests.patch @@ -0,0 +1,253 @@ +From 5803aadd3f209eba1ffbb2cf7bf16778019dbee1 Mon Sep 17 00:00:00 2001 +From: fredoboulo <fredoboulo@users.noreply.github.com> +Date: Fri, 23 Feb 2018 23:55:57 +0100 +Subject: [PATCH] Fix #524 : V1 and V2 protocol downgrades handle received data + in handshake buffer + +This patch is upstream pull request, see: +https://gihub.com/zeromq/jeromq/pull/527. + +It is merged on commit c2afa9c, and we can drop it on the +0.4.4 release. + +--- + src/main/java/zmq/io/StreamEngine.java | 21 ++++++++++-- + src/test/java/zmq/io/AbstractProtocolVersion.java | 41 +++++++++++++---------- + src/test/java/zmq/io/V0ProtocolTest.java | 12 +++++++ + src/test/java/zmq/io/V1ProtocolTest.java | 16 +++++++-- + src/test/java/zmq/io/V2ProtocolTest.java | 16 +++++++-- + 5 files changed, 81 insertions(+), 25 deletions(-) + +diff --git a/src/main/java/zmq/io/StreamEngine.java b/src/main/java/zmq/io/StreamEngine.java +index b8933c92..fe2f2d8d 100644 +--- a/src/main/java/zmq/io/StreamEngine.java ++++ b/src/main/java/zmq/io/StreamEngine.java +@@ -816,9 +816,7 @@ private boolean handshake() + assert (bufferSize == headerSize); + + // Make sure the decoder sees the data we have already received. +- greetingRecv.flip(); +- inpos = greetingRecv; +- insize = greetingRecv.limit(); ++ decodeDataAfterHandshake(0); + + // To allow for interoperability with peers that do not forward + // their subscriptions, we inject a phantom subscription message +@@ -846,6 +844,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V1.revision) { + } + encoder = new V1Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V1Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + // ZMTP/2.0 framing. +@@ -859,6 +859,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + } + encoder = new V2Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V2Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else { + zmtpVersion = Protocol.V3; +@@ -904,6 +906,19 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + return true; + } + ++ private void decodeDataAfterHandshake(int greetingSize) ++ { ++ final int pos = greetingRecv.position(); ++ if (pos > greetingSize) { ++ // data is present after handshake ++ greetingRecv.position(greetingSize).limit(pos); ++ ++ // Make sure the decoder sees this extra data. ++ inpos = greetingRecv; ++ insize = greetingRecv.remaining(); ++ } ++ } ++ + private Msg identityMsg() + { + Msg msg = new Msg(options.identitySize); +diff --git a/src/test/java/zmq/io/AbstractProtocolVersion.java b/src/test/java/zmq/io/AbstractProtocolVersion.java +index e60db403..aa06b4a7 100644 +--- a/src/test/java/zmq/io/AbstractProtocolVersion.java ++++ b/src/test/java/zmq/io/AbstractProtocolVersion.java +@@ -18,15 +18,18 @@ + import zmq.SocketBase; + import zmq.ZError; + import zmq.ZMQ; ++import zmq.ZMQ.Event; + import zmq.util.Utils; + + public abstract class AbstractProtocolVersion + { ++ protected static final int REPETITIONS = 1000; ++ + static class SocketMonitor extends Thread + { +- private final Ctx ctx; +- private final String monitorAddr; +- private final List<ZMQ.Event> events = new ArrayList<>(); ++ private final Ctx ctx; ++ private final String monitorAddr; ++ private final ZMQ.Event[] events = new ZMQ.Event[1]; + + public SocketMonitor(Ctx ctx, String monitorAddr) + { +@@ -41,15 +44,15 @@ public void run() + boolean rc = s.connect(monitorAddr); + assertThat(rc, is(true)); + // Only some of the exceptional events could fire +- while (true) { +- ZMQ.Event event = ZMQ.Event.read(s); +- if (event == null && s.errno() == ZError.ETERM) { +- break; +- } +- assertThat(event, notNullValue()); +- +- events.add(event); ++ ++ ZMQ.Event event = ZMQ.Event.read(s); ++ if (event == null && s.errno() == ZError.ETERM) { ++ s.close(); ++ return; + } ++ assertThat(event, notNullValue()); ++ ++ events[0] = event; + s.close(); + } + } +@@ -69,11 +72,12 @@ public void run() + boolean rc = ZMQ.setSocketOption(receiver, ZMQ.ZMQ_LINGER, 0); + assertThat(rc, is(true)); + +- SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); +- monitor.start(); + rc = ZMQ.monitorSocket(receiver, "inproc://monitor", ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL); + assertThat(rc, is(true)); + ++ SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); ++ monitor.start(); ++ + rc = ZMQ.bind(receiver, host); + assertThat(rc, is(true)); + +@@ -81,17 +85,18 @@ public void run() + OutputStream out = sender.getOutputStream(); + for (ByteBuffer raw : raws) { + out.write(raw.array()); +- ZMQ.msleep(100); + } + + Msg msg = ZMQ.recv(receiver, 0); + assertThat(msg, notNullValue()); + assertThat(new String(msg.data(), ZMQ.CHARSET), is(payload)); + +- ZMQ.msleep(500); +- assertThat(monitor.events.size(), is(1)); +- assertThat(monitor.events.get(0).event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); +- assertThat((Integer) monitor.events.get(0).arg, is(version)); ++ monitor.join(); ++ ++ final Event event = monitor.events[0]; ++ assertThat(event, notNullValue()); ++ assertThat(event.event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); ++ assertThat((Integer) event.arg, is(version)); + + InputStream in = sender.getInputStream(); + byte[] data = new byte[255]; +diff --git a/src/test/java/zmq/io/V0ProtocolTest.java b/src/test/java/zmq/io/V0ProtocolTest.java +index bd547d23..1a5b7aef 100644 +--- a/src/test/java/zmq/io/V0ProtocolTest.java ++++ b/src/test/java/zmq/io/V0ProtocolTest.java +@@ -10,6 +10,18 @@ + + public class V0ProtocolTest extends AbstractProtocolVersion + { ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion0short(); ++ } ++ System.out.println(); ++ } ++ + @Test(timeout = 2000) + public void testProtocolVersion0short() throws IOException, InterruptedException + { +diff --git a/src/test/java/zmq/io/V1ProtocolTest.java b/src/test/java/zmq/io/V1ProtocolTest.java +index e1045f34..764159d0 100644 +--- a/src/test/java/zmq/io/V1ProtocolTest.java ++++ b/src/test/java/zmq/io/V1ProtocolTest.java +@@ -10,7 +10,19 @@ + + public class V1ProtocolTest extends AbstractProtocolVersion + { +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion1short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion1short() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(0); +@@ -25,7 +37,7 @@ public void testProtocolVersion1short() throws IOException, InterruptedException + assertProtocolVersion(1, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion1long() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(0); +diff --git a/src/test/java/zmq/io/V2ProtocolTest.java b/src/test/java/zmq/io/V2ProtocolTest.java +index d5e64bce..7fda31bc 100644 +--- a/src/test/java/zmq/io/V2ProtocolTest.java ++++ b/src/test/java/zmq/io/V2ProtocolTest.java +@@ -21,7 +21,19 @@ protected ByteBuffer identity() + .put((byte) 0); + } + +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion2short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion2short() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(1); +@@ -38,7 +50,7 @@ public void testProtocolVersion2short() throws IOException, InterruptedException + assertProtocolVersion(2, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion2long() throws IOException, InterruptedException + { + List<ByteBuffer> raws = raws(1); diff --git a/gnu/packages/patches/lrzip-CVE-2017-8842.patch b/gnu/packages/patches/lrzip-CVE-2017-8842.patch new file mode 100644 index 0000000000..89b4f2f5d9 --- /dev/null +++ b/gnu/packages/patches/lrzip-CVE-2017-8842.patch @@ -0,0 +1,23 @@ +From 38386bd482c0a8102a79958cb3eddcb97a167ca3 Mon Sep 17 00:00:00 2001 +From: Con Kolivas <kernel@kolivas.org> +Date: Fri, 9 Mar 2018 17:39:40 +1100 +Subject: [PATCH] CVE-2017-8842 Fix divide-by-zero in bufRead::get + +--- + libzpaq/libzpaq.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libzpaq/libzpaq.h b/libzpaq/libzpaq.h +index 93387da..cbe211d 100644 +--- a/libzpaq/libzpaq.h ++++ b/libzpaq/libzpaq.h +@@ -465,7 +465,8 @@ struct bufRead: public libzpaq::Reader { + + int get() { + if (progress && !(*s_len % 128)) { +- int pct = (total_len - *s_len) * 100 / total_len; ++ int pct = (total_len > 0) ? ++ (total_len - *s_len) * 100 / total_len : 100; + + if (pct / 10 != *last_pct / 10) { + int i; diff --git a/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch b/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch deleted file mode 100644 index b2ff43c0d3..0000000000 --- a/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch +++ /dev/null @@ -1,53 +0,0 @@ -This patch (adapted from nixpkgs for Build.PL) configures Getopt::Long to pass -options so they will be available at the second GetOptions call. - -Also an option to specify the search path for libfontconfig is added. - ---- GD-2.56/Build.PL 2014-10-27 20:34:54.000000000 -0500 -+++ GD-2.56/Build.PL 2015-02-22 10:08:12.569973657 -0600 -@@ -2,14 +2,14 @@ - - use strict; - use Module::Build; --use Getopt::Long; -+use Getopt::Long qw(:config pass_through); - use Config; - - # =====> PATHS: CHECK AND ADJUST <===== - my (@INC,@LIBPATH,@LIBS); - my $AUTOCONFIG = 0; # global set by try_to_autoconfigure() below - --my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path); -+my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path); - - unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS)) { - die <<END; -@@ -38,6 +38,7 @@ - "lib_jpeg_path=s" => \$lib_jpeg_path, - "lib_xpm_path=s" => \$lib_xpm_path, - "lib_zlib_path=s" => \$lib_zlib_path, -+ "lib_fontconfig_path=s" => \$lib_fontconfig_path, - ); - unless ($result) { - die <<END; -@@ -53,6 +54,7 @@ - -lib_jpeg_path path path to libjpeg - -lib_xpm_path path path to libxpm - -lib_zlib_path path path to libpng -+ -lib_fontconfig_path path path to fontconfig - -ignore_missing_gd Ignore missing or old libgd installations and try to compile anyway - - If no options are passed on the command line. The program will -@@ -100,6 +102,12 @@ - @INC = ("-I$lib_zlib_path/include", @INC); - @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); - } -+if( defined($lib_fontconfig_path) ) -+{ -+ print "Fontconfig library used from: $lib_fontconfig_path\n"; -+ @INC = ("-I$lib_fontconfig_path/include", @INC); -+ @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH); -+} - ############################################################################################# - - if ($^O eq 'VMS'){ diff --git a/gnu/packages/patches/python-mox3-python3.6-compat.patch b/gnu/packages/patches/python-mox3-python3.6-compat.patch new file mode 100644 index 0000000000..0426d07cf9 --- /dev/null +++ b/gnu/packages/patches/python-mox3-python3.6-compat.patch @@ -0,0 +1,43 @@ +Fix regex so that it works with Python 3.6. + +See <https://docs.python.org/3/library/re.html#re.LOCALE>. + +Copied from upstream bug report: +https://bugs.launchpad.net/python-mox3/+bug/1665266 + +From 05064cdb6ea7a16450c6beae2b6f7c6074212a69 Mon Sep 17 00:00:00 2001 +From: Zac Medico <zmedico@gentoo.org> +Date: Thu, 16 Feb 2017 00:24:10 -0800 +Subject: [PATCH] RegexTest: python3.6 compatibility + +These fixes are backward-compatible with older python versions: + +* raw strings fix invalid escape sequences +* flags=8 fixes ValueError: cannot use LOCALE flag with a str pattern +--- + mox3/tests/test_mox.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/mox3/tests/test_mox.py b/mox3/tests/test_mox.py +index 15ac565..3a1af17 100644 +--- a/mox3/tests/test_mox.py ++++ b/mox3/tests/test_mox.py +@@ -312,12 +312,12 @@ class RegexTest(testtools.TestCase): + def testReprWithoutFlags(self): + """repr should return the regular expression pattern.""" + self.assertTrue( +- repr(mox.Regex(r"a\s+b")) == "<regular expression 'a\s+b'>") ++ repr(mox.Regex(r"a\s+b")) == r"<regular expression 'a\s+b'>") + + def testReprWithFlags(self): + """repr should return the regular expression pattern and flags.""" +- self.assertTrue(repr(mox.Regex(r"a\s+b", flags=4)) == +- "<regular expression 'a\s+b', flags=4>") ++ self.assertTrue(repr(mox.Regex(r"a\s+b", flags=8)) == ++ r"<regular expression 'a\s+b', flags=8>") + + + class IsTest(testtools.TestCase): +-- +2.10.2 + diff --git a/gnu/packages/patches/python-parse-too-many-fields.patch b/gnu/packages/patches/python-parse-too-many-fields.patch deleted file mode 100644 index 9db6b91a7f..0000000000 --- a/gnu/packages/patches/python-parse-too-many-fields.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 32f15cfefb7c7b6476360ac65cba807aa3dfccfa Mon Sep 17 00:00:00 2001 -From: David King <dking@redhat.com> -Date: Mon, 14 Dec 2015 09:58:19 +0000 -Subject: [PATCH] Fix test_too_many_fields with Python 3.5 - -taken from https://github.com/r1chardj0n3s/parse/pull/34 - -Python versions before 3.5 had a limit of 100 groups in regular -expressions. This limit was removed during 3.5 development: - -http://bugs.python.org/issue22437 -https://hg.python.org/cpython/rev/0b85ea4bd1af - -The test_too_many_fields test asserts that the limit exists by -attempting to parse a string with 15 fields, which triggers the 100 -named groups limit. - -Adjust the test so that if first checks to see whether the limit of 100 -named groups exists, and only assert that parsing 15 fields fails if -that is the case. ---- - test_parse.py | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/test_parse.py b/test_parse.py -index c524349..1d50568 100755 ---- a/test_parse.py -+++ b/test_parse.py -@@ -6,6 +6,7 @@ - - import unittest - from datetime import datetime, time -+import re - - import parse - -@@ -624,8 +625,13 @@ def test_mixed_type_variant(self): - self.assertEqual(r.fixed[21], 'spam') - - def test_too_many_fields(self): -- p = parse.compile('{:ti}' * 15) -- self.assertRaises(parse.TooManyFields, p.parse, '') -+ # Python 3.5 removed the limit of 100 named groups in a regular expression, -+ # so only test for the exception if the limit exists. -+ try: -+ re.compile("".join("(?P<n{n}>{n}-)".format(n=i) for i in range(101))) -+ except AssertionError: -+ p = parse.compile('{:ti}' * 15) -+ self.assertRaises(parse.TooManyFields, p.parse, '') - - - class TestSearch(unittest.TestCase): diff --git a/gnu/packages/patches/thefuck-test-environ.patch b/gnu/packages/patches/thefuck-test-environ.patch index 0c602a38c4..54194d8928 100644 --- a/gnu/packages/patches/thefuck-test-environ.patch +++ b/gnu/packages/patches/thefuck-test-environ.patch @@ -1,14 +1,14 @@ Retain environment setting of "HOME" for tests that need os.path.expanduser() to return a readable directory in the build chroot. ---- thefuck-3.15/tests/test_conf.py -+++ thefuck-3.15/tests/test_conf.py -@@ -12,7 +12,7 @@ - - @pytest.fixture - def environ(monkeypatch): -- data = {} -+ data = {"HOME": os.environ.get("HOME")} - monkeypatch.setattr('thefuck.conf.os.environ', data) - return data +--- thefuck-3.25/tests/conftest.py ++++ thefuck-3.25/tests/conftest.py +@@ -64,6 +64,7 @@ def set_shell(monkeypatch): + @pytest.fixture(autouse=True) + def os_environ(monkeypatch): +- env = {'PATH': os.environ['PATH']} ++ env = {'PATH': os.environ['PATH'], ++ 'HOME': os.environ['HOME']} + monkeypatch.setattr('os.environ', env) + return env diff --git a/gnu/packages/patches/wavpack-CVE-2018-6767.patch b/gnu/packages/patches/wavpack-CVE-2018-6767.patch new file mode 100644 index 0000000000..f49a8f0fd6 --- /dev/null +++ b/gnu/packages/patches/wavpack-CVE-2018-6767.patch @@ -0,0 +1,119 @@ +Fix CVE-2018-6767: +https://nvd.nist.gov/vuln/detail/CVE-2018-6767 +https://security-tracker.debian.org/tracker/CVE-2018-6767 + +Patch copied from upstream source repository: +https://github.com/dbry/WavPack/commit/d5bf76b5a88d044a1be1d5656698e3ba737167e5 + +From d5bf76b5a88d044a1be1d5656698e3ba737167e5 Mon Sep 17 00:00:00 2001 +From: David Bryant <david@wavpack.com> +Date: Sun, 4 Feb 2018 11:28:15 -0800 +Subject: [PATCH] issue #27, do not overwrite stack on corrupt RF64 file + +--- + cli/riff.c | 39 ++++++++++++++++++++++++++++++++------- + 1 file changed, 32 insertions(+), 7 deletions(-) + +diff --git a/cli/riff.c b/cli/riff.c +index 8b1af45..de98c1e 100644 +--- a/cli/riff.c ++++ b/cli/riff.c +@@ -42,6 +42,7 @@ typedef struct { + + #pragma pack(pop) + ++#define CS64ChunkFormat "4D" + #define DS64ChunkFormat "DDDL" + + #define WAVPACK_NO_ERROR 0 +@@ -101,13 +102,13 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + + if (!strncmp (chunk_header.ckID, "ds64", 4)) { + if (chunk_header.ckSize < sizeof (DS64Chunk) || +- !DoReadFile (infile, &ds64_chunk, chunk_header.ckSize, &bcount) || +- bcount != chunk_header.ckSize) { ++ !DoReadFile (infile, &ds64_chunk, sizeof (DS64Chunk), &bcount) || ++ bcount != sizeof (DS64Chunk)) { + error_line ("%s is not a valid .WAV file!", infilename); + return WAVPACK_SOFT_ERROR; + } + else if (!(config->qmode & QMODE_NO_STORE_WRAPPER) && +- !WavpackAddWrapper (wpc, &ds64_chunk, chunk_header.ckSize)) { ++ !WavpackAddWrapper (wpc, &ds64_chunk, sizeof (DS64Chunk))) { + error_line ("%s", WavpackGetErrorMessage (wpc)); + return WAVPACK_SOFT_ERROR; + } +@@ -315,10 +316,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + + int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, int qmode) + { +- int do_rf64 = 0, write_junk = 1; ++ int do_rf64 = 0, write_junk = 1, table_length = 0; + ChunkHeader ds64hdr, datahdr, fmthdr; + RiffChunkHeader riffhdr; + DS64Chunk ds64_chunk; ++ CS64Chunk cs64_chunk; + JunkChunk junkchunk; + WaveHeader wavhdr; + uint32_t bcount; +@@ -380,6 +382,7 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + strncpy (riffhdr.formType, "WAVE", sizeof (riffhdr.formType)); + total_riff_bytes = sizeof (riffhdr) + wavhdrsize + sizeof (datahdr) + ((total_data_bytes + 1) & ~(int64_t)1); + if (do_rf64) total_riff_bytes += sizeof (ds64hdr) + sizeof (ds64_chunk); ++ total_riff_bytes += table_length * sizeof (CS64Chunk); + if (write_junk) total_riff_bytes += sizeof (junkchunk); + strncpy (fmthdr.ckID, "fmt ", sizeof (fmthdr.ckID)); + strncpy (datahdr.ckID, "data", sizeof (datahdr.ckID)); +@@ -394,11 +397,12 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + + if (do_rf64) { + strncpy (ds64hdr.ckID, "ds64", sizeof (ds64hdr.ckID)); +- ds64hdr.ckSize = sizeof (ds64_chunk); ++ ds64hdr.ckSize = sizeof (ds64_chunk) + (table_length * sizeof (CS64Chunk)); + CLEAR (ds64_chunk); + ds64_chunk.riffSize64 = total_riff_bytes; + ds64_chunk.dataSize64 = total_data_bytes; + ds64_chunk.sampleCount64 = total_samples; ++ ds64_chunk.tableLength = table_length; + riffhdr.ckSize = (uint32_t) -1; + datahdr.ckSize = (uint32_t) -1; + WavpackNativeToLittleEndian (&ds64hdr, ChunkHeaderFormat); +@@ -409,6 +413,14 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + datahdr.ckSize = (uint32_t) total_data_bytes; + } + ++ // this "table" is just a dummy placeholder for testing (normally not written) ++ ++ if (table_length) { ++ strncpy (cs64_chunk.ckID, "dmmy", sizeof (cs64_chunk.ckID)); ++ cs64_chunk.chunkSize64 = 12345678; ++ WavpackNativeToLittleEndian (&cs64_chunk, CS64ChunkFormat); ++ } ++ + // write the RIFF chunks up to just before the data starts + + WavpackNativeToLittleEndian (&riffhdr, ChunkHeaderFormat); +@@ -418,8 +430,21 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + + if (!DoWriteFile (outfile, &riffhdr, sizeof (riffhdr), &bcount) || bcount != sizeof (riffhdr) || + (do_rf64 && (!DoWriteFile (outfile, &ds64hdr, sizeof (ds64hdr), &bcount) || bcount != sizeof (ds64hdr))) || +- (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk))) || +- (write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || ++ (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk)))) { ++ error_line ("can't write .WAV data, disk probably full!"); ++ return FALSE; ++ } ++ ++ // again, this is normally not written except for testing ++ ++ while (table_length--) ++ if (!DoWriteFile (outfile, &cs64_chunk, sizeof (cs64_chunk), &bcount) || bcount != sizeof (cs64_chunk)) { ++ error_line ("can't write .WAV data, disk probably full!"); ++ return FALSE; ++ } ++ ++ ++ if ((write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || + !DoWriteFile (outfile, &fmthdr, sizeof (fmthdr), &bcount) || bcount != sizeof (fmthdr) || + !DoWriteFile (outfile, &wavhdr, wavhdrsize, &bcount) || bcount != wavhdrsize || + !DoWriteFile (outfile, &datahdr, sizeof (datahdr), &bcount) || bcount != sizeof (datahdr)) { diff --git a/gnu/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch b/gnu/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch new file mode 100644 index 0000000000..345101bd3a --- /dev/null +++ b/gnu/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch @@ -0,0 +1,26 @@ +This fixes the wxplot2d plotting issue found at +https://github.com/andrejv/wxmaxima/issues/973. + +From 5a0693c97ceaa4935b908f1e478126896952f399 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gunter=20K=C3=B6nigsmann?= <gunter@peterpall.de> +Date: Mon, 19 Feb 2018 05:37:35 +0100 +Subject: [PATCH] Seems I accidentally made wxMaxima to default to parameters + for old gnuplots. Resolves #973 + +--- + data/wxmathml.lisp.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/wxmathml.lisp.in b/data/wxmathml.lisp.in +index a32e3fc3..4e19acaf 100644 +--- a/data/wxmathml.lisp.in ++++ b/data/wxmathml.lisp.in +@@ -43,7 +43,7 @@ + (defvar $wxsubscripts t + "Recognize TeX-style subscripts") + (defvar $wxplot_pngcairo nil "Use gnuplot's pngcairo terminal for new plots?") +-(defmvar $wxplot_old_gnuplot t) ++(defmvar $wxplot_old_gnuplot nil) + + (defun $wxstatusbar (status) + (format t "<statusbar>~a</statusbar>~%" status)) diff --git a/gnu/packages/patches/zsh-CVE-2018-7548.patch b/gnu/packages/patches/zsh-CVE-2018-7548.patch new file mode 100644 index 0000000000..1ee15fad73 --- /dev/null +++ b/gnu/packages/patches/zsh-CVE-2018-7548.patch @@ -0,0 +1,48 @@ +Fix CVE-2018-7548: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7548 + +Patch copied from upstream source repository: + +https://sourceforge.net/p/zsh/code/ci/110b13e1090bc31ac1352b28adc2d02b6d25a102 + +From 110b13e1090bc31ac1352b28adc2d02b6d25a102 Mon Sep 17 00:00:00 2001 +From: Joey Pabalinas <joeypabalinas@gmail.com> +Date: Tue, 23 Jan 2018 22:28:08 -0800 +Subject: [PATCH] 42313: avoid null-pointer deref when using ${(PA)...} on an + empty array result + +--- + ChangeLog | 5 +++++ + Src/subst.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +#diff --git a/ChangeLog b/ChangeLog +#index d2ba94afc..3037edda4 100644 +#--- a/ChangeLog +#+++ b/ChangeLog +#@@ -1,3 +1,8 @@ +#+2018-01-23 Barton E. Schaefer <schaefer@zsh.org> +#+ +#+ * Joey Pabalinas: 42313: Src/subst.c: avoid null-pointer deref +#+ when using ${(PA)...} on an empty array result +#+ +# 2018-01-23 Oliver Kiddle <okiddle@yahoo.co.uk> +# +# * 42317: Completion/Linux/Command/_cryptsetup, +diff --git a/Src/subst.c b/Src/subst.c +index d027e3d83..a265a187e 100644 +--- a/Src/subst.c ++++ b/Src/subst.c +@@ -2430,7 +2430,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, + val = aval[0]; + isarr = 0; + } +- s = dyncat(val, s); ++ s = val ? dyncat(val, s) : dupstring(s); + /* Now behave po-faced as if it was always like that... */ + subexp = 0; + /* +-- +2.16.2 + diff --git a/gnu/packages/patches/zsh-CVE-2018-7549.patch b/gnu/packages/patches/zsh-CVE-2018-7549.patch new file mode 100644 index 0000000000..abefcdf2f9 --- /dev/null +++ b/gnu/packages/patches/zsh-CVE-2018-7549.patch @@ -0,0 +1,56 @@ +Fix CVE-2018-7549: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7549 + +Patch copied from upstream source repository: + +https://sourceforge.net/p/zsh/code/ci/c2cc8b0fbefc9868fa83537f5b6d90fc1ec438dd + +From c2cc8b0fbefc9868fa83537f5b6d90fc1ec438dd Mon Sep 17 00:00:00 2001 +From: Stephane Chazelas <stephane.chazelas@gmail.com> +Date: Fri, 22 Dec 2017 22:17:09 +0000 +Subject: [PATCH] Avoid crash copying empty hash table. + +Visible with typeset -p. +--- + ChangeLog | 2 ++ + Src/params.c | 11 +++++++---- + 2 files changed, 9 insertions(+), 4 deletions(-) + +#diff --git a/ChangeLog b/ChangeLog +#index f74c26b88..e3628cfa7 100644 +#--- a/ChangeLog +#+++ b/ChangeLog +#@@ -1,5 +1,7 @@ +# 2018-01-04 Peter Stephenson <p.stephenson@samsung.com> +# +#+ * Stephane: 42159: Src/params.c: avoid crash copying empty hash table. +#+ +# * Sebastian: 42188: Src/Modules/system.c: It is necessary to +# close the lock descriptor in some failure cases. +# +diff --git a/Src/params.c b/Src/params.c +index 31ff0445b..de7730ae7 100644 +--- a/Src/params.c ++++ b/Src/params.c +@@ -549,10 +549,13 @@ scancopyparams(HashNode hn, UNUSED(int flags)) + HashTable + copyparamtable(HashTable ht, char *name) + { +- HashTable nht = newparamtable(ht->hsize, name); +- outtable = nht; +- scanhashtable(ht, 0, 0, 0, scancopyparams, 0); +- outtable = NULL; ++ HashTable nht = 0; ++ if (ht) { ++ nht = newparamtable(ht->hsize, name); ++ outtable = nht; ++ scanhashtable(ht, 0, 0, 0, scancopyparams, 0); ++ outtable = NULL; ++ } + return nht; + } + +-- +2.16.2 + diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 110ba45d3d..6464385327 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -529,7 +529,7 @@ contents of a file is equal to a particular string.") (define-public perl-test-harness (package (name "perl-test-harness") - (version "3.39") + (version "3.41") (source (origin (method url-fetch) @@ -537,7 +537,7 @@ contents of a file is equal to a particular string.") "Test-Harness-" version ".tar.gz")) (sha256 (base32 - "0chiqnzmna2mglm37nzxvn9qhq2j31iwz3i9isqjs7bf3k449gb9")))) + "0cgdgzywvscbvb9i0dmd2ls5jwqlnf2z6hx4f4lljpvdjd59v3m8")))) (build-system perl-build-system) (arguments `(#:phases diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index cef42847c6..cf9f21dbc9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -831,7 +831,7 @@ the Carp.pm module doesn't help.") (define-public perl-class-accessor (package (name "perl-class-accessor") - (version "0.34") + (version "0.51") (source (origin (method url-fetch) @@ -839,7 +839,7 @@ the Carp.pm module doesn't help.") "Class-Accessor-" version ".tar.gz")) (sha256 (base32 - "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd")))) + "07215zzr4ydf49832vn54i3gf2q5b97lydkv8j56wb2svvjs64mz")))) (build-system perl-build-system) (native-inputs `(("perl-sub-name" ,perl-sub-name))) @@ -1341,7 +1341,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.") (define-public perl-config-autoconf (package (name "perl-config-autoconf") - (version "0.309") + (version "0.315") (source (origin (method url-fetch) @@ -1349,7 +1349,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.") "Config-AutoConf-" version ".tar.gz")) (sha256 (base32 - "1nqc7calfny12dwfhz7ylsvx55nf69kirdc5dbyvh3sjsqj8yvdq")))) + "0h39x9rzrhhilpg8yxlzpka269qrzsjg0iy0c1b9xflqlvhx2g2b")))) (build-system perl-build-system) (propagated-inputs `(("perl-capture-tiny" ,perl-capture-tiny))) @@ -1681,7 +1681,7 @@ short and handy (e.g. to use it as part of a URL).") (define-public perl-data-dump (package (name "perl-data-dump") - (version "1.22") + (version "1.23") (source (origin (method url-fetch) @@ -1689,7 +1689,7 @@ short and handy (e.g. to use it as part of a URL).") "Data-Dump-" version ".tar.gz")) (sha256 (base32 - "1ciqlwsy1q35s94dry9bjy1pwanbq6b7q4rhxm9z8prgkzbslg2k")))) + "0r9ba52b7p8nnn6nw0ygm06lygi8g68piri78jmlqyrqy5gb0lxg")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Data-Dump/") (synopsis "Pretty printing of data structures") @@ -1720,7 +1720,7 @@ indentation and newlines plus sub deparsing.") (define-public perl-data-optlist (package (name "perl-data-optlist") - (version "0.109") + (version "0.110") (source (origin (method url-fetch) @@ -1729,7 +1729,7 @@ indentation and newlines plus sub deparsing.") version ".tar.gz")) (sha256 (base32 - "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw")))) + "1hzmgr2imdg1fc3hmwx0d56fhsdfyrgmgx7jb4jkyiv6575ifq9n")))) (build-system perl-build-system) (propagated-inputs `(("perl-sub-install" ,perl-sub-install) @@ -2091,7 +2091,7 @@ hours, minutes, seconds, and time zones.") (define-public perl-datetime (package (name "perl-datetime") - (version "1.43") + (version "1.46") (source (origin (method url-fetch) @@ -2099,7 +2099,7 @@ hours, minutes, seconds, and time zones.") "DateTime-" version ".tar.gz")) (sha256 (base32 - "0xgrcqs7zza7646g81j54z3fcxb8rw11ynlfm02afr436lgfnfql")))) + "1247d2q2gm912bxj88a0sr5gvj2nx4a7n6z1smkq16iy21cziz79")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) @@ -2332,7 +2332,7 @@ parsing logic.") (define-public perl-datetime-format-strptime (package (name "perl-datetime-format-strptime") - (version "1.73") + (version "1.75") (source (origin (method url-fetch) @@ -2340,7 +2340,7 @@ parsing logic.") "DateTime-Format-Strptime-" version ".tar.gz")) (sha256 (base32 - "1gmjcmvh81cla6yn2pvlkr7i25bspg90pzzsizrfb0c5xc37h1vd")))) + "069wmgbchydgx3nm9klqw0g6ksnja28g61d4allgzmvr9ynb5ksg")))) (build-system perl-build-system) (propagated-inputs `(("perl-datetime" ,perl-datetime) @@ -2361,7 +2361,7 @@ takes a string and a pattern and returns the `DateTime` object associated.") (define-public perl-datetime-locale (package (name "perl-datetime-locale") - (version "1.16") + (version "1.17") (source (origin (method url-fetch) @@ -2369,7 +2369,7 @@ takes a string and a pattern and returns the `DateTime` object associated.") "DateTime-Locale-" version ".tar.gz")) (sha256 (base32 - "1zkc0wggbsczbj4qadahh197imr9fa6knxr10zl241lw2i14rbyz")))) + "1jawnci23kik5x4gln6ixvv9bxznd5f6ira024yjxsc97y5mk9hc")))) (build-system perl-build-system) (native-inputs `(("perl-file-sharedir" ,perl-file-sharedir) @@ -2392,7 +2392,7 @@ the DateTime.pm class.") (define-public perl-datetime-timezone (package (name "perl-datetime-timezone") - (version "2.13") + (version "2.17") (source (origin (method url-fetch) @@ -2400,7 +2400,7 @@ the DateTime.pm class.") "DateTime-TimeZone-" version ".tar.gz")) (sha256 (base32 - "1371sk4p9clygfwxzvivfqz6q9dy8gn3n4dr1424d0xqsv63jg9k")))) + "1ckhjw7h545306b02p6ra60y8zxqnbqr2lsy7c1wib8libf0l2hx")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) @@ -2585,7 +2585,7 @@ based memory management, circular references will cause memory leaks.") (define-public perl-devel-globaldestruction (package (name "perl-devel-globaldestruction") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) @@ -2593,7 +2593,7 @@ based memory management, circular references will cause memory leaks.") "Devel-GlobalDestruction-" version ".tar.gz")) (sha256 (base32 - "0qn4iszgylnxjdkb6430f6a3ci7bcx9ih1az6bd5cbij1pf2965j")))) + "1aslj6myylsvzr0vpqry1cmmvzbmpbdcl4v9zrl18ccik7rabf1l")))) (build-system perl-build-system) (propagated-inputs `(("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive))) @@ -3104,7 +3104,7 @@ extensions") (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") - (version "0.010") + (version "0.011") (source (origin (method url-fetch) @@ -3112,7 +3112,7 @@ extensions") "ExtUtils-InstallPaths-" version ".tar.gz")) (sha256 (base32 - "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i")))) + "0z06y0fhx9hy9x01abb7s2xdbqrh9x4ps7avmlf4bwfwih2gl2bn")))) (build-system perl-build-system) (propagated-inputs `(("perl-extutils-config" ,perl-extutils-config))) @@ -3722,7 +3722,7 @@ single-letter approach, is provided but not enabled by default.") (define-public perl-getopt-long-descriptive (package (name "perl-getopt-long-descriptive") - (version "0.100") + (version "0.102") (source (origin (method url-fetch) @@ -3730,7 +3730,7 @@ single-letter approach, is provided but not enabled by default.") "Getopt-Long-Descriptive-" version ".tar.gz")) (sha256 (base32 - "1dpz5nhg5glmrpq46nkc90dg19cfqfjspqwhfvihsqyi229yfl8l")))) + "0ii8xafvlph5vzcqp3dpc83lg7nkg3l1l2hmqdf5382a567vkm4s")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) @@ -3913,15 +3913,15 @@ variables.") (define-public perl-import-into (package (name "perl-import-into") - (version "1.002004") + (version "1.002005") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Import-Into-" version ".tar.gz")) (sha256 (base32 - "110hifk3cj14lxgjq2vaa2qfja21gll4lpn8vbimy0gzqadjbjyy")))) + "0rq5kz7c270q33jq6hnrv3xgkvajsc62ilqq7fs40av6zfipg7mx")))) (build-system perl-build-system) (propagated-inputs `(("perl-module-runtime" ,perl-module-runtime))) @@ -4042,7 +4042,7 @@ that reads or writes data from in-core strings.") (define-public perl-io-stringy (package (name "perl-io-stringy") - (version "2.110") + (version "2.111") (source (origin (method url-fetch) @@ -4050,7 +4050,7 @@ that reads or writes data from in-core strings.") "IO-stringy-" version ".tar.gz")) (sha256 (base32 - "1vh4n0k22hx20rwvf6h7lp25wb7spg0089shrf92d2lkncwg8g3y")))) + "178rpx0ym5l2m9mdmpnr92ziscvchm541w94fd7ygi6311kgsrwc")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/IO-stringy/") (synopsis "IO:: interface for reading/writing an array of lines") @@ -4062,14 +4062,14 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.") (define-public perl-io-tty (package (name "perl-io-tty") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-" version ".tar.gz")) (sha256 (base32 - "0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4")))) + "0399anjy3bc0w8xzsc3qx5vcyqryc9gc52lc7wh7i49hsdq8gvx2")))) (build-system perl-build-system) (home-page "http://search.cpan.org/~toddr/IO-Tty//") (synopsis "Perl interface to pseudo ttys") @@ -4249,15 +4249,15 @@ installed.") (define-public perl-json-maybexs (package (name "perl-json-maybexs") - (version "1.003003") + (version "1.003010") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "JSON-MaybeXS-" version ".tar.gz")) (sha256 (base32 - "0q21wzz87drrvblxcm2py8fcvkzwx1hxzfybynz8ln7wv66vbx3f")))) + "0hs504x5zsa2vl6r7b3rvbygsak1ly24m1lg636bqp3x7jirmb30")))) (build-system perl-build-system) (native-inputs `(("perl-test-without-module" ,perl-test-without-module))) @@ -4580,7 +4580,7 @@ functionality on lists which is not going to go into List::Util.") (define-public perl-list-moreutils-xs (package (name "perl-list-moreutils-xs") - (version "0.426") + (version "0.428") (source (origin (method url-fetch) @@ -4588,7 +4588,7 @@ functionality on lists which is not going to go into List::Util.") version ".tar.gz")) (sha256 (base32 - "0ss0a0f9yqs7gd9qamhaxq27mvn573ljg28ry1gy2pxbz56byzbc")))) + "0bfndmnkqaaf3gffprak143bzplxd69c368jxgr7rzlx88hyd7wx")))) (build-system perl-build-system) (native-inputs `(("perl-config-autoconf" ,perl-config-autoconf) @@ -6008,7 +6008,7 @@ of data.") (define-public perl-mozilla-ca (package (name "perl-mozilla-ca") - (version "20160104") + (version "20180117") (source (origin (method url-fetch) @@ -6016,7 +6016,7 @@ of data.") version ".tar.gz")) (sha256 (base32 - "0aizn08lrdrgjz9vagkjmw2c7sxn46fzz521v9dbcqii4jd0d9r7")))) + "01p4ykyilk1639dxgjaa2n7rz1f0zbqxkq11yc9n6xcz26z9zk7j")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Mozilla-CA/") (synopsis "Mozilla's CA cert bundle in PEM format") @@ -6557,7 +6557,7 @@ up inheritance from those modules at the same time.") (define-public perl-path-class (package (name "perl-path-class") - (version "0.35") + (version "0.37") (source (origin (method url-fetch) @@ -6565,7 +6565,7 @@ up inheritance from those modules at the same time.") "Path-Class-" version ".tar.gz")) (sha256 (base32 - "1viaj8jyshcj135la0kgfgzalaw06xnbsg9h54jx09v1342v69lj")))) + "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/Path-Class/") @@ -6577,14 +6577,14 @@ directory specifications in a cross-platform manner.") (define-public perl-path-tiny (package (name "perl-path-tiny") - (version "0.096") + (version "0.104") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Path-Tiny-" version ".tar.gz")) (sha256 (base32 - "08dmr6ijjg3dp7h9dxix0nmad0fw16c6qzs4qc0hdz500gd64sr2")))) + "1vxaczi44d2acfyyzwa7p6c5gx3rgm6c36zbdl40982axg7iv7y6")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ; Tests require additional test modules to be packaged @@ -6757,7 +6757,7 @@ variables that should not be changed.") (define-public perl-ref-util-xs (package (name "perl-ref-util-xs") - (version "0.116") + (version "0.117") (source (origin (method url-fetch) @@ -6765,7 +6765,7 @@ variables that should not be changed.") "Ref-Util-XS-" version ".tar.gz")) (sha256 (base32 - "0l5dzbd71iclv8fdjk7685rq6pbfiiydh0n70br6g9l9iy2smr6f")))) + "0g33cndhj353h5xjihvgjc2h6vxwkyyzw63r4l06czvq4flcar7v")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Ref-Util-XS/") (synopsis "XS implementation for Ref::Util") @@ -6880,7 +6880,7 @@ safely on things that may not be objects.") (define-public perl-scope-guard (package (name "perl-scope-guard") - (version "0.20") + (version "0.21") (source (origin (method url-fetch) @@ -6888,7 +6888,7 @@ safely on things that may not be objects.") "Scope-Guard-" version ".tar.gz")) (sha256 (base32 - "1lsagnz6pli035zvx5c1x4qm9fabi773vns86yd8lzfpldhfv3sv")))) + "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Scope-Guard/") (synopsis "Lexically-scoped resource management") @@ -7340,7 +7340,7 @@ return value is the sub.") (define-public perl-sub-quote (package (name "perl-sub-quote") - (version "2.004000") + (version "2.005000") (source (origin (method url-fetch) @@ -7349,7 +7349,7 @@ return value is the sub.") version ".tar.gz")) (sha256 (base32 - "1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq")))) + "1zv45cvj4ifkbr61ydcpphnj6lvib37gfxwfh40h0yzf3c8lbca4")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal))) @@ -7521,15 +7521,15 @@ of a system.") (define-public perl-task-weaken (package (name "perl-task-weaken") - (version "1.04") + (version "1.05") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Task-Weaken-" version ".tar.gz")) (sha256 (base32 - "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7")))) + "0p5ryr3421p5rqj6dk5dcvxsml5gl9skbn7gv4szk50fimrvzww5")))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -7861,7 +7861,7 @@ and escapes.") (define-public perl-text-diff (package (name "perl-text-diff") - (version "1.44") + (version "1.45") (source (origin (method url-fetch) @@ -7869,7 +7869,7 @@ and escapes.") "Text-Diff-" version ".tar.gz")) (sha256 (base32 - "041v92zla2acdc433f47giridf6p820sdczs7x5d71fhsyza1xsp")))) + "013g13prdghxvrp5754gyc7rmv1syyxrhs33yc5f0lrz3dxs1fp8")))) (build-system perl-build-system) (propagated-inputs `(("perl-algorithm-diff" ,perl-algorithm-diff))) @@ -8041,7 +8041,7 @@ system.") (define-public perl-throwable (package (name "perl-throwable") - (version "0.200012") + (version "0.200013") (source (origin (method url-fetch) @@ -8049,7 +8049,7 @@ system.") "Throwable-" version ".tar.gz")) (sha256 (base32 - "0cy8kza9pd9y5m7k5385asf4xqm54vdqnqm0am10z6j2mrxwr527")))) + "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr")))) (build-system perl-build-system) (native-inputs `(("perl-devel-stacktrace" ,perl-devel-stacktrace))) @@ -8647,7 +8647,7 @@ built-in.") (define-public perl-variable-magic (package (name "perl-variable-magic") - (version "0.61") + (version "0.62") (source (origin (method url-fetch) @@ -8655,7 +8655,7 @@ built-in.") "Variable-Magic-" version ".tar.gz")) (sha256 (base32 - "1mx6z36c3wk61x6lag6kyws5g1cba68cw20vrb92wan7ahpfkbxq")))) + "0p31dclnj47k4hj35rzay9pzxasl3gq46kzwqalhdw1kgr8ii6iz")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Variable-Magic/") (synopsis "Associate user-defined magic to variables from Perl") @@ -8721,15 +8721,15 @@ neither visible nor modifiable from Perl space).") (define-public perl-yaml (package (name "perl-yaml") - (version "1.23") + (version "1.24") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" + (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" "YAML-" version ".tar.gz")) (sha256 (base32 - "0kf8mllrgnrmlvjijxc6srjj1y9i8rik5jpjvm8jh4yx70h9gn1a")))) + "1dpzgnjbd8yvf94vf45cmyj5bc6vrm6bchhx9xqwxqd5f9d093dm")))) (build-system perl-build-system) (native-inputs `(("perl-test-yaml" ,perl-test-yaml))) @@ -8742,7 +8742,7 @@ on the YAML 1.0 specification.") (define-public perl-yaml-libyaml (package (name "perl-yaml-libyaml") - (version "0.65") + (version "0.69") (source (origin (method url-fetch) @@ -8752,7 +8752,7 @@ on the YAML 1.0 specification.") ".tar.gz")) (sha256 (base32 - "0izhvz8f29x1f50hhwfgm0iq1lz7apjjvg77lmky949jr07hnwfv")))) + "06msvj3vmjszl5zj1k7g47ll0kkds9gdb5sky0q27lh4zw1vlj33")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/YAML-LibYAML/") @@ -8961,7 +8961,7 @@ files, using JSON::PP and/or CPAN::Meta::YAML.") (define-public perl-scalar-list-utils (package (name "perl-scalar-list-utils") - (version "1.47") + (version "1.50") (source (origin (method url-fetch) @@ -8969,7 +8969,7 @@ files, using JSON::PP and/or CPAN::Meta::YAML.") "Scalar-List-Utils-" version ".tar.gz")) (sha256 (base32 - "1qgg6zxqwziva5j1k5gjks4xmhmgklm551ni3zb74sd9f9rk90y4")))) + "0x9n0617gjjcqa4nk5biiwkxdi90xpdfg6z07gjr009qjg3bkah6")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Scalar-List-Utils/") (synopsis "Common Scalar and List utility subroutines") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 788dcf36fc..758ed3f6f1 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libcanberra) #:use-module (gnu packages libusb) #:use-module (gnu packages llvm) #:use-module (gnu packages man) @@ -465,3 +467,57 @@ user interface. It can be used to assemble a mosaic of photographs into a complete panorama and stitch any series of overlapping pictures.") (license license:gpl2+))) +(define-public rawtherapee + (package + (name "rawtherapee") + (version "5.3") + (source (origin + (method url-fetch) + (uri (string-append "http://rawtherapee.com/shared/source/" + "rawtherapee-" version ".tar.xz")) + (sha256 + (base32 + "1y1ygxqmqfp4zg8rcgrlfdc1597cyr5zqgp5zjpldhvwdfa9r5cp")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; no test suite + #:configure-flags + (list (string-append "-DLENSFUNDBDIR=" + (assoc-ref %build-inputs "lensfun") + "/share/lensfun") + "-DCMAKE_BUILD_TYPE=release" + ; Don't optimize the build for the host machine. See the file + ; 'ProcessorTargets.cmake' in the source distribution for more + ; information. + "-DPROC_TARGET_NUMBER=1" + ; These flags are recommended by upstream for distributed packages. + ; See the file 'RELEASE_NOTES.txt' in the source distribution. + "-O3" + "-DCACHE_NAME_SUFFIX=\"\""))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("expat" ,expat) + ("fftw" ,fftwf) + ("glib" ,glib) + ("glibmm" ,glibmm) + ("gtk+" ,gtk+) + ("gtkmm" ,gtkmm) + ("lcms" ,lcms) + ("lensfun" ,lensfun) + ("libcanberra" ,libcanberra) + ("libiptcdata" ,libiptcdata) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libsigc++" ,libsigc++) + ("libtiff" ,libtiff) + ("zlib" ,zlib))) + (home-page "http://rawtherapee.com") + (synopsis "Raw image developing and processing") + (description "RawTherapee is a raw image processing suite. It comprises a +subset of image editing operations specifically aimed at non-destructive raw +photo post-production and is primarily focused on improving a photographer's +workflow by facilitating the handling of large numbers of images. Most raw +formats are supported, including Pentax Pixel Shift, Canon Dual-Pixel, and those +from Foveon and X-Trans sensors.") + (license license:gpl3+))) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index b9a5eb4bf2..f3f279a533 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,10 +50,19 @@ #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:)) +(define gd-for-php + (package + (inherit gd) + (source (origin + (inherit (package-source gd)) + (patches (search-patches "gd-fix-tests-on-i686.patch" + "gd-freetype-test-failure.patch" + "gd-CVE-2018-5711.patch")))))) + (define-public php (package (name "php") - (version "7.2.1") + (version "7.2.3") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -60,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "08l8zmp8wbavq6wlgx19irz59csb44jhbsr172bfsq36v8pzhv3c")) + "07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -277,11 +287,7 @@ "ext/mbstring/tests/mb_ereg_variation3.phpt" "ext/mbstring/tests/mb_ereg_replace_variation1.phpt" "ext/mbstring/tests/bug72994.phpt" - "ext/ldap/tests/ldap_set_option_error.phpt" - - ;; XXX: This is CVE-2018-5711. There is no fix yet in libgd. - ;; See https://github.com/libgd/libgd/issues/420 - "ext/gd/tests/bug75571.phpt")) + "ext/ldap/tests/ldap_set_option_error.phpt")) ;; Skip tests requiring network access. (setenv "SKIP_ONLINE_TESTS" "1") @@ -298,7 +304,7 @@ ("curl" ,curl) ("cyrus-sasl" ,cyrus-sasl) ("freetype" ,freetype) - ("gd" ,gd) + ("gd" ,gd-for-php) ("gdbm" ,gdbm) ("glibc" ,glibc) ("gmp" ,gmp) diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 0e38dd61ee..a3dbc4ff79 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,7 +78,8 @@ ;; Set the setuid helper's real location. (substitute* "src/polkitagent/polkitagentsession.c" (("PACKAGE_PREFIX \"/lib/polkit-1/polkit-agent-helper-1\"") - "\"/run/setuid-programs/polkit-agent-helper-1\"")))))) + "\"/run/setuid-programs/polkit-agent-helper-1\"")) + #t)))) (build-system gnu-build-system) (inputs `(("expat" ,expat) @@ -105,7 +107,8 @@ (("@INTROSPECTION_GIRDIR@") (string-append out "/share/gir-1.0/")) (("@INTROSPECTION_TYPELIBDIR@") - (string-append out "/lib/girepository-1.0/")))))) + (string-append out "/lib/girepository-1.0/"))) + #t))) (replace 'install (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) @@ -113,13 +116,13 @@ ;; to install in /etc, and to instead install the skeletons in the ;; output directory. (let ((out (assoc-ref outputs "out"))) - (zero? (apply system* - "make" "install" + (apply invoke "make" "install" (string-append "sysconfdir=" out "/etc") (string-append "polkit_actiondir=" out "/share/polkit-1/actions") - make-flags)))))))) - (home-page "http://www.freedesktop.org/wiki/Software/polkit/") + make-flags) + #t)))))) + (home-page "https://www.freedesktop.org/wiki/Software/polkit/") (synopsis "Authorization API for privilege management") (description "Polkit is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to @@ -183,5 +186,5 @@ easily with PolicyKit.") (description "PolicyKit-gnome provides a D-Bus session bus service that is used to bring up authentication dialogs used for obtaining privileges.") - (home-page "http://www.freedesktop.org/wiki/Software/polkit/") + (home-page "https://www.freedesktop.org/wiki/Software/polkit/") (license lgpl2.0+))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 2f61de8994..6edfba95cc 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages ghostscript) #:use-module (gnu packages groff) @@ -242,7 +243,7 @@ seen in a terminal.") (define-public highlight (package (name "highlight") - (version "3.33") + (version "3.42") (source (origin (method url-fetch) @@ -250,10 +251,10 @@ seen in a terminal.") version ".tar.bz2")) (sha256 (base32 - "0g2whi6pxl640795vymikm82a1my841jmh7fiqzbrjpc9wsk1db4")))) + "07iihzy8ckzdrxqd6bzbij4hy4mmlixibjnjviqfihd0hh1q30m5")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:make-flags (let ((confdir (string-append %output "/share/highlight/config/"))) (list (string-append "PREFIX=" %output) @@ -261,12 +262,13 @@ seen in a terminal.") (string-append "conf_dir=" confdir))) #:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (add-after 'unpack 'fix-search-for-lua (lambda _ (substitute* "src/makefile" (("(pkg-config.*)lua" _ prefix) - (string-append prefix "lua-5.3"))) + (string-append prefix "lua-" ,(version-major+minor + (package-version lua))))) #t))))) (inputs `(("lua" ,lua) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 4fdf260c67..d6f3aede28 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Dave Love <fx@gnu.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,7 +66,7 @@ `(("autoconf" ,autoconf) ("gfortran" ,gfortran))) (arguments - '(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:configure-flags ;; These are roughly per Fedora, but elide mx (assumed to be dead, even ;; Open-MX) and add and powercap -- I don't know the pros/cons of @@ -84,7 +85,8 @@ stealtime lmsensors infiniband powercap" (add-before 'configure 'autoconf (lambda _ (chdir "src") - (zero? (system* "autoconf")))) + (invoke "autoconf") + #t)) ;; Amalgamating with the following clause gives double substitution. (add-before 'patch-source-shebangs 'patch-components (lambda _ @@ -95,28 +97,26 @@ stealtime lmsensors infiniband powercap" (add-after 'configure 'components (lambda* (#:key inputs #:allow-other-keys) (with-directory-excursion "components" - (and - (with-directory-excursion "infiniband_umad" - (zero? (system* "./configure"))) - (with-directory-excursion "lmsensors" - (let ((base (assoc-ref inputs "lm-sensors"))) - (zero? - (system* - "./configure" - (string-append "--with-sensors_incdir=" base - "/include/sensors") - (string-append "--with-sensors_libdir=" base "/lib"))))))))) + (with-directory-excursion "infiniband_umad" + (invoke "./configure")) + (with-directory-excursion "lmsensors" + (let ((base (assoc-ref inputs "lm-sensors"))) + (invoke "./configure" + (string-append "--with-sensors_incdir=" + base "/include/sensors") + (string-append "--with-sensors_libdir=" + base "/lib"))))) + #t)) (add-after 'install 'extra-doc (lambda* (#:key outputs #:allow-other-keys) (let ((doc (string-append (assoc-ref outputs "out") - "/share/doc"))) - (mkdir-p doc) + "/share/doc/" ,name "-" ,version))) (chdir "..") ; we went into src above (for-each (lambda (file) (install-file file doc)) - '("README" "RELEASENOTES.txt" "LICENSE.txt")) + '("README" "RELEASENOTES.txt")) #t)))))) - (home-page "http://icl.cs.utk.edu/papi/") + (home-page "https://icl.utk.edu/papi/") (synopsis "Performance Application Programming Interface") (description "PAPI provides the tool designer and application engineer with a consistent diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 249afd3f68..8a45137a7f 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -229,7 +229,7 @@ sound server.") (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) - (home-page "http://freedesktop.org/software/pulseaudio/pavucontrol/") + (home-page "https://www.freedesktop.org/software/pulseaudio/pavucontrol/") (synopsis "PulseAudio volume control") (description "PulseAudio Volume Control (pavucontrol) provides a GTK+ @@ -280,6 +280,7 @@ sinks.") (method url-fetch) (uri (string-append "https://github.com/GeorgeFilipkin/" "pulsemixer/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1lpad90ifr2xfldyf39sbwx1v85rif2gm9w774gwwpjv53zfgk1g")))) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index b898f088be..3734b6ba10 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -510,14 +510,14 @@ faster ones are not available.") (define-public python-pyaes (package (name "python-pyaes") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (pypi-uri "pyaes" version)) (sha256 (base32 - "0bp9bjqy1n6ij1zb86wz9lqa1dhla8qr1d7w2kxyn7jbj56sbmcw")))) + "13vdaff15k0jyfcss4b4xvfgm8xyv0nrbyw5n1qc7lrqbi0b3h82")))) (build-system python-build-system) (home-page "https://github.com/ricmoo/pyaes") (synopsis "Implementation of AES in Python") @@ -538,6 +538,7 @@ ECB and OFB).") (method url-fetch) (uri (string-append "https://github.com/wbond/asn1crypto/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1kn910896l3knmilla1c9ly20q181s43w1ah08lzkbm1h3j6pcz0")))) @@ -720,14 +721,14 @@ protocol (Javascript Object Signing and Encryption).") (define-public python-pycryptodome (package (name "python-pycryptodome") - (version "3.4.7") + (version "3.5.1") (source (origin (method url-fetch) (uri (pypi-uri "pycryptodome" version)) (sha256 (base32 - "1xrsd6ql4w0ypkxnsg3fivs3r3z6dd93x44lhvam7jzh3gixzn0q")))) + "15mc1h5ij1b6hcqvb048kb4k0ip64n2ky0zz0rml2s78ylv7g5dp")))) (build-system python-build-system) (home-page "https://www.pycryptodome.org") (synopsis "Cryptographic library for Python") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 219b7f9fe2..dce651246c 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> +;;; Copyright © 2017 Mark Meyer <mark@ofosos.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,11 +46,13 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) + #:use-module (gnu packages tls) #:use-module (gnu packages time) #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) @@ -138,14 +141,14 @@ between a web browser and web server.") (define-public python-flask-babel (package (name "python-flask-babel") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) (uri (pypi-uri "Flask-Babel" version)) (sha256 (base32 - "16b80cipdba9xj3jlaiaq6wgrgpjb70w3j01jjy9hbp4k71kd6yj")))) + "0ff9n165vhf1nhv6807ckhpp224jw7k7sd7jz5kfh3sbpl85gmy0")))) (build-system python-build-system) (propagated-inputs `(("python-flask" ,python-flask) @@ -165,14 +168,14 @@ both of which are installed automatically if you install this library.") (define-public python-html5lib (package (name "python-html5lib") - (version "1.0b10") + (version "1.0.1") (source (origin (method url-fetch) (uri (pypi-uri "html5lib" version)) (sha256 (base32 - "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd")))) + "0dipzfrycv6j1jw82v9b7d8lzggx3x8xngx6l4xrqkxwvg7hvjv6")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six) @@ -238,23 +241,58 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.") (define-public python2-html5-parser (package-with-python2 python-html5-parser)) +(define-public python-pycurl + (package + (name "python-pycurl") + (version "7.43.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.bintray.com/pycurl/pycurl/pycurl-" + version ".tar.gz")) + (sha256 + (base32 "1ali1gjs9iliwjra7w0y5hwg79a2fd0f4ydvv6k27sgxpbr1n8s3")))) + (build-system python-build-system) + (arguments + ;; The tests attempt to access external web servers, so we cannot run + ;; them. Furthermore, they are skipped altogether when using Python 2. + '(#:tests? #f)) + (native-inputs + `(("python-nose" ,python-nose) + ("python-bottle" ,python-bottle))) + (inputs + `(("curl" ,curl) + ("gnutls" ,gnutls))) + (home-page "http://pycurl.io/") + (synopsis "Lightweight Python wrapper around libcurl") + (description "Pycurl is a lightweight wrapper around libcurl. It provides +high-speed transfers via libcurl and frequently outperforms alternatives.") + + ;; Per 'README.rst', this is dual-licensed: users can redistribute pycurl + ;; under the terms of LGPLv2.1+ or Expat. + (license (list license:lgpl2.1+ license:expat)))) + +(define-public python2-pycurl + (package-with-python2 python-pycurl)) + (define-public python-webencodings (package (name "python-webencodings") - (version "0.5") + (version "0.5.1") (source (origin (method url-fetch) (uri (pypi-uri "webencodings" version)) (sha256 (base32 - "015rw7662lkpb9aqiqah2hbizk6w531badqwjpz41rr47glmxid5")))) + "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "py.test" "-v" "webencodings/tests.py"))))))) + (invoke "py.test" "-v" "webencodings/tests.py") + #t))))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://github.com/SimonSapin/python-webencodings") @@ -264,7 +302,7 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.") something like @code{Content-Type: text/html; charset=latin1}, tools need to use a particular set of aliases for encoding labels as well as some overriding rules. For example, @code{US-ASCII} and @code{iso-8859-1} on -the web are actually aliases for @code{windows-1252}, and an @code{UTF-8} +the web are actually aliases for @code{windows-1252}, and a @code{UTF-8} or @code{UTF-16} BOM takes precedence over any other encoding declaration. The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard defines all such details so that implementations do not have to @@ -295,7 +333,8 @@ is Python’s.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "./admin/runtests"))))))) + (invoke "./admin/runtests") + #t))))) (properties `((python2-variant . ,(delay python2-openid)))) (propagated-inputs `(("python-defusedxml" ,python-defusedxml))) @@ -332,19 +371,19 @@ for clients and servers.") (define-public python-cssutils (package (name "python-cssutils") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (pypi-uri "cssutils" version)) (sha256 (base32 - "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq")))) + "1bxchrbqzapwijap0yhlxdil1w9bmwvgx77aizlkhc2mcxjg1z52")))) (build-system python-build-system) (native-inputs - `(("unzip" ,unzip))) ; for unpacking the source + `(("unzip" ,unzip))) ; for unpacking the source (arguments - `(#:tests? #f)) ;tests require python-pbr < 1.7.0 + `(#:tests? #f)) ; tests require python-pbr < 1.7.0 (home-page "http://cthedot.de/cssutils/") (synopsis "CSS Cascading Style Sheets library for Python") @@ -451,7 +490,8 @@ teams extension for python-openid.") ;; (lambda _ ;; ;; 'setup.py test' hits an AssertionError on BSD-specific ;; ;; "tornado/platform/kqueue.py". This is the supported method: - ;; (zero? (system* "python" "-m" "tornado.test"))))) + ;; (invoke- "python" "-m" "tornado.test") + ;; #t))) #:tests? #f)) (native-inputs `(("python-certifi" ,python-certifi))) @@ -522,7 +562,8 @@ web framework, either via the basic or digest authentication schemes.") (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "nosetests"))))))) + (invoke "nosetests") + #t))))) (home-page "https://github.com/takluyver/terminado") (synopsis "Terminals served to term.js using Tornado websockets") (description "This package provides a Tornado websocket backend for the @@ -956,13 +997,13 @@ facilities for defining, registering and looking up components.") (define-public python-ndg-httpsclient (package (name "python-ndg-httpsclient") - (version "0.4.2") + (version "0.4.4") (source (origin (method url-fetch) (uri (pypi-uri "ndg_httpsclient" version)) (sha256 (base32 - "1b5qirv46v4dpnmfqviwq42mdwfcby4dxmz0i41wad2337pqf2aq")))) + "0sl5ak1r1xil9ms0a9fh9fm6ncml65kgnjpjfic9dhnaimwx997v")))) (build-system python-build-system) (arguments '(;; The tests appear to require networking. @@ -1306,14 +1347,14 @@ file.") (define-public python-webtest (package (name "python-webtest") - (version "2.0.20") + (version "2.0.29") (source (origin (method url-fetch) (uri (pypi-uri "WebTest" version)) (sha256 (base32 - "0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv")))) + "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v")))) (build-system python-build-system) (arguments `(;; Unfortunately we have to disable tests! @@ -1519,7 +1560,8 @@ library.") (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (zero? (system* "py.test" "src/geventhttpclient/tests" "-v"))))))) + (invoke "py.test" "src/geventhttpclient/tests" "-v") + #t))))) (native-inputs `(("python-pytest" ,python-pytest))) (propagated-inputs @@ -1629,7 +1671,8 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients." (setenv "PYTHONPATH" (string-append (getcwd) "/build/lib:" (getenv "PYTHONPATH"))) - (zero? (system* "py.test" "-vv"))))))) + (invoke "py.test" "-vv") + #t))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-redis" ,python-redis) @@ -1700,13 +1743,13 @@ Betamax.") (define-public python-s3transfer (package (name "python-s3transfer") - (version "0.1.11") + (version "0.1.13") (source (origin (method url-fetch) (uri (pypi-uri "s3transfer" version)) (sha256 (base32 - "0yfrfnf404cxzn3iswibqjxklsl0b1lwgqiml6pwiqj79a7zbwbn")))) + "1harvyn1s8v54n1w5h7c0lg4bgjh68aylhg28s8n174q53h1ip4h")))) (build-system python-build-system) (arguments `(#:phases @@ -1715,7 +1758,8 @@ Betamax.") (lambda _ ;; 7 of the 'integration' tests require network access or login ;; credentials. - (zero? (system* "nosetests" "--exclude=integration"))))))) + (invoke "nosetests" "--exclude=integration") + #t))))) (native-inputs `(("python-docutils" ,python-docutils) ("python-mock" ,python-mock) @@ -1831,7 +1875,8 @@ transfers.") ;; (modify-phases %standard-phases ;; (replace 'check ;; (lambda _ - ;; (zero? (system* "nosetests"))))))) + ;; (invoke "nosetests") + ;; #t))))) (propagated-inputs `(("python-aniso8601" ,python-aniso8601) ("python-flask" ,python-flask) @@ -1877,16 +1922,16 @@ specs from your Flask-Restful projects.") (define-public python-htmlmin (package (name "python-htmlmin") - (version "0.1.10") + (version "0.1.12") (source (origin (method url-fetch) (uri (pypi-uri "htmlmin" version)) (sha256 (base32 - "0qxa93j3p1ak32qh8d9kshqv8v3z0hkc13dwbhp5cn7sn3xmsp6a")))) + "0y51xhabw6x8jk8k93xl8vznshpz3jb6l28075r5sjip613fzhah")))) (arguments - `(#:tests? #f)) ;htmlmin has no tests + `(#:tests? #f)) ; no tests (build-system python-build-system) (home-page "https://htmlmin.readthedocs.org/en/latest/") (synopsis "HTML minifier") @@ -2081,14 +2126,14 @@ this it tries to be opinion-free and very extendable.") (define-public python-flask-script (package (name "python-flask-script") - (version "2.0.5") + (version "2.0.6") (source (origin (method url-fetch) (uri (pypi-uri "Flask-Script" version)) (sha256 (base32 - "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf")))) + "0r8w2v89nj6b9p91p495cga5m72a673l2wc0hp0zqk05j4yrc9b4")))) (build-system python-build-system) (propagated-inputs `(("python-flask" ,python-flask) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3c816cda53..106c040bf8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com> ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu> -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> @@ -448,14 +448,14 @@ instead of @command{python3}."))) (define-public python-psutil (package (name "python-psutil") - (version "4.3.0") + (version "5.4.3") (source (origin (method url-fetch) (uri (pypi-uri "psutil" version)) (sha256 (base32 - "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6")))) + "063v69x7spyclyaxrd3gmzj3p16q5ayg97xqhwb1kyn22a9pwip2")))) (build-system python-build-system) (arguments ;; FIXME: some tests does not return and times out. @@ -470,10 +470,16 @@ limiting process resources and management of running processes. It implements many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.") + (properties `((python2-variant . ,(delay python2-psutil)))) (license license:bsd-3))) (define-public python2-psutil - (package-with-python2 python-psutil)) + (let ((base (package-with-python2 (strip-python2-variant python-psutil)))) + (package + (inherit base) + (propagated-inputs + `(("python2-enum34" ,python2-enum34) ;optional + ,@(package-propagated-inputs base)))))) (define-public python-shapely (package @@ -1386,26 +1392,15 @@ backported for previous versions of Python from 2.4 to 3.3.") (define-public python-parse-type (package (name "python-parse-type") - (version "0.3.4") + (version "0.4.2") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/p/" - "parse_type/parse_type-" version ".tar.gz")) + (uri (pypi-uri "parse_type" version)) (sha256 (base32 - "0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x")))) + "0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (substitute* "tests/test_parse_type_parse.py" - ;; Newer Python versions don't have the problem this test tests. - (("self[.]assertRaises[(]parse.TooManyFields, p.parse, ''[)]") - "")) - #t))))) (propagated-inputs `(("python-six" ,python-six) ("python-parse" ,python-parse))) @@ -1431,21 +1426,20 @@ backported for previous versions of Python from 2.4 to 3.3.") (define-public python-parse (package (name "python-parse") - (version "1.6.6") + (version "1.8.2") (source (origin (method url-fetch) (uri (pypi-uri "parse" version)) (sha256 (base32 - "0y31i3mwgv35qn0kzzjn9q8jqfdqmbi6sr6yfvn8rq4lqjm5lhvi")) - (patches (search-patches "python-parse-too-many-fields.patch")))) + "1lj9v1q4imszyhvipb6drsm3xdl35nan011mqxxas1yaypixsj40")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (zero? (system* "python" "test_parse.py"))))))) + (lambda _ (invoke "python" "test_parse.py")))))) (home-page "https://github.com/r1chardj0n3s/parse") (synopsis "Parse strings") (description @@ -1512,19 +1506,17 @@ software.") (define-public python-extras (package (name "python-extras") - (version "0.0.3") + (version "1.0.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/e/extras/extras-" - version ".tar.gz")) + (uri (pypi-uri "extras" version)) (sha256 (base32 - "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s")))) + "0khvm08rcwm62wc47j8niyl6h13f8w51c8669ifivjdr23g3cbhk")))) (build-system python-build-system) (arguments - ;; error in setup.cfg: command 'test' has no such option 'buffer' + ;; FIXME: Circular dependency on testtools. '(#:tests? #f)) (home-page "https://github.com/testing-cabal/extras") (synopsis "Useful extensions to the Python standard library") @@ -1701,15 +1693,15 @@ code introspection, and logging.") (propagated-inputs `(("git" ,git))) ;; pbr actually uses the "git" binary. (native-inputs - `(("python-fixtures" ,python-fixtures) + `(("python-fixtures" ,python-fixtures-bootstrap) ;; discover, coverage, hacking, subunit ("python-mock" ,python-mock) ("python-six" ,python-six) ("python-sphinx" ,python-sphinx) - ("python-testrepository" ,python-testrepository) - ("python-testresources" ,python-testresources) - ("python-testscenarios" ,python-testscenarios) - ("python-testtools" ,python-testtools) + ("python-testrepository" ,python-testrepository-bootstrap) + ("python-testresources" ,python-testresources-bootstrap) + ("python-testscenarios" ,python-testscenarios-bootstrap) + ("python-testtools" ,python-testtools-bootstrap) ("python-virtualenv" ,python-virtualenv))) (synopsis "Enhance the default behavior of Python’s setuptools") (description @@ -1943,14 +1935,14 @@ something else) to Python data-types.") (define-public python-kitchen (package (name "python-kitchen") - (version "1.2.4") + (version "1.2.5") (source (origin (method url-fetch) (uri (pypi-uri "kitchen" version)) (sha256 (base32 - "0ggv3p4x8jvmmzhp0xm00h6pvh1g0gmycw71rjwagnrj8n23vxrq")))) + "1zakh6l0yjvwic9p0nkvmbidpnkygkxbigh2skmb5gccyrhbp7xg")))) (build-system python-build-system) (propagated-inputs `(("python-chardet" ,python-chardet))) @@ -2426,7 +2418,17 @@ sources.") `(("python-pytest" ,python-pytest) ("imagemagick" ,imagemagick) ; for "convert" ,@(package-native-inputs python-sphinx))) - (properties '()))) + (properties `((python2-variant . ,(delay python2-sphinx-1.6)))))) + +(define-public python2-sphinx-1.6 + (let ((base (package-with-python2 (strip-python2-variant python-sphinx-1.6)))) + (package + (inherit base) + (propagated-inputs + `(("python2-typing" ,python2-typing) + ,@(package-propagated-inputs base))) + (native-inputs `(("python2-enum34" ,python2-enum34) + ,@(package-native-inputs base)))))) (define-public python-sphinx-1.5.3 (package @@ -4282,15 +4284,14 @@ them as the version argument or in a SCM managed file.") (define-public python-pathpy (package (name "python-pathpy") - (version "8.1.1") + (version "11.0") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/p/" - "path.py/path.py-" version ".tar.gz")) + (uri (pypi-uri "path.py" version)) (sha256 - (base32 "1p8s1l2vfkqhqxdhqlj0g1jjw4f1as2frr35sjcpjjpd5a89y41f")))) - (outputs '("out" "doc")) + (base32 "12s84maimiz61980q065rjgi8ang6xw2wwm64m0lmfks51dlw4qn")))) + ;; (outputs '("out" "doc")) (build-system python-build-system) (propagated-inputs `(("python-appdirs" ,python-appdirs))) @@ -4301,22 +4302,24 @@ them as the version argument or in a SCM managed file.") ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'build 'build-doc - (lambda _ - (setenv "LANG" "en_US.UTF-8") - (zero? (system* "python" "setup.py" "build_sphinx")))) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append data "/doc/" ,name "-" ,version)) - (html (string-append doc "/html"))) - (mkdir-p html) - (for-each (lambda (file) - (copy-file file (string-append doc "/" file))) - '("README.rst" "CHANGES.rst")) - (copy-recursively "build/sphinx/html" html))))))) + ;; FIXME: Documentation and tests require "jaraco.packaging". + `(#:tests? #f)) + ;; #:phases + ;; (modify-phases %standard-phases + ;; (add-after 'build 'build-doc + ;; (lambda _ + ;; (setenv "LANG" "en_US.UTF-8") + ;; (zero? (system* "python" "setup.py" "build_sphinx")))) + ;; (add-after 'install 'install-doc + ;; (lambda* (#:key outputs #:allow-other-keys) + ;; (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + ;; (doc (string-append data "/doc/" ,name "-" ,version)) + ;; (html (string-append doc "/html"))) + ;; (mkdir-p html) + ;; (for-each (lambda (file) + ;; (copy-file file (string-append doc "/" file))) + ;; '("README.rst" "CHANGES.rst")) + ;; (copy-recursively "build/sphinx/html" html))))))) (home-page "https://github.com/jaraco/path.py") (synopsis "Python module wrapper for built-in os.path") (description @@ -4507,13 +4510,13 @@ installing @code{kernelspec}s for use with Jupyter frontends.") (define-public python-ipython (package (name "python-ipython") - (version "5.3.0") + (version "5.5.0") (source (origin (method url-fetch) (uri (pypi-uri "ipython" version ".tar.gz")) (sha256 - (base32 "079wyjir4a9qx6kvx096b1asm63djbidk65z3ykcbnlngmg62pmz")))) + (base32 "03qmzpfy00if10i9k8fjkam1s4xg22j73f933x5d228z9n4rwik6")))) (build-system python-build-system) (outputs '("out" "doc")) (propagated-inputs @@ -4773,7 +4776,7 @@ toolkit. Use it to build trees of widgets.") (synopsis "Python bindings for D-bus") (description "python-dbus provides bindings for libdbus, the reference implementation of D-Bus.") - (home-page "http://www.freedesktop.org/wiki/Software/DBusBindings/") + (home-page "https://www.freedesktop.org/wiki/Software/DBusBindings/") (license license:expat))) (define-public python2-dbus @@ -4859,20 +4862,16 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.") (define-public python-netifaces (package (name "python-netifaces") - (version "0.10.4") + (version "0.10.6") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/n/netifaces/netifaces-" - version - ".tar.gz")) + (uri (pypi-uri "netifaces" version)) (sha256 (base32 - "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln")))) + "1q7bi5k2r955rlcpspx4salvkkpk28jky67fjbpz2dkdycisak8c")))) (build-system python-build-system) - (home-page - "https://bitbucket.org/al45tair/netifaces") + (home-page "https://github.com/al45tair/netifaces") (synopsis "Python module for portable network interface information") (description @@ -5067,6 +5066,17 @@ more advanced mathematics.") (sha256 (base32 "190n29sppw7g8ihilc5451y7jlfcaw56crqiqbf1jff43dlmfnxc")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Run the core tests after installation. By default it would run + ;; *all* tests, which take a very long time to complete and are known + ;; to be flaky. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (invoke "python3" "-c" "import sympy; sympy.test(\"/core\")") + #t))))) (propagated-inputs `(("python-mpmath" ,python-mpmath))) (home-page "http://www.sympy.org/") @@ -5078,7 +5088,19 @@ as possible in order to be comprehensible and easily extensible.") (license license:bsd-3))) (define-public python2-sympy - (package-with-python2 python-sympy)) + (package + (inherit (package-with-python2 python-sympy)) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Run the core tests after installation. By default it would run + ;; *all* tests, which take a very long time to complete and are known + ;; to be flaky. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (invoke "python" "-c" "import sympy; sympy.test(\"/core\")") + #t))))))) (define-public python-q (package @@ -5558,14 +5580,14 @@ Python.") (define-public python-markdown (package (name "python-markdown") - (version "2.6.8") + (version "2.6.11") (source (origin (method url-fetch) (uri (pypi-uri "Markdown" version)) (sha256 (base32 - "0cqfhr1km2s5d8jm6hbwgkrrj9hvkjf2gab3s2axlrw1clgaij0a")))) + "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8")))) (build-system python-build-system) (arguments `(#:phases @@ -5744,7 +5766,7 @@ from an XML-based format.") (define-public python-ly (package (name "python-ly") - (version "0.9.4") + (version "0.9.5") (source (origin (method url-fetch) @@ -5753,7 +5775,7 @@ from an XML-based format.") "/python-ly-" version ".tar.gz")) (sha256 (base32 - "0g6n288l83sfwavxh1aryi0aqvsr3sp7v6f903mckwqa4scpky62")))) + "0x98dv7p8mg26p4816yy8hz4f34zf6hpnnfmr56msgh9jnsm2qfl")))) (build-system python-build-system) (arguments ;; FIXME: Some tests need network access. @@ -5835,21 +5857,60 @@ should be stored on various operating systems.") (define-public python-msgpack (package (name "python-msgpack") - (version "0.4.8") + (version "0.5.6") (source (origin (method url-fetch) - (uri (pypi-uri "msgpack-python" version)) + (uri (pypi-uri "msgpack" version)) (sha256 (base32 - "11pqk5braa6wndpnr1dhg64js82vjgxnm0lzy73rwl831zgijaqs")))) + "1hz2dba1nvvn52afg34liijsm7kn65cmn06dl0xbwld6bb4cis0f")))) (build-system python-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build python-build-system) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (let ((cwd (getcwd))) + (setenv "PYTHONPATH" + (string-append cwd "/build/" + (find (cut string-prefix? "lib" <>) + (scandir (string-append cwd "/build"))) + ":" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-v" "test"))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (synopsis "MessagePack (de)serializer") (description "MessagePack is a fast, compact binary serialization format, suitable for similar data to JSON. This package provides CPython bindings for reading and writing MessagePack data.") - (home-page "https://pypi.python.org/pypi/msgpack-python/") + (home-page "https://pypi.python.org/pypi/msgpack/") (license license:asl2.0))) +;; This msgpack library's name changed from "python-msgpack" to "msgpack" with +;; release 0.5. Some packages like borg still call it by the old name for now. +;; <https://bugs.gnu.org/30662> +(define-public python-msgpack-transitional + (package + (inherit python-msgpack) + (name "python-msgpack-transitional") + (arguments + (substitute-keyword-arguments (package-arguments python-msgpack) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'configure-transitional + (lambda _ + ;; Keep using the old name. + (substitute* "setup.py" + (("TRANSITIONAL = False") + "TRANSITIONAL = 1")) + #t)))))))) + (define-public python2-msgpack (package-with-python2 python-msgpack)) @@ -5879,14 +5940,14 @@ and MAC network addresses.") (define-public python-wrapt (package (name "python-wrapt") - (version "1.10.8") + (version "1.10.11") (source (origin (method url-fetch) (uri (pypi-uri "wrapt" version)) (sha256 (base32 - "0wrcm1mydvfivbkzz0h81ygzdchnscshi6xvy5n3r21r9s0px8af")))) + "1ip3dwib39xhp79kblskgvz3fjzcwxgx3fs3ahdixhpjg7a61mfl")))) (build-system python-build-system) (arguments ;; Tests are not included in the tarball, they are only available in the @@ -6071,13 +6132,13 @@ implementations of ASN.1-based codecs and protocols.") (define-public python-ipaddress (package (name "python-ipaddress") - (version "1.0.18") + (version "1.0.19") (source (origin (method url-fetch) (uri (pypi-uri "ipaddress" version)) (sha256 (base32 - "1q8klj9d84cmxgz66073x1j35cplr3r77vx1znhxiwl5w74391ax")))) + "10agaa1cys1bk1ycpl2w8lky9vjx8h1xh1z29mg0niqx0638c390")))) (build-system python-build-system) (home-page "https://github.com/phihag/ipaddress") (synopsis "IP address manipulation library") @@ -7170,13 +7231,13 @@ Abstract Syntax Tree.") (define-public python-rply (package (name "python-rply") - (version "0.7.4") + (version "0.7.5") (source (origin (method url-fetch) (uri (pypi-uri "rply" version)) (sha256 (base32 - "12rp1d9ba7nvd5rhaxi6xzx1rm67r1k1ylsrkzhpwnphqpb06cvj")))) + "0lv428895zxsz43968qx0q9bimwqnfykndz4dpjbq515w2gvzhjh")))) (build-system python-build-system) (propagated-inputs `(("python-appdirs" ,python-appdirs))) @@ -7346,14 +7407,14 @@ concurrent.futures package from Python 3.2") (define-public python-colorama (package (name "python-colorama") - (version "0.3.7") + (version "0.3.9") (source (origin (method url-fetch) (uri (pypi-uri "colorama" version)) (sha256 (base32 - "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0")))) + "1wd1szk0z3073ghx26ynw43gnc140ibln1safgsis6s6z3s25ss8")))) (build-system python-build-system) (synopsis "Colored terminal text rendering for Python") (description "Colorama is a Python library for rendering colored terminal @@ -7449,14 +7510,14 @@ servers.") (define-public python-jmespath (package (name "python-jmespath") - (version "0.9.0") + (version "0.9.3") (source (origin (method url-fetch) (uri (pypi-uri "jmespath" version)) (sha256 (base32 - "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8")))) + "0r7wc7fsxmlwzxx9j1j7rms06c6xs6d4sysirdhz1jk2mb4x90ba")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -8072,21 +8133,22 @@ anymore.") (define-public python2-pathlib2 (package (name "python2-pathlib2") - (version "2.1.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "pathlib2" version)) (sha256 (base32 - "0p050msg5c8d0kadv702jnfshaxrb0il765cpkgnhn6mq5hakcyy")))) + "1cx5gs2v9j2vnzmcrbq5l8fq2mwrr1h6pyf1sjdji2w1bavm09fk")))) (build-system python-build-system) ;; We only need the the Python 2 variant, since for Python 3 our minimum ;; version is 3.4 which already includes this package as part of the ;; standard library. (arguments `(#:python ,python-2)) - (native-inputs - `(("python2-six" ,python2-six))) + (propagated-inputs + `(("python2-scandir" ,python2-scandir) + ("python2-six" ,python2-six))) (home-page "https://pypi.python.org/pypi/pathlib2/") (synopsis "Object-oriented file system paths - backport of standard pathlib module") @@ -8547,12 +8609,12 @@ own code, responding to click events and updating clock every second.") (define-public python-tblib (package (name "python-tblib") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "tblib" version)) (sha256 (base32 - "02iahfkfa927hb4jq2bak36ldihwapzacfiq5lyxg8llwn98a1yi")))) + "1rsg8h069kqgncyv8fgzyj6qflk6j10cb78pa5jk34ixwq044vj3")))) (build-system python-build-system) (arguments `(#:phases @@ -9314,21 +9376,29 @@ etc.") (define-public python-stem (package (name "python-stem") - (version "1.5.4") + (version "1.6.0") (source (origin (method url-fetch) (uri (pypi-uri "stem" version)) (sha256 (base32 - "1j7pnblrn0yr6jmxvsq6y0ihmxmj5x50jl2n2606w67f6wq16j9n")))) + "1va9p3ij7lxg6ixfsvaql06dn11l3fgpxmss1dhlvafm7sqizznp")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'check 'fix-test-environment + (lambda _ + ;; Fixes: FileNotFoundError: [Errno 2] No such file or directory: + ;; '/tmp/guix-build-python-stem-1.6.0.drv-0/stem-1.6.0/.gitignore'. + (with-output-to-file ".gitignore" + (lambda _ (format #t "%"))) + #t)) (replace 'check (lambda _ - (zero? (system* "./run_tests.py" "--unit"))))))) + (invoke "./run_tests.py" "--unit") + #t))))) (native-inputs `(("python-mock" ,python-mock) ("python-pep8" ,python-pep8) @@ -10127,14 +10197,14 @@ network.") (define-public python-xopen (package (name "python-xopen") - (version "0.1.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (pypi-uri "xopen" version)) (sha256 (base32 - "1wx6mylzcsyhjl19ycb83qq6iqpmr927lz62njfsar6ldsj0qcni")) + "0bzjmn3rl1cd3d2q39cjwnkhaspk2b0hfj3rl64pclm44ihg5fb6")) (file-name (string-append name "-" version ".tar.gz")))) (build-system python-build-system) (home-page "https://github.com/marcelm/xopen/") @@ -10362,14 +10432,14 @@ convering text with ANSI color codes to HTML or LaTeX.") (define-public python-ddt (package (name "python-ddt") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (pypi-uri "ddt" version)) (sha256 (base32 - "1c00ikkxr7lha97c81k938bzhgd4pbwamkjn0h4nkhr3xk00zp6n")))) + "1wqkmz0yhanly8sif5vb02p2iik7mwxwph8ywph2kbb8ws8szdpx")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) @@ -10380,8 +10450,9 @@ convering text with ANSI color codes to HTML or LaTeX.") (home-page "https://github.com/txels/ddt") (synopsis "Data-Driven Tests") (description - "DDT (Data-Driven Tests) allows you to multiply one test case by running -it with different test data, and make it appear as multiple test cases.") + "Data-Driven Tests (@dfn{DDT}) allow you to multiply one test case by +running it with different test data, and make it appear as multiple test +cases.") (license license:expat))) (define-public python2-ddt @@ -10944,6 +11015,7 @@ exception message with a traceback that points to the culprit.") ;; The PyPI version wouldn't contain tests. (uri (string-append "https://github.com/mwclient/mwclient/archive/" "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1jj0yhilkjir00719fc7w133x7hdyhkxhk6xblla4asig45klsfv")))) @@ -11093,14 +11165,19 @@ It supports both normal and Unicode strings.") (define-public python-scandir (package (name "python-scandir") - (version "1.4") + (version "1.7") (source (origin (method url-fetch) (uri (pypi-uri "scandir" version)) (sha256 - (base32 "0yjrgp0mxp3d8bjkq2m1ac2ys8n76wykksvgyjrnil9gr3fx7a5d")))) + (base32 "0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj")))) (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "test/run_tests.py")))))) (home-page "https://github.com/benhoyt/scandir") (synopsis "Directory iteration function") (description @@ -11108,7 +11185,9 @@ It supports both normal and Unicode strings.") returning a list of bare filenames, it yields DirEntry objects that include file type and stat information along with the name. Using scandir() increases the speed of os.walk() by 2-20 times (depending on the platform and file -system) by avoiding unnecessary calls to os.stat() in most cases.") +system) by avoiding unnecessary calls to os.stat() in most cases. + +This package is part of the Python standard library since version 3.5.") (license license:bsd-3))) (define-public python2-scandir @@ -11495,6 +11574,48 @@ applying JSON Patches according to RFC 6902.") (define-public python2-jsonpatch-0.4 (package-with-python2 python-jsonpatch-0.4)) +(define-public python-rfc3986 + (package + (name "python-rfc3986") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "rfc3986" version)) + (sha256 + (base32 + "06wlmysw83f75ff84zr1yr6n0shvc2xn1n1sb4iwzqap9hf5fn44")))) + (build-system python-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build python-build-system) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (let ((cwd (getcwd))) + (setenv "PYTHONPATH" + (string-append cwd "/build/" + (find (cut string-prefix? "lib" <>) + (scandir (string-append cwd "/build"))) + ":" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-v"))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://rfc3986.readthedocs.io/") + (synopsis "Parse and validate URI references") + (description + "@code{rfc3986} is a Python implementation of RFC@tie{}3986 including +validation and authority parsing. This module also supports RFC@tie{}6874 +which adds support for zone identifiers to IPv6 addresses.") + (license license:asl2.0))) + +(define-public python2-rfc3986 + (package-with-python2 python-rfc3986)) + (define-public python-rfc3987 (package (name "python-rfc3987") @@ -11960,14 +12081,14 @@ ignoring formatting changes.") (define-public python-tqdm (package (name "python-tqdm") - (version "4.19.5") + (version "4.19.6") (source (origin (method url-fetch) (uri (pypi-uri "tqdm" version)) (sha256 (base32 - "0xvkffm77nqckk29xjy5fkqvig5b97vk7nzafp3cn36w4zqyccnz")))) + "1pw0ngm0zn9papdmkwipi3yih5c3di6d0w849bdmrraq4d2d9h2y")))) (build-system python-build-system) (native-inputs `(("python-flake8" ,python-flake8) @@ -12143,6 +12264,7 @@ executed more than a given number of times during a given period.") (method url-fetch) (uri (string-append "https://github.com/kovidgoyal/dukpy/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pj39rfwlzivqm5hkrsza7gssg6ggpxlq5ivc8f3h7x5pfgc6y6c")))) @@ -12638,7 +12760,6 @@ functions by partial application of operators.") (invoke "py.test")))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-warnings" ,python-pytest-warnings) ("python-whatever" ,python-whatever))) (home-page "http://github.com/Suor/funcy") (synopsis "Functional tools") @@ -12849,3 +12970,81 @@ interpreter. bpython's main features are (("^(\\s+'bpython)(-\\S+)?(\\s+=.*',?)\\s*?$" _ name sub rest) (string-append name "2" (or sub "") rest "\n"))) #t)))))))) + +(define-public python-pyinotify + (package + (name "python-pyinotify") + (version "0.9.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyinotify" version)) + (sha256 + (base32 + "1x3i9wmzw33fpkis203alygfnrkcmq9w1aydcm887jh6frfqm6cw")))) + (build-system python-build-system) + (arguments `(#:tests? #f)) ;no tests + (home-page "https://github.com/seb-m/pyinotify") + (synopsis "Python library for monitoring inotify events") + (description + "@code{pyinotify} provides a Python interface for monitoring +filesystem events on Linux.") + (license license:expat))) + +(define-public python2-pyinotify + (package-with-python2 python-pyinotify)) + +;; Ada parser uses this version. +(define-public python2-quex-0.67.3 + (package + (name "python2-quex") + (version "0.67.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/quex/HISTORY/" + (version-major+minor version) + "/quex-" version ".zip")) + (sha256 + (base32 + "14gv8ll3ipqv4kyc2xiy891nrmjl4ic823zfyx8hassagyclyppw")))) + (build-system python-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:python ,python-2 + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share/quex (string-append out "/share/quex")) + (bin (string-append out "/bin"))) + (copy-recursively "." share/quex) + (mkdir-p bin) + (symlink (string-append share/quex "/quex-exe.py") + (string-append bin "/quex")) + #t)))))) + (native-search-paths + (list (search-path-specification + (variable "QUEX_PATH") + (files '("share/quex"))))) + (home-page "http://quex.sourceforge.net/") + (synopsis "Lexical analyzer generator in Python") + (description "@code{quex} is a lexical analyzer generator in Python.") + (license license:lgpl2.1+))) ; Non-military + +(define-public python2-quex + (package (inherit python2-quex-0.67.3) + (name "python2-quex") + (version "0.68.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/quex/DOWNLOAD/quex-" version ".tar.gz")) + (sha256 + (base32 + "0svc9nla3b9145d6b7fb9dizx412l3difzqw0ilh9lz52nsixw8j")) + (file-name (string-append name "-" version ".tar.gz")))))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 4c4249bb90..a8c2729ee8 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1735,7 +1735,7 @@ contain over 620 classes.") (string-append out "/lib/qt$${QT_MAJOR_VERSION}"))) (invoke "qmake"))))))) (native-inputs `(("qtbase" ,qtbase))) - (home-page "http://www.riverbankcomputing.co.uk/software/qscintilla/intro") + (home-page "https://www.riverbankcomputing.co.uk/software/qscintilla/intro") (synopsis "Qt port of the Scintilla C++ editor control") (description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control. QScintilla includes features especially useful when editing diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index e6fcfe304c..1294149609 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,7 +29,7 @@ (define-public re2 (package (name "re2") - (version "2018-02-01") + (version "2018-03-01") (source (origin (method url-fetch) (uri @@ -39,7 +39,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1131hwgid76la15hh2g15gj20fzz8iq3krniwks6wxn9h4q87ay8")))) + "0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b15e1a2717..ee5d20955c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages java) #:use-module (gnu packages libffi) + #:use-module (gnu packages networking) #:use-module (gnu packages python) #:use-module (gnu packages ragel) #:use-module (gnu packages tls) @@ -280,6 +281,62 @@ an extensible architecture with a swappable backend.") (home-page "https://github.com/svenfuchs/i18n") (license license:expat))) +(define-public ruby-iruby + (package + (name "ruby-iruby") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "iruby" version)) + (sha256 + (base32 + "1wdf2c0x8y6cya0n3y0p3p7b1sxkb2fdavdn2k58rf4rs37s7rzn")))) + (build-system ruby-build-system) + (arguments + ;; TODO: Tests currently fail. + ;; + ;; Finished in 1.764405s, 1.1335 runs/s, 5.1009 assertions/s. + ;; + ;; 1) Failure: + ;; IntegrationTest#test_interaction [/tmp/guix-build-ruby-iruby-0.3.drv-0/gem/test/integration_test.rb:25]: + ;; In [ expected + ;; + ;; 2 runs, 9 assertions, 1 failures, 0 errors, 0 skips + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ipython + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/iruby/command.rb" + (("version = `") + (string-append + "version = `" + (assoc-ref inputs "python-ipython") + "/bin/")) + (("Kernel\\.exec\\('") + (string-append + "Kernel.exec('" + (assoc-ref inputs "python-ipython") + "/bin/"))) + #t))))) + (inputs + `(("python-ipython" ,python-ipython))) + (propagated-inputs + `(("ruby-bond" ,ruby-bond) + ("ruby-data_uri" ,ruby-data_uri) + ("ruby-mimemagic" ,ruby-mimemagic) + ("ruby-multi-json" ,ruby-multi-json) + ("ruby-cztop" ,ruby-cztop) + ;; Optional inputs + ("ruby-pry" ,ruby-pry))) + (synopsis "Ruby kernel for Jupyter/IPython") + (description + "This package provides a Ruby kernel for Jupyter/IPython frontends (e.g. +notebook).") + (home-page "https://github.com/SciRuby/iruby") + (license license:expat))) + ;; RSpec is the dominant testing library for Ruby projects. Even RSpec's ;; dependencies use RSpec for their test suites! To avoid these circular ;; dependencies, we disable tests for all of the RSpec-related packages. @@ -635,6 +692,84 @@ format.") (home-page "https://github.com/nicksieger/ci_reporter") (license license:expat))) +(define-public ruby-czmq-ffi-gen + (package + (name "ruby-czmq-ffi-gen") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "czmq-ffi-gen" version)) + (sha256 + (base32 + "1yf719dmf4mwks1hqdsy6i5kzfvlsha69sfnhb2fr2cgk2snbys3")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f ;; Tests are not included in the release on rubygems.org + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-lib_dirs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/czmq-ffi-gen/czmq/ffi.rb" + (("lib\\_dirs = \\[.*\\]") + (string-append "lib_dirs = ['" + (assoc-ref inputs "czmq") "/lib" + "']"))) + (substitute* "lib/czmq-ffi-gen/libzmq.rb" + (("lib\\_dirs = \\[.*\\]") + (string-append "lib_dirs = ['" + (assoc-ref inputs "zeromq") "/lib" + "']")))))))) + (inputs + `(("zeromq" ,zeromq) + ("czmq" ,czmq))) + (propagated-inputs `(("ruby-ffi" ,ruby-ffi))) + (synopsis "Low-level Ruby bindings for CZMQ (generated using zproject)") + (description + "These Ruby bindings are not intended to be directly used, but rather +used by higher level bindings like those provided by CZTop.") + (home-page + "https://github.com/paddor/czmq-ffi-gen") + (license license:isc))) + +(define-public ruby-cztop + (package + (name "ruby-cztop") + (version "0.12.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "cztop" version)) + (sha256 + (base32 + "0yqbpaiw5d7f271d73lyrsh8xpx6n4zi6xqwfgi00dacxrq3s3fa")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-lib_paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/cztop/poller/zmq.rb" + (("lib\\_paths = \\[.*\\]") + (string-append "lib_paths = ['" + (assoc-ref inputs "zeromq") "/lib" + "']")))))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (inputs + `(("zeromq" ,zeromq))) + (propagated-inputs + `(("ruby-czmq-ffi-gen" ,ruby-czmq-ffi-gen))) + (synopsis "CZMQ Ruby bindings") + (description + "CZMQ Ruby bindings, based on the generated low-level FFI bindings of +CZMQ. The focus of of CZTop is on being easy to use and providing first class +support for security mechanisms.") + (home-page "https://github.com/paddor/cztop") + (license license:isc))) + (define-public ruby-saikuro-treemap (package (name "ruby-saikuro-treemap") @@ -1094,6 +1229,30 @@ features.") (home-page "https://github.com/chneukirchen/bacon") (license license:expat))) +(define-public ruby-bacon-bits + (package + (name "ruby-bacon-bits") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "bacon-bits" version)) + (sha256 + (base32 + "1ghpj8ja94lhi8rgi872hqk4fd2amz2k7g9znd64z5dj7v6l0dmx")))) + (build-system ruby-build-system) + (arguments + ;; No tests + '(#:tests? #f)) + (propagated-inputs `(("ruby-bacon" ,ruby-bacon))) + (synopsis "Extensions to Bacon, for disabling tests, before and after +blocks and more") + (description + "This extends the bacon testing framework with useful extensions to +disable tests, have before and after blocks that run once and more.") + (home-page "https://github.com/cldwalker/bacon-bits") + (license license:expat))) + (define-public ruby-connection-pool (package (name "ruby-connection-pool") @@ -1337,6 +1496,34 @@ as a base class when writing classes that depend upon (home-page "https://github.com/masover/blankslate") (license license:expat))) +(define-public ruby-bond + (package + (name "ruby-bond") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "bond" version)) + (sha256 + (base32 + "1r19ifc4skyl2gxnifrxa5jvbbay9fb2in79ppgv02b6n4bhsw90")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-bacon" ,ruby-bacon) + ("ruby-bacon-bits" ,ruby-bacon-bits) + ("ruby-mocha-on-bacon" ,ruby-mocha-on-bacon))) + (synopsis "Bond can provide custom autocompletion for arguments, methods +and more") + (description + "Bond can autocomplete argument(s) to methods, uniquely completing per +module, per method and per argument. Bond provides a configuration system and +a DSL for creating custom completions and completion rules. Bond can also +load completions that ship with gems. Bond is able to offer more than irb's +completion since it uses the full line of input when completing as opposed to +irb's last-word approach.") + (home-page "http://tagaholic.me/bond/") + (license license:expat))) + (define-public ruby-instantiator (package (name "ruby-instantiator") @@ -1502,6 +1689,30 @@ allows mocking and stubbing of methods on real (non-mock) classes.") (home-page "http://gofreerange.com/mocha/docs") (license license:expat))) +(define-public ruby-mocha-on-bacon + (package + (name "ruby-mocha-on-bacon") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "mocha-on-bacon" version)) + (sha256 + (base32 + "1h49b33rq889hn8x3wp9byczl91va16jh1w4d2wyy4yj23icdrcp")))) + (build-system ruby-build-system) + (arguments + ;; rubygems.org release missing tests + '(#:tests? #f)) + (propagated-inputs `(("ruby-mocha" ,ruby-mocha))) + (synopsis "Mocha adapter for Bacon") + (description + "This package provides a Mocha adapter for Bacon, allowing you to use the +Mocha stubbing and mocking library with Bacon, a small RSpec clone.") + (home-page + "https://github.com/alloy/mocha-on-bacon") + (license license:expat))) + (define-public ruby-net-ssh (package (name "ruby-net-ssh") @@ -1810,6 +2021,26 @@ run as a daemon and to be controlled by simple start/stop/restart commands.") (home-page "https://github.com/thuehlinger/daemons") (license license:expat))) +(define-public ruby-data_uri + (package + (name "ruby-data_uri") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "data_uri" version)) + (sha256 + (base32 + "0fzkxgdxrlbfl4537y3n9mjxbm28kir639gcw3x47ffchwsgdcky")))) + (build-system ruby-build-system) + (synopsis "URI class for parsing data URIs") + (description + "Data @acronym{URI, universal resource idenfitier}s allow resources to be +embedded inside a URI. The URI::Data class provides support for parsing these +URIs using the normal URI.parse method.") + (home-page "https://github.com/dball/data_uri") + (license license:expat))) + (define-public ruby-git (package (name "ruby-git") @@ -3328,6 +3559,33 @@ that TURN is no longer being maintained.") (home-page "http://rubygems.org/gems/turn") (license license:expat))) +(define-public ruby-mimemagic + (package + (name "ruby-mimemagic") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "mimemagic" version)) + (sha256 + (base32 + "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; This phase breaks the tests, as it patches some of the test data. + (delete 'patch-source-shebangs)))) + (native-inputs + `(("ruby-bacon" ,ruby-bacon))) + (synopsis "Ruby library for MIME detection by extension or content") + (description + "@acronym{MIME, Multipurpose Internet Mail Extensions} detection by +extension or content, using the freedesktop.org.xml shared-mime-info +database.") + (home-page "https://github.com/minad/mimemagic") + (license license:expat))) + (define-public ruby-mime-types-data (package (name "ruby-mime-types-data") diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 5ea7858a89..d7ae5715ff 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -148,14 +148,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.7.5") + (version "4.7.6") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "13gyr0sk9vx6mccr2h35ca3g92kp50cqxrlzfgrddfmskzx08v9i")))) + "0vkxqp3wh7bpn1fd45lznmrpn2ma1fq75yq28vi08rggr07y7v8y")))) (build-system gnu-build-system) (arguments `(#:phases @@ -338,14 +338,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "1lnbcazm1kqqcc7syy0xbq9srhbylkqhpsmsbsm4c3xfangjr7xi")))) + "1avn4fl393kc80krbc47phbp0argdkys62ycs8vm934a6nvz0gnf")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index a3b3d3d857..4eced74f22 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -51,7 +51,7 @@ `(("makeinfo" ,texinfo) ("pkg-config" ,pkg-config) - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool))) (inputs diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 8947509cb1..657ca875d5 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -519,7 +519,7 @@ of libraries.") (define-public gambit-c (package (name "gambit-c") - (version "4.8.8") + (version "4.8.9") (source (origin (method url-fetch) @@ -529,7 +529,7 @@ of libraries.") (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) ".tgz")) (sha256 - (base32 "1plw1id94mpg2c4y6q9z39ndcz1hbxfnp3i08szsg6794rasmgkk")))) + (base32 "16sg1s8myzxqpimj5ry6lfza0qfs157zj28bvmxwwgy89jd9m5v7")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm index 331425d98f..6d05470101 100644 --- a/gnu/packages/sdcc.scm +++ b/gnu/packages/sdcc.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven <david@craven.ch> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ (define-public sdcc (package (name "sdcc") - (version "3.6.0") + (version "3.7.0") (source (origin (method url-fetch) (uri (string-append @@ -38,7 +39,7 @@ "/" version "/sdcc-src-" version ".tar.bz2")) (sha256 (base32 - "0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8")))) + "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -59,10 +60,10 @@ #t))))) (home-page "http://sdcc.sourceforge.net") (synopsis "Small devices C compiler") - (description "SDCC is a retargettable, optimizing Standard C compiler suite -that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, ...), + (description "SDCC is a retargetable, optimizing Standard C compiler suite +that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) -HC08 based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit +HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. Work is in progress on supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for other microprocessors.") diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index c56e5d94c8..222fd5b6f1 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -99,7 +99,7 @@ joystick, and graphics hardware.") (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.7") + (version "2.0.8") (source (origin (method url-fetch) (uri @@ -107,7 +107,7 @@ joystick, and graphics hardware.") version ".tar.gz")) (sha256 (base32 - "0pjdpxla5kh1w1b0shxrx97a116vyy31njxi0jhyvqhk8d6cfdgf")))) + "1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 1479d1bbbb..a719819927 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -137,7 +137,7 @@ rich set of boolean query operators.") "-Wl,-rpath=../src/.libs"))) (zero? (system* "make")) (zero? (system* "./libtocctests"))))))))) - (home-page "http://t-o-c-c.com/") + (home-page "https://t-o-c-c.com/") (synopsis "Tool for Obsessive Compulsive Classifiers") (description "libtocc is the engine of the Tocc project, a tag-based file management @@ -161,7 +161,7 @@ files and directories.") (add-after 'unpack 'chdir-source (lambda _ (chdir "cli/src")))))) - (home-page "http://t-o-c-c.com/") + (home-page "https://t-o-c-c.com/") (synopsis "Command-line interface to libtocc") (description "Tocc is a tag-based file management system. This package contains the diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 8df4841eae..9bbac3ac22 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -70,7 +70,8 @@ (lambda _ (substitute* "doc/doxygen.in" (("@CMAKE_CURRENT_SOURCE_DIR@") ".")) - (zero? (system* "doxygen" "doc/doxygen.in")))) + (invoke "doxygen" "doc/doxygen.in") + #t)) ;; There is no "install" target, so we have to provide our own ;; "install" phase. (replace 'install @@ -131,8 +132,9 @@ such as compact binary encodings, XML, or JSON.") (modify-phases %standard-phases (add-after 'unpack 'autoconf (lambda _ - (system* "autoreconf" "-vfi")))))) - (home-page "http://www.msgpack.org") + (invoke "autoreconf" "-vfi") + #t))))) + (home-page "https://www.msgpack.org") (synopsis "Binary serialization library") (description "Msgpack is a library for C/C++ that implements binary serialization.") diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index f4a38b8779..685f6d2df4 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -300,6 +300,8 @@ history mechanism, job control and a C-like syntax.") (string-append "http://www.zsh.org/pub/old/zsh-" version ".tar.gz"))) + (patches (search-patches "zsh-CVE-2018-7548.patch" + "zsh-CVE-2018-7549.patch")) (sha256 (base32 "1jdcfinzmki2w963msvsanv29vqqfmdfm4rncwpw0r3zqnrcsywm")))) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 58450e6a3e..fb3b11ba2d 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -69,6 +69,7 @@ (uri (git-reference (url "https://anongit.freedesktop.org/git/spice/usbredir.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "052fywgi72j68dr5ybldncg4vk8iqfrh58la7iazyxxpph9aag1g")))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index b439094c26..d7b1897051 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 ng0 <ng0@n0.is> @@ -408,7 +408,7 @@ TCP, not the SSH protocol.") (define-public dropbear (package (name "dropbear") - (version "2017.75") + (version "2018.76") (source (origin (method url-fetch) (uri (string-append @@ -416,9 +416,9 @@ TCP, not the SSH protocol.") name "-" version ".tar.bz2")) (sha256 (base32 - "1309cm2aw62n9m3h38prvgsqr8bj85hfasgnvwkd42cp3k5ivg3c")))) + "0rgavbzw7jrs5wslxm0dnwx2m409yzxd9hazd92r7kx8xikr3yzj")))) (build-system gnu-build-system) - (arguments `(#:tests? #f)) ; There is no "make check" or anything similar + (arguments `(#:tests? #f)) ; there is no "make check" or anything similar (inputs `(("zlib" ,zlib))) (synopsis "Small SSH server and client") (description "Dropbear is a relatively small SSH server and diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 70ea5fe9e2..28a364ebd5 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,14 +81,14 @@ fundamental object types for C.") (define-public sssd (package (name "sssd") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (string-append "http://releases.pagure.org/SSSD/sssd/" "sssd-" version ".tar.gz")) (sha256 (base32 - "03wllgbxxz2zv14dcqr8d2xssppi7ibckh0rlky8gvsw6vjsd0f5")))) + "0vjh1c5960wh86zjsamdjhljls7bb5fz5jpcazgzrpmga5w6ggrd")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c1012a635b..78afb77a8b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -32,11 +32,14 @@ #:use-module (guix hg-download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system ant) #:use-module (guix build-system gnu) #:use-module (guix build-system r) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cran) @@ -170,21 +173,15 @@ be output in text, PostScript, PDF or HTML.") ;; queries the mtime of a given file and records it in an object. ;; This is acceptable at runtime to detect stale source files, ;; but it destroys reproducibility at build time. - ;; - ;; Instead of disabling this feature, which may have unexpected - ;; consequences, we reset the mtime of generated files before - ;; passing them to the "srcfile" procedure. - (substitute* "src/library/Makefile.in" - (("@\\(cd base && \\$\\(MAKE\\) mkdesc\\)" line) - (string-append line "\n find $(top_builddir)/library/tools | xargs touch -d '1970-01-01'; \n")) - (("@\\$\\(MAKE\\) Rdobjects" line) - (string-append "@find $(srcdir)/tools | xargs touch -d '1970-01-01'; \n " - line))) - (substitute* "src/library/tools/Makefile.in" - (("@\\$\\(INSTALL_DATA\\) all.R \\$\\(top_builddir\\)/library/\\$\\(pkg\\)/R/\\$\\(pkg\\)" line) - (string-append - line - "\n find $(srcdir)/$(pkg) $(top_builddir)/library/$(pkg) | xargs touch -d \"1970-01-01\"; \n"))) + + ;; Similarly, the "srcfilecopy" procedure records the current + ;; time. We change both of them to respect SOURCE_DATE_EPOCH. + (substitute* "src/library/base/R/srcfile.R" + (("timestamp <- (timestamp.*|file.mtime.*)" _ time) + (string-append "timestamp <- \ +as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ + as.numeric(Sys.getenv(\"SOURCE_DATE_EPOCH\"))\ +} else { " time "}, origin=\"1970-01-01\")\n"))) ;; This library is installed using "install_package_description", ;; so we need to pass the "builtStamp" argument. @@ -265,6 +262,9 @@ be output in text, PostScript, PDF or HTML.") ("libxt" ,libxt) ("pcre" ,pcre) ("readline" ,readline) + ;; This avoids a reference to the ungraftable static bash. R uses the + ;; detected shell for the "system" procedure. + ("bash" ,bash-minimal) ("which" ,which) ("zlib" ,zlib))) (native-search-paths @@ -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-48") + (version "7.3-49") (source (origin (method url-fetch) (uri (cran-uri "MASS" version)) (sha256 (base32 - "02q95ba909p2gxnzfp295ipxjnv14f7bm55nicxwn2kj8hizpzqd")))) + "1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs")))) (properties `((upstream-name . "MASS"))) (build-system r-build-system) (home-page "http://www.stats.ox.ac.uk/pub/MASS4/") @@ -554,14 +554,14 @@ single hidden layer, and for multinomial log-linear models.") (define-public r-rpart (package (name "r-rpart") - (version "4.1-12") + (version "4.1-13") (source (origin (method url-fetch) (uri (cran-uri "rpart" version)) (sha256 (base32 - "177p03w4m0qshb3sqkdyixim3f44g2an31v3vlbjmpzjvd5ff6yq")))) + "0k29qx3k3pj5sgrpg0p47yd8i811rmdakaw57bigpq1449asc4cf")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/rpart") (synopsis "Recursive partitioning and regression trees") @@ -939,14 +939,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "122im5m8x9bqpahc0hbxmvdq6hnsmgnxwwyjpvbihyv2jq5kd44m")))) + "0nck1s2iglmkrn15ay2chrrwsy5lngcylz2sc87fxy5skxaahxdl")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1098,20 +1098,21 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "103wnc8sq0iwcnj4j14hd420d2dqdyf13s3f25icsznrlyzdkhf5")))) + "122k9spymawfnfyksxyapwq9cigydy5nrjwhrwrhy3qkax3aycf6")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp) ("pkg-config" ,pkg-config))) (inputs - `(("cairo" ,cairo))) + `(("cairo" ,cairo) + ("zlib" ,zlib))) (propagated-inputs `(("r-withr" ,r-withr))) (home-page "https://cran.r-project.org/web/packages/gdtools") @@ -1187,13 +1188,13 @@ evaluation (NSE) in R.") (define-public r-dbi (package (name "r-dbi") - (version "0.7") + (version "0.8") (source (origin (method url-fetch) (uri (cran-uri "DBI" version)) (sha256 (base32 - "04fyrxdpqcygg5wviy637y6lgk64xqjjq31lvv4hwqj5kbaxamr5")))) + "16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym")))) (build-system r-build-system) (home-page "https://github.com/rstats-db/DBI") (synopsis "R database interface") @@ -1330,13 +1331,13 @@ syntax that can be converted to XHTML or other formats.") (define-public r-yaml (package (name "r-yaml") - (version "2.1.16") + (version "2.1.17") (source (origin (method url-fetch) (uri (cran-uri "yaml" version)) (sha256 (base32 - "1xlsmqal607w6c9rx86061y1fwpbyd5lqp9bad5n7cc9a0blpnkm")))) + "10y6wnv2v8k396far29haqv2s82p4zm04rrsxk183wg19gb51was")))) (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") @@ -2232,14 +2233,14 @@ collation, and NAMESPACE files.") (define-public r-openssl (package (name "r-openssl") - (version "1.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "openssl" version)) (sha256 (base32 - "1j8smqrb79lnaf2n9icksjiy641fcazsbkhmgg916s3nnyjngjz3")))) + "1qyql5gpwf88bkm1qarjhbqbq4hn6w0d8j4pxb5x7i96is30ap30")))) (build-system r-build-system) (inputs `(("libressl" ,libressl))) @@ -2481,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.300.1.0") + (version "0.8.400.0.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0p6cbnwxgzigf7n5qhqvxdr3nd3pq3c2qq6pskqz7avzf813fy83")))) + "11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (native-inputs @@ -2575,14 +2576,14 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 (base32 - "0q1y1qx87xp6vf9h7mfl77rqhmd01xl53l9ap9qj99bfvpabb572")))) + "0wq6kbhrkv3fhcy4hg5yyv9gdvf8gr4nsjwdifs4ih8lnn0dmdyb")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2595,7 +2596,11 @@ certain criterion, e.g., it contains a certain regular file.") ("r-rprojroot" ,r-rprojroot) ("r-stringr" ,r-stringr) ("r-yaml" ,r-yaml) - ("ghc-pandoc" ,ghc-pandoc))) + ;; rmarkdown works with the 2.x release of Pandoc, but with degraded + ;; functionality. For example, tabbed plots do not currently work with + ;; Pandoc 2. The authors of rmarkdown recommend the use of Pandoc 1 + ;; for the time being. + ("ghc-pandoc" ,ghc-pandoc-1))) (home-page "http://rmarkdown.rstudio.com") (synopsis "Convert R Markdown documents into a variety of formats") (description @@ -2811,6 +2816,19 @@ plotted and compared with the asymptotic curve.") "0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x")))) (properties `((upstream-name . "lambda.r"))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'check 'delete-test-log + ;; The test report contains time stamps and is not important for + ;; the installed package. + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/site-library/lambda.r/unitTests")) + #t))))) + (native-inputs + `(("r-runit" ,r-runit))) (home-page "https://cran.r-project.org/web/packages/lambda.r") (synopsis "Functional programming extension for R") (description @@ -3315,20 +3333,20 @@ memory-mapped files.") (define-public r-nmf (package (name "r-nmf") - (version "0.20.6") + (version "0.21.0") (source (origin (method url-fetch) (uri (cran-uri "NMF" version)) (sha256 (base32 - "0mmh9bz0zjwd8h9jplz4rq3g94npaqj8s4px51vcv47csssd9k6z")))) + "1qq25n3k5sgh3srlshb3ic6q92s12c1ilqf5cd5anvq6cqfchc1v")))) (properties `((upstream-name . "NMF"))) (build-system r-build-system) (propagated-inputs `(("r-cluster" ,r-cluster) - ("r-bigmemory" ,r-bigmemory) - ("r-synchronicity" ,r-synchronicity) + ("r-bigmemory" ,r-bigmemory) ; suggested + ("r-synchronicity" ,r-synchronicity) ; suggested ("r-colorspace" ,r-colorspace) ("r-digest" ,r-digest) ("r-doparallel" ,r-doparallel) @@ -3577,14 +3595,14 @@ the 'lite' version of the more complete @code{viridis} package.") (define-public r-tidyselect (package (name "r-tidyselect") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (cran-uri "tidyselect" version)) (sha256 (base32 - "0b0w30yq30c7bwpaghp3hp0nncqwcmvrra9j58fhx9jihay3l68c")))) + "1592dbzawhd1hpsp9919l4sifyiaaj6xr7lnhsbwa6jwmmb0xcsw")))) (build-system r-build-system) (propagated-inputs `(("r-glue" ,r-glue) @@ -4011,14 +4029,14 @@ existing packages provide.") (define-public r-sfsmisc (package (name "r-sfsmisc") - (version "1.1-1") + (version "1.1-2") (source (origin (method url-fetch) (uri (cran-uri "sfsmisc" version)) (sha256 (base32 - "0jzmbywlyzfxs7hlmyd0iynghfc9qp5sa5lnhr73y8r360yv1ahf")))) + "0cgq2h11ngkzd6p34k6mqjnvlvc5vj4lnqrl64k05lb391j391w0")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") @@ -4039,6 +4057,14 @@ Zurich, including many that are related to graphics.") (base32 "1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6")))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-deterministic + (lambda _ + (substitute* "R/checkReverseDependencies.R" + (("tempdir\\(\\)") "\"/tmp\"")) + #t))))) (home-page "https://cran.r-project.org/web/packages/gtools") (synopsis "Various R programming tools") (description @@ -4882,27 +4908,6 @@ functions apply. The implementation can easily be added to functions where showing the progress is useful e.g. bootstrap.") (license license:gpl2))) -(define-public r-fnn - (package - (name "r-fnn") - (version "1.1") - (source - (origin - (method url-fetch) - (uri (cran-uri "FNN" version)) - (sha256 - (base32 - "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj")))) - (properties `((upstream-name . "FNN"))) - (build-system r-build-system) - (home-page "https://cran.r-project.org/web/packages/FNN") - (synopsis "Fast nearest neighbor search algorithms and applications") - (description - "This package provides cover-tree and kd-tree fast k-nearest neighbor -search algorithms and related applications including KNN classification, -regression and information measures.") - (license license:gpl2+))) - (define-public r-minqa (package (name "r-minqa") @@ -5356,14 +5361,14 @@ is supported.") (define-public r-lubridate (package (name "r-lubridate") - (version "1.7.2") + (version "1.7.3") (source (origin (method url-fetch) (uri (cran-uri "lubridate" version)) (sha256 (base32 - "0k417a1xp5gxf77ycbnx5apzpc5d25sjm83ss7wmqpbnhnr5dcav")))) + "1pzkqfiahnsdm3zx46asgn8fw43vlxvbh7r4cn70c7ffmxabzzrc")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -5445,6 +5450,7 @@ manually \"recoding\").") (uri (hg-reference (url "https://bitbucket.org/tanaylab/tgstat") (changeset changeset))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0ilkkyximy77zbncm91kdfqbxf0qyndg16pd3q3p6a3xc9qcmxvn")))) @@ -5479,6 +5485,7 @@ tools.") (uri (hg-reference (url "https://bitbucket.org/tanaylab/tgconfig") (changeset changeset))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0xy6c7s7mn1yx191154bwbv1bl424bnvc80syqpl1vdl28ba46rj")))) @@ -5539,3 +5546,72 @@ inferring an appropriate positioning method.") (description "Did you ever wish you could make scatter plots with cat shaped points? Now you can!") (license license:asl2.0)))) + +(define-public r-colorout + (package + (name "r-colorout") + (version "1.2-0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jalvesaq/colorout/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07vqx5ihgnq4dzn5jnfjfhdm3957v4prvf8vhnb3cwvlly4l7p9v")))) + (build-system r-build-system) + (home-page "https://github.com/jalvesaq/colorout") + (synopsis "Colorize output in the R REPL") + (description "@code{colorout} is an R package that colorizes R output when +running in terminal emulator. + +R STDOUT is parsed and numbers, negative numbers, dates in the standard +format, strings, and R constants are identified and wrapped by special ANSI +scape codes that are interpreted by terminal emulators as commands to colorize +the output. R STDERR is also parsed to identify the expressions warning and +error and their translations to many languages. If these expressions are +found, the output is colorized accordingly; otherwise, it is colorized as +STDERROR (blue, by default). + +You can customize the colors according to your taste, guided by the color +table made by the command @code{show256Colors()}. You can also set the colors +to any arbitrary string. In this case, it is up to you to set valid values.") + (license license:gpl3+))) + +(define-public java-jdistlib + (package + (name "java-jdistlib") + (version "0.4.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/jdistlib/jdistlib-" + version "-src.jar")) + (sha256 + (base32 + "1pkj8aahw9ydr1isbaqrkd05nvq98ik5jwwhf3yf3rky3z869v11")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jdistlib.jar" + #:jdk ,icedtea-8 + #:tests? #f ; no dedicated test directory + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-broken-encoding + (lambda _ + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* "src/jdistlib/Beta.java" + (("Scheff.+-Tukey") "Scheffe-Tukey"))) + #t))))) + (propagated-inputs + `(("java-jtransforms" ,java-jtransforms))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "http://jdistlib.sourceforge.net/") + (synopsis "Java library of statistical distributions") + (description "JDistlib is the Java Statistical Distribution Library, a +Java package that provides routines for various statistical distributions.") + ;; The files that were translated from R code are under GPLv2+; some files + ;; are under the GPLv3, which is a mistake. The author confirmed in an + ;; email that this whole project should be under GPLv2+. + (license license:gpl2+))) diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index bee349f6f6..54d91c1f3c 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; ;;; This file is part of GNU Guix. @@ -29,6 +29,7 @@ #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) @@ -36,6 +37,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages gperf) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -50,18 +52,18 @@ (define-public ceph (package (name "ceph") - (version "12.0.2") + (version "12.2.4") (source (origin (method url-fetch) (uri (string-append "https://download.ceph.com/tarballs/ceph-" version ".tar.gz")) (sha256 (base32 - "0l9v072ba28i984y5rwny9i11nmpyx5bl7awxg48plyadm2l3g14")) + "13hv8scaxc1gdvrhzbfnsk4yy3pla6n1i4j4j4zf7schmbf0j8mp")) (patches (search-patches "ceph-skip-unittest_blockdev.patch" "ceph-skip-collect-sys-info-test.patch" - "ceph-disable-unittest-throttle.patch" + "ceph-rocksdb-compat.patch" "ceph-disable-cpu-optimizations.patch")) (modules '((guix build utils))) (snippet @@ -74,7 +76,6 @@ ;"src/xxHash" ;"src/zstd" ;"src/civetweb" - ;"src/Beast" "src/test/downloads" "src/dpdk" "src/spdk" @@ -105,6 +106,7 @@ "-DWITH_SYSTEM_BOOST=ON" "-DWITH_PYTHON3=ON" ;; TODO: Enable these when available in Guix. + "-DWITH_BABELTRACE=OFF" "-DWITH_LTTNG=OFF" "-DWITH_XFS=OFF" "-DWITH_XIO=OFF" @@ -114,6 +116,7 @@ ;; <https://bugs.gnu.org/29674> for details. Disable tests until ;; resolved. #:tests? #f + #:cmake ,cmake-3.11 #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source @@ -152,21 +155,17 @@ (substitute* "src/test/test_subprocess.cc" (("/bin/sh") (which "sh"))) - (substitute* "src/test/ceph_objectstore_tool.py" + (substitute* "qa/standalone/special/ceph_objectstore_tool.py" (("/bin/rm") (which "rm"))) (substitute* "src/ceph-disk/ceph_disk/main.py" (("/bin/mount") "mount") (("/bin/umount") "umount") (("/sbin/blkid") (which "blkid")) + (("'cryptsetup'") (string-append "'" (which "cryptsetup") "'")) (("'sgdisk'") (string-append "'" (which "sgdisk") "'")) (("'parted'") (string-append "'" (which "parted") "'")) (("'udevadm'") (string-append "'" (which "udevadm") "'"))) - (substitute* "src/ceph-disk-udev" - (("/sbin/cryptsetup") (which "cryptsetup")) - (("/usr/sbin/sgdisk") (which "sgdisk")) - (("/usr/sbin/ceph-disk") - (string-append out "/bin/ceph-disk"))) (substitute* "udev/50-rbd.rules" (("/usr/bin/ceph-rbdnamer") (string-append out "/bin/ceph-rbdnamer"))) @@ -263,23 +262,31 @@ (getenv "PYTHONPATH"))) #t))) (add-after 'install 'wrap-python-scripts - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (ceph (string-append out "/bin/ceph")) (ceph-disk (string-append out "/bin/ceph-disk")) (ceph-detect-init (string-append out "/bin/ceph-detect-init")) - (PYTHONPATH (string-append - out "/lib/python2.7/site-packages"))) + (prettytable (assoc-ref inputs "python2-prettytable")) + + (sitedir (lambda (package) + (string-append package + "/lib/python2.7/site-packages"))) + (PYTHONPATH (string-append + (sitedir out) ":" + (sitedir prettytable)))) (for-each (lambda (executable) (wrap-program executable `("PYTHONPATH" ":" prefix (,PYTHONPATH)))) - (list ceph-disk ceph-detect-init)) + (list ceph ceph-disk ceph-detect-init)) #t)))))) (outputs '("out" "lib")) (native-inputs - `(("pkg-config" ,pkg-config) + `(("gperf" ,gperf) + ("pkg-config" ,pkg-config) ("python-cython" ,python-cython) ("python-sphinx" ,python-sphinx) ("yasm" ,yasm) @@ -310,7 +317,7 @@ ("python2-testtools" ,python2-testtools) ("python2-tox" ,python2-tox))) (inputs - `(("boost" ,boost) + `(("boost" ,boost-1.66) ("curl" ,curl) ("cryptsetup" ,cryptsetup) ("expat" ,expat) @@ -329,6 +336,7 @@ ("nss" ,nss) ("parted" ,parted) ("python@2" ,python-2) + ("python2-prettytable" ,python2-prettytable) ;used by ceph_daemon.py ("python@3" ,python-3) ("rocksdb" ,rocksdb) ("snappy" ,snappy) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 8a5f158878..c343b42274 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -564,7 +564,7 @@ environment variable.") (define-public fortify-headers (package (name "fortify-headers") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) @@ -572,7 +572,7 @@ environment variable.") name "-" version ".tar.gz")) (sha256 (base32 - "1cacdczpjb49c4i1168g541wnl3i3gbpv2m2wbnmw5wddlyhgkdg")))) + "1z517ajy34l2k5lz2gvhbmia9xjgagffi4s22azqxnlmgb1g2xfg")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f5e5bb85be..6c3792b92f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -28,7 +28,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.44") + (version "0.14.45") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -36,7 +36,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0fxq52w1b05928xp0a333rg23fabj0nykgg7v4gz01f3vrxyydi1")) + "0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet @@ -110,8 +110,6 @@ (inputs `(("go-github-com-audriusbutkevicius-cli" ,go-github-com-audriusbutkevicius-cli) - ("go-github-com-xtaci-kcp-go" - ,go-github-com-xtaci-kcp-go) ("go-github-com-audriusbutkevicius-go-nat-pmp" ,go-github-com-audriusbutkevicius-go-nat-pmp) ("go-github-com-audriusbutkevicius-pfilter" @@ -119,8 +117,6 @@ ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4) ("go-github-com-calmh-du" ,go-github-com-calmh-du) ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr) - ("go-github-com-ccding-go-stun" - ,go-github-com-ccding-go-stun) ("go-github-com-prometheus-union" ,(go-github-com-prometheus-union)) ("go-github-com-chmduquesne-rollinghash-adler32" ,go-github-com-chmduquesne-rollinghash-adler32) @@ -137,12 +133,12 @@ ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) ("go-github-com-oschwald-geoip2-golang" ,go-github-com-oschwald-geoip2-golang) + ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics) ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock) ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb) ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture) ("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union)) - ("go-github-com-xtaci-smux" ,go-github-com-xtaci-smux) ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union)) ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union)) ("go-golang-org-x-text" ,(go-golang-org-x-text-union)) @@ -1526,31 +1522,6 @@ virtual connections from a single physical connection.") (home-page "https://github.com/AudriusButkevicius/pfilter") (license expat)))) -(define-public go-github-com-ccding-go-stun - (let ((commit "d9bbe8f8fa7bf7ed03e6cfc6a2796bb36139e1f4") - (revision "1")) - (package - (name "go-github-com-ccding-go-stun") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ccding/go-stun.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04a4q69cmw6snlx54wikyj1y6gk94qzm9xv9als17inmj8z60xv7")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/ccding/go-stun")) - (synopsis "STUN client implementation") - (description "Go-stun is a go implementation of the STUN client (RFC 3489 -and RFC 5389).") - (home-page "https://github.com/ccding/go-stun") - (license asl2.0)))) - (define-public go-github-com-chmduquesne-rollinghash-adler32 (let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb") (revision "1")) @@ -1577,97 +1548,6 @@ rolling hash.") (home-page "https://github.com/chmduquesne/rollinghash") (license expat)))) -(define-public go-github-com-xtaci-kcp-go - (let ((commit "86eebd5cadb519b7c9306082c7eb3bcee2c49a7b") - (revision "0")) - (package - (name "go-github-com-xtaci-kcp-go") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/xtaci/kcp-go") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1mdfsya4y04nycfgsk9ghm67zpim5pw78si3f1566xgrv4ghl0ni")))) - (build-system go-build-system) - (propagated-inputs - `(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4) - ("go-github-com-klauspost-reedsolomon" - ,go-github-com-klauspost-reedsolomon) - ("go-github-com-tjfoc-gmsm-sm4" ,go-github-com-tjfoc-gmsm-sm4) - ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) - ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union)) - ("go-github-com-templexxx-xor" ,go-github-com-templexxx-xor))) - (arguments - '(#:import-path "github.com/xtaci/kcp-go" - ;; XXX update comment - ;; 'TestListenerClose' is known to fail. It seems that the test suite - ;; is not being used upstream: - ;; https://github.com/AudriusButkevicius/kcp-go/pull/1 - #:tests? #f)) - (synopsis "Reliable UDP connections in Go") - (description "This package provides @code{kcp-go}, a reliable UDP library -written in Go. It offers fast, ordered and error-checked delivery of streams -over UDP packets.") - (home-page "https://github.com/xtaci/kcp-go") - (license expat)))) - -(define-public go-github-com-templexxx-xor - (package - (name "go-github-com-templexxx-xor") - (version "0.1.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/templexxx/xor.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0v1maiii0sggmxk9bgpy6pypb40j3hy2328pc4kd5bldkpdb67d5")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/templexxx/xor")) - (propagated-inputs - `(("go-github-com-templexxx-cpufeat" ,go-github-com-templexxx-cpufeat))) - (synopsis "XOR in Go") - (description "This packages provides a Go implementation of XOR.") - (home-page "https://github.com/templexxx/xor") - (license expat))) - -(define-public go-github-com-xtaci-smux - (let ((commit "c3e18246ff2252a6e9d6b529fcbf22ae5c74c007") - (revision "0")) - (package - (name "go-github-com-xtaci-smux") - (version (git-version "1.0.6" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/xtaci/smux.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1dfmxd9g31idldhq6n7r998gi4jw51ji3xvkjrzypsw2ypbjx1dz")))) - (build-system go-build-system) - (propagated-inputs - `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors))) - (arguments - '(#:import-path "github.com/xtaci/smux")) - (synopsis "Network multiplexing in Go") - (description "Smux ( Simple MUltipleXing) is a multiplexing library for -Golang. It relies on an underlying connection to provide reliability and -ordering, such as TCP or KCP, and provides stream-oriented multiplexing.") - (home-page "https://github.com/xtaci/smux") - (license expat)))) - (define-public go-github-com-pkg-errors (let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc") (revision "1")) @@ -1792,56 +1672,6 @@ using sh's word-splitting rules.") (home-page "https://github.com/kballard/go-shellquote") (license expat)))) -(define-public go-github-com-templexxx-cpufeat - (let ((commit "3794dfbfb04749f896b521032f69383f24c3687e") - (revision "0")) - (package - (name "go-github-com-templexxx-cpufeat") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/templexxx/cpufeat.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0b9f5p6nsiv907rz5d66qzgxnsz4k68r2f45vxi2hwdbnkjfxz8j")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/templexxx/cpufeat")) - (synopsis "CPU feature identification for Go") - (description "This package provides @code{cpu}, which implements -processor feature detection used by the Go standard libary.") - (home-page "https://github.com/templexxx/cpufeat") - (license bsd-3)))) - -(define-public go-github-com-tjfoc-gmsm-sm4 - (let ((commit "98aa888b79d8de04afe0fccf45ed10594efc858b") - (revision "1")) - (package - (name "go-github-com-tjfoc-gmsm-sm4") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tjfoc/gmsm") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ii4imnz3ims2s23pdv0l4ijzxjsvl82h4yzgfqm5y809ph6pjq9")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/tjfoc/gmsm/sm4" - #:unpack-path "github.com/tjfoc/gmsm")) - (synopsis "SM4 block cipher") - (description "This package provides a Go implementation of SM4, a block -cipher used in the Chinese National Standard for Wireless LAN WAPI (Wired -Authentication and Privacy Infrastructure).") - (home-page "https://github.com/tjfoc/gmsm") - (license asl2.0)))) - (define-public go-github-com-zillode-notify (let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3") (revision "2")) @@ -1868,56 +1698,6 @@ notification library in Go.") (home-page "https://github.com/zillode/notify") (license expat)))) -(define-public go-github-com-klauspost-cpuid - (let ((commit "eae9b3e628d72774e13bdf024e78c0802f85a5b9") - (revision "0")) - (package - (name "go-github-com-klauspost-cpuid") - (version (git-version "1.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/klauspost/cpuid.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dgxlsxdfhfapmz1qlvc919m3kcbmfqcfpxk78zl9am5zc3zr689")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/klauspost/cpuid")) - (synopsis "CPU feature identification library") - (description "This package provides @code{cpuid}, a Go library that provides information about the CPU running the current program") - (home-page "https://github.com/klauspost/cpuid") - (license expat)))) - -(define-public go-github-com-klauspost-reedsolomon - (let ((commit "0b30fa71cc8e4e9010c9aba6d0320e2e5b163b29") - (revision "0")) - (package - (name "go-github-com-klauspost-reedsolomon") - (version (git-version "1.6" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/klauspost/reedsolomon.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04jvf65ybsa7w4d7s2n0s174p0q2fl0dqd5hhn2krw66z9i3rc6d")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/klauspost/reedsolomon")) - (propagated-inputs - `(("go-github-com-klauspost-cpuid" - ,go-github-com-klauspost-cpuid))) - (synopsis "Reed-Solomon Erasure Coding in Go") - (description "This package provides and implemenation of Reed-Solomon -Erasure Coding in Go.") - (home-page "https://github.com/klauspost/reedsolomon") - (license expat)))) - (define-public go-github-com-beorn7-perks-quantile (let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9") (revision "0")) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4e8efc8faf..05a7cd834b 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> @@ -214,6 +214,7 @@ This package contains the binaries.") %texlive-tag "/Master/texmf-dist/" "/dvips")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0fcy2hpapbj01ncpjj3v39yhr0jjxb6rm13qaxjjw66s3vydxls1")))) @@ -244,6 +245,7 @@ This package contains the binaries.") %texlive-tag "/Master/texmf-dist/" "/fonts/map/dvips/tetex")) (revision %texlive-revision))) + (file-name (string-append "dvips-font-maps-" version "-checkout")) (sha256 (base32 "100208pg7q6lj7swiq9p9287nn6b64bl62bnlaxpjni9y2kdrqy5")))) @@ -255,10 +257,11 @@ This package contains the binaries.") %texlive-tag "/Master/texmf-dist/" "/fonts/enc/dvips/base")) (revision %texlive-revision))) + (file-name (string-append "dvips-base-enc-" version "-checkout")) (sha256 (base32 "1xnf6ms0h87r55kxik4vicwr1907scj789lhqflqns8svvsli5iy")))))) - (home-page "http://www.ctan.org/pkg/dvips") + (home-page "https://www.ctan.org/pkg/dvips") (synopsis "DVI to PostScript drivers") (description "This package provides files needed for converting DVI files to PostScript.") @@ -278,6 +281,7 @@ to PostScript.") %texlive-tag "/Master/texmf-dist/" "/tex/generic/unicode-data")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2")))) @@ -292,7 +296,7 @@ to PostScript.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/unicode-data") + (home-page "https://www.ctan.org/pkg/unicode-data") (synopsis "Unicode data and loaders for TeX") (description "This bundle provides generic access to Unicode Consortium data for TeX use. It contains a set of text files provided by the Unicode @@ -316,6 +320,7 @@ out to date by @code{unicode-letters.tex}. ") %texlive-tag "/Master/texmf-dist/" "/tex/generic/dehyph-exptl")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap")))) @@ -351,6 +356,7 @@ bundle.") %texlive-tag "/Master/texmf-dist/" "/tex/generic/tex-ini-files")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "1wh42n1lmzcvi3g6mm31nm3yd5ha5bl260xqc444jg1m9fdp3wz5")))) @@ -365,7 +371,7 @@ bundle.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://ctan.org/pkg/tex-ini-files") + (home-page "https://www.ctan.org/pkg/tex-ini-files") (synopsis "Files for creating TeX formats") (description "This bundle provides a collection of model \".ini\" files for creating TeX formats. These files are commonly used to introduced @@ -385,6 +391,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.") %texlive-tag "/Master/texmf-dist/" "/tex/generic/hyph-utf8")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi")))) @@ -399,7 +406,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://ctan.org/pkg/hyph-utf8") + (home-page "https://ctan.org/pkg/hyph-utf8") (synopsis "Hyphenation patterns expressed in UTF-8") (description "Modern native UTF-8 engines such as XeTeX and LuaTeX need hyphenation patterns in UTF-8 format, whereas older systems require @@ -441,6 +448,7 @@ converters, will completely supplant the older patterns.") %texlive-tag "/Master/texmf-dist/" "/metafont")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "1yl4n8cn5xqk2nc22zgzq6ymd7bhm6xx1mz3azip7i3ki4bhb5q5")))) @@ -475,7 +483,7 @@ converters, will completely supplant the older patterns.") #t)))))) (native-inputs `(("texlive-bin" ,texlive-bin))) - (home-page "http://www.ctan.org/pkg/metafont") + (home-page "https://www.ctan.org/pkg/metafont") (synopsis "Metafont base files") (description "This package provides the Metafont base files needed to build fonts using the Metafont system.") @@ -492,7 +500,7 @@ build fonts using the Metafont system.") %texlive-tag "/Master/texmf-dist/" "/fonts/map/fontname")) (revision %texlive-revision))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0cssbzcx15221dynp5sii72qh4l18mwkr14n8w1xb19j8pbaqasz")))) @@ -526,6 +534,7 @@ documents.") %texlive-tag "/Master/texmf-dist/" "/fonts/source/public/cm")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44")))) @@ -575,7 +584,7 @@ documents.") (native-inputs `(("texlive-bin" ,texlive-bin) ("texlive-metafont-base" ,texlive-metafont-base))) - (home-page "http://www.ctan.org/pkg/cm") + (home-page "https://www.ctan.org/pkg/cm") (synopsis "Computer Modern fonts for TeX") (description "This package provides the Computer Modern fonts by Donald Knuth. The Computer Modern font family is a large collection of text, @@ -594,6 +603,7 @@ display, and mathematical fonts in a range of styles, based on Monotype Modern %texlive-tag "/Master/texmf-dist/" "/fonts/source/public/knuth-lib")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0in9aqyi8jkyf9d16z0li50z5fpwj1iwgwm83gmvwqcf7chfs04y")))) @@ -657,6 +667,7 @@ fonts.") %texlive-tag "/Master/texmf-dist/" "/fonts/source/public/latex-fonts")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0ypsm4xv9cw0jckk2qc7gi9hcmhf31mrg56pz3llyx3yd9vq2lps")))) @@ -712,7 +723,7 @@ fonts.") `(("texlive-bin" ,texlive-bin) ("texlive-metafont-base" ,texlive-metafont-base) ("texlive-fonts-cm" ,texlive-fonts-cm))) - (home-page "http://www.ctan.org/pkg/latex-fonts") + (home-page "https://www.ctan.org/pkg/latex-fonts") (synopsis "Collection of fonts used in LaTeX distributions") (description "This is a collection of fonts for use with standard LaTeX packages and classes. It includes invisible fonts (for use with the slides @@ -731,6 +742,7 @@ symbol fonts.") %texlive-tag "/Master/texmf-dist/" "/fonts/source/public/amsfonts")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "07h20rvpbdb4k72hzmjkyb29426zr9wxsfp6yd4ajbbpd3vx8grb")))) @@ -790,7 +802,7 @@ symbol fonts.") `(("texlive-fonts-cm" ,texlive-fonts-cm) ("texlive-metafont-base" ,texlive-metafont-base) ("texlive-bin" ,texlive-bin))) - (home-page "http://www.ctan.org/pkg/amsfonts") + (home-page "https://www.ctan.org/pkg/amsfonts") (synopsis "TeX fonts from the American Mathematical Society") (description "This package provides an extended set of fonts for use in mathematics, @@ -812,6 +824,7 @@ details can be found in the documentation.") (source (origin (method svn-fetch) (uri (texlive-ref "latex" "amsfonts")) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0slzfv5h2m03b2xvm2sasznz4azh6rgi069z161dja3l8rln79hm")))) @@ -820,7 +833,7 @@ details can be found in the documentation.") (native-inputs `(("texlive-fonts-cm" ,texlive-fonts-cm) ("texlive-metafont-base" ,texlive-metafont-base))) - (home-page "http://www.ctan.org/pkg/amsfonts") + (home-page "https://www.ctan.org/pkg/amsfonts") (synopsis "TeX fonts from the American Mathematical Society") (description "This package provides basic LaTeX support for the symbol fonts provides @@ -841,6 +854,7 @@ individual symbols defined in @code{amssymb.sty}.") %texlive-tag "/Master/texmf-dist/" "/tex/plain")) (revision %texlive-revision))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0mjgl3gscn3ps29yjambz1j9fg81ynnncb96vpprwx4xsijhsns0")))) @@ -873,6 +887,11 @@ book).") %texlive-tag "/Master/texmf-dist/" dir)) (revision %texlive-revision))) + (file-name (string-append "texlive-generic-" + (last (string-split + (string-drop-right dir 1) #\/)) + "-" (number->string %texlive-revision) + "-checkout")) (sha256 (base32 hash)))))) (package (name "texlive-latex-base") @@ -880,6 +899,7 @@ book).") (source (origin (method svn-fetch) (uri (texlive-ref "latex" "base")) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k")))) @@ -926,12 +946,10 @@ book).") (mkdir "build") (mkdir "web2c") - (and (zero? (system* "luatex" "-ini" "-interaction=batchmode" - "-output-directory=build" - "unpack.ins")) - (zero? (system* "tex" "-ini" "-interaction=batchmode" - "-output-directory=web2c" - "tex.ini")) + (and (invoke "luatex" "-ini" "-interaction=batchmode" + "-output-directory=build" "unpack.ins") + (invoke "tex" "-ini" "-interaction=batchmode" + "-output-directory=web2c" "tex.ini") ;; LaTeX, pdfetex/pdftex, and XeTeX require e-TeX, which ;; is enabled only in extended mode (activated with a ;; leading asterisk). We should not use luatex here, @@ -939,25 +957,25 @@ book).") ;; incompatible with any other TeX engine. (every (lambda (format) - (zero? (system* "latex" "-ini" "-interaction=batchmode" - "-output-directory=web2c" - "-translate-file=cp227.tcx" - (string-append "*" format ".ini")))) + (invoke "latex" "-ini" "-interaction=batchmode" + "-output-directory=web2c" + "-translate-file=cp227.tcx" + (string-append "*" format ".ini"))) '("latex" "pdflatex" "pdfetex")) (every (lambda (format) - (zero? (system* format "-ini" "-interaction=batchmode" - "-output-directory=web2c" - (string-append "*" format ".ini")))) + (invoke format "-ini" "-interaction=batchmode" + "-output-directory=web2c" + (string-append "*" format ".ini"))) '("xetex" "xelatex")) (every (lambda (format) - (zero? (system* "luatex" "-ini" "-interaction=batchmode" - "-output-directory=web2c" - (string-append format ".ini")))) + (invoke "luatex" "-ini" "-interaction=batchmode" + "-output-directory=web2c" + (string-append format ".ini"))) '("dviluatex" "dvilualatex" "luatex" "lualatex"))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -1003,7 +1021,7 @@ book).") ("texlive-fonts-cm" ,texlive-fonts-cm) ("texlive-fonts-latex" ,texlive-fonts-latex) ("texlive-fonts-knuth-lib" ,texlive-fonts-knuth-lib))) - (home-page "http://www.ctan.org/pkg/latex-base") + (home-page "https://www.ctan.org/pkg/latex-base") (synopsis "Base sources of LaTeX") (description "This bundle comprises the source of LaTeX itself, together with several @@ -1024,7 +1042,7 @@ contain.") "0swkbxv8vg0yizadfnvrwjb4cj0pn34v9wm6v7wqq903fdav7k7q")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/filecontents")) - (home-page "http://www.ctan.org/pkg/filecontents") + (home-page "https://www.ctan.org/pkg/filecontents") (synopsis "Extended filecontents and filecontents* environments") (description "LaTeX2e's @code{filecontents} and @code{filecontents*} environments @@ -1052,7 +1070,7 @@ overwrite existing files and letting you use @code{filecontents} / #:tex-format "xelatex")) (inputs `(("texlive-latex-filecontents" ,texlive-latex-filecontents))) - (home-page "http://www.ctan.org/pkg/ifxetex") + (home-page "https://www.ctan.org/pkg/ifxetex") (synopsis "Am I running under XeTeX?") (description "This is a simple package which provides an @code{\\ifxetex} conditional, @@ -1085,7 +1103,7 @@ requires the e-TeX extensions to the TeX primitive set.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/epsf") + (home-page "https://www.ctan.org/pkg/epsf") (synopsis "Simple macros for EPS inclusion") (description "This package provides the original (and now obsolescent) graphics @@ -1112,7 +1130,7 @@ users, via its Plain TeX version.)") ;; We exclude "fvrb-ex" to avoid a dependency on texlive-luaotfload and ;; thus texlive-luatex-lualibs. #:build-targets '("fancyvrb.ins"))) - (home-page "http://www.ctan.org/pkg/fancyvrb") + (home-page "https://www.ctan.org/pkg/fancyvrb") (synopsis "Sophisticated verbatim text") (description "This package provides tools for the flexible handling of verbatim text @@ -1176,7 +1194,7 @@ verbatim source).") (sha256 (base32 "0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb")))))) - (home-page "http://www.ctan.org/pkg/latex-graphics") + (home-page "https://www.ctan.org/pkg/latex-graphics") (synopsis "LaTeX standard graphics bundle") (description "This is a collection of LaTeX packages for producing color, including @@ -1199,7 +1217,7 @@ keyval, and lscape.") "01n613s7bcrd2n4jfawm0k4nn2ny3aaifp2jjfif3lz4sbv31494")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/xcolor")) - (home-page "http://www.ctan.org/pkg/xcolor") + (home-page "https://www.ctan.org/pkg/xcolor") (synopsis "Driver-independent color extensions for LaTeX and pdfLaTeX") (description "The package starts from the basic facilities of the colorcolor package, @@ -1227,7 +1245,7 @@ tables.") "1d3rmjgzh0025a1dza55zb6nzzlgd1y9snwx45wq1c1vf42m79h2")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/hyperref")) - (home-page "http://www.ctan.org/pkg/hyperref") + (home-page "https://www.ctan.org/pkg/hyperref") (synopsis "Extensive support for hypertext in LaTeX") (description "The @code{hyperref} package is used to handle cross-referencing commands @@ -1262,7 +1280,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and (substitute* "oberdiek.ins" (("ifpdf.ins") "ifpdf.dtx")) #t))))) - (home-page "http://www.ctan.org/pkg/oberdiek") + (home-page "https://www.ctan.org/pkg/oberdiek") (synopsis "Bundle of packages submitted by Heiko Oberdiek") (description "The bundle comprises various LaTeX packages, providing among others: @@ -1284,7 +1302,7 @@ arrows; record information about document class(es) used; and many more.") (arguments '(#:tex-directory "latex/tools" #:build-targets '("tools.ins"))) - (home-page "http://www.ctan.org/pkg/latex-tools") + (home-page "https://www.ctan.org/pkg/latex-tools") (synopsis "LaTeX standard tools bundle") (description "This package is a collection of (variously) simple tools provided as @@ -1347,7 +1365,7 @@ of file names.") (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3kernel")) - (home-page "http://www.ctan.org/pkg/l3kernel") + (home-page "https://www.ctan.org/pkg/l3kernel") (synopsis "LaTeX3 programmers’ interface") (description "The l3kernel bundle provides an implementation of the LaTeX3 @@ -1386,7 +1404,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.") #t))))) (inputs `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel))) - (home-page "http://www.ctan.org/pkg/l3packages") + (home-page "https://www.ctan.org/pkg/l3packages") (synopsis "High-level LaTeX3 concepts") (description "This bundle holds prototype implementations of concepts for a LaTeX @@ -1420,7 +1438,7 @@ programming tools and kernel support. Packages provided in this release are: #:build-targets '("fontspec.dtx"))) (inputs `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel))) - (home-page "http://www.ctan.org/pkg/fontspec") + (home-page "https://www.ctan.org/pkg/fontspec") (synopsis "Advanced font selection in XeLaTeX and LuaLaTeX") (description "Fontspec is a package for XeLaTeX and LuaLaTeX. It provides an @@ -1478,7 +1496,7 @@ this bundle for use independent of ConTeXt.") "178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsmath")) - (home-page "http://www.ctan.org/pkg/amsmath") + (home-page "https://www.ctan.org/pkg/amsmath") (synopsis "AMS mathematical facilities for LaTeX") (description "This is the principal package in the AMS-LaTeX distribution. It adapts @@ -1507,7 +1525,7 @@ definitions.") (build-system texlive-build-system) (arguments `(#:tex-directory "latex/amscls")) - (home-page "http://www.ctan.org/pkg/amscls") + (home-page "https://www.ctan.org/pkg/amscls") (synopsis "AMS document classes for LaTeX") (description "This bundle contains three AMS classes: @code{amsartamsart} (for writing @@ -1539,7 +1557,7 @@ distribution.") (substitute* "babel.ins" (("askonceonly") "askforoverwritefalse")) #t))))) - (home-page "http://www.ctan.org/pkg/babel") + (home-page "https://www.ctan.org/pkg/babel") (synopsis "Multilingual support for Plain TeX or LaTeX") (description "The package manages culturally-determined typographical (and other) @@ -1564,7 +1582,7 @@ polyglossia package rather than Babel.") "1s404wbx91z5w65hm024kyl4h56zsa096irx18vsx8jvlmwsr5wc")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel-english")) - (home-page "http://www.ctan.org/pkg/babel-english") + (home-page "https://www.ctan.org/pkg/babel-english") (synopsis "Babel support for English") (description "This package provides the language definition file for support of @@ -1586,7 +1604,7 @@ for Canadian and USA text.") (build-system texlive-build-system) (arguments '(#:tex-directory "latex/cyrillic")) - (home-page "http://www.ctan.org/pkg/latex-cyrillic") + (home-page "https://www.ctan.org/pkg/latex-cyrillic") (synopsis "Support for Cyrillic fonts in LaTeX") (description "This bundle of macros files provides macro support (including font @@ -1607,7 +1625,7 @@ language that is written in a Cyrillic alphabet.") "1920dcq8613yzprasbg80fh4fcjcidvvl54wkx438nimyxcri7qz")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/psnfss")) - (home-page "http://www.ctan.org/pkg/psnfss") + (home-page "https://www.ctan.org/pkg/psnfss") (synopsis "Font support for common PostScript fonts") (description "The PSNFSS collection includes a set of files that provide a complete @@ -1727,7 +1745,7 @@ It includes little more than the required set of LaTeX packages."))) "15i4k479dwrpr0kspmm70g1yn4p3dkh0whyzmr93hph9bggnh1i1")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsrefs")) - (home-page "http://www.ctan.org/pkg/amsrefs") + (home-page "https://www.ctan.org/pkg/amsrefs") (synopsis "LaTeX-based replacement for BibTeX") (description "Amsrefs is a LaTeX package for bibliographies that provides an archival @@ -1756,7 +1774,7 @@ conjunction with BibTeX or as a replacement for BibTeX.") (lambda _ (for-each delete-file (find-files "." "\\.drv$")) #t))))) - (home-page "http://www.ctan.org/pkg/bigfoot") + (home-page "https://www.ctan.org/pkg/bigfoot") (synopsis "Footnotes for critical editions") (description "This package aims to provide a one-stop solution to requirements for @@ -1784,7 +1802,7 @@ documentation. The bigfoot bundle also provides the @code{perpage} and "1jrja9b1pzdh9zgv1jh807w4xijqja58n2mqny6dkwicv8qfgbfg")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/blindtext")) - (home-page "http://www.ctan.org/pkg/blindtext") + (home-page "https://www.ctan.org/pkg/blindtext") (synopsis "Producing 'blind' text for testing") (description "The package provides the commands @code{\\blindtext} and @@ -1816,7 +1834,7 @@ ipsum\" text, see the @code{lipsum} package).") (lambda _ (delete-file "dinbrief.drv") #t))))) - (home-page "http://www.ctan.org/pkg/dinbrief") + (home-page "https://www.ctan.org/pkg/dinbrief") (synopsis "German letter DIN style") (description "This package implements a document layout for writing letters according @@ -1842,7 +1860,7 @@ package.") "1zyl2pcz2x529gzj5m93a1s4ipymdabf7qdjl3l1673pizd4hfyv")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/draftwatermark")) - (home-page "http://www.ctan.org/pkg/draftwatermark") + (home-page "https://www.ctan.org/pkg/draftwatermark") (synopsis "Put a grey textual watermark on document pages") (description "This package provides a means to add a textual, light grey watermark on @@ -1866,7 +1884,7 @@ on everypage.") "06h28b26dyjkj9shksphgqfv4130jfkwhbw737hxn7d3yvdfffyd")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/environ")) - (home-page "http://www.ctan.org/pkg/environ") + (home-page "https://www.ctan.org/pkg/environ") (synopsis "New interface for environments in LaTeX") (description "This package provides the @code{\\collect@@body} command (as in @@ -1888,7 +1906,7 @@ define a new author interface to creating new environments.") "0pvmhsd4xmpil0m3c7qcgwilbk266mlkzv03g0jr8r3zd8jxlyzq")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eqparbox")) - (home-page "http://www.ctan.org/pkg/eqparbox") + (home-page "https://www.ctan.org/pkg/eqparbox") (synopsis "Create equal-widthed parboxes") (description "LaTeX users sometimes need to ensure that two or more blocks of text @@ -1924,7 +1942,7 @@ also provided.") (for-each delete-file (find-files "." "\\.drv$")) #t))))) - (home-page "http://www.ctan.org/pkg/expdlist") + (home-page "https://www.ctan.org/pkg/expdlist") (synopsis "Expanded description environments") (description "The package provides additional features for the LaTeX @@ -1959,7 +1977,7 @@ without affecting the structure of the list (this works for @code{itemize} and (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/filemod") + (home-page "https://www.ctan.org/pkg/filemod") (synopsis "Provide file modification times, and compare them") (description "This package provides macros to read and compare the modification dates @@ -1985,7 +2003,7 @@ but non-expandable ones.") "11gvvjvmdfs9b7mm19yf80zwkx49jqcbq6g8qb9y5ns1r1qvnixp")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/ifplatform")) - (home-page "http://www.ctan.org/pkg/ifplatform") + (home-page "https://www.ctan.org/pkg/ifplatform") (synopsis "Conditionals to test which platform is being used") (description "This package uses the (La)TeX extension @code{-shell-escape} to @@ -2009,7 +2027,7 @@ classes of systems.") "0aqliq0nwblxyrzhwhv77pnmk7qh2y3prgq7z7qhwcbgz5kisld7")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/natbib")) - (home-page "http://www.ctan.org/pkg/natbib") + (home-page "https://www.ctan.org/pkg/natbib") (synopsis "Flexible bibliography support") (description "This bundle provides a package that implements both author-year and @@ -2033,7 +2051,7 @@ designed from the start to be compatible with @code{natbib}.") "1dxbl5il7wbbsp0v45vk884xi1192wxw03849pb1g5q4x808n352")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/psfrag")) - (home-page "http://www.ctan.org/pkg/psfrag") + (home-page "https://www.ctan.org/pkg/psfrag") (synopsis "Replace strings in encapsulated PostScript figures") (description "This package allows LaTeX constructions (equations, picture @@ -2071,7 +2089,7 @@ rotated.") ("texlive-latex-oberdiek" ,texlive-latex-oberdiek) ("texlive-latex-psfrag" ,texlive-latex-psfrag) ("texlive-latex-trimspaces" ,texlive-latex-trimspaces))) - (home-page "http://www.ctan.org/pkg/pstool") + (home-page "https://www.ctan.org/pkg/pstool") (synopsis "Process PostScript graphisc within pdfLaTeX documents") (description "This is a package for processing PostScript graphics with @code{psfrag} @@ -2096,7 +2114,7 @@ re-processing.") "0y4i651b75y6006n03x8n86bsqvjsailvvz9bhzy51dzsznqidq0")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/seminar")) - (home-page "http://www.ctan.org/pkg/seminar") + (home-page "https://www.ctan.org/pkg/seminar") (synopsis "Make overhead slides") ;; TODO: This package may need fancybox and xcomment at runtime. (description @@ -2131,7 +2149,7 @@ recent classes such as powerdot or beamer, both of which are tuned to #t))))) (inputs `(("texlive-latex-filecontents" ,texlive-latex-filecontents))) - (home-page "http://www.ctan.org/pkg/trimspaces") + (home-page "https://www.ctan.org/pkg/trimspaces") (synopsis "Trim spaces around an argument or within a macro") (description "This very short package allows you to expandably remove spaces around a @@ -2166,7 +2184,7 @@ space-stripped macros.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/capt-of") + (home-page "https://www.ctan.org/pkg/capt-of") (synopsis "Captions on more than floats") (description "This package defines a command @code{\\captionof} for putting a caption @@ -2199,7 +2217,7 @@ to something that's not a float.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/etoolbox") + (home-page "https://www.ctan.org/pkg/etoolbox") (synopsis "e-TeX tools for LaTeX") (description "This package is a toolbox of programming facilities geared primarily @@ -2237,7 +2255,7 @@ of the LaTeX kernel.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/fncychap") + (home-page "https://www.ctan.org/pkg/fncychap") (synopsis "Seven predefined chapter heading styles") (description "This package provides seven predefined chapter heading styles. Each @@ -2272,7 +2290,7 @@ headings.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/framed") + (home-page "https://www.ctan.org/pkg/framed") (synopsis "Framed or shaded regions that can break across pages") (description "The package creates three environments: @code{framed}, which puts an @@ -2306,7 +2324,7 @@ course of the framed/shaded matter. There is also a command (lambda _ (delete-file "g-brief.drv") #t))))) - (home-page "http://www.ctan.org/pkg/g-brief") + (home-page "https://www.ctan.org/pkg/g-brief") (synopsis "Letter document class") (description "This package is designed for formatting formless letters in German; it @@ -2328,7 +2346,7 @@ are LaTeX 2.09 @code{documentstyle} and LaTeX 2e class files for both an "0d4l0msk8j5pi95xnmm9wygv1vbpkwkv5amx9l0km86cs79jpp1h")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/galois")) - (home-page "http://www.ctan.org/pkg/galois") + (home-page "https://www.ctan.org/pkg/galois") (synopsis "Typeset Galois connections") (description "The package deals with connections in two-dimensional style, optionally @@ -2348,7 +2366,7 @@ in colour.") "03g9by54yrypn599y98r1xh7qw0bbbmpzq0bfwpj6j5q5rkl1mfa")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/gcite")) - (home-page "http://www.ctan.org/pkg/gcite") + (home-page "https://www.ctan.org/pkg/gcite") (synopsis "Citations in a reader-friendly style") (description "The package allows citations in the German style, which is considered by @@ -2372,7 +2390,7 @@ BibLaTeX, and is considered experimental.") "1r2kfcwclg33yk5z8mvlagwxj7nr1mc3w4bdpmhrwv6dn8mrbvw8")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/geometry")) - (home-page "http://www.ctan.org/pkg/geometry") + (home-page "https://www.ctan.org/pkg/geometry") (synopsis "Flexible and complete interface to document dimensions") (description "This package provides an easy and flexible user interface to customize @@ -2397,7 +2415,7 @@ ability to communicate the paper size it's set up to the output.") "0caxs74hla28hc67csf5i5ahadx97w8vxh3mdmsprxbpd1mr7ssg")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/mdwtools")) - (home-page "http://www.ctan.org/pkg/mdwtools") + (home-page "https://www.ctan.org/pkg/mdwtools") (synopsis "Miscellaneous tools by Mark Wooding") (description "This collection of tools includes: @code{atsupport} for short commands @@ -2421,7 +2439,7 @@ array environments; verbatim handling; and syntax diagrams.") "09mvszd5qgqg4cfglpj5qxyzjz190ppb9p8gnsnjydwp1akvhayf")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/polyglossia")) - (home-page "http://www.ctan.org/pkg/polyglossia") + (home-page "https://www.ctan.org/pkg/polyglossia") (synopsis "Alternative to babel for XeLaTeX and LuaLaTeX") (description "This package provides a complete Babel replacement for users of LuaLaTeX @@ -2441,7 +2459,7 @@ and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least.") "14b2bc7cqz4ckxxycim9sw6jkrr1pahivm1rdbpz5k6hl967w1s3")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/supertabular")) - (home-page "http://www.ctan.org/pkg/supertabular") + (home-page "https://www.ctan.org/pkg/supertabular") (synopsis "Multi-page tables package") (description "This package was a predecessor of @code{longtable}; the newer @@ -2475,7 +2493,7 @@ situations where longtable has problems.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/texinfo") + (home-page "https://www.ctan.org/pkg/texinfo") (synopsis "TeX macros to handle Texinfo files") (description "Texinfo is the preferred format for documentation in the GNU project; @@ -2498,7 +2516,7 @@ hypertext linkages in some cases).") "0d1050i973wnxigy0xpky5l7vn4ff7ldhkjpdqsw5s653gagwixp")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/upquote")) - (home-page "http://www.ctan.org/pkg/upquote") + (home-page "https://www.ctan.org/pkg/upquote") (synopsis "Show \"realistic\" quotes in verbatim") (description "Typewriter-style fonts are best for program listings, but Computer @@ -2538,7 +2556,7 @@ does not affect @code{\\tt}, @code{\\texttt}, etc.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/anysize") + (home-page "https://www.ctan.org/pkg/anysize") (synopsis "Simple package to set up document margins") (description "This is a simple package to set up document margins. This package is @@ -2558,7 +2576,7 @@ considered obsolete; alternatives are the @code{typearea} package from the "0rxfpr8vq3brwx5rc7qn91ixlp9zva4zrms8a579fqa1g5yva7vg")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/appendix")) - (home-page "http://www.ctan.org/pkg/appendix") + (home-page "https://www.ctan.org/pkg/appendix") (synopsis "Extra control of appendices") (description "The appendix package provides various ways of formatting the titles of @@ -2580,7 +2598,7 @@ command.") "1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/changebar")) - (home-page "http://www.ctan.org/pkg/changebar") + (home-page "https://www.ctan.org/pkg/changebar") (synopsis "Generate changebars in LaTeX documents") (description "Identify areas of text to be marked with changebars with the @@ -2636,7 +2654,7 @@ copy-and-paste functions work properly.") "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/colortbl")) - (home-page "http://www.ctan.org/pkg/colortbl") + (home-page "https://www.ctan.org/pkg/colortbl") (synopsis "Add colour to LaTeX tables") (description "This package allows rows, columns, and even individual cells in LaTeX @@ -2668,7 +2686,7 @@ tables to be coloured.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/fancybox") + (home-page "https://www.ctan.org/pkg/fancybox") (synopsis "Variants of \\fbox and other games with boxes") (description "This package provides variants of @code{\\fbox}: @code{\\shadowbox}, @@ -2702,7 +2720,7 @@ floats, center, flushleft, and flushright, lists, and pages.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/fancyhdr") + (home-page "https://www.ctan.org/pkg/fancyhdr") (synopsis "Extensive control of page headers and footers in LaTeX2e") (description "The package provides extensive facilities, both for constructing headers @@ -2722,7 +2740,7 @@ would automatically change the heading style in use).") "0nbl7wylkv22fcdv4p8byhhj575fli6jnqjpkhrkbv8dzwah84nq")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/float")) - (home-page "http://www.ctan.org/pkg/float") + (home-page "https://www.ctan.org/pkg/float") (synopsis "Improved interface for floating objects") (description "This package improves the interface for defining floating objects such @@ -2745,7 +2763,7 @@ with @code{\\floatplacement{figure}{H}}.") "03x61wwql8nh6zrqiiiq3rb0x7m3pn48c606zapy19y21fybwdxs")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/footmisc")) - (home-page "http://www.ctan.org/pkg/footmisc") + (home-page "https://www.ctan.org/pkg/footmisc") (synopsis "Range of footnote options") (description "This is a collection of ways to change the typesetting of footnotes. @@ -2770,7 +2788,7 @@ footnotes with symbols rather than numbers.") (arguments '(#:tex-directory "latex/listings" #:build-targets '("listings.ins"))) - (home-page "http://www.ctan.org/pkg/listings") + (home-page "https://www.ctan.org/pkg/listings") (synopsis "Typeset source code listings using LaTeX") (description "The package enables the user to typeset programs (programming code) @@ -2804,7 +2822,7 @@ styles. Support for @code{hyperref} is provided.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/jknappen") + (home-page "https://www.ctan.org/pkg/jknappen") (synopsis "Miscellaneous packages by Joerg Knappen") (description "This package provides miscellaneous macros by Joerg Knappen, including: @@ -2879,7 +2897,7 @@ in SGML; use maths minus in text as appropriate; simple Young tableaux.") `(("texlive-bin" ,texlive-bin) ("texlive-metafont-base" ,texlive-metafont-base) ("texlive-fonts-cm" ,texlive-fonts-cm))) - (home-page "http://www.ctan.org/pkg/ec") + (home-page "https://www.ctan.org/pkg/ec") (synopsis "Computer modern fonts in T1 and TS1 encodings") (description "The EC fonts are European Computer Modern Fonts, supporting the complete @@ -2960,7 +2978,7 @@ texlive-2017.1/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) `(("texlive-bin" ,texlive-bin) ("texlive-metafont-base" ,texlive-metafont-base) ("texlive-fonts-cm" ,texlive-fonts-cm))) - (home-page "http://www.ctan.org/pkg/rsfs") + (home-page "https://www.ctan.org/pkg/rsfs") (synopsis "Ralph Smith's Formal Script font") (description "The fonts provide uppercase formal script letters for use as symbols in @@ -2983,7 +3001,7 @@ one of the packages @code{calrsfs} and @code{mathrsfs}.") "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eso-pic")) - (home-page "http://www.ctan.org/pkg/eso-pic") + (home-page "https://www.ctan.org/pkg/eso-pic") (synopsis "Add picture commands (or backgrounds) to every page") (description "The package adds one or more user commands to LaTeX's @code{shipout} @@ -3016,7 +3034,7 @@ routine, which may be used to place the output at fixed positions. The (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/eepic") + (home-page "https://www.ctan.org/pkg/eepic") (synopsis "Extensions to epic and the LaTeX drawing tools") (description "Extensions to @code{epic} and the LaTeX picture drawing environment, @@ -3053,7 +3071,7 @@ splines, and filled circles and ellipses. The package uses @code{tpic} (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/enumitem") + (home-page "https://www.ctan.org/pkg/enumitem") (synopsis "Customize basic list environments") (description "This package is intended to ease customizing the three basic list @@ -3075,7 +3093,7 @@ in the form @code{key=value} are available, for example: "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/multirow")) - (home-page "http://www.ctan.org/pkg/multirow") + (home-page "https://www.ctan.org/pkg/multirow") (synopsis "Create tabular cells spanning multiple rows") (description "The package provides tools for creating tabular cells spanning multiple @@ -3108,7 +3126,7 @@ entry at the \"natural\" width of its text.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/overpic") + (home-page "https://www.ctan.org/pkg/overpic") (synopsis "Combine LaTeX commands over included graphics") (description "The @code{overpic} environment is a cross between the LaTeX @@ -3144,7 +3162,7 @@ positions; a grid for orientation is available.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/parskip") + (home-page "https://www.ctan.org/pkg/parskip") (synopsis "Layout with zero \\parindent, non-zero \\parskip") (description "Simply changing @code{\\parskip} and @code{\\parindent} leaves a layout @@ -3164,7 +3182,7 @@ designed class) helps alleviate this untidiness.") "06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/pdfpages")) - (home-page "http://www.ctan.org/pkg/pdfpages") + (home-page "https://www.ctan.org/pkg/pdfpages") (synopsis "Include PDF documents in LaTeX") (description "This package simplifies the inclusion of external multi-page PDF @@ -3197,7 +3215,7 @@ use this package to insert PostScript files, in addition to PDF files.") (("fontdef\\}\\}" line) (string-append line "\n\\endbatchfile"))) #t))))) - (home-page "http://www.ctan.org/pkg/stmaryrd") + (home-page "https://www.ctan.org/pkg/stmaryrd") (synopsis "St Mary Road symbols for theoretical computer science") (description "The fonts were originally distributed as Metafont sources only, but @@ -3219,7 +3237,7 @@ the whole font.") "15spcl5wb7w269qd6y596vp4yi8sa5ppcx8w4z2i9kyp02r3a0yb")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/subfigure")) - (home-page "http://www.ctan.org/pkg/subfigure") + (home-page "https://www.ctan.org/pkg/subfigure") (synopsis "Figures divided into subfigures") (description "This (deprecated) package provides support for the manipulation and @@ -3246,7 +3264,7 @@ the more recent @code{subcaption} package more satisfactory.") "1adkdx2zkk42g82nqf57lv1nc1z7kwl13jmy8vpcsizsa0xdnx9n")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/tabulary")) - (home-page "http://www.ctan.org/pkg/tabulary") + (home-page "https://www.ctan.org/pkg/tabulary") (synopsis "Tabular with variable width columns balanced") (description "The package defines a @code{tabular*}-like environment, @code{tabulary}, @@ -3283,7 +3301,7 @@ according to the natural width of the widest cell in the column.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/threeparttable") + (home-page "https://www.ctan.org/pkg/threeparttable") (synopsis "Tables with captions and notes all the same width") (description "This package facilitates tables with titles (captions) and notes. The @@ -3406,7 +3424,7 @@ environment.") (sha256 (base32 "1bal5fhw0xlhl37ayv8vlnqnsn1y82kadzfjhbgr223blspp4zsj")))))) - (home-page "http://www.ctan.org/pkg/threeparttable") + (home-page "https://www.ctan.org/pkg/threeparttable") (synopsis "Times-like fonts in support of mathematics") (description "Txfonts supplies virtual text roman fonts using Adobe Times (or URW @@ -3424,6 +3442,47 @@ TeX metrics (VF and TFM files) and macros for use with LaTeX.") ;; Any version of the GPL with font exception. (license license:gpl3+))) +(define-public texlive-fonts-iwona + (package + (name "texlive-fonts-iwona") + (version "0.995b") + (source (origin + (method url-fetch) + (uri (string-append "http://jmn.pl/pliki/Iwona-tex-" + (string-map (lambda (c) + (if (char=? c #\.) + #\_ c)) + version) + ".zip")) + (sha256 + (base32 + "13684iqx5granpc5rfvqnmyvdpgpbr1x9y7i7y7bcaq0qxv7ph1x")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/")) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip"))) + (system* unzip (assoc-ref %build-inputs "source")) + (mkdir-p target) + (copy-recursively "iwona" target))))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://jmn.pl/en/kurier-i-iwona/") + (synopsis "Sans-serif typeface for TeX") + (description "Iwona is a two-element sans-serif typeface. It was created +as an alternative version of the Kurier typeface, which was designed in 1975 +for a diploma in typeface design at the Warsaw Academy of Fine Arts under the +supervision of Roman Tomaszewski. Kurier was designed for linotype +typesetting of newspapers and similar periodicals. The Iwona fonts are an +alternative version of the Kurier fonts. The difference lies in the absence +of ink traps which typify the Kurier font.") + (license license:gfl1.0))) + (define-public texlive-latex-titlesec (package (name "texlive-latex-titlesec") @@ -3449,7 +3508,7 @@ TeX metrics (VF and TFM files) and macros for use with LaTeX.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/titlesec") + (home-page "https://www.ctan.org/pkg/titlesec") (synopsis "Select alternative section titles") (description "This package provides an interface to sectioning commands for selection @@ -3472,7 +3531,7 @@ floats in a page. You may assign headers/footers to individual floats, too.") "1lvxrqfwcwa4p31zyfm80gr05v8c28xybv5ri79zi2ngz6834z12")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/type1cm")) - (home-page "http://www.ctan.org/pkg/type1cm") + (home-page "https://www.ctan.org/pkg/type1cm") (synopsis "Arbitrary size font selection in LaTeX") (description "LaTeX, by default, restricts the sizes at which you can use its default @@ -3500,7 +3559,7 @@ now contains a package @code{fix-cm},f which performs the task of "00gdiwh3sfhh1iimjhpja7lm7k4vzqzql2irgwnpz94qvh25zwi5")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/lh")) - (home-page "http://www.ctan.org/pkg/lh") + (home-page "https://www.ctan.org/pkg/lh") (synopsis "Cyrillic fonts that support LaTeX standard encodings") (description "The LH fonts address the problem of the wide variety of alphabets that @@ -3539,7 +3598,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/metapost") + (home-page "https://www.ctan.org/pkg/metapost") (synopsis "Create scalable illustrations") (description "MetaPost uses a language based on that of Metafont to produce precise @@ -3560,7 +3619,7 @@ than the bitmaps Metafont creates.") (file-name (string-append name "-" version "-checkout")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/acmart")) - (home-page "http://www.ctan.org/pkg/acmart") + (home-page "https://www.ctan.org/pkg/acmart") (synopsis "Class for typesetting publications of ACM") (description "This package provides a class for typesetting publications of the @@ -3593,7 +3652,7 @@ Association for Computing Machinery (ACM).") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/varwidth") + (home-page "https://www.ctan.org/pkg/varwidth") (synopsis "Variable-width minipage") (description "The @code{varwidth} environment is superficially similar to @@ -3613,7 +3672,7 @@ get a narrower “natural” width.") "1sgwbfwjjf70g54hh93gsd9jp9nm67w6n74x9d72a56n07jbk5hv")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/wasysym")) - (home-page "http://www.ctan.org/pkg/wasysym") + (home-page "https://www.ctan.org/pkg/wasysym") (synopsis "LaTeX support file to use the WASY2 fonts") (description "The wasy2WASY2 (Waldi Symbol) font by Roland Waldi provides many glyphs @@ -3648,7 +3707,7 @@ to use interface for these symbols.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/wrapfig") + (home-page "https://www.ctan.org/pkg/wrapfig") (synopsis "Produces figures which text can flow around") (description "This package allows figures or tables to have text wrapped around them. @@ -3682,7 +3741,7 @@ It does not work in combination with list environments, but can be used in a (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/ucs") + (home-page "https://www.ctan.org/pkg/ucs") (synopsis "Extended UTF-8 input encoding support for LaTeX") (description "The bundle provides the @code{ucs} package, and @code{utf8x.def}, @@ -3716,7 +3775,7 @@ package of that name now exists.") (lambda _ (delete-file "preview.drv") #t))))) - (home-page "http://www.ctan.org/pkg/preview") + (home-page "https://www.ctan.org/pkg/preview") (synopsis "Extract bits of a LaTeX source for output") (description "The main purpose of the preview package is the extraction of selected @@ -3741,7 +3800,7 @@ files.") "0jmasg40bk53zdd2jc8nc18jvdai3p2wmamy7hwli8gls4nf25qp")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/acronym")) - (home-page "http://www.ctan.org/pkg/acronym") + (home-page "https://www.ctan.org/pkg/acronym") (synopsis "Expand acronyms at least once") (description "This package ensures that all acronyms used in the text are spelled out @@ -3776,7 +3835,7 @@ e-TeX.") (mkdir-p target) (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) - (home-page "http://www.ctan.org/pkg/pdftex") + (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description "This package provides an extension of TeX which can be configured to diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 0207ca36ab..f1ccab9af9 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -239,14 +239,14 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (define-public mg (package (name "mg") - (version "20170401") + (version "20171014") (source (origin (method url-fetch) (uri (string-append "https://homepage.boetes.org/software/mg/mg-" version ".tar.gz")) (sha256 (base32 - "1arasswgdadbb265rahq3867r9s54jva6k4m3p5n0f8mgjqhhdha")) + "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai")) (modules '((guix build utils))) (snippet '(begin @@ -283,7 +283,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (doc (string-append out "/share/doc/mg"))) (install-file "tutorial" doc) #t)))))) - (home-page "http://homepage.boetes.org/software/mg/") + (home-page "https://homepage.boetes.org/software/mg/") (synopsis "Microscopic GNU Emacs clone") (description "Mg (mg) is a GNU Emacs style editor, with which it is \"broadly\" diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 3284be243e..2d8a104d54 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> @@ -83,32 +83,25 @@ to DOS format and vice versa.") (define-public recode (package (name "recode") - ;; Last beta release (3.7-beta2) is from 2008; last commit from Feb 2014. - ;; So we use that commit instead. - (version "3.7.0.201402") + (version "3.7") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pinard/Recode.git") - (commit "2d7092a9999194fc0e9449717a8048c8d8e26c18"))) + (method url-fetch) + (uri (string-append "https://github.com/rrthomas/recode/releases/" + "download/v" version "/" name "-" version ".tar.gz")) (sha256 - (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm")) - (file-name (string-append name "-" version "-checkout")))) + (base32 + "0r4yhf7i7zp2nl2apyzz7r3i2in12n385hmr8zcfr18ly0ly530q")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file "tests/Recode.c") + #t)))) (build-system gnu-build-system) - (native-inputs `(("python" ,python-2))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (substitute* "tests/setup.py" - (("([[:space:]]*)include_dirs=.*" all space) - (string-append all space "library_dirs=['../src/.libs'],\n"))) - ;; The test extension 'Recode.so' lacks RUNPATH for 'librecode.so'. - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/src/.libs")) - #t))))) - (home-page "https://github.com/pinard/Recode") + (native-inputs + `(("python" ,python-2) + ("python2-cython" ,python2-cython))) + (home-page "https://github.com/rrthomas/recode") (synopsis "Text encoding converter") (description "The Recode library converts files between character sets and usages. It recognises or produces over 200 different character sets (or about @@ -116,27 +109,23 @@ usages. It recognises or produces over 200 different character sets (or about any pair. When exact transliteration are not possible, it gets rid of offending characters or falls back on approximations. The recode program is a handy front-end to the library.") - (license license:gpl2+))) + (license license:gpl3+))) (define-public enca (package (name "enca") - (version "1.16") + (version "1.19") (source (origin (method url-fetch) (uri (string-append "https://github.com/nijel/enca/archive/" version ".tar.gz")) (sha256 - (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l")) + (base32 "099z526i7qgij7q1w3lvhl88iv3jc3nqxca2i09h6s08ghyrmzf4")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) - (inputs `(("recode" ,recode))) - - ;; Both 'test-convert-64.sh' and 'test-convert-filter.sh' manipulate a - ;; 'test.tmp' file, so they have to run in sequence. - (arguments '(#:parallel-tests? #f)) - + ;; enca-1.19 tests fail with recent recode. + ;(inputs `(("recode" ,recode))) (home-page "https://github.com/nijel/enca") (synopsis "Text encoding detection tool") (description "Enca (Extremely Naive Charset Analyser) consists of libenca, @@ -519,10 +508,12 @@ in a portable way.") (add-after 'unpack 'delete-test ;; See comments about the license. (lambda _ - (delete-file "src/tests/dbacl-jap.shin"))) + (delete-file "src/tests/dbacl-jap.shin") + #t)) (add-after 'delete-sample6-and-japanese 'autoreconf (lambda _ - (zero? (system* "autoreconf" "-vif")))) + (invoke "autoreconf" "-vif") + #t)) (add-after 'unpack 'fix-test-files (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -543,7 +534,7 @@ in a portable way.") ("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config))) - (home-page "http://www.lbreyer.com/dbacl.html") + (home-page "https://www.lbreyer.com/dbacl.html") (synopsis "Bayesian text and email classifier") (description "dbacl is a fast Bayesian text and email classifier. It builds a variety @@ -641,6 +632,7 @@ source code.") (uri (git-reference (url "https://github.com/aflc/editdistance.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1l43svsv12crvzphrgi6x435z6xg8m086c64armp8wzb4l8ccm7g")))) @@ -652,7 +644,7 @@ source code.") (lambda _ (with-directory-excursion "editdistance" (delete-file "bycython.cpp") - (zero? (system* "cython" "--cplus" "bycython.pyx")))))))) + (invoke "cython" "--cplus" "bycython.pyx"))))))) (native-inputs `(("python-cython" ,python-cython))) (home-page "https://www.github.com/aflc/editdistance") diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index a54524087f..c7a285079c 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> @@ -43,7 +43,7 @@ (define-public time (package (name "time") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) @@ -51,7 +51,7 @@ version ".tar.gz")) (sha256 (base32 - "06rfg8dn0q2r8pdq8i6brrs6rqrsgvkwbbl4kfx3a6lnal0m8bwa")))) + "07jj7cz6lc13iqrpgn81ivqh8rkm73p4rnivwgrrshk23v4g1b7v")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/time/") (synopsis "Run a command, then display its resource usage") @@ -264,18 +264,16 @@ ISO 8601 dates, time and duration.") (define-public python-monotonic (package (name "python-monotonic") - (version "0.3") + (version "1.4") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/m/monotonic/monotonic-" - version - ".tar.gz")) + (uri (pypi-uri "monotonic" version)) (sha256 (base32 - "0yz0bcbwx8r2c01czzfpbrxddynxyk9k95jj8h6sgcb7xmfvl998")))) + "110zd5ld3nchdjds34r95lzs1csmmv81pli2px8l1k8qnpai29m0")))) (build-system python-build-system) + (arguments '(#:tests? #f)) ;no tests (home-page "https://github.com/atdt/monotonic") (synopsis "Implementation of time.monotonic() for Python 2 & < 3.3") (description diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e79065ae78..a7944c2ce7 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -115,7 +115,7 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.9") + (version "0.23.10") (source (origin (method url-fetch) @@ -123,7 +123,7 @@ in intelligent transportation networks.") "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "0qyvnkb5hfi94wv3bn67y20hcbbvynvjwxpk7k9sh1si6ff69hg1")))) + "0hxfwnyb5yllvlsh0cj6favcph36gm94b6df7zhl7xay48zjl8gr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -787,7 +787,15 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf")))) + "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf")) + ;; An RFC 5114 constant was accidentally renamed in version 2.7.0. + ;; See https://github.com/ARMmbed/mbedtls/pull/1362. + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "include/mbedtls/dhm.h" + (("#define MBEDTLS_DHM_RFC5114_MODP_P") + "#define MBEDTLS_DHM_RFC5114_MODP_2048_P")))))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 4a39100511..2d685fc7d5 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -47,14 +47,14 @@ (define-public tor (package (name "tor") - (version "0.3.2.9") + (version "0.3.2.10") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "03qn55c969zynnx71r82iaqnadpzq0qclq0zmjhb3n4qma8pnnj3")))) + "1vnb2wkcmm8rnz0fqi3k7arl60mpycs8rjn8hvbgv56g3p1pgpv0")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" @@ -146,7 +146,8 @@ rejects UDP traffic from the application you're using.") (lambda _ ;; Unfortunately, this is not a tarball produced by ;; "make dist". - (zero? (system* "autoreconf" "-vfi"))))) + (invoke "autoreconf" "-vfi") + #t))) #:tests? #f)) (inputs `(("w3m" ,w3m) @@ -230,7 +231,9 @@ networks.") ;; After all the patching we run the tests after installing. ;; This is also a known issue: ;; https://github.com/micahflee/onionshare/issues/284 - (lambda _ (zero? (system* "nosetests" "test"))))))) + (lambda _ + (invoke "nosetests" "test") + #t))))) (native-inputs `(("python-nose" ,python-nose))) (inputs diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 83b11ddd97..2907999fca 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 André <eu@euandre.org> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; @@ -52,6 +52,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages cook) #:use-module (gnu packages curl) #:use-module (gnu packages docbook) @@ -472,7 +473,7 @@ to lock down your entire repository.") (define-public git-remote-gcrypt (package (name "git-remote-gcrypt") - (version "1.0.1") + (version "1.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -481,7 +482,7 @@ to lock down your entire repository.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0znrx77vpm4a8l7yiybsxk5vrawijqqfxmp1p2yhaaw8cbgrj7az")))) + "1vay3204729c7wajgn3nxf0s0hzwpdrw14pl6kd8w2ss25gvw2k1")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -633,6 +634,107 @@ default) of the repository.") (package-with-python2 (strip-python2-variant python-ghp-import))) +(define-public python-gitdb + (package + (name "python-gitdb") + (version "2.0.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "gitdb2" version)) + (sha256 + (base32 + "02azg62mr99b7cllyjrly77np3vw32y8nrxpa2xjapiyaga2j3mn")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'check 'create-test-repository + (lambda _ + (mkdir "/tmp/testrepo") + ;; Some tests require a git repository, so create one. + (with-directory-excursion "/tmp/testrepo" + (do ((filecount 1 (1+ filecount))) + ((> filecount 1000)) + (call-with-output-file (string-append + "file" (number->string filecount)) + (lambda (port) + (format port "~a" filecount)))) + (and + (invoke "git" "init") + (invoke "git" "config" "user.name" "Total Git") + (invoke "git" "config" "user.email" "git@localhost") + (invoke "git" "add" "-A") + (invoke "git" "commit" "-q" "-m" "dummy commit"))) + + ;; The repository checkout must be a "bare" clone. + (invoke "git" "clone" "--bare" "/tmp/testrepo" + "/tmp/testrepo.git"))) + (replace 'check + (lambda _ + (setenv "GITDB_TEST_GIT_REPO_BASE" "/tmp/testrepo.git") + ;; Skip tests that must be run from the gitdb repository. + (setenv "TRAVIS" "1") + (invoke "nosetests" "-v")))))) + (propagated-inputs + `(("python-smmap2" ,python-smmap2))) + (native-inputs + `(("git" ,git) + ("python-nose" ,python-nose))) + (home-page "https://github.com/gitpython-developers/gitdb") + (synopsis "Python implementation of the Git object database") + (description + "GitDB allows you to access @dfn{bare} Git repositories for reading and +writing. It aims at allowing full access to loose objects as well as packs +with performance and scalability in mind. It operates exclusively on streams, +allowing to handle large objects with a small memory footprint.") + (license license:bsd-3))) + +(define-public python2-gitdb + (package-with-python2 python-gitdb)) + +(define-public python-gitpython + (package + (name "python-gitpython") + (version "2.1.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "GitPython" version)) + (sha256 + (base32 + "1sbn018mn3y2r58ix5z12na1s02ccprhckb88yq3bdddvqjvqqdd")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;XXX: Tests can only be run within the GitPython repository. + #:phases (modify-phases %standard-phases + (add-after 'unpack 'embed-git-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "git/cmd.py" + (("git_exec_name = \"git\"") + (string-append "git_exec_name = \"" + (assoc-ref inputs "git") + "/bin/git\""))) + #t))))) + (inputs + `(("git" ,git))) + (propagated-inputs + `(("python-gitdb" ,python-gitdb))) + (native-inputs + `(("python-ddt" ,python-ddt) + ("python-nose" ,python-nose))) + (home-page "https://github.com/gitpython-developers/GitPython") + (synopsis "Python library for interacting with Git repositories") + (description + "GitPython is a python library used to interact with Git repositories, +high-level like git-porcelain, or low-level like git-plumbing. + +It provides abstractions of Git objects for easy access of repository data, +and additionally allows you to access the Git repository more directly using +either a pure Python implementation, or the faster, but more resource intensive +@command{git} command implementation.") + (license license:bsd-3))) + +(define-public python2-gitpython + (package-with-python2 python-gitpython)) + (define-public shflags (package (name "shflags") @@ -683,6 +785,7 @@ will work.") (uri (git-reference (url "https://github.com/nvie/gitflow/") (commit "15aab26490facf285acef56cb5d61025eacb3a69"))) + (file-name (git-file-name name version)) (sha256 (base32 "01fs97q76fdfnvmrh2cyjhywcs3pykf1dg58sy0frflnsdzs6prx")))) @@ -800,6 +903,7 @@ though this can be overridden.") ;; are interested in just one for this package. (url "https://github.com/dustin/bindir") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1dcq0y16yznbv4k9h8gg90kv1gkn8r8dbvl4m2rpfd7q5nqhn617")))) @@ -826,7 +930,7 @@ also walk each side of a merge and test those changes individually.") (define-public gitolite (package (name "gitolite") - (version "3.6.6") + (version "3.6.7") (source (origin (method url-fetch) (uri (string-append @@ -835,7 +939,7 @@ also walk each side of a merge and test those changes individually.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07q33f86694s0x3k9lcmy1vzfw9appdrlmmb9j3bz4qkrxqdnwb9")))) + "1idxipg0df80bhjcxgwxs3lllqnkvhwpinmfv1xvg1l98fxiapgp")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -856,7 +960,8 @@ also walk each side of a merge and test those changes individually.") ;; This works because gitolite-shell is in the PATH. (substitute* "src/triggers/post-compile/ssh-authkeys" (("\\$glshell \\$user") - "gitolite-shell $user"))))) + "gitolite-shell $user")) + #t))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((output (assoc-ref outputs "out")) @@ -864,7 +969,7 @@ also walk each side of a merge and test those changes individually.") (bindir (string-append output "/bin"))) (mkdir-p sharedir) (mkdir-p bindir) - (system* "./install" "-to" sharedir) + (invoke "./install" "-to" sharedir) ;; Create symlinks for executable scripts in /bin. (for-each (lambda (script) (symlink (string-append sharedir "/" script) @@ -1389,7 +1494,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (define-public tig (package (name "tig") - (version "2.3.0") + (version "2.3.3") (source (origin (method url-fetch) (uri (string-append @@ -1397,7 +1502,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") version "/tig-" version ".tar.gz")) (sha256 (base32 - "1vf02snz8qiiqiyqss1z63rzzmwbrc9agcgh21jdq13rja306vv8")))) + "1skbhhj1narsnsff1azdylcy6xghxb18mzqysmipcyyvlv2i17fk")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -1410,7 +1515,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (modify-phases %standard-phases (add-after 'install 'install-doc (lambda _ - (zero? (system* "make" "install-doc"))))) + (invoke "make" "install-doc")))) #:tests? #f)) ; tests require access to /dev/tty ;; #:test-target "test")) (home-page "https://jonas.github.io/tig/") @@ -1536,14 +1641,15 @@ repository\" with git-annex.") #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs (configure-flags '()) - #:allow-other-keys) + #:allow-other-keys) ;; The 'configure' script is not an autoconf script and ;; chokes on unrecognized options. - (zero? (apply system* - "./configure" - (string-append "--prefix=" - (assoc-ref outputs "out")) - configure-flags)))) + (apply invoke + "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")) + configure-flags) + #t)) (add-before 'check 'test-setup (lambda _ (setenv "USER" "guix") @@ -1763,7 +1869,7 @@ network protocols, and core version control algorithms.") (define-public gource (package (name "gource") - (version "0.47") + (version "0.48") (source (origin (method url-fetch) (uri (string-append @@ -1771,7 +1877,7 @@ network protocols, and core version control algorithms.") "/gource-" version "/gource-" version ".tar.gz")) (sha256 (base32 - "1llqwdnfa1pff8bxk27qsqff1fcg0a9kfdib0rn7p28vl21n1cgj")))) + "04qxcm05qiyr9rg2kv6abfy7kkzqr8ziw4iyp1d14lniv93m61dp")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b45e96d1e9..bf5999177e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -53,6 +53,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module (gnu packages) @@ -1089,7 +1090,7 @@ projects while introducing many more.") (define-public gnome-mpv (package (name "gnome-mpv") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) @@ -1098,7 +1099,7 @@ projects while introducing many more.") ".tar.xz")) (sha256 (base32 - "1w944ymyssgfcjiczrq4saig90crw9b9hhdsnchfbjsw173qi8n5")))) + "03kjwd5jq0i5ajnvhjwf5019bjjaa16xkdrhdkiz1k58ipjvvj93")))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) @@ -1156,7 +1157,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.02.11") + (version "2018.03.10") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1164,7 +1165,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0zg34spkfiwjq55jrk417ifdcyvrj80gdbc338rdpfw2s6ibggv8")))) + "1ibmz91anli1vzkgw2i3h4wf1i8arzd74730ylwcwyg3375xryjb")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1310,6 +1311,61 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (home-page "https://you-get.org/") (license license:expat))) +(define-public youtube-viewer + (package + (name "youtube-viewer") + (version "3.3.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/trizen/youtube-viewer/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j572his6qmazlmyrbnfq62s9bqml875ay7wy26byy9hfc7m0vgk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + ;; FIXME: Add optional dependencies once available: + ;; perl-lwp-useragent-cached and perl-term-readline-gnu + (inputs + `(("perl-data-dump" ,perl-data-dump) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-gtk2" ,perl-gtk2) + ("perl-json" ,perl-json) + ("perl-libwww" ,perl-libwww) + ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ("perl-mozilla-ca" ,perl-mozilla-ca) + ("perl-unicode-linebreak" ,perl-unicode-linebreak))) + (arguments + `(#:modules ((guix build perl-build-system) + (guix build utils) + (srfi srfi-26)) + #:module-build-flags '("--gtk") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin-dir (string-append out "/bin/")) + (site-dir (string-append out "/lib/perl5/site_perl/")) + (lib-path (getenv "PERL5LIB"))) + (for-each (cut wrap-program <> + `("PERL5LIB" ":" prefix (,lib-path ,site-dir))) + (find-files bin-dir)) + #t)))))) + (synopsis + "Lightweight application for searching and streaming videos from YouTube") + (description + "Youtube-viewer searches and plays YouTube videos in a native player. +It comes with various search options; it can search for videos, playlists +and/or channels. The videos are streamed directly in a selected video player +at the best resolution (customizable) and with closed-captions (if available). +Both command-line and GTK2 interface are available.") + (home-page "https://github.com/trizen/youtube-viewer") + (license license:perl-license))) + (define-public libbluray (package (name "libbluray") @@ -1981,7 +2037,7 @@ making @dfn{screencasts}.") (define-public simplescreenrecorder (package (name "simplescreenrecorder") - (version "0.3.9") + (version "0.3.10") (source (origin (method url-fetch) @@ -1990,7 +2046,7 @@ making @dfn{screencasts}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1gnf9wbiq2fcbqcn1a5nfmp8r0nxrrlgh2wly2mfkkwymynhx0pk")))) + "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g")))) (build-system cmake-build-system) ;; Although libx11, libxfixes, libxext are listed as build dependencies in ;; README.md, the program builds and functions properly without them. @@ -2474,7 +2530,7 @@ RTSP or SIP clients and servers.") (define-public libdvbpsi (package (name "libdvbpsi") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append @@ -2482,7 +2538,7 @@ RTSP or SIP clients and servers.") version "/libdvbpsi-" version ".tar.bz2")) (sha256 (base32 - "0824r08kaspbrrg2dd5d46s475zb7j59brqkm2y6x3mdsnpng0yn")))) + "1zn5hfv4qbahmydbwh59a3b480s3m5ss27r6ml35gqdip7r3jkmc")))) (build-system gnu-build-system) (home-page "https://www.videolan.org/developers/libdvbpsi.html") (synopsis "Library for decoding and generation of MPEG TS and DVB PSI @@ -2704,7 +2760,7 @@ It counts more than 100 plugins.") (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,(autoconf-wrapper)) + `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f8f9de16fc..24f7333cd8 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -613,14 +613,14 @@ domains, their live performance and resource utilization statistics.") (define-public criu (package (name "criu") - (version "3.5") + (version "3.7") (source (origin (method url-fetch) (uri (string-append "http://download.openvz.org/criu/criu-" version ".tar.bz2")) (sha256 (base32 - "1w0ybla7ac0ql0jzh0vxdf2w9amqp88jcg0na3b33r3hq8acry6x")))) + "0qrpz7pvnks34v7d8lb73flz3mb7qwnib94pdwaxh0mskn8470fq")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index d7f5dc6597..0fc3197077 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. @@ -128,6 +128,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (git-reference (url "git://git.infradead.org/users/dwmw2/vpnc-scripts.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0pa36w4wlyyvfb66cayhans99wsr2j5si2fvfr7ldfm512ajwn8h")))) @@ -241,7 +242,7 @@ and probably others.") (define-public openvpn (package (name "openvpn") - (version "2.4.4") + (version "2.4.5") (source (origin (method url-fetch) (uri (string-append @@ -249,7 +250,7 @@ and probably others.") version ".tar.xz")) (sha256 (base32 - "102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn")))) + "17njq59hsraqyxrbhkrxr7dvx0p066s3pn8w1mi0yd9jldis7h23")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-iproute2=yes"))) @@ -262,24 +263,25 @@ and probably others.") ("linux-pam" ,linux-pam))) (home-page "https://openvpn.net/") (synopsis "Virtual private network daemon") - (description "OpenVPN implements virtual private network (VPN) techniques + (description + "OpenVPN implements virtual private network (@dfn{VPN}) techniques for creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of -traversing network address translators (NATs) and firewalls.") +traversing network address translators (@dfn{NAT}s) and firewalls.") (license license:gpl2))) (define-public tinc (package (name "tinc") - (version "1.0.28") + (version "1.0.33") (source (origin (method url-fetch) (uri (string-append "http://tinc-vpn.org/packages/" name "-" version ".tar.gz")) (sha256 (base32 - "0i5kx3hza359nclyhb60kxlzqyx0phmg175350hww28g6scjcl0b")))) + "1x0hpfz13vn4pl6dcpnls6xq3rfcbdsg90awcfn53ijb8k35svvz")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 1d83b6f363..478de6a444 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -158,7 +158,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-icd-loader (package (name "vulkan-icd-loader") - (version "1.0.68.0") + (version "1.1.70.0") (source (origin (method url-fetch) @@ -167,7 +167,7 @@ interpretation of the specifications for these languages.") "archive/sdk-" version ".tar.gz")) (sha256 (base32 - "1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh")))) + "15qkh77596v3xivnbb3l0q9zbmmsdglnaza2m1g7f8q7bbigyc5x")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index bd4c34efb6..ef39d71411 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,10 +103,10 @@ older or slower computers and embedded systems.") `((setenv "CHOST" ,(%current-target-system))) '()) (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out) - "--enable-graphics")))))))) + (invoke "./configure" + (string-append "--prefix=" out) + "--enable-graphics") + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("zlib" ,zlib) ("openssl" ,openssl) @@ -175,7 +176,8 @@ features including, tables, builtin image display, bookmarks, SSL and more.") #t)) (replace 'install (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "install-full" make-flags))))))) + (apply invoke "make" "install-full" make-flags) + #t))))) (synopsis "Text Web Browser") (description "Lynx is a fully-featured World Wide Web (WWW) client for users running @@ -223,7 +225,7 @@ access.") (let* ((out (assoc-ref outputs "out")) (app (string-append out "/share/applications")) (hicolor (string-append out "/share/icons/hicolor"))) - (system* "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc") + (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc") (install-file "doc/qutebrowser.1" (string-append out "/share/man/man1")) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7dc4fdacaa..6db59daa2c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -60,6 +60,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system scons) #:use-module (gnu packages) + #:use-module (gnu packages adns) #:use-module (gnu packages apr) #:use-module (gnu packages check) #:use-module (gnu packages cran) @@ -83,8 +84,10 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages java) #:use-module (gnu packages javascript) + #:use-module (gnu packages jemalloc) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) #:use-module (gnu packages lisp) @@ -156,6 +159,7 @@ and its related documentation.") (uri (string-append "https://github.com/GrahamDumpleton/mod_wsgi/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0n1yhmrfp8mjbsngmyjl937c6rc0069p6wdi1lknrbn1q42hzw6q")))) @@ -791,7 +795,7 @@ for efficient socket-like bidirectional reliable communication channels.") (define-public libpsl (package (name "libpsl") - (version "0.19.1") + (version "0.20.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rockdaboot/libpsl/" @@ -799,7 +803,7 @@ for efficient socket-like bidirectional reliable communication channels.") "/libpsl-" version ".tar.gz")) (sha256 (base32 - "0ydwi9m39qv6k7zagqx2kzxzf59ipxj9r0c71xmwngdx3fslclbk")))) + "17r18y25ka2ck2ykfidbg4a7jpyzmkqwrzplgqjp7mwd2l9rc6cm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -837,6 +841,7 @@ UTS#46.") ":pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy") (module "tidy") (revision "2009-12-23"))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "14dsnmirjcrvwsffqp3as70qr6bbfaig2fv3zvs5g7005jrsbvpb")) @@ -2843,7 +2848,7 @@ environment from an HTTP::Request.") (define-public perl-http-server-simple (package (name "perl-http-server-simple") - (version "0.51") + (version "0.52") (source (origin (method url-fetch) @@ -2851,7 +2856,7 @@ environment from an HTTP::Request.") "HTTP-Server-Simple-" version ".tar.gz")) (sha256 (base32 - "1yvd2g57z2kq00q5i3zzfi15k98qgbif3vghjsda6v612agmrp5r")))) + "0k6bg7k6mjixfzxdkkdrhqvaqmdhjszx0zsk8g0bimiby6j9z4yq")))) (build-system perl-build-system) (propagated-inputs `(("perl-cgi" ,perl-cgi))) @@ -2925,7 +2930,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") (define-public perl-io-socket-ip (package (name "perl-io-socket-ip") - (version "0.38") + (version "0.39") (source (origin (method url-fetch) @@ -2933,7 +2938,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") "IO-Socket-IP-" version ".tar.gz")) (sha256 (base32 - "0scsnahxwnymg80a3k0p0cnr574nk7x9inn9wjniz0iycicclyhb")))) + "15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/IO-Socket-IP") @@ -3203,7 +3208,7 @@ or to multiple server ports.") (define-public perl-net-smtp-ssl (package (name "perl-net-smtp-ssl") - (version "1.03") + (version "1.04") (source (origin (method url-fetch) @@ -3211,7 +3216,7 @@ or to multiple server ports.") "Net-SMTP-SSL-" version ".tar.gz")) (sha256 (base32 - "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h")))) + "001a6dcfahf7kkyirqkc8jd4fh4fkal7n7vm9c4dblqrvmdc8abv")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-socket-ssl" ,perl-io-socket-ssl))) @@ -3649,7 +3654,7 @@ library.") (define-public perl-www-mechanize (package (name "perl-www-mechanize") - (version "1.86") + (version "1.87") (source (origin (method url-fetch) @@ -3657,7 +3662,7 @@ library.") "WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 - "0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f")))) + "1kxrydhl7nxlyjv0xvyiyj4igdv4fwnggv0ihlp79bysbjjl54w1")))) (build-system perl-build-system) (native-inputs ;only for tests `(("perl-cgi" ,perl-cgi) @@ -3772,13 +3777,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.3.5") + (version "1.3.6.2") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3")))) + "0h3hkw575b211bxma23inbq1565wkhiapgasd539h219apqs534f")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/rstudio/httpuv") @@ -6260,7 +6265,7 @@ in Perl but is not nearly as capable as @code{HTML::Tidy}.") (define-public geomyidae (package (name "geomyidae") - (version "0.29") + (version "0.31") (source (origin (method url-fetch) @@ -6268,7 +6273,7 @@ in Perl but is not nearly as capable as @code{HTML::Tidy}.") "geomyidae-" version ".tar.bz2")) (sha256 (base32 - "0qxgxp6psfrgfqhndyq2z54nb1qrmvvljddnxdwp207jbz366bja")))) + "1ih7220c6mgq4r7blm4kx3pxbl53sph58lqgwci6cmi3c0sq5c3x")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "CC=gcc" @@ -6334,3 +6339,84 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") ;; expat for the code, CC-BY 4.0 for the artwork (license (list l:expat l:cc-by4.0)))) + +(define-public nghttp2 + (package + (name "nghttp2") + (version "1.31.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nghttp2/nghttp2/" + "releases/download/v" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1ivs74v9sa2sds3dq0s7vn9bkmhr2hgwyg1an1rah3agqwnkqmrn")))) + (build-system gnu-build-system) + (outputs (list "out" + "lib")) ; only libnghttp2 + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; Required by tests. + ("cunit" ,cunit) + ("tzdata" ,tzdata-for-tests))) + (inputs + ;; Required to build the tools (i.e. without ‘--enable-lib-only’). + `(("c-ares" ,c-ares) + ("jansson" ,jansson) ; for HPACK tools + ("jemalloc" ,jemalloc) ; fight nghttpd{,x} heap fragmentation + ("libev" ,libev) + ("libxml2" ,libxml2) ; for ‘nghttp -a’ + ("openssl" ,openssl))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib") + "--enable-app" ; build all the tools + "--enable-hpack-tools" ; ...all the tools + "--disable-examples" + "--disable-static") ; don't bother building .a files + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'break-circular-reference + ;; libnghttp2.pc by default retains a reference to the ‘out’ output, + ;; which is not allowed. Break this cycle. While we could install + ;; only the library to ‘out’ and move everything else to a separate + ;; output, this would inconvenience the majority of (human) users. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "lib/libnghttp2.pc.in" + (("@prefix@") + (assoc-ref outputs "lib"))) + #t)) + (add-before 'check 'set-timezone-directory + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t))))) + (home-page "https://nghttp2.org/") + (synopsis "HTTP/2 protocol client, proxy, server, and library") + (description + "nghttp2 implements the Hypertext Transfer Protocol, version +2 (@dfn{HTTP/2}). + +A reusable C library provides the HTTP/2 framing layer, with several tools built +on top of it: + +@itemize +@item @command{nghttp}, a command-line HTTP/2 client. It exposes many advanced +and low-level aspects of the protocol and is useful for debugging. +@item @command{nghttpd}, a fast, multi-threaded HTTP/2 static web server that +serves files from a local directory. +@item @command{nghttpx}, a fast, multi-threaded HTTP/2 reverse proxy that can be +deployed in front of existing web servers that don't support HTTP/2. +Both @command{nghttpd} and @command{nghttpx} can fall back to HTTP/1.1 for +backwards compatibilty with clients that don't speak HTTP/2. +@item @command{h2load} for benchmarking (only!) your own HTTP/2 servers. +@item HTTP/2 uses a header compression method called @dfn{HPACK}. +nghttp2 provides a HPACK encoder and decoder as part of its public API. +@item @command{deflatehd} converts JSON data or HTTP/1-style header fields to +compressed JSON header blocks. +@item @command{inflatehd} converts such compressed headers back to JSON pairs. +@end itemize\n") + (license l:expat))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index e71538f1b0..0327deaf24 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -26,9 +26,13 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages cups) @@ -47,11 +51,13 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages photo) #:use-module (gnu packages samba) #:use-module (gnu packages scanner) + #:use-module (gnu packages sdl) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages vulkan) @@ -212,34 +218,83 @@ integrate Windows applications into your desktop.") (synopsis "Implementation of the Windows API (WoW64 version)") (supported-systems '("x86_64-linux" "aarch64-linux")))) +(define-public wine-staging-patchset-data + (package + (name "wine-staging-patchset-data") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/wine-staging/wine-staging/archive/v" + version ".zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "16l28vrhqn27kipqwms622jz1prfky8qkjb8pj747k3qjnm2k1g9")))) + (build-system trivial-build-system) + (native-inputs + `(("bash" ,bash) + ("coreutils" ,coreutils) + ("unzip" ,unzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (wine-staging (string-append out "/share/wine-staging")) + (source (assoc-ref %build-inputs "source")) + (sh (string-append (assoc-ref %build-inputs "bash") "/bin/bash")) + (env (string-append (assoc-ref %build-inputs "coreutils") "/bin/env")) + (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (copy-file source (string-append ,name "-" ,version ".zip")) + (invoke unzip (string-append ,name "-" ,version ".zip")) + (substitute* (string-append "wine-staging-" ,version + "/patches/patchinstall.sh") (("/bin/sh") sh)) + (substitute* (string-append "wine-staging-" ,version + "/patches/gitapply.sh") (("/usr/bin/env") env)) + (mkdir-p wine-staging) + (copy-recursively (string-append "wine-staging-" ,version) + wine-staging))))) + (home-page "https://github.com/wine-staging") + (synopsis "Patchset for Wine") + (description + "wine-staging-patchset-data contains the patchset to build Wine-Staging.") + (license license:lgpl2.1+))) + (define-public wine-staging (package (inherit wine) (name "wine-staging") - (version "2.21") + (version (package-version wine-staging-patchset-data)) (source (origin (method url-fetch) (uri (string-append - "https://github.com/wine-compholio/wine-patched/archive/" - "staging-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + "https://dl.winehq.org/wine/source/3.x/wine-" version + ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "1pjaxj7h3q6y356np908fvsx0bf7yx5crqvgl4hza6gfssdmsr5r")))) - (inputs `(("gtk+", gtk+) + "0cx31jsll7mxd9r7v0vpahajqwb6da6cpwybv06l5ydkgfrbv505")))) + (inputs `(("autoconf" ,autoconf) ; for autoreconf + ("gtk+", gtk+) ("libva", libva) + ("python" ,python) + ("sdl2" ,sdl2) + ("util-linux" ,util-linux) ; for hexdump ("vulkan-icd-loader" ,vulkan-icd-loader) + ("wine-staging-patchset-data" ,wine-staging-patchset-data) ,@(package-inputs wine))) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'configure 'hardcode-libvulkan-path + (add-before 'configure 'patch-source-wine-staging (lambda* (#:key outputs #:allow-other-keys) - (let* ((libvulkan (string-append (assoc-ref %build-inputs - "vulkan-icd-loader") "/lib/libvulkan.so"))) - ;; Hard-code the path to libvulkan.so. - (substitute* "dlls/vulkan/vulkan_thunks.c" (("libvulkan.so") - libvulkan)) + (let* ((source (assoc-ref %build-inputs "source")) + (script (string-append (assoc-ref %build-inputs + "wine-staging-patchset-data") + "/share/wine-staging/patches/patchinstall.sh"))) + (invoke script (string-append "DESTDIR=" ".") "--all") #t))) (add-after 'configure 'patch-dlopen-paths ;; Hardcode dlopened sonames to absolute paths. @@ -261,7 +316,7 @@ the development branch yet. The idea of Wine-Staging is to provide experimental features faster to end users and to give developers the possibility to discuss and improve their patches before they are integrated into the main branch.") - (home-page "https://wine-staging.com") + (home-page "https://github.com/wine-staging") ;; In addition to the regular Wine license (lgpl2.1+), Wine-Staging ;; provides Liberation and WenQuanYi Micro Hei fonts. Those use ;; different licenses. In particular, the latter is licensed under @@ -281,13 +336,13 @@ integrated into the main branch.") (string-append "libdir=" %output "/lib/wine64")) #:phases (modify-phases %standard-phases - (add-before 'configure 'hardcore-libvulkan-path + (add-before 'configure 'patch-source-wine-staging (lambda* (#:key outputs #:allow-other-keys) - (let* ((libvulkan (string-append (assoc-ref %build-inputs - "vulkan-icd-loader") "/lib/libvulkan.so"))) - ;; Hard-code the path to libvulkan.so. - (substitute* "dlls/vulkan/vulkan_thunks.c" (("libvulkan.so") - libvulkan)) + (let* ((source (assoc-ref %build-inputs "source")) + (script (string-append (assoc-ref %build-inputs + "wine-staging-patchset-data") + "/share/wine-staging/patches/patchinstall.sh"))) + (invoke script (string-append "DESTDIR=" ".") "--all") #t))) (add-after 'install 'copy-wine32-binaries (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 235aec36cb..f12eedab43 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -175,14 +175,14 @@ commands would.") (define-public i3-wm (package (name "i3-wm") - (version "4.14.1") + (version "4.15") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/downloads/i3-" version ".tar.bz2")) (sha256 (base32 - "1cazmfbbx6n8c81h6x6pdayq3mxs2ml3adz165z8vapkc72kl1nh")))) + "09jk70hsdxab24lqvj2f30ijrkbv3f6q9xi5dcsax1dw3x6m4z91")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm index 12201faa3a..866cfee222 100644 --- a/gnu/packages/wv.scm +++ b/gnu/packages/wv.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc <merkur32@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,11 +53,12 @@ ("pkg-config" ,pkg-config))) (synopsis "Microsoft Word conversion library and utilities") (description - "wv converts Word 2,6,7,8,9 files to HTML and LaTeX. The Word 2 -conversion is still incomplete (no formatting), but it will do a passable job -extracting the text, which is what you probably want anyway. + "wv converts files written by Word 2000, 97, 95, and 6 (known internally as +Word 9, 8, 7, and 6) to HTML or LaTeX. Word 2 documents can still be converted +to plain text but will lack formatting. -libwv can be used as a library by third party programs, AbiWord uses it as its -word importer, and KWord may use it in the future.") +Othe programs can use wv as a library to convert Word documents to other +formats. AbiWord uses it as its Word importer, and KWord uses concepts and +code from wv in theirs.") (home-page "http://wvware.sourceforge.net/") (license license:gpl2+))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 3beaa97c90..87d14e20a4 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -401,7 +401,7 @@ tracking.") (inputs `(("libx11" ,libx11) ("xcb-util" ,xcb-util))) - (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/") + (home-page "https://www.freedesktop.org/wiki/Software/startup-notification/") (synopsis "Application startup notification and feedback library") (description "Startup-notification contains a reference implementation of the startup @@ -1096,7 +1096,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.4.2") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1104,7 +1104,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "1129cbg76g56c6ckzj5y5haf92jxhx3b71cr3qmhrb0n8g4gi38s")))) + "0li2hl55sxzdpbxxiwgxsvkhyy6bh8qd2j1r8xh8y6q8a318zsz9")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1121,6 +1121,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") `(("bison" ,bison) ("check" ,check) ("flex" ,flex) + ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) (arguments `(#:parallel-tests? #f ; May fail in some circumstances. @@ -1131,8 +1132,30 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (substitute* '("test/helper-expand.c") (("~root") "/root") (("~") "") - (("g_get_home_dir \\(\\)") "\"/\""))))))) - (home-page "https://davedavenport.github.io/rofi/") + (("g_get_home_dir \\(\\)") "\"/\"")) + #t)) + (add-before 'check 'add-missing-configuration-files + (lambda _ + ;; These files are missing in the 1.5.0 release, causing a test + ;; failure: <https://github.com/DaveDavenport/rofi/issues/782>. + (with-directory-excursion "subprojects/libnkutils/tests" + (mkdir "gtk-3.0") + (call-with-output-file "gtk-3.0/settings.ini" + (lambda (port) + (format port "[Settings] +gtk-double-click-time = 300 +gtk-cursor-theme-name = gnome +"))) + (mkdir "gtk-4.0") + (call-with-output-file "gtk-4.0/settings.ini" + (lambda (port) + (format port "[Settings] +gtk-double-click-time = 300 +gtk-icon-theme-name = nothing-like-this-theme +gtk-enable-primary-paste = true +"))) + #t)))))) + (home-page "https://github.com/DaveDavenport/rofi") (synopsis "Application launcher") (description "Rofi is a minimalist application launcher. It memorizes which applications you regularly use and also allows you to search for an application diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 035e9c5f20..ba749c9989 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -912,7 +912,7 @@ sending standard messages over D-Bus using the (define-public xfburn (package (name "xfburn") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "http://archive.xfce.org/src/apps/xfburn/" @@ -920,7 +920,7 @@ sending standard messages over D-Bus using the name "-" version ".tar.bz2")) (sha256 (base32 - "1xn1kwxa3dl5r9bfj90a5322ynkwbn6k5v9b3a3pbr3a23zm604s")))) + "1qdd8prnsfilsprg36p95cz3z50ffr9kgvka4d5pm260lsl3l5xa")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 565d27e78f..293b47a653 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> @@ -425,7 +425,7 @@ XML parser and the high performance DOM implementation.") (define-public perl-xml-libxslt (package (name "perl-xml-libxslt") - (version "1.95") + (version "1.96") (source (origin (method url-fetch) @@ -433,7 +433,7 @@ XML parser and the high performance DOM implementation.") "XML-LibXSLT-" version ".tar.gz")) (sha256 (base32 - "0dggycql18kfxzkb1kw3yc7gslxlrrgyyn2r2ygsylycb89j3jpi")))) + "0wyl8klgr65j8y8fzgwz9jlvfjwvxazna8j3dg9gksd2v973fpia")))) (build-system perl-build-system) (inputs `(("libxslt" ,libxslt))) @@ -469,14 +469,14 @@ checks.") (define-public perl-xml-rss (package (name "perl-xml-rss") - (version "1.59") + (version "1.60") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "XML-RSS-" version ".tar.gz")) (sha256 (base32 - "0v6vfizn2psy6av057kp7fv3z3y73s6b3w56jm3zr6hlq48llsx2")))) + "0xw6aaqka3vqwbv152sbh6fbi8j306q1gvg7v83br8miif3mjcsb")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) @@ -538,7 +538,7 @@ building Perl SAX2 XML parsers, filters, and drivers.") (define-public perl-xml-sax-base (package (name "perl-xml-sax-base") - (version "1.08") + (version "1.09") (source (origin (method url-fetch) @@ -546,7 +546,7 @@ building Perl SAX2 XML parsers, filters, and drivers.") "XML-SAX-Base-" version ".tar.gz")) (sha256 (base32 - "17i161rq1ngjlk0c8vdkrkkc56y1pf51k1g54y28py0micqp0qk6")))) + "1l1ai9g1z11ja7mvnfl5mj346r13jyckbg9qlw6c2izglidkbjv6")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/XML-SAX-Base") (synopsis "Base class for SAX Drivers and Filters") @@ -684,14 +684,14 @@ a schema.") (define-public perl-xml-compile-cache (package (name "perl-xml-compile-cache") - (version "1.05") + (version "1.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/" "XML-Compile-Cache-" version ".tar.gz")) (sha256 (base32 - "0xbwlszhi9hg8sxm5ylglm2qvnb689i595p913awrj2g4mp9yfsw")))) + "181qf1s7ymgi7saph3cf9p6dbxkxyh1ja23na4dchhi8v5mi66sr")))) (build-system perl-build-system) (propagated-inputs `(("perl-log-report" ,perl-log-report) @@ -993,6 +993,7 @@ UTF-8 and UTF-16 encoding.") version "/tinyxml_" (string-join (string-split version #\.) "_") ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "14smciid19lvkxqznfig77jxn5s4iq3jpb47vh5a6zcaqp7gvg8m")) @@ -1006,12 +1007,12 @@ UTF-8 and UTF-16 encoding.") (delete 'configure) (add-after 'build 'build-shared-library (lambda _ - (zero? (system* "g++" "-Wall" "-O2" "-shared" "-fpic" - "tinyxml.cpp" "tinyxmlerror.cpp" - "tinyxmlparser.cpp" "tinystr.cpp" - "-o" "libtinyxml.so")))) + (invoke "g++" "-Wall" "-O2" "-shared" "-fpic" + "tinyxml.cpp" "tinyxmlerror.cpp" + "tinyxmlparser.cpp" "tinystr.cpp" + "-o" "libtinyxml.so"))) (replace 'check - (lambda _ (zero? (system "./xmltest")))) + (lambda _ (invoke "./xmltest"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1060,9 +1061,10 @@ C++ programming language.") (method url-fetch) (uri (string-append "https://github.com/leethomason/tinyxml2/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "083z4r4khcndxi9k840lcr48sqxvar4gpsnf749xfdn1bkr8xcql")))) + (base32 + "083z4r4khcndxi9k840lcr48sqxvar4gpsnf749xfdn1bkr8xcql")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests @@ -1109,7 +1111,7 @@ XSLT and EXSLT.") (define-public html-xml-utils (package (name "html-xml-utils") - (version "7.5") + (version "7.6") (source (origin (method url-fetch) @@ -1118,7 +1120,7 @@ XSLT and EXSLT.") version ".tar.gz")) (sha256 (base32 - "0cbmqa9c4bc4ikk7vmgd65ixh2pl9mr336c4his3m8l7rgsjnh8n")))) + "0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m")))) (build-system gnu-build-system) (home-page "https://www.w3.org/Tools/HTML-XML-utils/") (synopsis "Command line utilities to manipulate HTML and XML files") @@ -1249,14 +1251,14 @@ libxls cannot write Excel files.") (define-public freexl (package (name "freexl") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "http://www.gaia-gis.it/gaia-sins/" name "-" version ".tar.gz")) (sha256 (base32 - "09bwzqjc41cc8qw8qkw9wq58rg9nax8r3fg19iny5vmw1c0z23sh")))) + "03bmwq6hngmzwpqpb7c2amqlspz4q69iv96nlf0f5c0qs98b3j9x")))) (build-system gnu-build-system) (home-page "https://www.gaia-gis.it/fossil/freexl/index") (synopsis "Read Excel files") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f1ef480c42..d167269c24 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -357,7 +357,7 @@ provided.") (define-public editres (package (name "editres") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) @@ -367,7 +367,7 @@ provided.") ".tar.bz2")) (sha256 (base32 - "1w2d5hb5pw9ii2jlf4yjlp899402zfwc8hdkpdr3i1fy1cjd2riv")))) + "04awfwmy3f9f0bchidc4ssbgrbicn5gzasg3jydpfnp5513d76h8")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -918,7 +918,7 @@ rendering commands to the X server.") (define-public iceauth (package (name "iceauth") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) @@ -928,7 +928,7 @@ rendering commands to the X server.") ".tar.bz2")) (sha256 (base32 - "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj")))) + "1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6")))) (build-system gnu-build-system) (inputs `(("libice" ,libice))) @@ -1558,7 +1558,7 @@ input from UTF-8 into the locale's encoding.") (define-public mkfontscale (package (name "mkfontscale") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) @@ -1568,7 +1568,7 @@ input from UTF-8 into the locale's encoding.") ".tar.bz2")) (sha256 (base32 - "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc")))) + "0siag28jpm8hj62bgjvw81sjfgrc7vcy2h7127bl4iazxrlxz60y")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) @@ -2001,7 +2001,7 @@ information used in connecting to the X server.") (define-public xbacklight (package (name "xbacklight") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) @@ -2011,7 +2011,7 @@ information used in connecting to the X server.") ".tar.bz2")) (sha256 (base32 - "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp")))) + "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb) @@ -2031,7 +2031,7 @@ the same way.") (define-public xbitmaps (package (name "xbitmaps") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) @@ -2041,7 +2041,7 @@ the same way.") ".tar.bz2")) (sha256 (base32 - "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n")))) + "1vh73sc13s7w5r6gnc6irca56s7998bja7wgdivkfn8jccawgw5r")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") @@ -2175,7 +2175,7 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).") (define-public xcursor-themes (package (name "xcursor-themes") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -2185,7 +2185,7 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).") ".tar.bz2")) (sha256 (base32 - "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3")))) + "0whjiq6d5z4z75zh37pji6llfcyrg6q3mg9zx5zqyncnj39q30xf")))) (build-system gnu-build-system) (inputs `(("libxcursor" ,libxcursor) @@ -2274,7 +2274,7 @@ available.") (define-public xdriinfo (package (name "xdriinfo") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) @@ -2284,7 +2284,7 @@ available.") ".tar.bz2")) (sha256 (base32 - "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc")))) + "0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r")))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) @@ -3843,7 +3843,7 @@ can be combined together using the 'rules' component of this database.") (define-public xkill (package (name "xkill") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -3853,7 +3853,7 @@ can be combined together using the 'rules' component of this database.") ".tar.bz2")) (sha256 (base32 - "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8")))) + "0szzd9nzn0ybkhnfyizb876irwnjsnb78rcaxx6prb71jmmbpw65")))) (build-system gnu-build-system) (inputs `(("libxmu" ,libxmu) @@ -3898,7 +3898,7 @@ programs that have displayed undesired windows on a user's screen.") (define-public xlsclients (package (name "xlsclients") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) @@ -3908,7 +3908,7 @@ programs that have displayed undesired windows on a user's screen.") ".tar.bz2")) (sha256 (base32 - "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx")))) + "1h8931sn34mcip6vpi4v7hdmr1r58gkbw4s2p97w98kykks2lgvp")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb))) @@ -3925,7 +3925,7 @@ running on X server.") (define-public xlsfonts (package (name "xlsfonts") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) @@ -3935,7 +3935,7 @@ running on X server.") ".tar.bz2")) (sha256 (base32 - "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0")))) + "0s6kxgv78chkwsqmhw929f4pf91gq63f4yvixxnan1h00cx0pf49")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -3952,7 +3952,7 @@ protocol.") (define-public xfontsel (package (name "xfontsel") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append @@ -3960,7 +3960,7 @@ protocol.") version ".tar.bz2")) (sha256 (base32 - "1grir464hy52a71r3mpm9mzvkf7nwr3vk0b1vc27pd3gp588a38p")))) + "0700lf6hx7dg88wq1yll7zjvf9gbwh06xff20yffkxb289y0pai5")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4084,7 +4084,7 @@ refers to the included common xorg.css stylesheet.") (define-public xpr (package (name "xpr") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -4094,7 +4094,7 @@ refers to the included common xorg.css stylesheet.") ".tar.bz2")) (sha256 (base32 - "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy")))) + "07qy9lwjvxighcmg6qvjkgagad3wwvidrfx0jz85lgynz3qy0dmr")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -4113,7 +4113,7 @@ it for output on various types of printers.") (define-public xprop (package (name "xprop") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) @@ -4123,7 +4123,7 @@ it for output on various types of printers.") ".tar.bz2")) (sha256 (base32 - "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv")))) + "06sjgahjiz85v0k0pmv5x05chc591xynl5ah1bqzz1bdr0lgnanj")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -4170,7 +4170,7 @@ and Reflect (RandR) extension.") (define-public xrdb (package (name "xrdb") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) @@ -4180,7 +4180,7 @@ and Reflect (RandR) extension.") ".tar.bz2")) (sha256 (base32 - "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk")))) + "1dqp486nd5sagbg572kl0k839nwvpqnb7jvppyb7jj5vrpkss8rd")))) (build-system gnu-build-system) (inputs `(("libxmu" ,libxmu) @@ -4201,7 +4201,7 @@ file.") (define-public xrefresh (package (name "xrefresh") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) @@ -4211,7 +4211,7 @@ file.") ".tar.bz2")) (sha256 (base32 - "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj")))) + "0lv3rlshh7s0z3aqx5ahnnf8cl082m934bk7gv881mz8nydznz98")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11))) @@ -4229,7 +4229,7 @@ up your screen.") (define-public xset (package (name "xset") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) @@ -4239,7 +4239,7 @@ up your screen.") ".tar.bz2")) (sha256 (base32 - "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3")))) + "0my987wjvra7l92ry6q44ky383yg3phzxhdbn3lqhapm1ll9bzg4")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -4258,7 +4258,7 @@ up your screen.") (define-public xsetroot (package (name "xsetroot") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) @@ -4268,7 +4268,7 @@ up your screen.") ".tar.bz2")) (sha256 (base32 - "1nf3ii31m1knimbidaaym8p61fq3blv8rrdr2775yhcclym5s8ds")))) + "0z21mqvmdl6rl63q77479wgkfygnll57liza1i3va7sr4fx45i0h")))) (build-system gnu-build-system) (inputs `(("libxmu" ,libxmu) @@ -4343,7 +4343,7 @@ extension.") (define-public xwd (package (name "xwd") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) @@ -4353,7 +4353,7 @@ extension.") ".tar.bz2")) (sha256 (base32 - "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv")))) + "1537i8q8pgf0sjklakzfvjwrq5b246qjywrx9ll8xfg0p6w1as6d")))) (build-system gnu-build-system) (inputs `(("libxt" ,libxt) @@ -4376,7 +4376,7 @@ dump and twice whenthe dump is completed.") (define-public xwininfo (package (name "xwininfo") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) @@ -4386,7 +4386,7 @@ dump and twice whenthe dump is completed.") ".tar.bz2")) (sha256 (base32 - "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1")))) + "00avrpw4h5mr1klp41lv2j4dmq465v6l5kb5bhm4k5ml8sm9i543")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -4404,7 +4404,7 @@ Various information is displayed depending on which options are selected.") (define-public xwud (package (name "xwud") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -4414,7 +4414,7 @@ Various information is displayed depending on which options are selected.") ".tar.bz2")) (sha256 (base32 - "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn")))) + "1a8hdgy40smvblnh3s9f0vkqckl68nmivx7d48zk34m8z18p16cr")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -4761,14 +4761,14 @@ common definitions and porting layer.") (define-public xorgproto (package (name "xorgproto") - (version "2018.3") + (version "2018.4") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" name "-" version ".tar.bz2")) (sha256 (base32 - "1rdhw28n1gp7yylwia41jhih66gfx75nxgrmi2ggglzvzqhwr0x8")))) + "180mqkp70i44rkmj430pmn9idssvffrgv4y5h19fm698a7h8bs7y")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. @@ -5409,17 +5409,17 @@ Intrinsics (Xt) Library.") (define-public twm (package (name "twm") - (version "1.0.9") + (version "1.0.10") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/" name "-" version - ".tar.gz")) + ".tar.bz2")) (sha256 (base32 - "1s1r00x8add3f27xjqxg6q7mwplwrb72gakbh4y6j052as25wchw")))) + "1ms5cj1w3g26zg6bxdv1j9hl0pxr4300qnv003cz1q3cl7ffljb4")))) (build-system gnu-build-system) (inputs `(("libxt" ,libxt) @@ -5638,14 +5638,14 @@ The XCB util-wm module provides the following libraries: (define-public xinit (package (name "xinit") - (version "1.3.4") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/xinit-" version ".tar.bz2")) (sha256 (base32 - "1cq2g469mb2cfgr8k57960yrn90bl33vfqri4pdh2zm0jxrqvn3m")))) + "1vw2wlg74ig52naw0cha3pgzcwwk25l834j42cg8m5zmybp3a213")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto) @@ -5727,7 +5727,7 @@ of an X11 screen.") (define-public xmessage (package (name "xmessage") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -5737,7 +5737,7 @@ of an X11 screen.") ".tar.gz")) (sha256 (base32 - "1jmcac1xbwplbxfl75sr6w3zqhx1khpdzlqippjsr31cjp1rjc48")))) + "0sw0b0cbrjl44brw7qi1jkm61xd7a1lpj04418c6iqk6mf83llwr")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -5801,7 +5801,7 @@ programs that cannot use the window system directly.") (define-public perl-x11-xcb (package (name "perl-x11-xcb") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (string-append @@ -5809,7 +5809,7 @@ programs that cannot use the window system directly.") "X11-XCB-" version ".tar.gz")) (sha256 (base32 - "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw")))) + "12qyf98s5hbybmh0mblpz50c00i68srq73w5rw31m2dhclj8n96q")))) (build-system perl-build-system) (arguments '(;; Disable parallel build to prevent a race condition. @@ -5932,7 +5932,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) @@ -5940,7 +5940,7 @@ basic eye-candy effects.") version ".tar.xz")) (sha256 (base32 - "0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy")))) + "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index 97c964e94c..858117de28 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -102,7 +102,7 @@ default Emacs configuration, but it carries a much lighter feature set.") ,@(package-inputs zile))) (native-inputs `(("m4" ,m4) ;for 'bootstrap' - ("autoconf" ,(autoconf-wrapper)) + ("autoconf" ,autoconf-wrapper) ("automake" ,automake) ;; For some reason, 'bootstrap' insists on having these. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 69e211ffa3..343123a377 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -55,7 +55,6 @@ #:export (fstab-service-type root-file-system-service file-system-service-type - user-unmount-service swap-service user-processes-service-type host-name-service @@ -464,7 +463,36 @@ FILE-SYSTEM." (start #~(const #t)) (stop #~(const #f)))) - (cons sink (map file-system-shepherd-service file-systems)))) + (define known-mount-points + (map file-system-mount-point file-systems)) + + (define user-unmount + (shepherd-service + (documentation "Unmount manually-mounted file systems.") + (provision '(user-file-systems)) + (start #~(const #t)) + (stop #~(lambda args + (define (known? mount-point) + (member mount-point + (cons* "/proc" "/sys" '#$known-mount-points))) + + ;; Make sure we don't keep the user's mount points busy. + (chdir "/") + + (for-each (lambda (mount-point) + (format #t "unmounting '~a'...~%" mount-point) + (catch 'system-error + (lambda () + (umount mount-point)) + (lambda args + (let ((errno (system-error-errno args))) + (format #t "failed to unmount '~a': ~a~%" + mount-point (strerror errno)))))) + (filter (negate known?) (mount-points))) + #f)))) + + (cons* sink user-unmount + (map file-system-shepherd-service file-systems)))) (define file-system-service-type (service-type (name 'file-systems) @@ -483,38 +511,6 @@ FILE-SYSTEM." "Provide Shepherd services to mount and unmount the given file systems, as well as corresponding @file{/etc/fstab} entries."))) -(define user-unmount-service-type - (shepherd-service-type - 'user-file-systems - (lambda (known-mount-points) - (shepherd-service - (documentation "Unmount manually-mounted file systems.") - (provision '(user-file-systems)) - (start #~(const #t)) - (stop #~(lambda args - (define (known? mount-point) - (member mount-point - (cons* "/proc" "/sys" '#$known-mount-points))) - - ;; Make sure we don't keep the user's mount points busy. - (chdir "/") - - (for-each (lambda (mount-point) - (format #t "unmounting '~a'...~%" mount-point) - (catch 'system-error - (lambda () - (umount mount-point)) - (lambda args - (let ((errno (system-error-errno args))) - (format #t "failed to unmount '~a': ~a~%" - mount-point (strerror errno)))))) - (filter (negate known?) (mount-points))) - #f)))))) - -(define (user-unmount-service known-mount-points) - "Return a service whose sole purpose is to unmount file systems not listed -in KNOWN-MOUNT-POINTS when it is stopped." - (service user-unmount-service-type known-mount-points)) ;;; @@ -941,119 +937,122 @@ to use as the tty. This is primarily useful for headless systems." ;; mingetty-shepherd-service). (requirement '(user-processes host-name udev)) - (start #~(let ((tty #$(default-serial-port))) - (if tty - (make-forkexec-constructor - (list #$(file-append util-linux "/sbin/agetty") - #$@extra-options - #$@(if eight-bits? - #~("--8bits") - #~()) - #$@(if no-reset? - #~("--noreset") - #~()) - #$@(if remote? - #~("--remote") - #~()) - #$@(if flow-control? - #~("--flow-control") - #~()) - #$@(if host - #~("--host" #$host) - #~()) - #$@(if no-issue? - #~("--noissue") - #~()) - #$@(if init-string - #~("--init-string" #$init-string) - #~()) - #$@(if no-clear? - #~("--noclear") - #~()) + (start #~(lambda args + (let ((defaulted-tty #$(or tty (default-serial-port)))) + (apply + (if defaulted-tty + (make-forkexec-constructor + (list #$(file-append util-linux "/sbin/agetty") + #$@extra-options + #$@(if eight-bits? + #~("--8bits") + #~()) + #$@(if no-reset? + #~("--noreset") + #~()) + #$@(if remote? + #~("--remote") + #~()) + #$@(if flow-control? + #~("--flow-control") + #~()) + #$@(if host + #~("--host" #$host) + #~()) + #$@(if no-issue? + #~("--noissue") + #~()) + #$@(if init-string + #~("--init-string" #$init-string) + #~()) + #$@(if no-clear? + #~("--noclear") + #~()) ;;; FIXME This doesn't work as expected. According to agetty(8), if this option ;;; is not passed, then the default is 'auto'. However, in my tests, when that ;;; option is selected, agetty never presents the login prompt, and the ;;; term-ttyS0 service respawns every few seconds. - #$@(if local-line - #~(#$(match local-line - ('auto "--local-line=auto") - ('always "--local-line=always") - ('never "-local-line=never"))) - #~()) - #$@(if tty - #~() - #~("--keep-baud")) - #$@(if extract-baud? - #~("--extract-baud") - #~()) - #$@(if skip-login? - #~("--skip-login") - #~()) - #$@(if no-newline? - #~("--nonewline") - #~()) - #$@(if login-options - #~("--login-options" #$login-options) - #~()) - #$@(if chroot - #~("--chroot" #$chroot) - #~()) - #$@(if hangup? - #~("--hangup") - #~()) - #$@(if keep-baud? - #~("--keep-baud") - #~()) - #$@(if timeout - #~("--timeout" #$(number->string timeout)) - #~()) - #$@(if detect-case? - #~("--detect-case") - #~()) - #$@(if wait-cr? - #~("--wait-cr") - #~()) - #$@(if no-hints? - #~("--nohints?") - #~()) - #$@(if no-hostname? - #~("--nohostname") - #~()) - #$@(if long-hostname? - #~("--long-hostname") - #~()) - #$@(if erase-characters - #~("--erase-chars" #$erase-characters) - #~()) - #$@(if kill-characters - #~("--kill-chars" #$kill-characters) - #~()) - #$@(if chdir - #~("--chdir" #$chdir) - #~()) - #$@(if delay - #~("--delay" #$(number->string delay)) - #~()) - #$@(if nice - #~("--nice" #$(number->string nice)) - #~()) - #$@(if auto-login - (list "--autologin" auto-login) - '()) - #$@(if login-program - #~("--login-program" #$login-program) - #~()) - #$@(if login-pause? - #~("--login-pause") - #~()) - #$(or tty (default-serial-port)) - #$@(if baud-rate - #~(#$baud-rate) - #~()) - #$@(if term - #~(#$term) - #~())))) - (const #f))) ; never start. + #$@(if local-line + #~(#$(match local-line + ('auto "--local-line=auto") + ('always "--local-line=always") + ('never "-local-line=never"))) + #~()) + #$@(if tty + #~() + #~("--keep-baud")) + #$@(if extract-baud? + #~("--extract-baud") + #~()) + #$@(if skip-login? + #~("--skip-login") + #~()) + #$@(if no-newline? + #~("--nonewline") + #~()) + #$@(if login-options + #~("--login-options" #$login-options) + #~()) + #$@(if chroot + #~("--chroot" #$chroot) + #~()) + #$@(if hangup? + #~("--hangup") + #~()) + #$@(if keep-baud? + #~("--keep-baud") + #~()) + #$@(if timeout + #~("--timeout" #$(number->string timeout)) + #~()) + #$@(if detect-case? + #~("--detect-case") + #~()) + #$@(if wait-cr? + #~("--wait-cr") + #~()) + #$@(if no-hints? + #~("--nohints?") + #~()) + #$@(if no-hostname? + #~("--nohostname") + #~()) + #$@(if long-hostname? + #~("--long-hostname") + #~()) + #$@(if erase-characters + #~("--erase-chars" #$erase-characters) + #~()) + #$@(if kill-characters + #~("--kill-chars" #$kill-characters) + #~()) + #$@(if chdir + #~("--chdir" #$chdir) + #~()) + #$@(if delay + #~("--delay" #$(number->string delay)) + #~()) + #$@(if nice + #~("--nice" #$(number->string nice)) + #~()) + #$@(if auto-login + (list "--autologin" auto-login) + '()) + #$@(if login-program + #~("--login-program" #$login-program) + #~()) + #$@(if login-pause? + #~("--login-pause") + #~()) + defaulted-tty + #$@(if baud-rate + #~(#$baud-rate) + #~()) + #$@(if term + #~(#$term) + #~()))) + (const #f)) ; never start. + args)))) (stop #~(make-kill-destructor))))))) (define agetty-service-type diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm new file mode 100644 index 0000000000..a868d758a4 --- /dev/null +++ b/gnu/services/cgit.scm @@ -0,0 +1,686 @@ +;;; 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 cgit) + #:use-module (gnu packages admin) + #:use-module (gnu packages version-control) + #:use-module (gnu services base) + #:use-module (gnu services configuration) + #:use-module (gnu services shepherd) + #:use-module (gnu services web) + #: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 (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (repository-cgit-configuration + cgit-configuration + %cgit-configuration-nginx + cgit-configuration-nginx-config + opaque-cgit-configuration + cgit-service-type)) + +;;; Commentary: +;;; +;;; This module provides a service definition for the Cgit a web frontend for +;;; Git repositories written in C. +;;; +;;; Note: fields of <cgit-configuration> and <repository-cgit-configuration> +;;; should be specified in the specific order. +;;; +;;; Code: + +(define %cgit-configuration-nginx + (nginx-server-configuration + (root cgit) + (locations + (list + (nginx-location-configuration + (uri "@cgit") + (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;" + "fastcgi_param PATH_INFO $uri;" + "fastcgi_param QUERY_STRING $args;" + "fastcgi_param HTTP_HOST $server_name;" + "fastcgi_pass 127.0.0.1:9000;"))))) + (try-files (list "$uri" "@cgit")) + (listen '("80")) + (ssl-certificate #f) + (ssl-certificate-key #f))) + + +;;; +;;; Serialize <cgit-configuration> +;;; + +(define (uglify-field-name field-name) + (let ((str (symbol->string field-name))) + (string-join (string-split (string-delete #\? str) #\-) "-"))) + +(define (serialize-field field-name val) + (format #t "~a=~a\n" (uglify-field-name field-name) val)) + +(define (serialize-string field-name val) + (if (string=? val "") "" (serialize-field field-name val))) + +(define (serialize-boolean field-name val) + (serialize-field field-name (if val 1 0))) + +(define (serialize-list field-name val) + (if (null? val) "" (serialize-field field-name (string-join val)))) + +(define robots-list? list?) + +(define (serialize-robots-list field-name val) + (if (null? val) "" (serialize-field field-name (string-join val ", ")))) + +(define (integer? val) + (exact-integer? val)) + +(define (serialize-integer field-name val) + (serialize-field field-name val)) + +(define (serialize-repository-cgit-configuration x) + (serialize-configuration x repository-cgit-configuration-fields)) + +(define (repository-cgit-configuration-list? val) + (list? val)) + +(define (serialize-repository-cgit-configuration-list field-name val) + (for-each serialize-repository-cgit-configuration val)) + + +;;; +;;; Serialize <nginx-server-configuration> +;;; + +(define (nginx-server-configuration-list? val) + (and (list? val) (and-map nginx-server-configuration? val))) + +(define (serialize-nginx-server-configuration-list field-name val) + #f) + + +;;; +;;; Serialize <repository-cgit-configuration> +;;; + +(define (serialize-repo-field field-name val) + (format #t "repo.~a=~a\n" (uglify-field-name field-name) val)) + +(define (serialize-repo-list field-name val) + (if (null? val) "" (serialize-repo-field field-name (string-join val)))) + +(define repo-boolean? boolean?) + +(define (serialize-repo-boolean field-name val) + (serialize-repo-field field-name (if val 1 0))) + +(define (serialize-repo-integer field-name val) + (serialize-repo-field field-name val)) + +(define repo-list? list?) + +(define repo-string? string?) + +(define (serialize-repo-string field-name val) + (if (string=? val "") "" (serialize-repo-field field-name val))) + +(define module-link-path? list?) + +(define (serialize-module-link-path field-name val) + (if (null? val) "" + (match val + ((path text) + (format #t "repo.~a.~a=~a\n" + (string-drop-right (uglify-field-name 'module-link-path) + (string-length "-path")) + path text))))) + +(define repository-directory? string?) + +(define (serialize-repository-directory _ val) + (if (string=? val "") "" (format #t "scan-path=~a\n" val))) + +(define mimetype-alist? list?) + +(define (serialize-mimetype-alist field-name val) + (format #t "# Mimetypes\n~a" + (string-join + (map (match-lambda + ((extension mimetype) + (format #f "mimetype.~a=~a" + (symbol->string extension) mimetype))) + val) "\n"))) + +(define-configuration repository-cgit-configuration + (snapshots + (repo-list '()) + "A mask of snapshot formats for this repo that cgit generates links for, +restricted by the global @code{snapshots} setting.") + (source-filter + (repo-string "") + "Override the default @code{source-filter}.") + (url + (repo-string "") + "The relative URL used to access the repository.") + (about-filter + (repo-string "") + "Override the default @code{about-filter}.") + (branch-sort + (repo-string "") + "Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set to @samp{name} enables ordering by branch name.") + (clone-url + (repo-list '()) + "A list of URLs which can be used to clone repo.") + (commit-filter + (repo-string "") + "Override the default @code{commit-filter}.") + (commit-sort + (repo-string "") + "Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological ordering.") + (defbranch + (repo-string "") + "The name of the default branch for this repository. If no such branch +exists in the repository, the first branch name (when sorted) is used as +default instead. By default branch pointed to by HEAD, or \"master\" if there +is no suitable HEAD.") + (desc + (repo-string "") + "The value to show as repository description.") + (homepage + (repo-string "") + "The value to show as repository homepage.") + (email-filter + (repo-string "") + "Override the default @code{email-filter}.") + (enable-commit-graph? + (repo-boolean #f) + "A flag which can be used to disable the global setting +@code{enable-commit-graph?}.") + (enable-log-filecount? + (repo-boolean #f) + "A flag which can be used to disable the global setting +@code{enable-log-filecount?}.") + (enable-log-linecount? + (repo-boolean #f) + "A flag which can be used to disable the global setting +@code{enable-log-linecount?}.") + (enable-remote-branches? + (repo-boolean #f) + "Flag which, when set to @code{#t}, will make cgit display remote +branches in the summary and refs views.") + (enable-subject-links? + (repo-boolean #f) + "A flag which can be used to override the global setting +@code{enable-subject-links?}.") + (enable-html-serving? + (repo-boolean #f) + "A flag which can be used to override the global setting +@code{enable-html-serving?}.") + (hide? + (repo-boolean #f) + "Flag which, when set to @code{#t}, hides the repository from the +repository index.") + (ignore? + (repo-boolean #f) + "Flag which, when set to @samp{#t}, ignores the repository.") + (logo + (repo-string "") + "URL which specifies the source of an image which will be used as a +logo on this repo’s pages.") + (logo-link + (repo-string "") + "URL loaded when clicking on the cgit logo image.") + (owner-filter + (repo-string "") + "Override the default @code{owner-filter}.") + (module-link + (repo-string "") + "Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing. The arguments for the +formatstring are the path and SHA1 of the submodule commit.") + (module-link-path + (module-link-path '()) + "Text which will be used as the formatstring for a hyperlink when a +submodule with the specified subdirectory path is printed in a directory +listing.") + (max-stats + (repo-string "") + "Override the default maximum statistics period.") + (name + (repo-string "") + "The value to show as repository name.") + (owner + (repo-string "") + "A value used to identify the owner of the repository.") + (path + (repo-string "") + "An absolute path to the repository directory.") + (readme + (repo-string "") + "A path (relative to repo) which specifies a file to include verbatim +as the \"About\" page for this repo.") + (section + (repo-string "") + "The name of the current repository section - all repositories defined +after this option will inherit the current section name.") + (extra-options + (repo-list '()) + "Extra options will be appended to cgitrc file.")) + +;; Generate a <cgit-configuration> record, which may include a list of +;; <repository-cgit-configuration>, <nginx-server-configuration>, <package>. +(define-configuration cgit-configuration + (package + (package cgit) + "The CGIT package.") + (nginx + (nginx-server-configuration-list (list %cgit-configuration-nginx)) + "NGINX configuration.") + (about-filter + (string "") + "Specifies a command which will be invoked to format the content of about +pages (both top-level and for each repository).") + (agefile + (string "") + "Specifies a path, relative to each repository path, which can be used to +specify the date and time of the youngest commit in the repository.") + (auth-filter + (string "") + "Specifies a command that will be invoked for authenticating repository +access.") + (branch-sort + (string "name") + "Flag which, when set to @samp{age}, enables date ordering in the branch +ref list, and when set @samp{name} enables ordering by branch name.") + (cache-root + (string "/var/cache/cgit") + "Path used to store the cgit cache entries.") + (cache-static-ttl + (integer -1) + "Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed with a fixed SHA1.") + (cache-dynamic-ttl + (integer 5) + "Number which specifies the time-to-live, in minutes, for the cached +version of repository pages accessed without a fixed SHA1.") + (cache-repo-ttl + (integer 5) + "Number which specifies the time-to-live, in minutes, for the cached +version of the repository summary page.") + (cache-root-ttl + (integer 5) + "Number which specifies the time-to-live, in minutes, for the cached +version of the repository index page.") + (cache-scanrc-ttl + (integer 15) + "Number which specifies the time-to-live, in minutes, for the result of +scanning a path for Git repositories.") + (cache-about-ttl + (integer 15) + "Number which specifies the time-to-live, in minutes, for the cached +version of the repository about page.") + (cache-snapshot-ttl + (integer 5) + "Number which specifies the time-to-live, in minutes, for the cached +version of snapshots.") + (cache-size + (integer 0) + "The maximum number of entries in the cgit cache. When set to +@samp{0}, caching is disabled.") + (case-sensitive-sort? + (boolean #t) + "Sort items in the repo list case sensitively.") + (clone-prefix + (list '()) + "List of common prefixes which, when combined with a repository URL, +generates valid clone URLs for the repository.") + (clone-url + (list '()) + "List of @code{clone-url} templates.") + (commit-filter + (string "") + "Command which will be invoked to format commit messages.") + (commit-sort + (string "git log") + "Flag which, when set to @samp{date}, enables strict date ordering in the +commit log, and when set to @samp{topo} enables strict topological +ordering.") + (css + (string "/share/cgit/cgit.css") + "URL which specifies the css document to include in all cgit pages.") + (email-filter + (string "") + "Specifies a command which will be invoked to format names and email +address of committers, authors, and taggers, as represented in various +places throughout the cgit interface.") + (embedded? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit generate a HTML +fragment suitable for embedding in other HTML pages.") + (enable-commit-graph? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art +commit history graph to the left of the commit messages in the +repository log page.") + (enable-filter-overrides? + (boolean #f) + "Flag which, when set to @samp{#t}, allows all filter settings to be +overridden in repository-specific cgitrc files.") + (enable-follow-links? + (boolean #f) + "Flag which, when set to @samp{#t}, allows users to follow a file in the +log view.") + (enable-http-clone? + (boolean #t) + "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git +clones.") + (enable-index-links? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit generate extra links +\"summary\", \"commit\", \"tree\" for each repo in the repository index.") + (enable-index-owner? + (boolean #t) + "Flag which, when set to @samp{#t}, will make cgit display the owner of +each repo in the repository index.") + (enable-log-filecount? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit print the number of +modified files for each commit on the repository log page.") + (enable-log-linecount? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit print the number of +added and removed lines for each commit on the repository log page.") + (enable-remote-branches? + (boolean #f) + "Flag which, when set to @code{#t}, will make cgit display remote +branches in the summary and refs views.") + (enable-subject-links? + (boolean #f) + "Flag which, when set to @code{1}, will make cgit use the subject of +the parent commit as link text when generating links to parent commits +in commit view.") + (enable-html-serving? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit use the subject of the +parent commit as link text when generating links to parent commits in +commit view.") + (enable-tree-linenumbers? + (boolean #t) + "Flag which, when set to @samp{#t}, will make cgit generate linenumber +links for plaintext blobs printed in the tree view.") + (enable-git-config? + (boolean #f) + "Flag which, when set to @samp{#f}, will allow cgit to use Git config to +set any repo specific settings.") + (favicon + (string "/favicon.ico") + "URL used as link to a shortcut icon for cgit.") + (footer + (string "") + "The content of the file specified with this option will be included +verbatim at the bottom of all pages (i.e. it replaces the standard +\"generated by...\" message).") + (head-include + (string "") + "The content of the file specified with this option will be included +verbatim in the HTML HEAD section on all pages.") + (header + (string "") + "The content of the file specified with this option will be included +verbatim at the top of all pages.") + (include + (string "") + "Name of a configfile to include before the rest of the current config- +file is parsed.") + (index-header + (string "") + "The content of the file specified with this option will be included +verbatim above the repository index.") + (index-info + (string "") + "The content of the file specified with this option will be included +verbatim below the heading on the repository index page.") + (local-time? + (boolean #f) + "Flag which, if set to @samp{#t}, makes cgit print commit and tag times +in the servers timezone.") + (logo + (string "/share/cgit/cgit.png") + "URL which specifies the source of an image which will be used as a logo +on all cgit pages.") + (logo-link + (string "") + "URL loaded when clicking on the cgit logo image.") + (owner-filter + (string "") + "Command which will be invoked to format the Owner column of the main +page.") + (max-atom-items + (integer 10) + "Number of items to display in atom feeds view.") + (max-commit-count + (integer 50) + "Number of entries to list per page in \"log\" view.") + (max-message-length + (integer 80) + "Number of commit message characters to display in \"log\" view.") + (max-repo-count + (integer 50) + "Specifies the number of entries to list per page on the repository index +page.") + (max-repodesc-length + (integer 80) + "Specifies the maximum number of repo description characters to display +on the repository index page.") + (max-blob-size + (integer 0) + "Specifies the maximum size of a blob to display HTML for in KBytes.") + (max-stats + (string "") + "Maximum statistics period. Valid values are @samp{week},@samp{month}, +@samp{quarter} and @samp{year}.") + (mimetype + (mimetype-alist '((gif "image/gif") + (html "text/html") + (jpg "image/jpeg") + (jpeg "image/jpeg") + (pdf "application/pdf") + (png "image/png") + (svg "image/svg+xml"))) + "Mimetype for the specified filename extension.") + (mimetype-file + (string "") + "Specifies the file to use for automatic mimetype lookup.") + (module-link + (string "") + "Text which will be used as the formatstring for a hyperlink when a +submodule is printed in a directory listing.") + (nocache? + (boolean #f) + "If set to the value @samp{#t} caching will be disabled.") + (noplainemail? + (boolean #f) + "If set to @samp{#t} showing full author email addresses will be +disabled.") + (noheader? + (boolean #f) + "Flag which, when set to @samp{#t}, will make cgit omit the standard +header on all pages.") + ;; TODO: cgit expects a file name + ;; that should be created from a list of strings provided by the user. + ;; + ;; (project-list + ;; (string "") + ;; "A list of subdirectories inside of @code{repository-directory}, + ;; relative to it, that should loaded as Git repositories.") + (readme + (string "") + "Text which will be used as default value for @code{cgit-repo-readme}.") + (remove-suffix? + (boolean #f) + "If set to @code{#t} and @code{repository-directory} is enabled, if any +repositories are found with a suffix of @code{.git}, this suffix will be +removed for the URL and name.") + (renamelimit + (integer -1) + "Maximum number of files to consider when detecting renames.") + (repository-sort + (string "") + "The way in which repositories in each section are sorted.") + (robots + (robots-list (list "noindex" "nofollow")) + "Text used as content for the @code{robots} meta-tag.") + (root-desc + (string "a fast webinterface for the git dscm") + "Text printed below the heading on the repository index page.") + (root-readme + (string "") + "The content of the file specified with this option will be included +verbatim below thef \"about\" link on the repository index page.") + (root-title + (string "") + "Text printed as heading on the repository index page.") + (scan-hidden-path + (boolean #f) + "If set to @samp{#t} and repository-directory is enabled, +repository-directory will recurse into directories whose name starts with a +period. Otherwise, repository-directory will stay away from such directories, +considered as \"hidden\". Note that this does not apply to the \".git\" +directory in non-bare repos.") + (snapshots + (list '()) + "Text which specifies the default set of snapshot formats that cgit +generates links for.") + (repository-directory + (repository-directory "/srv/git") + "Name of the directory to scan for repositories (represents +@code{scan-path}).") + (section + (string "") + "The name of the current repository section - all repositories defined +after this option will inherit the current section name.") + (section-sort + (string "") + "Flag which, when set to @samp{1}, will sort the sections on the repository +listing by name.") + (section-from-path + (integer 0) + "A number which, if defined prior to repository-directory, specifies how +many path elements from each repo path to use as a default section name.") + (side-by-side-diffs? + (boolean #f) + "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per +default.") + (source-filter + (string "") + "Specifies a command which will be invoked to format plaintext blobs in the +tree view.") + (summary-branches + (integer 10) + "Specifies the number of branches to display in the repository \"summary\" +view.") + (summary-log + (integer 10) + "Specifies the number of log entries to display in the repository +\"summary\" view.") + (summary-tags + (integer 10) + "Specifies the number of tags to display in the repository \"summary\" +view.") + (strict-export + (string "") + "Filename which, if specified, needs to be present within the repository +for cgit to allow access to that repository.") + (virtual-root + (string "/") + "URL which, if specified, will be used as root for all cgit links.") + (repositories + (repository-cgit-configuration-list '()) + "A list of @dfn{cgit-repo} records to use with config.") + (extra-options + (list '()) + "Extra options will be appended to cgitrc file.")) + +(define-configuration opaque-cgit-configuration + (cgit + (package cgit) + "The cgit package.") + (cgitrc + (string (configuration-missing-field 'opaque-cgit-configuration 'cgitrc)) + "The contents of the @code{cgitrc} to use.") + (cache-root + (string "/var/cache/cgit") + "Path used to store the cgit cache entries.") + (nginx + (nginx-server-configuration-list (list %cgit-configuration-nginx)) + "NGINX configuration.")) + +(define (cgit-activation config) + "Return the activation gexp for CONFIG." + (let* ((opaque-config? (opaque-cgit-configuration? config)) + (config-str + (if opaque-config? + (opaque-cgit-configuration-cgitrc config) + (with-output-to-string + (lambda () + (serialize-configuration config + cgit-configuration-fields)))))) + #~(begin + (use-modules (guix build utils)) + (mkdir-p #$(if opaque-config? + (opaque-cgit-configuration-cache-root config) + (cgit-configuration-cache-root config))) + (copy-file #$(plain-file "cgitrc" config-str) "/etc/cgitrc")))) + +(define (cgit-configuration-nginx-config config) + (if (opaque-cgit-configuration? config) + (opaque-cgit-configuration-nginx config) + (cgit-configuration-nginx config))) + +(define cgit-service-type + (service-type + (name 'cgit) + (extensions + (list (service-extension activation-service-type + cgit-activation) + (service-extension nginx-service-type + cgit-configuration-nginx-config) + + ;; Make sure fcgiwrap is instantiated. + (service-extension fcgiwrap-service-type + (const #t)))) + (default-value (cgit-configuration)) + (description + "Run the cgit web interface, which allows users to browse Git +repositories."))) + +(define (generate-cgit-documentation) + (generate-documentation + `((cgit-configuration + ,cgit-configuration-fields + (repositories repository-cgit-configuration)) + (repository-cgit-configuration + ,repository-cgit-configuration-fields)) + 'cgit-configuration)) diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index c45340f02f..707944cbe0 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,11 +74,12 @@ (documentation configuration-field-documentation)) (define (serialize-configuration config fields) - (for-each (lambda (field) - ((configuration-field-serializer field) - (configuration-field-name field) - ((configuration-field-getter field) config))) - fields)) + #~(string-append + #$@(map (lambda (field) + ((configuration-field-serializer field) + (configuration-field-name field) + ((configuration-field-getter field) config))) + fields))) (define (validate-configuration config fields) (for-each (lambda (field) @@ -105,7 +106,7 @@ (define (maybe-stem? val) (or (eq? val 'disabled) (stem? val))) (define (serialize-maybe-stem field-name val) - (when (stem? val) (serialize-stem field-name val))))))))) + (if (stem? val) (serialize-stem field-name val) "")))))))) (define-syntax define-configuration (lambda (stx) @@ -147,7 +148,7 @@ conf)))))))) (define (serialize-package field-name val) - #f) + "") ;; A little helper to make it easier to document all those fields. (define (generate-documentation documentation documentation-name) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index b34a67aa95..72927c4534 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -29,9 +29,25 @@ #:use-module (guix modules) #:use-module (guix records) #:use-module (guix gexp) + #:use-module (srfi srfi-1) #:use-module (ice-9 match) - #:export (postgresql-configuration + #:export (<postgresql-config-file> + postgresql-config-file + postgresql-config-file? + postgresql-config-file-log-destination + postgresql-config-file-hba-file + postgresql-config-file-ident-file + postgresql-config-file-extra-config + + <postgresql-configuration> + postgresql-configuration postgresql-configuration? + postgresql-configuration-postgresql + postgresql-configuration-port + postgresql-configuration-locale + postgresql-configuration-file + postgresql-configuration-data-directory + postgresql-service postgresql-service-type @@ -68,18 +84,6 @@ ;;; ;;; Code: -(define-record-type* <postgresql-configuration> - postgresql-configuration make-postgresql-configuration - postgresql-configuration? - (postgresql postgresql-configuration-postgresql ;<package> - (default postgresql)) - (port postgresql-configuration-port - (default 5432)) - (locale postgresql-configuration-locale - (default "en_US.utf8")) - (config-file postgresql-configuration-file) - (data-directory postgresql-configuration-data-directory)) - (define %default-postgres-hba (plain-file "pg_hba.conf" " @@ -89,13 +93,64 @@ host all all ::1/128 trust")) (define %default-postgres-ident (plain-file "pg_ident.conf" - "# MAPNAME SYSTEM-USERNAME PG-USERNAME")) + "# MAPNAME SYSTEM-USERNAME PG-USERNAME")) + +(define-record-type* <postgresql-config-file> + postgresql-config-file make-postgresql-config-file + postgresql-config-file? + (log-destination postgresql-config-file-log-destination + (default "syslog")) + (hba-file postgresql-config-file-hba-file + (default %default-postgres-hba)) + (ident-file postgresql-config-file-ident-file + (default %default-postgres-ident)) + (extra-config postgresql-config-file-extra-config + (default '()))) + +(define-gexp-compiler (postgresql-config-file-compiler + (file <postgresql-config-file>) system target) + (match file + (($ <postgresql-config-file> log-destination hba-file + ident-file extra-config) + (define (quote' string) + (if string + (list "'" string "'") + '())) + + (define contents + (append-map + (match-lambda + ((key) '()) + ((key . #f) '()) + ((key values ...) `(,key " = " ,@values "\n"))) + + `(("log_destination" ,@(quote' log-destination)) + ("hba_file" ,@(quote' hba-file)) + ("ident_file" ,@(quote' ident-file)) + ,@extra-config))) + + (gexp->derivation + "postgresql.conf" + #~(call-with-output-file (ungexp output "out") + (lambda (port) + (display + (string-append #$@contents) + port))) + #:local-build? #t)))) -(define %default-postgres-config - (mixed-text-file "postgresql.conf" - "log_destination = 'syslog'\n" - "hba_file = '" %default-postgres-hba "'\n" - "ident_file = '" %default-postgres-ident "'\n")) +(define-record-type* <postgresql-configuration> + postgresql-configuration make-postgresql-configuration + postgresql-configuration? + (postgresql postgresql-configuration-postgresql ;<package> + (default postgresql)) + (port postgresql-configuration-port + (default 5432)) + (locale postgresql-configuration-locale + (default "en_US.utf8")) + (config-file postgresql-configuration-file + (default (postgresql-config-file))) + (data-directory postgresql-configuration-data-directory + (default "/var/lib/postgresql/data"))) (define %postgresql-accounts (list (user-group (name "postgres") (system? #t)) @@ -184,12 +239,13 @@ host all all ::1/128 trust")) (service-extension activation-service-type postgresql-activation) (service-extension account-service-type - (const %postgresql-accounts)))))) + (const %postgresql-accounts)))) + (default-value (postgresql-configuration)))) (define* (postgresql-service #:key (postgresql postgresql) (port 5432) (locale "en_US.utf8") - (config-file %default-postgres-config) + (config-file (postgresql-config-file)) (data-directory "/var/lib/postgresql/data")) "Return a service that runs @var{postgresql}, the PostgreSQL database server. @@ -466,7 +522,8 @@ FLUSH PRIVILEGES; (service-extension activation-service-type %mysql-activation) (service-extension shepherd-root-service-type - mysql-shepherd-service))))) + mysql-shepherd-service))) + (default-value (mysql-configuration)))) (define* (mysql-service #:key (config (mysql-configuration))) "Return a service that runs @command{mysqld}, the MySQL or MariaDB @@ -548,4 +605,5 @@ The optional @var{config} argument specifies the configuration for (service-extension activation-service-type redis-activation) (service-extension account-service-type - (const %redis-accounts)))))) + (const %redis-accounts)))) + (default-value (redis-configuration)))) diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm index c8403c0135..70b05e8f80 100644 --- a/gnu/services/dict.scm +++ b/gnu/services/dict.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -150,6 +150,7 @@ database { (gnu system file-systems))) (list (shepherd-service (provision '(dicod)) + (requirement '(user-processes)) (documentation "Run the dicod daemon.") (modules '((gnu build shepherd) (gnu system file-systems))) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index ab90942739..573efa0433 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1435,90 +1435,91 @@ greyed out, instead of only later giving \"not selectable\" popup error. (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))) -(define %dovecot-activation +(define (%dovecot-activation config) ;; Activation gexp. - #~(begin - (use-modules (guix build utils)) - (define (mkdir-p/perms directory owner perms) - (mkdir-p directory) - (chown "/var/run/dovecot" (passwd:uid owner) (passwd:gid owner)) - (chmod directory perms)) - (define (build-subject parameters) - (string-concatenate - (map (lambda (pair) - (let ((k (car pair)) (v (cdr pair))) - (define (escape-char str chr) - (string-join (string-split str chr) (string #\\ chr))) - (string-append "/" k "=" - (escape-char (escape-char v #\=) #\/)))) - (filter (lambda (pair) (cdr pair)) parameters)))) - (define* (create-self-signed-certificate-if-absent - #:key private-key public-key (owner (getpwnam "root")) - (common-name (gethostname)) - (organization-name "GuixSD") - (organization-unit-name "Default Self-Signed Certificate") - (subject-parameters `(("CN" . ,common-name) - ("O" . ,organization-name) - ("OU" . ,organization-unit-name))) - (subject (build-subject subject-parameters))) - ;; Note that by default, OpenSSL outputs keys in PEM format. This - ;; is what we want. - (unless (file-exists? private-key) - (cond - ((zero? (system* (string-append #$openssl "/bin/openssl") - "genrsa" "-out" private-key "2048")) - (chown private-key (passwd:uid owner) (passwd:gid owner)) - (chmod private-key #o400)) - (else - (format (current-error-port) - "Failed to create private key at ~a.\n" private-key)))) - (unless (file-exists? public-key) - (cond - ((zero? (system* (string-append #$openssl "/bin/openssl") - "req" "-new" "-x509" "-key" private-key - "-out" public-key "-days" "3650" - "-batch" "-subj" subject)) - (chown public-key (passwd:uid owner) (passwd:gid owner)) - (chmod public-key #o444)) - (else - (format (current-error-port) - "Failed to create public key at ~a.\n" public-key))))) - (let ((user (getpwnam "dovecot"))) - (mkdir-p/perms "/var/run/dovecot" user #o755) - (mkdir-p/perms "/var/lib/dovecot" user #o755) - (mkdir-p/perms "/etc/dovecot" user #o755) - (mkdir-p/perms "/etc/dovecot/private" user #o700) - (create-self-signed-certificate-if-absent - #:private-key "/etc/dovecot/private/default.pem" - #:public-key "/etc/dovecot/default.pem" - #:owner (getpwnam "root") - #:common-name (format #f "Dovecot service on ~a" (gethostname)))))) + (let ((config-str + (cond + ((opaque-dovecot-configuration? config) + (opaque-dovecot-configuration-string config)) + (else + (with-output-to-string + (lambda () + (serialize-configuration config + dovecot-configuration-fields))))))) + #~(begin + (use-modules (guix build utils)) + (define (mkdir-p/perms directory owner perms) + (mkdir-p directory) + (chown "/var/run/dovecot" (passwd:uid owner) (passwd:gid owner)) + (chmod directory perms)) + (define (build-subject parameters) + (string-concatenate + (map (lambda (pair) + (let ((k (car pair)) (v (cdr pair))) + (define (escape-char str chr) + (string-join (string-split str chr) (string #\\ chr))) + (string-append "/" k "=" + (escape-char (escape-char v #\=) #\/)))) + (filter (lambda (pair) (cdr pair)) parameters)))) + (define* (create-self-signed-certificate-if-absent + #:key private-key public-key (owner (getpwnam "root")) + (common-name (gethostname)) + (organization-name "GuixSD") + (organization-unit-name "Default Self-Signed Certificate") + (subject-parameters `(("CN" . ,common-name) + ("O" . ,organization-name) + ("OU" . ,organization-unit-name))) + (subject (build-subject subject-parameters))) + ;; Note that by default, OpenSSL outputs keys in PEM format. This + ;; is what we want. + (unless (file-exists? private-key) + (cond + ((zero? (system* (string-append #$openssl "/bin/openssl") + "genrsa" "-out" private-key "2048")) + (chown private-key (passwd:uid owner) (passwd:gid owner)) + (chmod private-key #o400)) + (else + (format (current-error-port) + "Failed to create private key at ~a.\n" private-key)))) + (unless (file-exists? public-key) + (cond + ((zero? (system* (string-append #$openssl "/bin/openssl") + "req" "-new" "-x509" "-key" private-key + "-out" public-key "-days" "3650" + "-batch" "-subj" subject)) + (chown public-key (passwd:uid owner) (passwd:gid owner)) + (chmod public-key #o444)) + (else + (format (current-error-port) + "Failed to create public key at ~a.\n" public-key))))) + (let ((user (getpwnam "dovecot"))) + (mkdir-p/perms "/var/run/dovecot" user #o755) + (mkdir-p/perms "/var/lib/dovecot" user #o755) + (mkdir-p/perms "/etc/dovecot" user #o755) + (copy-file #$(plain-file "dovecot.conf" config-str) + "/etc/dovecot/dovecot.conf") + (mkdir-p/perms "/etc/dovecot/private" user #o700) + (create-self-signed-certificate-if-absent + #:private-key "/etc/dovecot/private/default.pem" + #:public-key "/etc/dovecot/default.pem" + #:owner (getpwnam "root") + #:common-name (format #f "Dovecot service on ~a" (gethostname))))))) (define (dovecot-shepherd-service config) "Return a list of <shepherd-service> for CONFIG." - (let* ((config-str - (cond - ((opaque-dovecot-configuration? config) - (opaque-dovecot-configuration-string config)) - (else - (with-output-to-string - (lambda () - (serialize-configuration config - dovecot-configuration-fields)))))) - (config-file (plain-file "dovecot.conf" config-str)) - (dovecot (if (opaque-dovecot-configuration? config) - (opaque-dovecot-configuration-dovecot config) - (dovecot-configuration-dovecot config)))) + (let ((dovecot (if (opaque-dovecot-configuration? config) + (opaque-dovecot-configuration-dovecot config) + (dovecot-configuration-dovecot config)))) (list (shepherd-service (documentation "Run the Dovecot POP3/IMAP mail server.") (provision '(dovecot)) (requirement '(networking)) (start #~(make-forkexec-constructor (list (string-append #$dovecot "/sbin/dovecot") - "-F" "-c" #$config-file))) + "-F"))) (stop #~(make-forkexec-constructor (list (string-append #$dovecot "/sbin/dovecot") - "-c" #$config-file "stop"))))))) + "stop"))))))) (define %dovecot-pam-services (list (unix-pam-service "dovecot"))) @@ -1533,7 +1534,7 @@ greyed out, instead of only later giving \"not selectable\" popup error. (service-extension pam-root-service-type (const %dovecot-pam-services)) (service-extension activation-service-type - (const %dovecot-activation)))))) + %dovecot-activation))))) (define* (dovecot-service #:key (config (dovecot-configuration))) "Return a service that runs @command{dovecot}, a mail server that can run diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 427e2121f6..80ffed0f2f 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; @@ -115,16 +115,9 @@ "_"))) (define (serialize-field field-name val) - (format #t "~a = ~a;\n" (uglify-field-name field-name) val)) + #~(format #f "~a = ~a;\n" #$(uglify-field-name field-name) #$val)) (define (serialize-field-list field-name val) - (serialize-field field-name - (with-output-to-string - (lambda () - (format #t "{\n") - (for-each (lambda (x) - (format #t "~a;\n" x)) - val) - (format #t "}"))))) + (serialize-field field-name #~(format #f "{\n~@{~a;\n~}}" #$@val))) (define (serialize-boolean field-name val) (serialize-field field-name (if val "true" "false"))) @@ -140,17 +133,17 @@ (define (non-negative-integer? val) (and (exact-integer? val) (not (negative? val)))) (define (serialize-non-negative-integer field-name val) - (serialize-field field-name val)) + (serialize-field field-name (number->string val))) (define-maybe non-negative-integer) (define (non-negative-integer-list? val) (and (list? val) (and-map non-negative-integer? val))) (define (serialize-non-negative-integer-list field-name val) - (serialize-field-list field-name val)) + (serialize-field-list field-name (map number->string val))) (define-maybe non-negative-integer-list) (define (enclose-quotes s) - (format #f "\"~a\"" s)) + #~(string-append "\"" #$s "\"")) (define (serialize-string field-name val) (serialize-field field-name (enclose-quotes val))) (define-maybe string) @@ -183,10 +176,22 @@ (serialize-string-list field-name val)) (define-maybe file-name) +(define (file-object? val) + (or (file-like? val) (file-name? val))) +(define (serialize-file-object field-name val) + (serialize-string field-name val)) +(define-maybe file-object) + +(define (file-object-list? val) + (and (list? val) (and-map file-object? val))) +(define (serialize-file-object-list field-name val) + (serialize-string-list field-name val)) +(define-maybe file-object) + (define (raw-content? val) (not (eq? val 'disabled))) (define (serialize-raw-content field-name val) - (format #t "~a" val)) + val) (define-maybe raw-content) (define-configuration mod-muc-configuration @@ -224,12 +229,12 @@ just joined the room.")) "Path to your certificate file.") (capath - (file-name "/etc/ssl/certs") + (file-object "/etc/ssl/certs") "Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers.") (cafile - (maybe-file-name 'disabled) + (maybe-file-object 'disabled) "Path to a file containing root certificates that you wish Prosody to trust. Similar to @code{capath} but with all certificates concatenated together.") @@ -273,9 +278,8 @@ can create such a file with: (maybe-string 'disabled) "Password for encrypted private keys.")) (define (serialize-ssl-configuration field-name val) - (format #t "ssl = {\n") - (serialize-configuration val ssl-configuration-fields) - (format #t "};\n")) + #~(format #f "ssl = {\n~a};\n" + #$(serialize-configuration val ssl-configuration-fields))) (define-maybe ssl-configuration) (define %default-modules-enabled @@ -303,20 +307,23 @@ can create such a file with: (define (virtualhost-configuration-list? val) (and (list? val) (and-map virtualhost-configuration? val))) (define (serialize-virtualhost-configuration-list l) - (for-each - (lambda (val) (serialize-virtualhost-configuration val)) l)) + #~(string-append + #$@(map (lambda (val) + (serialize-virtualhost-configuration val)) l))) (define (int-component-configuration-list? val) (and (list? val) (and-map int-component-configuration? val))) (define (serialize-int-component-configuration-list l) - (for-each - (lambda (val) (serialize-int-component-configuration val)) l)) + #~(string-append + #$@(map (lambda (val) + (serialize-int-component-configuration val)) l))) (define (ext-component-configuration-list? val) (and (list? val) (and-map ext-component-configuration? val))) (define (serialize-ext-component-configuration-list l) - (for-each - (lambda (val) (serialize-ext-component-configuration val)) l)) + #~(string-append + #$@(map (lambda (val) + (serialize-ext-component-configuration val)) l))) (define-all-configurations prosody-configuration (prosody @@ -331,7 +338,7 @@ can create such a file with: global) (plugin-paths - (file-name-list '()) + (file-object-list '()) "Additional plugin directories. They are searched in all the specified paths in order. See @url{https://prosody.im/doc/plugins_directory}." global) @@ -372,7 +379,7 @@ should you want to disable them then add them to this list." common) (groups-file - (file-name "/var/lib/prosody/sharedgroups.txt") + (file-object "/var/lib/prosody/sharedgroups.txt") "Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See @url{https://prosody.im/doc/modules/mod_groups}." @@ -566,8 +573,9 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." '(domain)))) (let ((domain (virtualhost-configuration-domain config)) (rest (filter rest? virtualhost-configuration-fields))) - (format #t "VirtualHost \"~a\"\n" domain) - (serialize-configuration config rest))) + #~(string-append + #$(format #f "VirtualHost \"~a\"\n" domain) + #$(serialize-configuration config rest)))) ;; Serialize Component line first. (define (serialize-int-component-configuration config) @@ -577,8 +585,9 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." (let ((hostname (int-component-configuration-hostname config)) (plugin (int-component-configuration-plugin config)) (rest (filter rest? int-component-configuration-fields))) - (format #t "Component \"~a\" \"~a\"\n" hostname plugin) - (serialize-configuration config rest))) + #~(string-append + #$(format #f "Component \"~a\" \"~a\"\n" hostname plugin) + #$(serialize-configuration config rest)))) ;; Serialize Component line first. (define (serialize-ext-component-configuration config) @@ -587,22 +596,24 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." '(hostname)))) (let ((hostname (ext-component-configuration-hostname config)) (rest (filter rest? ext-component-configuration-fields))) - (format #t "Component \"~a\"\n" hostname) - (serialize-configuration config rest))) + #~(string-append + #$(format #f "Component \"~a\"\n" hostname) + #$(serialize-configuration config rest)))) ;; Serialize virtualhosts and components last. (define (serialize-prosody-configuration config) (define (rest? field) (not (memq (configuration-field-name field) '(virtualhosts int-components ext-components)))) - (let ((rest (filter rest? prosody-configuration-fields))) - (serialize-configuration config rest)) - (serialize-virtualhost-configuration-list - (prosody-configuration-virtualhosts config)) - (serialize-int-component-configuration-list - (prosody-configuration-int-components config)) - (serialize-ext-component-configuration-list - (prosody-configuration-ext-components config))) + #~(string-append + #$(let ((rest (filter rest? prosody-configuration-fields))) + (serialize-configuration config rest)) + #$(serialize-virtualhost-configuration-list + (prosody-configuration-virtualhosts config)) + #$(serialize-int-component-configuration-list + (prosody-configuration-int-components config)) + #$(serialize-ext-component-configuration-list + (prosody-configuration-ext-components config)))) (define-configuration opaque-prosody-configuration (prosody @@ -646,13 +657,12 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." (default-certs-dir "/etc/prosody/certs") (data-path (prosody-configuration-data-path config)) (pidfile-dir (dirname (prosody-configuration-pidfile config))) - (config-str - (if (opaque-prosody-configuration? config) - (opaque-prosody-configuration-prosody.cfg.lua config) - (with-output-to-string - (lambda () - (serialize-prosody-configuration config))))) - (config-file (plain-file "prosody.cfg.lua" config-str))) + (config-str (if (opaque-prosody-configuration? config) + (opaque-prosody-configuration-prosody.cfg.lua config) + #~(begin + (use-modules (ice-9 format)) + #$(serialize-prosody-configuration config)))) + (config-file (mixed-text-file "prosody.cfg.lua" config-str))) #~(begin (use-modules (guix build utils)) (define %user (getpw "prosody")) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 5ba3c5eed6..6ac440fd26 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -64,6 +64,10 @@ ntp-service ntp-service-type + openntpd-configuration + openntpd-configuration? + openntpd-service-type + inetd-configuration inetd-entry inetd-service-type @@ -448,6 +452,102 @@ make an initial adjustment of more than 1,000 seconds." ;;; +;;; OpenNTPD. +;;; + +(define-record-type* <openntpd-configuration> + openntpd-configuration make-openntpd-configuration + openntpd-configuration? + (openntpd openntpd-configuration-openntpd + (default openntpd)) + (listen-on openntpd-listen-on + (default '("127.0.0.1" + "::1"))) + (query-from openntpd-query-from + (default '())) + (sensor openntpd-sensor + (default '())) + (server openntpd-server + (default %ntp-servers)) + (servers openntpd-servers + (default '())) + (constraint-from openntpd-constraint-from + (default '())) + (constraints-from openntpd-constraints-from + (default '())) + (allow-large-adjustment? openntpd-allow-large-adjustment? + (default #f))) ; upstream default + +(define (openntpd-shepherd-service config) + (match-record config <openntpd-configuration> + (openntpd listen-on query-from sensor server servers constraint-from + constraints-from allow-large-adjustment?) + (let () + (define config + (string-join + (filter-map + (lambda (field value) + (string-join + (map (cut string-append field <> "\n") + value))) + '("listen on " "query from " "sensor " "server " "servers " + "constraint from ") + (list listen-on query-from sensor server servers constraint-from)) + ;; The 'constraints from' field needs to be enclosed in double quotes. + (string-join + (map (cut string-append "constraints from \"" <> "\"\n") + constraints-from)))) + + (define ntpd.conf + (plain-file "ntpd.conf" config)) + + (list (shepherd-service + (provision '(ntpd)) + (documentation "Run the Network Time Protocol (NTP) daemon.") + (requirement '(user-processes networking)) + (start #~(make-forkexec-constructor + (list (string-append #$openntpd "/sbin/ntpd") + "-f" #$ntpd.conf + "-d" ;; don't daemonize + #$@(if allow-large-adjustment? + '("-s") + '())) + ;; When ntpd is daemonized it repeatedly tries to respawn + ;; while running, leading shepherd to disable it. To + ;; prevent spamming stderr, redirect output to logfile. + #:log-file "/var/log/ntpd")) + (stop #~(make-kill-destructor))))))) + +(define (openntpd-service-activation config) + "Return the activation gexp for CONFIG." + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + (mkdir-p "/var/db") + (mkdir-p "/var/run") + (unless (file-exists? "/var/db/ntpd.drift") + (with-output-to-file "/var/db/ntpd.drift" + (lambda _ + (format #t "0.0"))))))) + +(define openntpd-service-type + (service-type (name 'openntpd) + (extensions + (list (service-extension shepherd-root-service-type + openntpd-shepherd-service) + (service-extension account-service-type + (const %ntp-accounts)) + (service-extension activation-service-type + openntpd-service-activation))) + (default-value (openntpd-configuration)) + (description + "Run the @command{ntpd}, the Network Time Protocol (NTP) +daemon, as implemented by @uref{http://www.openntpd.org, OpenNTPD}. The +daemon will keep the system clock synchronized with that of the given servers."))) + + +;;; ;;; Inetd. ;;; diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 7166ed3d4f..afead87ec7 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -38,26 +38,6 @@ git-daemon-configuration git-daemon-configuration? - <cgit-configuration-file> - cgit-configuration-file - cgit-configuration-file? - cgit-configuration-file-css - cgit-configuration-file-logo - cgit-configuration-file-robots - cgit-configuration-file-virtual-root - cgit-configuration-file-repository-directory - - <cgit-configuration> - cgit-configuration - cgit-configuration? - cgit-configuration-config-file - cgit-configuration-package - - %cgit-configuration-nginx - cgit-configuration-nginx-config - - cgit-service-type - git-http-configuration git-http-configuration? git-http-nginx-location-configuration)) @@ -174,107 +154,6 @@ access to exported repositories under @file{/srv/git}." ;;; -;;; Cgit -;;; - -(define-record-type* <cgit-configuration-file> - cgit-configuration-file - make-cgit-configuration-file - cgit-configuration-file? - (css cgit-configuration-file-css ; string - (default "/share/cgit/cgit.css")) - (logo cgit-configuration-file-logo ; string - (default "/share/cgit/cgit.png")) - (robots cgit-configuration-file-robots ; list - (default '("noindex" "nofollow"))) - (virtual-root cgit-configuration-file-virtual-root ; string - (default "/")) - (repository-directory cgit-configuration-file-repository-directory ; string - (default "/srv/git"))) - -(define (cgit-configuration-robots-string robots) - (string-join robots ", ")) - -(define-gexp-compiler (cgit-configuration-file-compiler - (file <cgit-configuration-file>) system target) - (match file - (($ <cgit-configuration-file> css logo - robots virtual-root repository-directory) - (apply text-file* "cgitrc" - (letrec-syntax ((option (syntax-rules () - ((_ key value) - (if value - `(,key "=" ,value "\n") - '())))) - (key/value (syntax-rules () - ((_ (key value) rest ...) - (append (option key value) - (key/value rest ...))) - ((_) - '())))) - (key/value ("css" css) - ("logo" logo) - ("robots" (cgit-configuration-robots-string robots)) - ("virtual-root" virtual-root) - ("scan-path" repository-directory))))))) - -(define %cgit-configuration-nginx - (list - (nginx-server-configuration - (root cgit) - (locations - (list - (nginx-location-configuration - (uri "@cgit") - (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;" - "fastcgi_param PATH_INFO $uri;" - "fastcgi_param QUERY_STRING $args;" - "fastcgi_param HTTP_HOST $server_name;" - "fastcgi_pass 127.0.0.1:9000;"))))) - (try-files (list "$uri" "@cgit")) - (listen '("80")) - (ssl-certificate #f) - (ssl-certificate-key #f)))) - -(define-record-type* <cgit-configuration> - cgit-configuration make-cgit-configuration - cgit-configuration? - (config-file cgit-configuration-config-file - (default (cgit-configuration-file))) - (package cgit-configuration-package - (default cgit)) - (nginx cgit-configuration-nginx - (default %cgit-configuration-nginx))) - -(define (cgit-activation config) - ;; Cgit compiled with default configuration path - #~(begin - (use-modules (guix build utils)) - (mkdir-p "/var/cache/cgit") - (copy-file #$(cgit-configuration-config-file config) "/etc/cgitrc"))) - -(define (cgit-configuration-nginx-config config) - (cgit-configuration-nginx config)) - -(define cgit-service-type - (service-type - (name 'cgit) - (extensions - (list (service-extension activation-service-type - cgit-activation) - (service-extension nginx-service-type - cgit-configuration-nginx-config) - - ;; Make sure fcgiwrap is instantiated. - (service-extension fcgiwrap-service-type - (const #t)))) - (default-value (cgit-configuration)) - (description - "Run the Cgit web interface, which allows users to browse Git -repositories."))) - - -;;; ;;; HTTP access. Add the result of calling ;;; git-http-nginx-location-configuration to an nginx-server-configuration's ;;; "locations" field. diff --git a/gnu/system.scm b/gnu/system.scm index 71beee8259..eb4b63c428 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -74,6 +74,7 @@ operating-system-kernel operating-system-kernel-file operating-system-kernel-arguments + operating-system-initrd-modules operating-system-initrd operating-system-users operating-system-groups @@ -154,6 +155,10 @@ booted from ROOT-DEVICE" (initrd operating-system-initrd ; (list fs) -> M derivation (default base-initrd)) + (initrd-modules operating-system-initrd-modules ; list of strings + (thunked) ; it's system-dependent + (default %base-initrd-modules)) + (firmware operating-system-firmware ; list of packages (default %base-firmware)) @@ -448,7 +453,6 @@ a container or that of a \"bare metal\" system." (let* ((mappings (device-mapping-services os)) (root-fs (root-file-system-service)) (other-fs (non-boot-file-system-service os)) - (unmount (user-unmount-service known-fs)) (swaps (swap-services os)) (procs (service user-processes-service-type)) (host-name (host-name-service (operating-system-host-name os))) @@ -473,7 +477,7 @@ a container or that of a \"bare metal\" system." (service fstab-service-type '()) (session-environment-service (operating-system-environment-variables os)) - host-name procs root-fs unmount + host-name procs root-fs (service setuid-program-service-type (operating-system-setuid-programs os)) (service profile-service-type @@ -846,6 +850,8 @@ hardware-related operations as necessary when booting a Linux container." (mlet %store-monad ((initrd (make-initrd boot-file-systems #:linux (operating-system-kernel os) + #:linux-modules + (operating-system-initrd-modules os) #:mapped-devices mapped-devices))) (return (file-append initrd "/initrd")))) diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl index 4b090e0fb7..97201330c7 100644 --- a/gnu/system/examples/beaglebone-black.tmpl +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -15,11 +15,10 @@ (bootloader (bootloader-configuration (bootloader u-boot-beaglebone-black-bootloader) (target "/dev/mmcblk1"))) - (initrd (lambda (fs . rest) - (apply base-initrd fs - ;; This module is required to mount the sd card. - #:extra-modules (list "omap_hsmmc") - rest))) + + ;; This module is required to mount the SD card. + (initrd-modules (cons "omap_hsmmc" %base-initrd-modules)) + (file-systems (cons (file-system (device "my-root") (title 'label) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index b61660b4b9..97f5abe0b6 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> @@ -133,7 +133,7 @@ the given target.") (stop #~(lambda (target) ;; Delete the temporary directory, but leave everything ;; mounted as there may still be processes using it since - ;; 'user-processes' doesn't depend on us. The 'user-unmount' + ;; 'user-processes' doesn't depend on us. The 'user-file-systems' ;; service will unmount TARGET eventually. (delete-file-recursively (string-append target #$%backing-directory)))))))) @@ -396,10 +396,7 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." (kernel-arguments (cons (string-append "console=" tty) (operating-system-user-kernel-arguments installation-os))) - (initrd (lambda (fs . rest) - (apply base-initrd fs - #:extra-modules extra-modules - rest))))) + (initrd-modules (append extra-modules %base-initrd-modules)))) (define beaglebone-black-installation-os (embedded-installation-os u-boot-beaglebone-black-bootloader diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 330438bce4..410484390c 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -24,6 +24,7 @@ #:use-module (guix store) #:use-module (guix gexp) #:use-module (guix utils) + #:use-module (guix i18n) #:use-module ((guix store) #:select (%store-prefix)) #:use-module ((guix derivations) @@ -37,14 +38,22 @@ #:select (%guile-static-stripped)) #:use-module (gnu system file-systems) #:use-module (gnu system mapped-devices) + #:autoload (gnu build linux-modules) + (device-module-aliases matching-modules known-module-aliases) #:use-module (ice-9 match) #:use-module (ice-9 regex) + #:use-module (ice-9 vlist) + #:use-module (ice-9 format) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (expression->initrd + %base-initrd-modules raw-initrd file-system-packages - base-initrd)) + base-initrd + check-device-initrd-modules)) ;;; Commentary: @@ -242,14 +251,71 @@ FILE-SYSTEMS." (list btrfs-progs/static) '()))) +(define-syntax vhash ;TODO: factorize + (syntax-rules (=>) + "Build a vhash with the given key/value mappings." + ((_) + vlist-null) + ((_ (key others ... => value) rest ...) + (vhash-cons key value + (vhash (others ... => value) rest ...))) + ((_ (=> value) rest ...) + (vhash rest ...)))) + +(define-syntax lookup-procedure + (syntax-rules (else) + "Return a procedure that lookups keys in the given dictionary." + ((_ mapping ... (else default)) + (let ((table (vhash mapping ...))) + (lambda (key) + (match (vhash-assoc key table) + (#f default) + ((key . value) value))))))) + +(define file-system-type-modules + ;; Given a file system type, return the list of modules it needs. + (lookup-procedure ("cifs" => '("md4" "ecb" "cifs")) + ("9p" => '("9p" "9pnet_virtio")) + ("btrfs" => '("btrfs")) + ("iso9660" => '("isofs")) + (else '()))) + +(define (file-system-modules file-systems) + "Return the list of Linux modules needed to mount FILE-SYSTEMS." + (append-map (compose file-system-type-modules file-system-type) + file-systems)) + +(define* (default-initrd-modules #:optional (system (%current-system))) + "Return the list of modules included in the initrd by default." + (define virtio-modules + ;; Modules for Linux para-virtualized devices, for use in QEMU guests. + '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" + "virtio_console")) + + `("ahci" ;for SATA controllers + "usb-storage" "uas" ;for the installation image etc. + "usbhid" "hid-generic" "hid-apple" ;keyboards during early boot + "dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions + "nls_iso8859-1" ;for `mkfs.fat`, et.al + ,@(if (string-match "^(x86_64|i[3-6]86)-" system) + '("pata_acpi" "pata_atiixp" ;for ATA controllers + "isci") ;for SAS controllers like Intel C602 + '()) + + ,@virtio-modules)) + +(define-syntax %base-initrd-modules + ;; This more closely matches our naming convention. + (identifier-syntax (default-initrd-modules))) + (define* (base-initrd file-systems #:key (linux linux-libre) + (linux-modules '()) (mapped-devices '()) qemu-networking? volatile-root? - (virtio? #t) - (extra-modules '()) + (extra-modules '()) ;deprecated (on-error 'debug)) "Return a monadic derivation that builds a generic initrd, with kernel modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be @@ -259,57 +325,14 @@ mappings to realize before FILE-SYSTEMS are mounted. QEMU-NETWORKING? and VOLATILE-ROOT? behaves as in raw-initrd. -When VIRTIO? is true, load additional modules so the initrd can -be used as a QEMU guest with the root file system on a para-virtualized block -device. - The initrd is automatically populated with all the kernel modules necessary -for FILE-SYSTEMS and for the given options. However, additional kernel -modules can be listed in EXTRA-MODULES. They will be added to the initrd, and +for FILE-SYSTEMS and for the given options. Additional kernel +modules can be listed in LINUX-MODULES. They will be added to the initrd, and loaded at boot time in the order in which they appear." - (define virtio-modules - ;; Modules for Linux para-virtualized devices, for use in QEMU guests. - '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" - "virtio_console")) - - (define cifs-modules - ;; Modules needed to mount CIFS file systems. - '("md4" "ecb" "cifs")) - - (define virtio-9p-modules - ;; Modules for the 9p paravirtualized file system. - '("9p" "9pnet_virtio")) - - (define (file-system-type-predicate type) - (lambda (fs) - (string=? (file-system-type fs) type))) - - (define linux-modules + (define linux-modules* ;; Modules added to the initrd and loaded from the initrd. - `("ahci" ;for SATA controllers - "usb-storage" "uas" ;for the installation image etc. - "usbhid" "hid-generic" "hid-apple" ;keyboards during early boot - "dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions - "nls_iso8859-1" ;for `mkfs.fat`, et.al - ,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system)) - '("pata_acpi" "pata_atiixp" ;for ATA controllers - "isci") ;for SAS controllers like Intel C602 - '()) - ,@(if (or virtio? qemu-networking?) - virtio-modules - '()) - ,@(if (find (file-system-type-predicate "cifs") file-systems) - cifs-modules - '()) - ,@(if (find (file-system-type-predicate "9p") file-systems) - virtio-9p-modules - '()) - ,@(if (find (file-system-type-predicate "btrfs") file-systems) - '("btrfs") - '()) - ,@(if (find (file-system-type-predicate "iso9660") file-systems) - '("isofs") - '()) + `(,@linux-modules + ,@(file-system-modules file-systems) ,@(if volatile-root? '("overlay") '()) @@ -320,11 +343,48 @@ loaded at boot time in the order in which they appear." (raw-initrd file-systems #:linux linux - #:linux-modules linux-modules + #:linux-modules linux-modules* #:mapped-devices mapped-devices #:helper-packages helper-packages #:qemu-networking? qemu-networking? #:volatile-root? volatile-root? #:on-error on-error)) +(define (check-device-initrd-modules device linux-modules location) + "Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate. +DEVICE must be a \"/dev\" file name." + (define aliases + ;; Attempt to load 'modules.alias' from the current kernel, assuming we're + ;; on GuixSD, and assuming that corresponds to the kernel we'll be + ;; installing. Skip the whole thing if that file cannot be read. + (catch 'system-error + (lambda () + (known-module-aliases)) + (const #f))) + + (when aliases + (let ((modules (delete-duplicates + (append-map (cut matching-modules <> aliases) + (device-module-aliases device))))) + (unless (every (cute member <> linux-modules) modules) + (raise (condition + (&message + (message (format #f (G_ "you may need these modules \ +in the initrd for ~a:~{ ~a~}") + device modules))) + (&fix-hint + (hint (format #f (G_ "Try adding them to the +@code{initrd-modules} field of your @code{operating-system} declaration, along +these lines: + +@example + (operating-system + ;; @dots{} + (initrd-modules (append (list~{ ~s~}) + %base-initrd-modules))) +@end example\n") + modules))) + (&error-location + (location (source-properties->location location))))))))) + ;;; linux-initrd.scm ends here diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index dbeb0d3436..e6ac635231 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Mark H Weaver <mhw@netris.org> ;;; @@ -29,10 +29,13 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system uuid) + #:use-module ((gnu system linux-initrd) + #:select (check-device-initrd-modules)) #:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages linux) (mdadm-static) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (ice-9 match) @@ -151,19 +154,28 @@ #~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup") "close" #$target))) -(define (check-luks-device md) +(define* (check-luks-device md #:key + needed-for-boot? + (initrd-modules '()) + #:allow-other-keys + #:rest rest) "Ensure the source of MD is valid." - (let ((source (mapped-device-source md))) - (or (not (uuid? source)) - (not (zero? (getuid))) - (find-partition-by-luks-uuid (uuid-bytevector source)) - (raise (condition - (&message - (message (format #f (G_ "no LUKS partition with UUID '~a'") - (uuid->string source)))) - (&error-location - (location (source-properties->location - (mapped-device-location md))))))))) + (let ((source (mapped-device-source md)) + (location (mapped-device-location md))) + (or (not (zero? (getuid))) + (if (uuid? source) + (match (find-partition-by-luks-uuid (uuid-bytevector source)) + (#f + (raise (condition + (&message + (message (format #f (G_ "no LUKS partition with UUID '~a'") + (uuid->string source)))) + (&error-location + (location (source-properties->location + (mapped-device-location md))))))) + ((? string? device) + (check-device-initrd-modules device initrd-modules location))) + (check-device-initrd-modules source initrd-modules location))))) (define luks-device-mapping ;; The type of LUKS mapped devices. diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 345cecedd8..ae8780d2e1 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -30,6 +30,8 @@ #:use-module (guix records) #:use-module (guix modules) #:use-module (guix utils) + #:use-module (guix hash) + #:use-module (guix base32) #:use-module ((gnu build vm) #:select (qemu-command)) @@ -143,7 +145,7 @@ made available under the /xchg CIFS share." (return initrd) (base-initrd %linux-vm-file-systems #:linux linux - #:virtio? #t + #:linux-modules %base-initrd-modules #:qemu-networking? #t)))) (define builder @@ -512,12 +514,7 @@ of the GNU system as described by OS." (let ((os (operating-system (inherit os) - ;; Use an initrd with the whole QEMU shebang. - (initrd (lambda (file-systems . rest) - (apply (operating-system-initrd os) - file-systems - #:virtio? #t - rest))) + ;; Assume we have an initrd with the whole QEMU shebang. ;; Force our own root file system. Refer to it by UUID so that ;; it works regardless of how the image is used ("qemu -hda", @@ -549,13 +546,13 @@ of the GNU system as described by OS." (define (file-system->mount-tag fs) "Return a 9p mount tag for host file system FS." - ;; QEMU mount tags cannot contain slashes and cannot start with '_'. - ;; Compute an identifier that corresponds to the rules. + ;; QEMU mount tags must be ASCII, at most 31-byte long, cannot contain + ;; slashes, and cannot start with '_'. Compute an identifier that + ;; corresponds to the rules. (string-append "TAG" - (string-map (match-lambda - (#\/ #\_) - (chr chr)) - fs))) + (string-drop (bytevector->base32-string + (sha1 (string->utf8 fs))) + 4))) (define (mapping->file-system mapping) "Return a 9p file system that realizes MAPPING." @@ -614,7 +611,6 @@ environment with the store shared with the host. MAPPINGS is a list of (apply (operating-system-initrd os) file-systems #:volatile-root? #t - #:virtio? #t rest))) ;; Disable swap. diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index e7097690a0..5c8ca85c13 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -30,6 +30,7 @@ #:use-module (guix store) #:export (%test-memcached %test-mongodb + %test-postgresql %test-mysql)) (define %memcached-os @@ -209,6 +210,60 @@ ;;; +;;; The PostgreSQL service. +;;; + +(define %postgresql-os + (simple-operating-system + (service postgresql-service-type))) + +(define (run-postgresql-test) + "Run tests in %POSTGRESQL-OS." + (define os + (marionette-operating-system + %postgresql-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 512))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-64) + (gnu build marionette)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "postgresql") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'postgres)) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "postgresql-test" test)) + +(define %test-postgresql + (system-test + (name "postgresql") + (description "Start the PostgreSQL service.") + (value (run-postgresql-test)))) + + +;;; ;;; The MySQL service. ;;; diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 3ac4a579da..e3bb1b46af 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -565,11 +565,10 @@ where /gnu lives on a separate partition.") (bootloader grub-bootloader) (target "/dev/vdb"))) (kernel-arguments '("console=ttyS0")) - (initrd (lambda (file-systems . rest) - ;; Add a kernel module for RAID-0 (aka. "stripe"). - (apply base-initrd file-systems - #:extra-modules '("raid0") - rest))) + + ;; Add a kernel module for RAID-0 (aka. "stripe"). + (initrd-modules (cons "raid0" %base-initrd-modules)) + (mapped-devices (list (mapped-device (source (list "/dev/vda2" "/dev/vda3")) (target "/dev/md0") diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm index 312df9b1cd..4de13b8684 100644 --- a/gnu/tests/mail.scm +++ b/gnu/tests/mail.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +30,8 @@ #:use-module (guix store) #:use-module (ice-9 ftw) #:export (%test-opensmtpd - %test-exim)) + %test-exim + %test-dovecot)) (define %opensmtpd-os (simple-operating-system @@ -279,3 +281,119 @@ acl_check_data: (name "exim") (description "Send an email to a running an Exim server.") (value (run-exim-test)))) + +(define %dovecot-os + (simple-operating-system + (dhcp-client-service) + (dovecot-service #:config + (dovecot-configuration + (disable-plaintext-auth? #f) + (ssl? "no") + (auth-mechanisms '("anonymous")) + (auth-anonymous-username "alice") + (mail-location + (string-append "maildir:~/Maildir" + ":INBOX=~/Maildir/INBOX" + ":LAYOUT=fs")))))) + +(define (run-dovecot-test) + "Return a test of an OS running Dovecot service." + (define vm + (virtual-machine + (operating-system (marionette-operating-system + %dovecot-os + #:imported-modules '((gnu services herd)))) + (port-forwardings '((8143 . 143))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (ice-9 iconv) + (ice-9 rdelim) + (rnrs base) + (rnrs bytevectors) + (srfi srfi-64)) + + (define marionette + (make-marionette '(#$vm))) + + (define* (message-length message #:key (encoding "iso-8859-1")) + (bytevector-length (string->bytevector message encoding))) + + (define message "From: test@example.com\n\ +Subject: Hello Nice to meet you!") + + (mkdir #$output) + (chdir #$output) + + (test-begin "dovecot") + + ;; Wait for dovecot to be up and running. + (test-eq "dovecot running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'dovecot) + 'running!) + marionette)) + + ;; Check Dovecot service's PID. + (test-assert "service process id" + (let ((pid + (number->string (wait-for-file "/var/run/dovecot/master.pid" + marionette)))) + (marionette-eval `(file-exists? (string-append "/proc/" ,pid)) + marionette))) + + (test-assert "accept an email" + (let ((imap (socket AF_INET SOCK_STREAM 0)) + (addr (make-socket-address AF_INET INADDR_LOOPBACK 8143))) + (connect imap addr) + ;; Be greeted. + (read-line imap) ;OK + ;; Authenticate + (write-line "a AUTHENTICATE ANONYMOUS" imap) + (read-line imap) ;+ + (write-line "c2lyaGM=" imap) + (read-line imap) ;OK + ;; Create a TESTBOX mailbox + (write-line "a CREATE TESTBOX" imap) + (read-line imap) ;OK + ;; Append a message to a TESTBOX mailbox + (write-line (format #f "a APPEND TESTBOX {~a}" + (number->string (message-length message))) + imap) + (read-line imap) ;+ + (write-line message imap) + (read-line imap) ;OK + ;; Logout + (write-line "a LOGOUT" imap) + (close imap) + #t)) + + (test-equal "mail arrived" + message + (marionette-eval + '(begin + (use-modules (ice-9 ftw) + (ice-9 match)) + (let ((TESTBOX/new "/home/alice/Maildir/TESTBOX/new/")) + (match (scandir TESTBOX/new) + (("." ".." message-file) + (call-with-input-file + (string-append TESTBOX/new message-file) + get-string-all))))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "dovecot-test" test)) + +(define %test-dovecot + (system-test + (name "dovecot") + (description "Connect to a running Dovecot server.") + (value (run-dovecot-test)))) diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index 9882cdbe28..8024739734 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; @@ -26,6 +26,7 @@ #:use-module (gnu system vm) #:use-module (gnu services) #:use-module (gnu services version-control) + #:use-module (gnu services cgit) #:use-module (gnu services web) #:use-module (gnu services networking) #:use-module (gnu packages version-control) diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index af90a32f59..21d84a179a 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +39,6 @@ (define %minify-build-system-modules ;; Build-side modules imported by default. `((guix build minify-build-system) - (ice-9 popen) ,@%gnu-build-system-modules)) (define (default-uglify-js) diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index 350b1df553..b50ef7cd92 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +36,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target - guile builder modules) + guile builder modules allowed-references) "Return a bag for NAME." (bag (name name) @@ -51,19 +51,36 @@ (build (if target trivial-cross-build trivial-build)) (arguments `(#:guile ,guile #:builder ,builder - #:modules ,modules)))) + #:modules ,modules + #:allowed-references ,allowed-references)))) (define* (trivial-build store name inputs #:key outputs guile system builder (modules '()) - search-paths) + search-paths allowed-references) "Run build expression BUILDER, an expression, for SYSTEM. SOURCE is ignored." + (define canonicalize-reference + (match-lambda + ((? package? p) + (derivation->output-path (package-derivation store p system + #:graft? #f))) + (((? package? p) output) + (derivation->output-path (package-derivation store p system + #:graft? #f) + output)) + ((? string? output) + output))) + (build-expression->derivation store name builder #:inputs inputs #:system system #:outputs outputs #:modules modules + #:allowed-references + (and allowed-references + (map canonicalize-reference + allowed-references)) #:guile-for-build (guile-for-build store guile system))) @@ -71,14 +88,29 @@ ignored." #:key target native-drvs target-drvs outputs guile system builder (modules '()) - search-paths native-search-paths) + search-paths native-search-paths + allowed-references) "Run build expression BUILDER, an expression, for SYSTEM. SOURCE is ignored." + (define canonicalize-reference + (match-lambda + ((? package? p) + (derivation->output-path (package-cross-derivation store p system))) + (((? package? p) output) + (derivation->output-path (package-cross-derivation store p system) + output)) + ((? string? output) + output))) + (build-expression->derivation store name builder #:inputs (append native-drvs target-drvs) #:system system #:outputs outputs #:modules modules + #:allowed-references + (and allowed-references + (map canonicalize-reference + allowed-references)) #:guile-for-build (guile-for-build store guile system))) diff --git a/guix/build/download.scm b/guix/build/download.scm index 1b630a9d6d..315a3554ec 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -321,14 +321,6 @@ host name without trailing dot." ((uri? uri-or-string) uri-or-string) (else (error "Invalid URI" uri-or-string)))) -(define current-http-proxy - ;; XXX: Add a dummy definition for Guile < 2.0.10; this is used in - ;; 'open-socket-for-uri'. - (or (and=> (module-variable (resolve-interface '(web client)) - 'current-http-proxy) - variable-ref) - (const #f))) - (define* (open-socket-for-uri uri-or-string #:key timeout) "Return an open input/output port for a connection to URI. When TIMEOUT is not #f, it must be a (possibly inexact) number denoting the maximum duration diff --git a/guix/build/git.scm b/guix/build/git.scm index c1af545a76..14d415a6f8 100644 --- a/guix/build/git.scm +++ b/guix/build/git.scm @@ -37,28 +37,31 @@ recursively. Return #t on success, #f otherwise." ;; in advance anyway. (setenv "GIT_SSL_NO_VERIFY" "true") - ;; We cannot use "git clone --recursive" since the following "git checkout" - ;; effectively removes sub-module checkouts as of Git 2.6.3. - (and (zero? (system* git-command "clone" url directory)) - (with-directory-excursion directory - (system* git-command "tag" "-l") - (and (zero? (system* git-command "checkout" commit)) - (begin - (when recursive? - ;; Now is the time to fetch sub-modules. - (unless (zero? (system* git-command "submodule" "update" + (mkdir-p directory) + + (with-directory-excursion directory + (invoke git-command "init") + (invoke git-command "remote" "add" "origin" url) + (if (zero? (system* git-command "fetch" "--depth" "1" "origin" commit)) + (invoke git-command "checkout" "FETCH_HEAD") + (begin + (invoke git-command "fetch" "origin") + (invoke git-command "checkout" commit))) + (when recursive? + ;; Now is the time to fetch sub-modules. + (unless (zero? (system* git-command "submodule" "update" "--init" "--recursive")) - (error "failed to fetch sub-modules" url)) + (error "failed to fetch sub-modules" url)) - ;; In sub-modules, '.git' is a flat file, not a directory, - ;; so we can use 'find-files' here. - (for-each delete-file-recursively - (find-files directory "^\\.git$"))) + ;; In sub-modules, '.git' is a flat file, not a directory, + ;; so we can use 'find-files' here. + (for-each delete-file-recursively + (find-files directory "^\\.git$"))) - ;; The contents of '.git' vary as a function of the current - ;; status of the Git repo. Since we want a fixed output, this - ;; directory needs to be taken out. - (delete-file-recursively ".git") - #t))))) + ;; The contents of '.git' vary as a function of the current + ;; status of the Git repo. Since we want a fixed output, this + ;; directory needs to be taken out. + (delete-file-recursively ".git") + #t)) ;;; git.scm ends here diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 0cb630cfb3..25726b885e 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -350,39 +350,6 @@ expansion-time error is raised if FIELD does not exist in TYPE." ;;; FFI. ;;; -(define %libc-errno-pointer - ;; Glibc's 'errno' pointer, for use with Guile < 2.0.12. - (let ((errno-loc (false-if-exception - (dynamic-func "__errno_location" (dynamic-link))))) - (and errno-loc - (let ((proc (pointer->procedure '* errno-loc '()))) - (proc))))) - -(define errno ;for Guile < 2.0.12 - (if %libc-errno-pointer - (let ((bv (pointer->bytevector %libc-errno-pointer (sizeof int)))) - (lambda () - "Return the current errno." - ;; XXX: We assume that nothing changes 'errno' while we're doing all this. - ;; In particular, that means that no async must be running here. - - ;; Use one of the fixed-size native-ref procedures because they are - ;; optimized down to a single VM instruction, which reduces the risk - ;; that we fiddle with 'errno' (needed on Guile 2.0.5, libc 2.11.) - (let-syntax ((ref (lambda (s) - (syntax-case s () - ((_ bv) - (case (sizeof int) - ((4) - #'(bytevector-s32-native-ref bv 0)) - ((8) - #'(bytevector-s64-native-ref bv 0)) - (else - (error "unsupported 'int' size" - (sizeof int))))))))) - (ref bv)))) - (lambda () 0))) - (define (call-with-restart-on-EINTR thunk) (let loop () (catch 'system-error @@ -406,17 +373,8 @@ the returned procedure is called." (lambda () (let ((ptr (dynamic-func name (dynamic-link)))) ;; The #:return-errno? facility was introduced in Guile 2.0.12. - ;; Support older versions of Guile by catching 'wrong-number-of-args'. - (catch 'wrong-number-of-args - (lambda () - (pointer->procedure return-type ptr argument-types - #:return-errno? #t)) - (lambda (key . rest) - (let ((proc (pointer->procedure return-type ptr argument-types))) - (lambda args - (let ((result (apply proc args)) - (err (errno))) - (values result err)))))))) + (pointer->procedure return-type ptr argument-types + #:return-errno? #t))) (lambda args (lambda _ (error (format #f "~a: syscall->procedure failed: ~s" diff --git a/guix/gexp.scm b/guix/gexp.scm index f005c4d296..8dea022e04 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,6 +87,7 @@ define-gexp-compiler gexp-compiler? + file-like? lower-object lower-inputs @@ -182,6 +184,11 @@ procedure to lower it; otherwise return #f." (and=> (hashq-ref %gexp-compilers (struct-vtable object)) gexp-compiler-lower)) +(define (file-like? object) + "Return #t if OBJECT leads to a file in the store once unquoted in a +G-expression; otherwise return #f." + (and (struct? object) (->bool (lookup-compiler object)))) + (define (lookup-expander object) "Search for an expander for OBJECT. Upon success, return the three argument procedure to expand it; otherwise return #f." diff --git a/guix/glob.scm b/guix/glob.scm new file mode 100644 index 0000000000..4fc5173ac0 --- /dev/null +++ b/guix/glob.scm @@ -0,0 +1,97 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; +;;; 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 (guix glob) + #:use-module (ice-9 match) + #:export (compile-glob-pattern + glob-match?)) + +;;; Commentary: +;;; +;;; This is a minimal implementation of "glob patterns" (info "(libc) +;;; Globbbing"). It is currently limited to simple patterns and does not +;;; support braces and square brackets, for instance. +;;; +;;; Code: + +(define (wildcard-indices str) + "Return the list of indices in STR where wildcards can be found." + (let loop ((index 0) + (result '())) + (if (= index (string-length str)) + (reverse result) + (loop (+ 1 index) + (case (string-ref str index) + ((#\? #\*) (cons index result)) + (else result)))))) + +(define (compile-glob-pattern str) + "Return an sexp that represents the compiled form of STR, a glob pattern +such as \"foo*\" or \"foo??bar\"." + (define flatten + (match-lambda + (((? string? str)) str) + (x x))) + + (let loop ((index 0) + (indices (wildcard-indices str)) + (result '())) + (match indices + (() + (flatten (cond ((zero? index) + (list str)) + ((= index (string-length str)) + (reverse result)) + (else + (reverse (cons (string-drop str index) + result)))))) + ((wildcard-index . rest) + (let ((wildcard (match (string-ref str wildcard-index) + (#\? '?) + (#\* '*)))) + (match (substring str index wildcard-index) + ("" (loop (+ 1 wildcard-index) + rest + (cons wildcard result))) + (str (loop (+ 1 wildcard-index) + rest + (cons* wildcard str result))))))))) + +(define (glob-match? pattern str) + "Return true if STR matches PATTERN, a compiled glob pattern as returned by +'compile-glob-pattern'." + (let loop ((pattern pattern) + (str str)) + (match pattern + ((? string? literal) (string=? literal str)) + (((? string? one)) (string=? one str)) + (('*) #t) + (('?) (= 1 (string-length str))) + (() #t) + (('* suffix . rest) + (match (string-contains str suffix) + (#f #f) + (index (loop rest + (string-drop str + (+ index (string-length suffix))))))) + (('? . rest) + (and (>= (string-length str) 1) + (loop rest (string-drop str 1)))) + ((prefix . rest) + (and (string-prefix? prefix str) + (loop rest (string-drop str (string-length prefix)))))))) diff --git a/guix/hash.scm b/guix/hash.scm index 44e4472580..39834043e1 100644 --- a/guix/hash.scm +++ b/guix/hash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +23,9 @@ #:use-module (system foreign) #:use-module ((guix build utils) #:select (dump-port)) #:use-module (srfi srfi-11) - #:export (sha256 + #:use-module (srfi srfi-26) + #:export (sha1 + sha256 open-sha256-port port-sha256 file-sha256 @@ -44,17 +46,26 @@ ;; Value as of Libgcrypt 1.5.2. (identifier-syntax 8)) -(define sha256 +(define-syntax GCRY_MD_SHA1 + (identifier-syntax 2)) + +(define bytevector-hash (let ((hash (pointer->procedure void (libgcrypt-func "gcry_md_hash_buffer") `(,int * * ,size_t)))) - (lambda (bv) - "Return the SHA256 of BV as a bytevector." - (let ((digest (make-bytevector (/ 256 8)))) - (hash GCRY_MD_SHA256 (bytevector->pointer digest) + (lambda (bv type size) + "Return the hash TYPE, of SIZE bytes, of BV as a bytevector." + (let ((digest (make-bytevector size))) + (hash type (bytevector->pointer digest) (bytevector->pointer bv) (bytevector-length bv)) digest)))) +(define sha1 + (cut bytevector-hash <> GCRY_MD_SHA1 20)) + +(define sha256 + (cut bytevector-hash <> GCRY_MD_SHA256 (/ 256 8))) + (define open-sha256-md (let ((open (pointer->procedure int (libgcrypt-func "gcry_md_open") @@ -159,7 +170,6 @@ data read from PORT. The thunk always returns the same value." (define (unbuffered port) ;; Guile <= 2.0.9 does not support 'setvbuf' on custom binary input ports. - ;; If you get a wrong-type-arg error here, the fix is to upgrade Guile. :-) (setvbuf port _IONBF) port) diff --git a/guix/http-client.scm b/guix/http-client.scm index bab31875d1..e8a2a23fc5 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2012, 2015 Free Software Foundation, Inc. ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> @@ -69,158 +69,6 @@ (reason http-get-error-reason)) ; string -(define-syntax when-guile<=2.0.5-or-otherwise-broken - (lambda (s) - (syntax-case s () - ((_ body ...) - ;; Always emit BODY, regardless of VERSION, because sometimes this code - ;; might be compiled with a recent Guile and run with 2.0.5---e.g., - ;; when using "guix pull". - #'(begin body ...))))) - -(when-guile<=2.0.5-or-otherwise-broken - ;; Backport of Guile commits 312e79f8 ("Add HTTP Chunked Encoding support to - ;; web modules."), 00d3ecf2 ("http: Do not buffer HTTP chunks."), and 53b8d5f - ;; ("web: Gracefully handle premature EOF when reading chunk header.") - - (use-modules (ice-9 rdelim)) - - (define %web-http - (resolve-module '(web http))) - - ;; Chunked Responses - (define (read-chunk-header port) - "Read a chunk header from PORT and return the size in bytes of the - upcoming chunk." - (match (read-line port) - ((? eof-object?) - ;; Connection closed prematurely: there's nothing left to read. - 0) - (str - (let ((extension-start (string-index str - (lambda (c) - (or (char=? c #\;) - (char=? c #\return)))))) - (string->number (if extension-start ; unnecessary? - (substring str 0 extension-start) - str) - 16))))) - - (define* (make-chunked-input-port port #:key (keep-alive? #f)) - "Returns a new port which translates HTTP chunked transfer encoded -data from PORT into a non-encoded format. Returns eof when it has -read the final chunk from PORT. This does not necessarily mean -that there is no more data on PORT. When the returned port is -closed it will also close PORT, unless the KEEP-ALIVE? is true." - (define (close) - (unless keep-alive? - (close-port port))) - - (define chunk-size 0) ;size of the current chunk - (define remaining 0) ;number of bytes left from the current chunk - (define finished? #f) ;did we get all the chunks? - - (define (read! bv idx to-read) - (define (loop to-read num-read) - (cond ((or finished? (zero? to-read)) - num-read) - ((zero? remaining) ;get a new chunk - (let ((size (read-chunk-header port))) - (set! chunk-size size) - (set! remaining size) - (if (zero? size) - (begin - (set! finished? #t) - num-read) - (loop to-read num-read)))) - (else ;read from the current chunk - (let* ((ask-for (min to-read remaining)) - (read (get-bytevector-n! port bv (+ idx num-read) - ask-for))) - (if (eof-object? read) - (begin ;premature termination - (set! finished? #t) - num-read) - (let ((left (- remaining read))) - (set! remaining left) - (when (zero? left) - ;; We're done with this chunk; read CR and LF. - (get-u8 port) (get-u8 port)) - (loop (- to-read read) - (+ num-read read)))))))) - (loop to-read 0)) - - (make-custom-binary-input-port "chunked input port" read! #f #f close)) - - ;; Chunked encoding support in Guile <= 2.0.11 would load whole chunks in - ;; memory---see <http://bugs.gnu.org/19939>. - (when (module-variable %web-http 'read-chunk-body) - (module-set! %web-http 'make-chunked-input-port make-chunked-input-port)) - - (define (make-delimited-input-port port len keep-alive?) - "Return an input port that reads from PORT, and makes sure that -exactly LEN bytes are available from PORT. Closing the returned port -closes PORT, unless KEEP-ALIVE? is true." - (define bytes-read 0) - - (define (fail) - ((@@ (web response) bad-response) - "EOF while reading response body: ~a bytes of ~a" - bytes-read len)) - - (define (read! bv start count) - ;; Read at most LEN bytes in total. HTTP/1.1 doesn't say what to do - ;; when a server provides more than the Content-Length, but it seems - ;; wise to just stop reading at LEN. - (let ((count (min count (- len bytes-read)))) - (let loop ((ret (get-bytevector-n! port bv start count))) - (cond ((eof-object? ret) - (if (= bytes-read len) - 0 ; EOF - (fail))) - ((and (zero? ret) (> count 0)) - ;; Do not return zero since zero means EOF, so try again. - (loop (get-bytevector-n! port bv start count))) - (else - (set! bytes-read (+ bytes-read ret)) - ret))))) - - (define close - (and (not keep-alive?) - (lambda () - (close-port port)))) - - (make-custom-binary-input-port "delimited input port" read! #f #f close)) - - (define (read-header-line port) - "Read an HTTP header line and return it without its final CRLF or LF. -Raise a 'bad-header' exception if the line does not end in CRLF or LF, -or if EOF is reached." - (match (%read-line port) - (((? string? line) . #\newline) - ;; '%read-line' does not consider #\return a delimiter; so if it's - ;; there, remove it. We are more tolerant than the RFC in that we - ;; tolerate LF-only endings. - (if (string-suffix? "\r" line) - (string-drop-right line 1) - line)) - ((line . _) ;EOF or missing delimiter - ((@@ (web http) bad-header) 'read-header-line line)))) - - (unless (guile-version>? "2.0.11") - ;; Guile <= 2.0.9 had a bug whereby 'response-body-port' would read more - ;; than what 'content-length' says. See Guile commit 802a25b. - ;; Guile <= 2.0.11 had a bug whereby the 'close' method of the response - ;; body port would fail with wrong-arg-num. See Guile commit 5a10e41. - (module-set! (resolve-module '(web response)) - 'make-delimited-input-port make-delimited-input-port) - - ;; Guile <= 2.0.11 was affected by <http://bugs.gnu.org/22273>. See Guile - ;; commit 4c7732c. - (when (module-variable %web-http 'read-line*) - (module-set! %web-http 'read-line* read-header-line)))) - - (define* (http-fetch uri #:key port (text? #f) (buffered? #t) keep-alive? (verify-certificate? #t) (headers '((user-agent . "GNU Guile")))) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 2ef02c43a4..58c051e283 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -131,7 +131,11 @@ or #f on failure. MODULE should be e.g. \"Test::Script\"" ;; version is sometimes not quoted in the module json, so it gets ;; imported into Guile as a number, so convert it to a string. (number->string version)) - (version version))) + (version + ;; Sometimes we get a "v" prefix. Strip it. + (if (string-prefix? "v" version) + (string-drop version 1) + version)))) (define (perl-package) "Return the 'perl' package. This is a lazy reference so that we don't diff --git a/guix/profiles.scm b/guix/profiles.scm index 8e3e49e444..95dc9746bd 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> @@ -494,19 +494,19 @@ must be a manifest-pattern." Remove MANIFEST entries that have the same name and output as ENTRIES." (define (same-entry? entry name output) (match entry - (($ <manifest-entry> entry-name _ entry-output _ ...) + (($ <manifest-entry> entry-name _ entry-output _) (and (equal? name entry-name) (equal? output entry-output))))) (make-manifest - (append entries - (fold (lambda (entry result) - (match entry - (($ <manifest-entry> name _ out _ ...) - (filter (negate (cut same-entry? <> name out)) - result)))) - (manifest-entries manifest) - entries)))) + (fold (lambda (entry result) ;XXX: quadratic + (match entry + (($ <manifest-entry> name _ out _) + (cons entry + (remove (cut same-entry? <> name out) + result))))) + (manifest-entries manifest) + entries))) (define (manifest-lookup manifest pattern) "Return the first item of MANIFEST that matches PATTERN, or #f if there is diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 67da6fc3bf..4f88c513c0 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -160,6 +161,13 @@ COMMAND or an interactive shell in that environment.\n")) (display (G_ " -N, --network allow containers to access the network")) (display (G_ " + -P, --link-profile link environment profile to ~/.guix-profile within + an isolated container")) + (display (G_ " + -u, --user=USER instead of copying the name and home of the current + user into an isolated container, use the name USER + with home directory /home/USER")) + (display (G_ " --share=SPEC for containers, share writable host file system according to SPEC")) (display (G_ " @@ -243,6 +251,13 @@ COMMAND or an interactive shell in that environment.\n")) (option '(#\N "network") #f #f (lambda (opt name arg result) (alist-cons 'network? #t result))) + (option '(#\P "link-profile") #f #f + (lambda (opt name arg result) + (alist-cons 'link-profile? #t result))) + (option '(#\u "user") #t #f + (lambda (opt name arg result) + (alist-cons 'user arg + (alist-delete 'user result eq?)))) (option '("share") #t #f (lambda (opt name arg result) (alist-cons 'file-system-mapping @@ -403,41 +418,50 @@ environment variables are cleared before setting the new ones." (pid (match (waitpid pid) ((_ . status) status))))) -(define* (launch-environment/container #:key command bash user-mappings - profile paths network?) +(define* (launch-environment/container #:key command bash user user-mappings + profile paths link-profile? network?) "Run COMMAND within a container that features the software in PROFILE. Environment variables are set according to PATHS, a list of native search paths. The global shell is BASH, a file name for a GNU Bash binary in the store. When NETWORK?, access to the host system network is permitted. USER-MAPPINGS, a list of file system mappings, contains the user-specified -host file systems to mount inside the container." +host file systems to mount inside the container. If USER is not #f, each +target of USER-MAPPINGS will be re-written relative to '/home/USER', and USER +will be used for the passwd entry. LINK-PROFILE? creates a symbolic link from +~/.guix-profile to the environment profile." (mlet %store-monad ((reqs (inputs->requisites (list (direct-store-path bash) profile)))) (return - (let* ((cwd (getcwd)) - (passwd (getpwuid (getuid))) + (let* ((cwd (getcwd)) + (home (getenv "HOME")) + (passwd (mock-passwd (getpwuid (getuid)) + user + bash)) + (home-dir (passwd:dir passwd)) ;; Bind-mount all requisite store items, user-specified mappings, ;; /bin/sh, the current working directory, and possibly networking ;; configuration files within the container. (mappings - (append user-mappings - ;; Current working directory. - (list (file-system-mapping - (source cwd) - (target cwd) - (writable? #t))) - ;; When in Rome, do as Nix build.cc does: Automagically - ;; map common network configuration files. - (if network? - %network-file-mappings - '()) - ;; Mappings for the union closure of all inputs. - (map (lambda (dir) - (file-system-mapping - (source dir) - (target dir) - (writable? #f))) - reqs))) + (override-user-mappings + user home + (append user-mappings + ;; Current working directory. + (list (file-system-mapping + (source cwd) + (target cwd) + (writable? #t))) + ;; When in Rome, do as Nix build.cc does: Automagically + ;; map common network configuration files. + (if network? + %network-file-mappings + '()) + ;; Mappings for the union closure of all inputs. + (map (lambda (dir) + (file-system-mapping + (source dir) + (target dir) + (writable? #f))) + reqs)))) (file-systems (append %container-file-systems (map file-system-mapping->bind-mount mappings)))) @@ -458,10 +482,14 @@ host file systems to mount inside the container." ;; The same variables as in Nix's 'build.cc'. '("TMPDIR" "TEMPDIR" "TMP" "TEMP")) - ;; Create a dummy home directory under the same name as on the - ;; host. - (mkdir-p (passwd:dir passwd)) - (setenv "HOME" (passwd:dir passwd)) + ;; Create a dummy home directory. + (mkdir-p home-dir) + (setenv "HOME" home-dir) + + ;; If requested, link $GUIX_ENVIRONMENT to $HOME/.guix-profile; + ;; this allows programs expecting that path to continue working as + ;; expected within a container. + (when link-profile? (link-environment profile home-dir)) ;; Create a dummy /etc/passwd to satisfy applications that demand ;; to read it, such as 'git clone' over SSH, a valid use-case when @@ -481,7 +509,7 @@ host file systems to mount inside the container." ;; For convenience, start in the user's current working ;; directory rather than the root directory. - (chdir cwd) + (chdir (override-user-dir user home cwd)) (primitive-exit/status ;; A container's environment is already purified, so no need to @@ -491,6 +519,72 @@ host file systems to mount inside the container." (delq 'net %namespaces) ; share host network %namespaces))))))) +(define (mock-passwd passwd user-override shell) + "Generate mock information for '/etc/passwd'. If USER-OVERRIDE is not '#f', +it is expected to be a string representing the mock username; it will produce +a user of that name, with a home directory of '/home/USER-OVERRIDE', and no +GECOS field. If USER-OVERRIDE is '#f', data will be inherited from PASSWD. +In either case, the shadow password and UID/GID are cleared, since the user +runs as root within the container. SHELL will always be used in place of the +shell in PASSWD. + +The resulting vector is suitable for use with Guile's POSIX user procedures. + +See passwd(5) for more information each of the fields." + (if user-override + (vector + user-override + "x" "0" "0" ;; no shadow, user is now root + "" ;; no personal information + (user-override-home user-override) + shell) + (vector + (passwd:name passwd) + "x" "0" "0" ;; no shadow, user is now root + (passwd:gecos passwd) + (passwd:dir passwd) + shell))) + +(define (user-override-home user) + "Return home directory for override user USER." + (string-append "/home/" user)) + +(define (override-user-mappings user home mappings) + "If a username USER is provided, rewrite each HOME prefix in file system +mappings MAPPINGS to a home directory determined by 'override-user-dir'; +otherwise, return MAPPINGS." + (if (not user) + mappings + (map (lambda (mapping) + (let ((target (file-system-mapping-target mapping))) + (if (string-prefix? home target) + (file-system-mapping + (source (file-system-mapping-source mapping)) + (target (override-user-dir user home target)) + (writable? (file-system-mapping-writable? mapping))) + mapping))) + mappings))) + +(define (override-user-dir user home dir) + "If username USER is provided, overwrite string prefix HOME in DIR with a +directory determined by 'user-override-home'; otherwise, return DIR." + (if (and user (string-prefix? home dir)) + (string-append (user-override-home user) + (substring dir (string-length home))) + dir)) + +(define (link-environment profile home-dir) + "Create a symbolic link from HOME-DIR/.guix-profile to PROFILE." + (let ((profile-dir (string-append home-dir "/.guix-profile"))) + (catch 'system-error + (lambda () + (symlink profile profile-dir)) + (lambda args + (if (= EEXIST (system-error-errno args)) + (leave (G_ "cannot link profile: '~a' already exists within container~%") + profile-dir) + (apply throw args)))))) + (define (environment-bash container? bootstrap? system) "Return a monadic value in the store monad for the version of GNU Bash needed in the environment for SYSTEM, if any. If CONTAINER? is #f, return #f. @@ -564,7 +658,9 @@ message if any test fails." (let* ((opts (parse-args args)) (pure? (assoc-ref opts 'pure)) (container? (assoc-ref opts 'container?)) + (link-prof? (assoc-ref opts 'link-profile?)) (network? (assoc-ref opts 'network?)) + (user (assoc-ref opts 'user)) (bootstrap? (assoc-ref opts 'bootstrap?)) (system (assoc-ref opts 'system)) (command (or (assoc-ref opts 'exec) @@ -597,6 +693,11 @@ message if any test fails." (when container? (assert-container-features)) + (when (and (not container?) link-prof?) + (leave (G_ "'--link-profile' cannot be used without '--container'~%"))) + (when (and (not container?) user) + (leave (G_ "'--user' cannot be used without '--container'~%"))) + (with-store store (set-build-options-from-command-line store opts) @@ -643,9 +744,11 @@ message if any test fails." "/bin/sh")))) (launch-environment/container #:command command #:bash bash-binary + #:user user #:user-mappings mappings #:profile profile #:paths paths + #:link-profile? link-prof? #:network? network?))) (else (return diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 617e102d93..d8b80efe8e 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com> @@ -247,11 +247,15 @@ specified in MANIFEST, a manifest object." description matches at least one of REGEXPS sorted by relevance, and the list of relevance scores." (let ((matches (fold-packages (lambda (package result) - (match (package-relevance package regexps) - ((? zero?) - result) - (score - (cons (list package score) result)))) + (if (package-superseded package) + result + (match (package-relevance package + regexps) + ((? zero?) + result) + (score + (cons (list package score) + result))))) '()))) (unzip2 (sort matches (lambda (m1 m2) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 2fd2bf8104..8e1119fb49 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org> ;;; ;;; This file is part of GNU Guix. @@ -212,15 +212,7 @@ provide." (begin (warning (G_ "while fetching ~a: server is somewhat slow~%") (uri->string uri)) - (warning (G_ "try `--no-substitutes' if the problem persists~%")) - - ;; Before Guile v2.0.9-39-gfe51c7b, EINTR was reported to the user, - ;; and thus PORT had to be closed and re-opened. This is not the - ;; case afterward. - (unless (or (guile-version>? "2.0.9") - (version>? (version) "2.0.9.39")) - (when port - (close-connection port)))) + (warning (G_ "try `--no-substitutes' if the problem persists~%"))) (begin (when (or (not port) (port-closed? port)) (set! port (guix:open-connection-for-uri @@ -571,10 +563,8 @@ initial connection on which HTTP requests are sent." ;; XXX: Do our own caching to work around inefficiencies when ;; communicating over TLS: <http://bugs.gnu.org/22966>. (let-values (((buffer get) (open-bytevector-output-port))) - ;; On Guile > 2.0.9, inherit the HTTP proxying property from P. - (when (module-variable (resolve-interface '(web http)) - 'http-proxy-port?) - (set-http-proxy-port?! buffer (http-proxy-port? p))) + ;; Inherit the HTTP proxying property from P. + (set-http-proxy-port?! buffer (http-proxy-port? p)) (for-each (cut write-request <> buffer) (at-most 1000 requests)) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 999ffb010b..acfccce96d 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -41,6 +41,9 @@ #:use-module (gnu build install) #:autoload (gnu build file-systems) (find-partition-by-label find-partition-by-uuid) + #:autoload (gnu build linux-modules) + (device-module-aliases matching-modules) + #:use-module (gnu system linux-initrd) #:use-module (gnu system) #:use-module (gnu bootloader) #:use-module (gnu system file-systems) @@ -624,21 +627,49 @@ any, are available. Raise an error if they're not." ;; Better be safe than sorry. (exit 1)))) -(define (check-mapped-devices mapped-devices) +(define (check-mapped-devices os) "Check that each of MAPPED-DEVICES is valid according to the 'check' procedure of its type." + (define boot-mapped-devices + (operating-system-boot-mapped-devices os)) + + (define (needed-for-boot? md) + (memq md boot-mapped-devices)) + + (define initrd-modules + (operating-system-initrd-modules os)) + (for-each (lambda (md) (let ((check (mapped-device-kind-check (mapped-device-type md)))) ;; We expect CHECK to raise an exception with a detailed - ;; '&message' if something goes wrong, but handle the case - ;; where it just returns #f. - (unless (check md) - (leave (G_ "~a: invalid '~a' mapped device~%") - (location->string - (source-properties->location - (mapped-device-location md))))))) - mapped-devices)) + ;; '&message' if something goes wrong. + (check md + #:needed-for-boot? (needed-for-boot? md) + #:initrd-modules initrd-modules))) + (operating-system-mapped-devices os))) + +(define (check-initrd-modules os) + "Check that modules needed by 'needed-for-boot' file systems in OS are +available in the initrd. Note that mapped devices are responsible for +checking this by themselves in their 'check' procedure." + (define (file-system-/dev fs) + (let ((device (file-system-device fs))) + (match (file-system-title fs) + ('device device) + ('uuid (find-partition-by-uuid device)) + ('label (find-partition-by-label device))))) + + (define file-systems + (filter file-system-needed-for-boot? + (operating-system-file-systems os))) + + (for-each (lambda (fs) + (check-device-initrd-modules (file-system-/dev fs) + (operating-system-initrd-modules os) + (source-properties->location + (file-system-location fs)))) + file-systems)) ;;; @@ -730,9 +761,10 @@ output when building a system derivation, such as a disk image." ;; instantiating a broken configuration. Assume that we can only check if ;; running as root. (when (memq action '(init reconfigure)) + (check-mapped-devices os) (when (zero? (getuid)) - (check-file-system-availability (operating-system-file-systems os))) - (check-mapped-devices (operating-system-mapped-devices os))) + (check-file-system-availability (operating-system-file-systems os)) + (check-initrd-modules os))) (mlet* %store-monad ((sys (system-derivation-for-action os action diff --git a/guix/ui.scm b/guix/ui.scm index fb2380b68a..cb49a15c4d 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -52,6 +52,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module (ice-9 regex) + #:autoload (system base compile) (compile-file) #:autoload (system repl repl) (start-repl) #:autoload (system repl debug) (make-debug stack->vector) #:use-module (texinfo) @@ -186,8 +187,8 @@ messages." (define (error-string frame args) (call-with-output-string - (lambda (port) - (apply display-error frame port (cdr args))))) + (lambda (port) + (apply display-error frame port (cdr args))))) (define tag (make-prompt-tag "user-code")) @@ -199,9 +200,10 @@ messages." ;; In 2.2.3, the bogus answer to <https://bugs.gnu.org/29226> was to ;; ignore all available .go, not just those from ~/.cache, which in turn ;; meant that we had to rebuild *everything*. Since this is too costly, - ;; we have to turn auto '%fresh-auto-compile' with that version, at the - ;; risk of getting ABI breakage in the user's config file. See - ;; <https://bugs.gnu.org/29881>. + ;; we have to turn off '%fresh-auto-compile' with that version, so to + ;; avoid ABI breakage in the user's config file, we explicitly compile + ;; it (the problem remains if the user's config is spread on several + ;; modules.) See <https://bugs.gnu.org/29881>. (unless (string=? (version) "2.2.3") (set! %fresh-auto-compile #t)) @@ -215,6 +217,12 @@ messages." (parameterize ((current-warning-port (%make-void-port "w"))) (call-with-prompt tag (lambda () + (when (string=? (version) "2.2.3") + (catch 'system-error + (lambda () + (compile-file file #:env user-module)) + (const #f))) ;EACCES maybe, let's interpret it + ;; Give 'load' an absolute file name so that it doesn't try to ;; search for FILE in %LOAD-PATH. Note: use 'load', not ;; 'primitive-load', so that FILE is compiled, which then allows us @@ -291,8 +299,10 @@ VARIABLE and return it, or #f if none was found." "Display MESSAGE, a l10n message possibly containing Texinfo markup, to PORT." (format port (G_ "hint: ~a~%") - (fill-paragraph (texi->plain-text message) - (terminal-columns) 8))) + ;; XXX: We should arrange so that the initial indent is wider. + (parameterize ((%text-width (max 15 + (- (terminal-columns) 5)))) + (texi->plain-text message)))) (define* (report-load-error file args #:optional frame) "Report the failure to load FILE, a user-provided Scheme file. @@ -631,6 +641,8 @@ directories:~{ ~a~}~%") (G_ "~a: error: ~a~%") (location->string (error-location c)) (gettext (condition-message c) %gettext-domain)) + (when (fix-hint? c) + (display-hint (condition-fix-hint c))) (exit 1)) ((and (message-condition? c) (fix-hint? c)) (format (current-error-port) "~a: error: ~a~%" diff --git a/m4/guix.m4 b/m4/guix.m4 index 721285b014..8e174e92e5 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -136,23 +136,6 @@ AC_DEFUN([GUIX_ASSERT_GUILE_FEATURES], [ done ]) -dnl GUIX_CHECK_UNBUFFERED_CBIP -dnl -dnl Check whether 'setbvuf' works on custom binary input ports (CBIPs), as is -dnl the case starting with Guile 2.0.10. -AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [ - AC_CACHE_CHECK([whether Guile's custom binary input ports support 'setvbuf'], - [ac_cv_guix_cbips_support_setvbuf], - [if "$GUILE" -c "(use-modules (rnrs io ports)) \ - (let ((p (make-custom-binary-input-port \"cbip\" pk #f #f #f))) \ - (setvbuf p _IONBF))" >&5 2>&1 - then - ac_cv_guix_cbips_support_setvbuf=yes - else - ac_cv_guix_cbips_support_setvbuf=no - fi]) -]) - dnl GUIX_ASSERT_SYNTAX_OBJECT_EQUAL dnl dnl Guile 2.2.1 was a brown-paper-bag release where 'equal?' wouldn't work diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 6510b99e8f..ba09605375 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -5,6 +5,7 @@ gnu/packages.scm gnu/services.scm gnu/system.scm gnu/services/shepherd.scm +gnu/system/linux-initrd.scm gnu/system/shadow.scm guix/scripts.scm guix/scripts/build.scm diff --git a/po/guix/pt_BR.po b/po/guix/pt_BR.po index 0c59e11d68..317f5213f7 100644 --- a/po/guix/pt_BR.po +++ b/po/guix/pt_BR.po @@ -2,14 +2,14 @@ # Copyright (C) 2016 Free Software Foundation, Inc. # Copyright (C) 2016 Ludovic Courtès # This file is distributed under the same license as the guix package. -# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2016. +# Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2016, 2018. msgid "" msgstr "" -"Project-Id-Version: guix 0.12.0\n" +"Project-Id-Version: guix 0.14.0\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2016-12-18 15:32+0100\n" -"PO-Revision-Date: 2016-12-18 17:13-0200\n" -"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n" +"POT-Creation-Date: 2017-11-28 08:56+0100\n" +"PO-Revision-Date: 2018-02-24 07:29-0200\n" +"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" @@ -19,140 +19,185 @@ msgstr "" "X-Generator: Virtaal 1.0.0-beta1\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -#: gnu/packages.scm:79 +#: gnu.scm:82 +#, scheme-format +msgid "module ~a not found" +msgstr "módulo ~a não localizado" + +#: gnu.scm:100 +msgid "" +"You may use @command{guix package --show=foo | grep location} to search\n" +"for the location of package @code{foo}.\n" +"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" +"Se você obtiver a linha @code{location: gnu/packages/bar.scm:174:2},\n" +"adicione @code{bar} à forma @code{use-package-modules}." + +#: gnu.scm:108 +#, scheme-format +msgid "Try adding @code{(use-package-modules ~a)}." +msgstr "Tente adicionar @code{(use-package-modules ~a)}." + +#: gnu.scm:123 +#, scheme-format +msgid "" +"You may use @command{guix system search ~a} to search for a service\n" +"matching @code{~a}.\n" +"If you get the line @code{location: gnu/services/foo.scm:188:2},\n" +"add @code{foo} to the @code{use-service-modules} form." +msgstr "" +"Você pode usar @command{guix system search ~a} para pesquisar por um serviço\n" +"correspondendo a @code{~a}.\n" +"Se você obtiver a linha @code{location: gnu/services/foo.scm:188:2},\n" +"adicione @code{foo} à forma @code{use-service-modules}." + +#: gnu.scm:132 +#, scheme-format +msgid "Try adding @code{(use-service-modules ~a)}." +msgstr "Tente adicionar @code{(use-service-modules ~a)}." + +#: gnu/packages.scm:92 #, scheme-format msgid "~a: patch not found" msgstr "~a: patch não localizado" -#: gnu/packages.scm:95 +#: gnu/packages.scm:108 #, scheme-format 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:147 -#, scheme-format -msgid "cannot access `~a': ~a~%" -msgstr "não foi possível acessar \"~a\": ~a~%" - -#: gnu/packages.scm:301 +#: gnu/packages.scm:240 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "especificação ambígua de pacote \"~a\"~%" -#: gnu/packages.scm:302 -#, scheme-format -msgid "choosing ~a from ~a~%" -msgstr "escolhendo ~a de ~a~%" - -#: gnu/packages.scm:306 +#: gnu/packages.scm:241 #, scheme-format -msgid "deprecated NAME-VERSION syntax; use NAME@VERSION instead~%" -msgstr "sintaxe NOME-VERSÃO obsoleta; em vez disso, use NOME@VERSÃO~%" +msgid "choosing ~a@~a from ~a~%" +msgstr "escolhendo ~a@~a de ~a~%" -#: gnu/packages.scm:311 guix/scripts/package.scm:272 +#: gnu/packages.scm:246 guix/scripts/package.scm:271 #, scheme-format msgid "package '~a' has been superseded by '~a'~%" msgstr "pacote \"~a\" foi substituído por \"~a\"~%" -#: gnu/packages.scm:318 +#: gnu/packages.scm:253 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: pacote não encontrado para versão ~a~%" -#: gnu/packages.scm:328 +#: gnu/packages.scm:254 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: pacote desconhecido~%" -#: gnu/packages.scm:356 +#: gnu/packages.scm:282 #, scheme-format msgid "package `~a' lacks output `~a'~%" msgstr "pacote \"~a\" carece de mensagem de saída \"~a\"~%" -#: gnu/services.scm:542 +#: gnu/services.scm:235 +#, 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 #, scheme-format -msgid "no target of type '~a' for service ~s" -msgstr "nenhum alvo do tipo \"~a\" para o serviço ~s" +msgid "no target of type '~a' for service '~a'" +msgstr "nenhum alvo do tipo \"~a\" para o serviço \"~a\"" -#: gnu/services.scm:553 gnu/services.scm:614 +#: gnu/services.scm:662 gnu/services.scm:723 #, scheme-format msgid "more than one target service of type '~a'" msgstr "mais de um serviço alvo do tipo \"~a\"" -#: gnu/services.scm:604 +#: gnu/services.scm:713 #, scheme-format msgid "service of type '~a' not found" msgstr "serviço do tipo \"~a\" não localizado" -#: gnu/system.scm:522 +#: gnu/system.scm:305 +#, scheme-format +msgid "unrecognized boot parameters for '~a'~%" +msgstr "parâmetros de inicialização não reconhecidos para \"~a\"~%" + +#: gnu/system.scm:695 #, 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:538 +#: gnu/system.scm:711 #, 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:680 +#: gnu/system.scm:856 #, scheme-format msgid "~a: invalid locale name" msgstr "~a: nome de localidade inválido" -#: gnu/system.scm:860 -msgid "/" -msgstr "/" - -#: gnu/system.scm:862 -#, scheme-format -msgid "unrecognized boot parameters for '~a'~%" -msgstr "parâmetros de inicialização não reconhecidos para \"~a\"~%" - -#: gnu/services/shepherd.scm:165 +#: gnu/services/shepherd.scm:166 #, scheme-format msgid "service '~a' provided more than once" msgstr "serviço \"~a\" fornecido mais de uma vez" -#: gnu/services/shepherd.scm:180 +#: gnu/services/shepherd.scm:181 #, 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:220 +#: gnu/system/shadow.scm:231 #, 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:230 +#: gnu/system/shadow.scm:241 #, scheme-format msgid "primary group '~a' of user '~a' is undeclared" msgstr "grupo primário \"~a\" do usuário \"~a\" não está declarado" -#: guix/scripts.scm:53 +#: guix/scripts.scm:56 #, scheme-format msgid "invalid argument: ~a~%" msgstr "argumento inválido: ~a~%" -#: guix/scripts.scm:79 guix/scripts/download.scm:133 guix/scripts/gc.scm:164 +#: guix/scripts.scm:84 guix/scripts/download.scm:135 #: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77 -#: guix/scripts/pull.scm:219 guix/scripts/lint.scm:1042 -#: guix/scripts/publish.scm:556 guix/scripts/edit.scm:81 -#: guix/scripts/graph.scm:436 +#: guix/scripts/publish.scm:844 guix/scripts/edit.scm:81 #, scheme-format msgid "~A: unrecognized option~%" msgstr "~A: opção não reconhecida~%" -#: guix/scripts/build.scm:121 +#: guix/scripts.scm:179 +#, scheme-format +msgid "Your Guix installation is ~a day old.\n" +msgid_plural "Your Guix installation is ~a days old.\n" +msgstr[0] "Sua instalação do Guix tem ~a dia.\n" +msgstr[1] "Sua instalação do Guix tem ~a dias.\n" + +#: guix/scripts.scm:184 +#, scheme-format +msgid "" +"Consider running 'guix pull' followed by\n" +"'~a' to get up-to-date packages and security updates.\n" +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 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "falha ao criar raiz de GC \"~a\": ~a~%" -#: guix/scripts/build.scm:196 +#: guix/scripts/build.scm:206 #, scheme-format msgid "invalid replacement specification: ~s~%" msgstr "especificação de substituição inválida: ~s~%" -#: guix/scripts/build.scm:253 +#: guix/scripts/build.scm:263 msgid "" "\n" " --with-source=SOURCE\n" @@ -162,7 +207,7 @@ msgstr "" " --with-source=FONTE\n" " usa FONTE ao compilar o pacote correspondente" -#: guix/scripts/build.scm:256 +#: guix/scripts/build.scm:266 msgid "" "\n" " --with-input=PACKAGE=REPLACEMENT\n" @@ -172,7 +217,7 @@ msgstr "" " --with-input=PACOTE=SUBSTITUIÇÃO\n" " substitui a dependência PACOTE por SUBSTITUIÇÃO" -#: guix/scripts/build.scm:259 +#: guix/scripts/build.scm:269 msgid "" "\n" " --with-graft=PACKAGE=REPLACEMENT\n" @@ -182,12 +227,12 @@ msgstr "" " --with-graft=PACOTE=SUBSTITUIÇÃO\n" " insere SUBSTITUIÇÃO em pacotes referindo-se a PACOTE" -#: guix/scripts/build.scm:284 +#: guix/scripts/build.scm:294 #, 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:302 +#: guix/scripts/build.scm:312 msgid "" "\n" " -L, --load-path=DIR prepend DIR to the package module search path" @@ -196,7 +241,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:304 +#: guix/scripts/build.scm:314 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" @@ -204,7 +249,7 @@ msgstr "" "\n" " -K, --keep-failed mantém a árvore de compilado de pacotes falhos" -#: guix/scripts/build.scm:306 +#: guix/scripts/build.scm:316 msgid "" "\n" " -k, --keep-going keep going when some of the derivations fail" @@ -212,7 +257,7 @@ msgstr "" "\n" " -k, --keep-going continua mesmo se algumas das derivações falharem" -#: guix/scripts/build.scm:308 +#: guix/scripts/build.scm:318 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -220,7 +265,7 @@ msgstr "" "\n" " -n, --dry-run não compila as derivações" -#: guix/scripts/build.scm:310 +#: guix/scripts/build.scm:320 msgid "" "\n" " --fallback fall back to building when the substituter fails" @@ -228,7 +273,7 @@ msgstr "" "\n" " --fallback volta para compilação quando o substituto falhar" -#: guix/scripts/build.scm:312 +#: guix/scripts/build.scm:322 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" @@ -237,7 +282,7 @@ msgstr "" " --no-substitutes compila, em vez de recorrer a substitutos\n" " pré-construídos" -#: guix/scripts/build.scm:314 guix/scripts/size.scm:220 +#: guix/scripts/build.scm:324 guix/scripts/size.scm:232 msgid "" "\n" " --substitute-urls=URLS\n" @@ -247,7 +292,7 @@ msgstr "" " --substitute-urls=URLS\n" " obtém substituto a partir das URLS se autorizadas" -#: guix/scripts/build.scm:317 +#: guix/scripts/build.scm:327 msgid "" "\n" " --no-grafts do not graft packages" @@ -255,7 +300,7 @@ msgstr "" "\n" " --no-grafts não faz gráficos de pacotes" -#: guix/scripts/build.scm:319 +#: guix/scripts/build.scm:329 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" @@ -264,7 +309,7 @@ msgstr "" " --no-build-hook não tenta descarregar compilações via hook de\n" " compilação" -#: guix/scripts/build.scm:321 +#: guix/scripts/build.scm:331 msgid "" "\n" " --max-silent-time=SECONDS\n" @@ -275,7 +320,7 @@ msgstr "" " marca a compilação como falha após transcorridos\n" " SEGUNDOS de silêncio" -#: guix/scripts/build.scm:324 +#: guix/scripts/build.scm:334 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" @@ -285,7 +330,7 @@ msgstr "" " marca a compilação como falha após transcorridos\n" " SEGUNDOS de atividade" -#: guix/scripts/build.scm:326 +#: guix/scripts/build.scm:336 msgid "" "\n" " --verbosity=LEVEL use the given verbosity LEVEL" @@ -293,7 +338,7 @@ msgstr "" "\n" " --verbosity=NÍVEL usa o NÍVEL de detalhamento dado" -#: guix/scripts/build.scm:328 +#: guix/scripts/build.scm:338 msgid "" "\n" " --rounds=N build N times in a row to detect non-determinism" @@ -302,7 +347,7 @@ msgstr "" " --rounds=N compila N vezes de uma vez para detectar\n" " não determinismo" -#: guix/scripts/build.scm:330 +#: guix/scripts/build.scm:340 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" @@ -310,7 +355,7 @@ msgstr "" "\n" " -c, --cores=N permite uso de até N núcleos de CPU para compilação" -#: guix/scripts/build.scm:332 +#: guix/scripts/build.scm:342 msgid "" "\n" " -M, --max-jobs=N allow at most N build jobs" @@ -318,12 +363,12 @@ msgstr "" "\n" " -M, --max-jobs=N permite no máximo N trabalhos de compilação" -#: guix/scripts/build.scm:438 guix/scripts/build.scm:445 +#: guix/scripts/build.scm:448 guix/scripts/build.scm:455 #, 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:465 +#: guix/scripts/build.scm:474 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" @@ -331,7 +376,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:467 +#: guix/scripts/build.scm:476 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" @@ -339,7 +384,7 @@ msgstr "" "\n" " -e, --expression=EXPR compila o pacote ou derivação que EXPR corresponder" -#: guix/scripts/build.scm:469 +#: guix/scripts/build.scm:478 msgid "" "\n" " -f, --file=FILE build the package or derivation that the code within\n" @@ -349,7 +394,7 @@ msgstr "" " -f, --file=ARQUIVO compila o pacote ou derivação que o código dentro\n" " de ARQUIVO avaliar" -#: guix/scripts/build.scm:472 +#: guix/scripts/build.scm:481 msgid "" "\n" " -S, --source build the packages' source derivations" @@ -357,7 +402,7 @@ msgstr "" "\n" " -S, --source compila as derivações de fontes do pacote" -#: guix/scripts/build.scm:474 +#: guix/scripts/build.scm:483 msgid "" "\n" " --sources[=TYPE] build source derivations; TYPE may optionally be one\n" @@ -367,7 +412,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:477 +#: guix/scripts/build.scm:486 guix/scripts/pack.scm:338 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" @@ -375,7 +420,7 @@ msgstr "" "\n" " -s, --system=SISTEMA tenta compilar para SISTEMA (ex.: \"i686-linux\")" -#: guix/scripts/build.scm:479 +#: guix/scripts/build.scm:488 guix/scripts/pack.scm:340 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" @@ -383,7 +428,7 @@ msgstr "" "\n" " --target=TRIO compilação cruzada para TRIO (ex: \"armel-linux-gnu\")" -#: guix/scripts/build.scm:481 +#: guix/scripts/build.scm:490 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" @@ -391,7 +436,7 @@ msgstr "" "\n" " -d, --derivations retorna os caminhos de derivação dos pacotes dados" -#: guix/scripts/build.scm:483 +#: guix/scripts/build.scm:492 msgid "" "\n" " --check rebuild items to check for non-determinism issues" @@ -400,7 +445,15 @@ msgstr "" " --check recompila itens para verificar questões de\n" " não determinismo" -#: guix/scripts/build.scm:485 +#: guix/scripts/build.scm:494 +msgid "" +"\n" +" --repair repair the specified items" +msgstr "" +"\n" +" --repair conserta os itens especificados" + +#: guix/scripts/build.scm:496 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" @@ -410,7 +463,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:488 +#: guix/scripts/build.scm:499 msgid "" "\n" " -q, --quiet do not show the build log" @@ -418,7 +471,7 @@ msgstr "" "\n" " -q, --quiet não mostra o log de compilação" -#: guix/scripts/build.scm:490 +#: guix/scripts/build.scm:501 msgid "" "\n" " --log-file return the log file names for the given derivations" @@ -427,15 +480,17 @@ msgstr "" " --log-file retorna o os nomes de arquivos de log para as\n" " derivações fornecidas" -#: guix/scripts/build.scm:497 guix/scripts/download.scm:81 -#: guix/scripts/package.scm:419 guix/scripts/gc.scm:74 -#: guix/scripts/hash.scm:59 guix/scripts/import.scm:91 -#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:83 -#: guix/scripts/substitute.scm:836 guix/scripts/system.scm:748 -#: guix/scripts/lint.scm:991 guix/scripts/publish.scm:74 -#: guix/scripts/edit.scm:44 guix/scripts/size.scm:228 -#: guix/scripts/graph.scm:416 guix/scripts/challenge.scm:182 -#: guix/scripts/container.scm:33 guix/scripts/container/exec.scm:43 +#: guix/scripts/build.scm:508 guix/scripts/download.scm:83 +#: guix/scripts/package.scm:425 guix/scripts/gc.scm:74 +#: 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/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/container/exec.scm:43 msgid "" "\n" " -h, --help display this help and exit" @@ -443,15 +498,17 @@ msgstr "" "\n" " -h, --help exibe esta ajuda e sai" -#: guix/scripts/build.scm:499 guix/scripts/download.scm:83 -#: guix/scripts/package.scm:421 guix/scripts/gc.scm:76 -#: guix/scripts/hash.scm:61 guix/scripts/import.scm:93 -#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:85 -#: guix/scripts/substitute.scm:838 guix/scripts/system.scm:750 -#: guix/scripts/lint.scm:995 guix/scripts/publish.scm:76 -#: guix/scripts/edit.scm:46 guix/scripts/size.scm:230 -#: guix/scripts/graph.scm:418 guix/scripts/challenge.scm:184 -#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:45 +#: guix/scripts/build.scm:510 guix/scripts/download.scm:85 +#: guix/scripts/package.scm:427 guix/scripts/gc.scm:76 +#: 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/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/container/exec.scm:45 msgid "" "\n" " -V, --version display version information and exit" @@ -459,7 +516,7 @@ msgstr "" "\n" " -V, --version exibe informações da versão e sai" -#: guix/scripts/build.scm:526 +#: guix/scripts/build.scm:537 #, scheme-format msgid "" "invalid argument: '~a' option argument: ~a, ~\n" @@ -468,22 +525,27 @@ msgstr "" "argumento inválido: argumento da opção \"~a\": ~a, ~\n" "deve ser um entre \"package\", \"all\" ou \"transitive\"~%" -#: guix/scripts/build.scm:573 +#: guix/scripts/build.scm:590 #, scheme-format msgid "~s: not something we can build~%" msgstr "~s: não é algo que podemos compilar~%" -#: guix/scripts/build.scm:627 +#: guix/scripts/build.scm:644 #, scheme-format msgid "~a: warning: package '~a' has no source~%" msgstr "~a: aviso: pacote \"~a\" não possui fontes~%" -#: guix/scripts/build.scm:661 +#: guix/scripts/build.scm:678 #, scheme-format msgid "no build log for '~a'~%" msgstr "nenhum log de compilação para \"~a\"~%" -#: guix/scripts/download.scm:67 +#: guix/discovery.scm:88 +#, scheme-format +msgid "cannot access `~a': ~a~%" +msgstr "não foi possível acessar \"~a\": ~a~%" + +#: guix/scripts/download.scm:69 msgid "" "Usage: guix download [OPTION] URL\n" "Download the file at URL to the store or to the given file, and print its\n" @@ -499,7 +561,7 @@ msgstr "" "Suporte a formatos: \"nix-base32\" (padrão), \"base32\" e \"base16\"\n" "(\"hex\" e \"hexadecimal\" também podem ser usados).\n" -#: guix/scripts/download.scm:73 guix/scripts/hash.scm:54 +#: guix/scripts/download.scm:75 guix/scripts/hash.scm:54 msgid "" "\n" " -f, --format=FMT write the hash in the given format" @@ -507,7 +569,7 @@ msgstr "" "\n" " -f, --format=FMT escreve o hash no formato FMT dado" -#: guix/scripts/download.scm:75 +#: guix/scripts/download.scm:77 msgid "" "\n" " --no-check-certificate\n" @@ -517,7 +579,7 @@ msgstr "" " --no-check-certificate\n" " não valida o certificado de servidores HTTPS " -#: guix/scripts/download.scm:78 +#: guix/scripts/download.scm:80 msgid "" "\n" " -o, --output=FILE download to FILE" @@ -525,92 +587,97 @@ msgstr "" "\n" " -o, --output=ARQUIVO baixa para ARQUIVO" -#: guix/scripts/download.scm:101 guix/scripts/hash.scm:82 +#: guix/scripts/download.scm:103 guix/scripts/hash.scm:82 #, scheme-format msgid "unsupported hash format: ~a~%" msgstr "sem suporte ao formato de hash: ~a~%" -#: guix/scripts/download.scm:136 guix/scripts/package.scm:879 -#: guix/scripts/publish.scm:558 +#: guix/scripts/download.scm:138 guix/scripts/package.scm:906 +#: guix/scripts/publish.scm:846 #, scheme-format msgid "~A: extraneous argument~%" msgstr "~A: argumento estranho~%" -#: guix/scripts/download.scm:144 +#: guix/scripts/download.scm:146 #, scheme-format msgid "no download URI was specified~%" msgstr "nenhuma URI de download foi especificada~%" -#: guix/scripts/download.scm:146 +#: guix/scripts/download.scm:151 #, scheme-format msgid "~a: failed to parse URI~%" msgstr "~a: falha ao analisar URI~%" -#: guix/scripts/download.scm:156 +#: guix/scripts/download.scm:161 #, scheme-format msgid "~a: download failed~%" msgstr "~a: falha no download~%" -#: guix/scripts/package.scm:107 +#: guix/scripts/package.scm:112 #, scheme-format msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" msgstr "Tente \"info '(guix) Invoking guix package'\" para mais informações.~%" -#: guix/scripts/package.scm:129 +#: guix/scripts/package.scm:134 #, scheme-format msgid "error: while creating directory `~a': ~a~%" msgstr "erro: ao criar diretório \"~a\": ~a~%" -#: guix/scripts/package.scm:133 +#: guix/scripts/package.scm:138 #, scheme-format msgid "Please create the `~a' directory, with you as the owner.~%" msgstr "Por favor, crie o diretório \"~a\", com você sendo o proprietário.~%" -#: guix/scripts/package.scm:140 +#: guix/scripts/package.scm:145 #, scheme-format msgid "error: directory `~a' is not owned by you~%" msgstr "erro: diretório \"~a\" não tem você como proprietário~%" -#: guix/scripts/package.scm:143 +#: guix/scripts/package.scm:148 #, scheme-format msgid "Please change the owner of `~a' to user ~s.~%" msgstr "Por favor, altere o proprietário d \"~a\" para o usuário ~s.~%" -#: guix/scripts/package.scm:178 +#: guix/scripts/package.scm:183 #, scheme-format msgid "not removing generation ~a, which is current~%" msgstr "não será removida a geração ~a, que é o atual~%" # geração, criação? -#: guix/scripts/package.scm:185 +#: guix/scripts/package.scm:190 #, scheme-format msgid "no matching generation~%" msgstr "nenhuma geração correspondente~%" -#: guix/scripts/package.scm:188 guix/scripts/package.scm:699 -#: guix/scripts/system.scm:549 +#: guix/scripts/package.scm:193 guix/scripts/package.scm:716 +#: guix/scripts/system.scm:558 #, scheme-format msgid "invalid syntax: ~a~%" msgstr "sintaxe inválida: ~a~%" -#: guix/scripts/package.scm:214 +#: guix/scripts/package.scm:219 #, scheme-format msgid "nothing to be done~%" msgstr "nada para ser feito~%" -#: guix/scripts/package.scm:228 +#: guix/scripts/package.scm:233 #, 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:344 +#: guix/scripts/package.scm:313 +#, scheme-format +msgid "package '~a' no longer exists~%" +msgstr "o pacote \"~a\" não existe mais~%" + +#: guix/scripts/package.scm:351 #, 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:360 +#: guix/scripts/package.scm:366 msgid "" "Usage: guix package [OPTION]...\n" "Install, remove, or upgrade packages in a single transaction.\n" @@ -618,7 +685,7 @@ msgstr "" "Uso: guix package [OPÇÃO]...\n" "Instala, remove ou atualiza pacotes em uma única transação.\n" -#: guix/scripts/package.scm:362 +#: guix/scripts/package.scm:368 msgid "" "\n" " -i, --install PACKAGE ...\n" @@ -628,7 +695,7 @@ msgstr "" " -i, --install PACOTE ...\n" " instala PACOTEs" -#: guix/scripts/package.scm:365 +#: guix/scripts/package.scm:371 msgid "" "\n" " -e, --install-from-expression=EXP\n" @@ -638,7 +705,7 @@ msgstr "" " -e, --install-from-expression=EXP\n" " instala o pacote que EXPR corresponder" -#: guix/scripts/package.scm:368 +#: guix/scripts/package.scm:374 msgid "" "\n" " -f, --install-from-file=FILE\n" @@ -647,10 +714,10 @@ msgid "" msgstr "" "\n" " -f, --install-from-file=ARQUIVO\n" -" instala o pacote que o código dentro de\n" -" ARQUIVO corresponder" +" instala o pacote cujo código dentro do ARQUIVO\n" +" corresponder" -#: guix/scripts/package.scm:372 +#: guix/scripts/package.scm:378 msgid "" "\n" " -r, --remove PACKAGE ...\n" @@ -660,7 +727,7 @@ msgstr "" " -r, --remove PACOTE ...\n" " remove PACOTEs" -#: guix/scripts/package.scm:375 +#: guix/scripts/package.scm:381 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" @@ -669,7 +736,7 @@ msgstr "" " -u, --upgrade[=REGEXP] atualiza todos os pacotes instalados correspondendo\n" " à REGEXP" -#: guix/scripts/package.scm:377 +#: guix/scripts/package.scm:383 msgid "" "\n" " -m, --manifest=FILE create a new profile generation with the manifest\n" @@ -679,7 +746,7 @@ msgstr "" " -m, --manifest=ARQUIVO cria a geração de um novo perfil com o manifesto\n" " do ARQUIVO" -#: guix/scripts/package.scm:380 +#: guix/scripts/package.scm:386 msgid "" "\n" " --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" @@ -687,7 +754,7 @@ msgstr "" "\n" " --do-not-upgrade[=REGEXP] não atualiza pacotes correspondente a REGEXP" -#: guix/scripts/package.scm:382 +#: guix/scripts/package.scm:388 msgid "" "\n" " --roll-back roll back to the previous generation" @@ -695,7 +762,7 @@ msgstr "" "\n" " --roll-back reverte para a geração anterior" -#: guix/scripts/package.scm:384 +#: guix/scripts/package.scm:390 msgid "" "\n" " --search-paths[=KIND]\n" @@ -705,7 +772,7 @@ msgstr "" " --search-paths[=TIPO]\n" " exibe definições necessárias de variável de ambiente" -#: guix/scripts/package.scm:387 +#: guix/scripts/package.scm:393 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" @@ -715,7 +782,7 @@ msgstr "" " -l, --list-generations[=PADRÃO]\n" " lista criações correspondendo a PADRÃO" -#: guix/scripts/package.scm:390 +#: guix/scripts/package.scm:396 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" @@ -725,7 +792,7 @@ msgstr "" " -d, --delete-generations[=PADRÃO]\n" " exclui gerações correspondendo a PADRÃO" -#: guix/scripts/package.scm:393 +#: guix/scripts/package.scm:399 msgid "" "\n" " -S, --switch-generation=PATTERN\n" @@ -735,7 +802,7 @@ msgstr "" " -S, --switch-generations=PADRÃO\n" " alterna para a geração correspondendo a PADRÃO" -#: guix/scripts/package.scm:396 +#: guix/scripts/package.scm:402 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" @@ -743,7 +810,7 @@ msgstr "" "\n" " -p, --profile=PERFIL usa PERFIL em vez do perfil padrão do usuário" -#: guix/scripts/package.scm:399 +#: guix/scripts/package.scm:405 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" @@ -751,7 +818,7 @@ msgstr "" "\n" " --bootstrap usa a inicialização do Guile para compilar o perfil" -#: guix/scripts/package.scm:401 guix/scripts/pull.scm:76 +#: guix/scripts/package.scm:407 guix/scripts/pull.scm:98 msgid "" "\n" " --verbose produce verbose output" @@ -759,7 +826,7 @@ msgstr "" "\n" " --verbose produz uma saída mais detalhada" -#: guix/scripts/package.scm:404 +#: guix/scripts/package.scm:410 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" @@ -767,7 +834,7 @@ msgstr "" "\n" " -s, --search=REGEXP pesquisa na sinopse e descrição usando REGEXP" -#: guix/scripts/package.scm:406 +#: guix/scripts/package.scm:412 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" @@ -777,7 +844,7 @@ msgstr "" " -I, --list-installed[=REGEXP]\n" " lista pacotes instalados correspondentes a REGEXP" -#: guix/scripts/package.scm:409 +#: guix/scripts/package.scm:415 msgid "" "\n" " -A, --list-available[=REGEXP]\n" @@ -787,7 +854,7 @@ msgstr "" " -A, --list-available[=REGEXP]\n" " lista pacotes disponíveis correspondentes a REGEXP" -#: guix/scripts/package.scm:412 +#: guix/scripts/package.scm:418 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" @@ -795,23 +862,33 @@ msgstr "" "\n" " --show=PACOTE mostra detalhes sobre o PACOTE" -#: guix/scripts/package.scm:507 +#: guix/scripts/package.scm:470 +#, 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 +#, scheme-format +msgid "is this intended?~%" +msgstr "isso é intencional?~%" + +#: guix/scripts/package.scm:518 #, 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:790 +#: guix/scripts/package.scm:815 #, scheme-format msgid "cannot switch to generation '~a'~%" msgstr "não foi possível alternar para a geração \"~a\"~%" -#: guix/scripts/package.scm:806 +#: guix/scripts/package.scm:831 #, 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:808 +#: guix/scripts/package.scm:833 #, scheme-format msgid "installing new manifest from '~a' with ~d entries~%" msgstr "instalando novo manifesto a partir de \"~a\" com entradas ~d~%" @@ -934,20 +1011,20 @@ msgstr "" msgid "invalid amount of storage: ~a~%" msgstr "quantidade inválida de armazenamento: ~a~%" -#: guix/scripts/gc.scm:191 +#: guix/scripts/gc.scm:185 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:194 +#: guix/scripts/gc.scm:188 msgid "freeing ~h bytes~%" msgstr "liberando ~h bytes~%" -#: guix/scripts/gc.scm:206 +#: guix/scripts/gc.scm:200 #, scheme-format msgid "extraneous arguments: ~{~a ~}~%" msgstr "argumentos estranhos: ~{~a ~}~%" -#: guix/scripts/gc.scm:226 guix/scripts/gc.scm:229 +#: guix/scripts/gc.scm:220 guix/scripts/gc.scm:223 msgid "freed ~h bytes~%" msgstr "~h bytes liberados~%" @@ -981,23 +1058,18 @@ msgstr "" "\n" " -r, --recursive computa o hash no AQUIVO recursivamente" -#: guix/scripts/hash.scm:109 -#, scheme-format -msgid "unrecognized option: ~a~%" -msgstr "opção não reconhecida: ~a~%" - -#: guix/scripts/hash.scm:152 guix/ui.scm:478 +#: guix/scripts/hash.scm:150 guix/ui.scm:326 guix/ui.scm:601 guix/ui.scm:654 #, scheme-format msgid "~a~%" msgstr "~a~%" -#: guix/scripts/hash.scm:155 guix/scripts/system.scm:879 -#: guix/scripts/system.scm:886 guix/scripts/system.scm:893 +#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1022 +#: guix/scripts/system.scm:1031 guix/scripts/system.scm:1038 #, scheme-format msgid "wrong number of arguments~%" msgstr "número errado de argumentos~%" -#: guix/scripts/import.scm:85 +#: guix/scripts/import.scm:86 msgid "" "Usage: guix import IMPORTER ARGS ...\n" "Run IMPORTER with ARGS.\n" @@ -1005,21 +1077,21 @@ msgstr "" "Uso: guix import IMPORTADOR ARGUMENTOS ...\n" "Executa IMPORTADOR com ARGUMENTOS.\n" -#: guix/scripts/import.scm:88 +#: guix/scripts/import.scm:89 msgid "IMPORTER must be one of the importers listed below:\n" msgstr "IMPORTADOR deve ser um dos importadores listados abaixo:\n" -#: guix/scripts/import.scm:102 +#: guix/scripts/import.scm:103 #, scheme-format msgid "guix import: missing importer name~%" msgstr "guix: import: faltando o nome de um importador~%" -#: guix/scripts/import.scm:122 +#: guix/scripts/import.scm:123 #, scheme-format msgid "'~a' import failed~%" msgstr "importação de \"~a\" falhou~%" -#: guix/scripts/import.scm:123 +#: guix/scripts/import.scm:124 #, scheme-format msgid "~a: invalid importer~%" msgstr "~a: importador inválido~%" @@ -1092,7 +1164,26 @@ msgstr "" msgid "failed to download package '~a'~%" msgstr "falha ao baixar localidade: \"~a\"~%" -#: guix/scripts/pull.scm:74 +#: guix/scripts/pull.scm:60 +#, scheme-format +msgid "" +"Guile-Git is missing but it is now required by 'guix pull'.\n" +"Install it by running:\n" +"\n" +" guix package -i ~a\n" +" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n" +" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" +"\n" +msgstr "" +"Guile-Git está faltando, mas agora é necessário por \"guix pull\".\n" +"Instale-o executando:\n" +"\n" +" guix package -i ~a\n" +" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n" +" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" +"\n" + +#: guix/scripts/pull.scm:96 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" @@ -1100,179 +1191,188 @@ msgstr "" "Uso: guix pull [OPÇÃO]...\n" "Baixa e implanta a última versão do Guix.\n" -#: guix/scripts/pull.scm:78 +#: guix/scripts/pull.scm:100 msgid "" "\n" -" --url=URL download the Guix tarball from URL" +" --url=URL download from the Git repository at URL" msgstr "" "\n" -" --url=URL baixa o tarball do Guix a partir da URL" +" --url=URL baixa do repositório Git na URL" -#: guix/scripts/pull.scm:80 +#: guix/scripts/pull.scm:102 msgid "" "\n" -" --bootstrap use the bootstrap Guile to build the new Guix" +" --commit=COMMIT download the specified COMMIT" msgstr "" "\n" -" --bootstrap usa inicialização do Guile para compilar o novo Guix" - -#: guix/scripts/pull.scm:134 -msgid "tarball did not produce a single source directory" -msgstr "tarball não produziu um diretório fonte" +" --commit=COMMIT baixa o COMMIT especificado" -#: guix/scripts/pull.scm:152 -#, scheme-format -msgid "unpacking '~a'...~%" -msgstr "desempacotando \"~a\"...~%" +#: guix/scripts/pull.scm:104 +msgid "" +"\n" +" --branch=BRANCH download the tip of the specified BRANCH" +msgstr "" +"\n" +" --branch=RAMO baixa a dica do RAMO especificado" -#: guix/scripts/pull.scm:161 -msgid "failed to unpack source code" -msgstr "falha ao desempacotar o código fonte" +#: guix/scripts/pull.scm:106 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the new Guix" +msgstr "" +"\n" +" --bootstrap usa inicialização do Guile para compilar o novo Guix" -#: guix/scripts/pull.scm:204 +#: guix/scripts/pull.scm:192 msgid "Guix already up to date\n" msgstr "Guix já está atualizado\n" -#: guix/scripts/pull.scm:209 +#: guix/scripts/pull.scm:197 #, scheme-format msgid "updated ~a successfully deployed under `~a'~%" -msgstr "~a atualizado foi implantado com sucesso em \"~a\"~%" +msgstr "~a atualizado foi implantado com sucesso sob \"~a\"~%" -#: guix/scripts/pull.scm:212 +#: guix/scripts/pull.scm:200 #, 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:221 +#: guix/scripts/pull.scm:216 +#, 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 +#, scheme-format +msgid "please upgrade Guile-Git~%" +msgstr "por favor, atualize o Guile-Git~%" + +#: guix/scripts/pull.scm:226 +#, scheme-format +msgid "Git error ~a~%" +msgstr "erro no Git ~a~%" + +#: guix/scripts/pull.scm:228 #, scheme-format -msgid "~A: unexpected argument~%" -msgstr "~A: argumento inesperado~%" +msgid "Git error: ~a~%" +msgstr "erro no Git: ~a~%" -#: guix/scripts/pull.scm:230 -msgid "failed to download up-to-date source, exiting\n" -msgstr "falha ao baixar fonte atualizada; saindo\n" +#: guix/scripts/pull.scm:262 +#, scheme-format +msgid "Updating from Git repository at '~a'...~%" +msgstr "Atualizando a partir do repositório Git \"~a\"...~%" + +#: guix/scripts/pull.scm:271 +#, scheme-format +msgid "Building from Git commit ~a...~%" +msgstr "Compilando a partir do commit Git ~a...~%" -#: guix/scripts/substitute.scm:112 +#: guix/scripts/substitute.scm:125 #, scheme-format msgid "authentication and authorization of substitutes disabled!~%" msgstr "autenticação e autorização de substitutos desabilitado!~%" -#: guix/scripts/substitute.scm:187 +#: guix/scripts/substitute.scm:200 #, scheme-format msgid "download from '~a' failed: ~a, ~s~%" msgstr "download de \"~a\" falhou: ~a, ~s~%" -#: guix/scripts/substitute.scm:200 +#: guix/scripts/substitute.scm:213 #, scheme-format msgid "while fetching ~a: server is somewhat slow~%" msgstr "enquanto obtinha ~a: servidor está um pouco lento~%" -#: guix/scripts/substitute.scm:202 +#: guix/scripts/substitute.scm:215 #, scheme-format msgid "try `--no-substitutes' if the problem persists~%" -msgstr "Tente \"--no-substitutes\" se o problema persistir~%" +msgstr "tente \"--no-substitutes\" se o problema persistir~%" -#: guix/scripts/substitute.scm:220 +#: guix/scripts/substitute.scm:233 #, scheme-format msgid "unsupported substitute URI scheme: ~a~%" msgstr "sem suporte ao esquema de URI de substituto: ~a~%" -#: guix/scripts/substitute.scm:254 +#: guix/scripts/substitute.scm:268 #, scheme-format msgid "while fetching '~a': ~a (~s)~%" msgstr "enquanto obtinha \"~a\": ~a (~s)~%" -#: guix/scripts/substitute.scm:259 +#: guix/scripts/substitute.scm:273 #, scheme-format msgid "ignoring substitute server at '~s'~%" msgstr "ignorando servidor substituto em \"~s\"~%" -#: guix/scripts/substitute.scm:309 +#: guix/scripts/substitute.scm:323 #, 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:313 +#: guix/scripts/substitute.scm:327 #, scheme-format msgid "unsupported signature version: ~a~%" msgstr "sem suporte à versão da assinatura: ~a~%" -#: guix/scripts/substitute.scm:321 +#: guix/scripts/substitute.scm:335 #, 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:325 +#: guix/scripts/substitute.scm:339 #, scheme-format msgid "invalid format of the signature field: ~a~%" msgstr "formato inválido do campo de assinatura: ~a~%" -#: guix/scripts/substitute.scm:360 +#: guix/scripts/substitute.scm:374 #, scheme-format msgid "invalid signature for '~a'~%" msgstr "assinatura inválida para \"~a\"~%" -#: guix/scripts/substitute.scm:362 +#: guix/scripts/substitute.scm:376 #, scheme-format msgid "hash mismatch for '~a'~%" msgstr "hash incompatível para \"~a\"~%" -#: guix/scripts/substitute.scm:364 +#: guix/scripts/substitute.scm:378 #, scheme-format msgid "'~a' is signed with an unauthorized key~%" msgstr "\"~a\" está assinado com uma chave não autorizada~%" -#: guix/scripts/substitute.scm:366 +#: guix/scripts/substitute.scm:380 #, scheme-format msgid "signature on '~a' is corrupt~%" msgstr "a assinatura em \"~a\" está corrompida~%" -#: guix/scripts/substitute.scm:404 -#, scheme-format -msgid "substitute at '~a' lacks a signature~%" -msgstr "o substituto em \"~a\" carece de uma assinatura~%" - -#: guix/scripts/substitute.scm:411 -#, scheme-format -msgid "Found valid signature for ~a~%" -msgstr "Localizada assinatura válida para ~a~%" - -#: guix/scripts/substitute.scm:414 -#, scheme-format -msgid "From ~a~%" -msgstr "De ~a~%" - -#: guix/scripts/substitute.scm:454 +#: guix/scripts/substitute.scm:465 #, 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:600 +#: guix/scripts/substitute.scm:629 #, 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:655 +#: guix/scripts/substitute.scm:693 #, scheme-format msgid "~s: unsupported server URI scheme~%" msgstr "~s: sem suporte ao esquema de URI de servidor~%" -#: guix/scripts/substitute.scm:665 +#: guix/scripts/substitute.scm:703 #, scheme-format msgid "'~a' uses different store '~a'; ignoring it~%" -msgstr "\"~a\" usa um armazenamento diferente \"~a\"" +msgstr "\"~a\" usa um armazenamento diferente \"~a\"; ignorando-o~%" -#: guix/scripts/substitute.scm:810 +#: guix/scripts/substitute.scm:863 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "erro na busca pelo nome da máquina: ~a~%" -#: guix/scripts/substitute.scm:815 +#: guix/scripts/substitute.scm:868 #, scheme-format msgid "TLS error in procedure '~a': ~a~%" msgstr "erro TLS no procedimento \"~a\": ~a~%" -#: guix/scripts/substitute.scm:826 +#: guix/scripts/substitute.scm:879 msgid "" "Usage: guix substitute [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" @@ -1281,7 +1381,7 @@ msgstr "" "Ferramenta interna para substituir um binário pré-compilado para\n" "uma compilação local.\n" -#: guix/scripts/substitute.scm:828 +#: guix/scripts/substitute.scm:881 msgid "" "\n" " --query report on the availability of substitutes for the\n" @@ -1292,7 +1392,7 @@ msgstr "" " nomes de arquivos de armazenamento passados na\n" " entrada padrão" -#: guix/scripts/substitute.scm:831 +#: guix/scripts/substitute.scm:884 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -1302,21 +1402,28 @@ msgstr "" "\n" " --substitute ARQUIVO-ARMAZENAMENTO DESTINO\n" " baixa ARQUIVO-ARMAZENAMENTO e armazena-o como um\n" -" Nar no arquivo DESTINO" +" Nar no arquivo DESTINO" -#. TRANSLATORS: The second part of this message looks like -#. "(4.1MiB installed)"; it shows the size of the package once -#. installed. -#: guix/scripts/substitute.scm:904 +#: guix/scripts/substitute.scm:949 #, scheme-format -msgid "Downloading ~a~:[~*~; (~a installed)~]...~%" -msgstr "Baixando ~a~:[~*~; (~a instalado)~]...~%" +msgid "no valid substitute for '~a'~%" +msgstr "nenhum substituto válido para \"~a\"~%" -#: guix/scripts/substitute.scm:961 +#: guix/scripts/substitute.scm:956 +#, scheme-format +msgid "Downloading ~a...~%" +msgstr "Baixando ~a...~%" + +#: guix/scripts/substitute.scm:1012 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:1057 +#: guix/scripts/substitute.scm:1066 +#, scheme-format +msgid "~a: invalid URI~%" +msgstr "~a: URI inválido~%" + +#: guix/scripts/substitute.scm:1126 #, scheme-format msgid "~a: unrecognized options~%" msgstr "~a: opções desconhecidas~%" @@ -1355,142 +1462,152 @@ msgstr "" msgid "wrong arguments" msgstr "argumentos errados" -#: guix/scripts/system.scm:109 +#: guix/scripts/system.scm:135 #, scheme-format msgid "failed to register '~a' under '~a'~%" msgstr "falha ao registrar \"~a\" sob \"~a\"~%" -#: guix/scripts/system.scm:142 +#: guix/scripts/system.scm:174 #, scheme-format -msgid "failed to install GRUB on device '~a'~%" -msgstr "falha ao instalar GRUB no dispositivo \"~a\"~%" +msgid "failed to install bootloader ~a~%" +msgstr "falha ao instalar carregador de inicialização ~a~%" -#: guix/scripts/system.scm:160 +#: guix/scripts/system.scm:194 #, scheme-format msgid "initializing the current root file system~%" msgstr "inicialização do sistema de arquivos raiz atual~%" -#: guix/scripts/system.scm:174 +#: guix/scripts/system.scm:208 #, 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:238 +#: guix/scripts/system.scm:253 #, scheme-format msgid "while talking to shepherd: ~a~%" msgstr "enquanto falava com o shepherd: ~a~%" -#: guix/scripts/system.scm:245 +#: guix/scripts/system.scm:260 #, scheme-format msgid "service '~a' could not be found~%" msgstr "o serviço \"~a\" não pôde ser localizado~%" -#: guix/scripts/system.scm:248 +#: guix/scripts/system.scm:263 #, 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:252 +#: guix/scripts/system.scm:267 #, 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:260 +#: guix/scripts/system.scm:275 #, scheme-format msgid "something went wrong: ~s~%" msgstr "algo deu errado: ~s~%" -#: guix/scripts/system.scm:263 +#: guix/scripts/system.scm:278 #, scheme-format msgid "shepherd error~%" msgstr "erro do shepherd~%" -#: guix/scripts/system.scm:280 +#: guix/scripts/system.scm:295 #, scheme-format msgid "failed to obtain list of shepherd services~%" msgstr "falha ao obter lista de serviços do shepherd~%" -#: guix/scripts/system.scm:300 +#: guix/scripts/system.scm:315 #, scheme-format msgid "unloading service '~a'...~%" msgstr "descarregando serviço \"~a\"...~%" -#: guix/scripts/system.scm:308 +#: guix/scripts/system.scm:323 #, scheme-format msgid "loading new services:~{ ~a~}...~%" msgstr "carregando novos serviços:~{ ~a~}...~%" -#: guix/scripts/system.scm:332 +#: guix/scripts/system.scm:347 #, scheme-format msgid "activating system...~%" msgstr "ativando sistema...~%" # geração, criação? -#: guix/scripts/system.scm:425 +#: guix/scripts/system.scm:423 #, 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:459 -#, scheme-format -msgid "failed to re-install GRUB configuration file: '~a'~%" -msgstr "falha ao reinstalar o arquivo de configuração do GRUB: \"~a\"~%" - -#: guix/scripts/system.scm:489 +#: guix/scripts/system.scm:494 msgid "the DAG of services" msgstr "o DAG de serviços" -#: guix/scripts/system.scm:502 +#: guix/scripts/system.scm:507 msgid "the dependency graph of shepherd services" msgstr "o gráfico de dependência de serviços do shepherd" -#: guix/scripts/system.scm:526 +#: guix/scripts/system.scm:531 #, scheme-format msgid " file name: ~a~%" msgstr " nome de arquivo: ~a~%" -#: guix/scripts/system.scm:527 +#: guix/scripts/system.scm:532 #, 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:529 +#: guix/scripts/system.scm:534 #, scheme-format msgid " label: ~a~%" msgstr " rótulo: ~a~%" -#: guix/scripts/system.scm:530 +#: guix/scripts/system.scm:535 +#, scheme-format +msgid " bootloader: ~a~%" +msgstr " carregador de inicialização: ~a~%" + +#: guix/scripts/system.scm:536 #, scheme-format msgid " root device: ~a~%" msgstr " dispositivo raiz: ~a~%" -#: guix/scripts/system.scm:531 +#: guix/scripts/system.scm:540 #, scheme-format msgid " kernel: ~a~%" msgstr " kernel: ~a~%" -#: guix/scripts/system.scm:588 +#: guix/scripts/system.scm:600 +#, 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 +#, 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 #, 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:589 +#: guix/scripts/system.scm:659 #, scheme-format msgid "Consider running 'guix pull' before 'reconfigure'.~%" msgstr "Considere executar \"guix pull\" antes de \"reconfigure\".~%" -#: guix/scripts/system.scm:590 +#: guix/scripts/system.scm:660 #, 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:661 +#: guix/scripts/system.scm:767 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "inicializando sistema operacional sob \"~a\"...~%" -#: guix/scripts/system.scm:700 +#: guix/scripts/system.scm:812 msgid "" "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n" "Build the operating system declared in FILE according to ACTION.\n" @@ -1500,63 +1617,67 @@ 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:704 guix/scripts/container.scm:28 +#: guix/scripts/system.scm:816 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:706 +#: guix/scripts/system.scm:818 +msgid " search search for existing service types\n" +msgstr " search pesquisa por tipos de serviços existentes\n" + +#: guix/scripts/system.scm:820 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:708 +#: guix/scripts/system.scm:822 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:710 +#: guix/scripts/system.scm:824 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:712 +#: guix/scripts/system.scm:826 msgid " list-generations list the system generations\n" msgstr " list-generations lista as gerações do sistema\n" -#: guix/scripts/system.scm:714 +#: guix/scripts/system.scm:828 msgid " build build the operating system without installing anything\n" msgstr " build compila o sistema operacional sem instalador nada\n" -#: guix/scripts/system.scm:716 +#: guix/scripts/system.scm:830 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:718 +#: guix/scripts/system.scm:832 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:720 +#: guix/scripts/system.scm:834 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:722 +#: guix/scripts/system.scm:836 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:724 +#: guix/scripts/system.scm:838 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:726 +#: guix/scripts/system.scm:840 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:728 +#: guix/scripts/system.scm:842 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:732 +#: guix/scripts/system.scm:846 msgid "" "\n" " -d, --derivation return the derivation of the given system" @@ -1564,7 +1685,7 @@ msgstr "" "\n" " -d, --derivation retorna a derivação do sistema dado" -#: guix/scripts/system.scm:734 +#: guix/scripts/system.scm:848 msgid "" "\n" " --on-error=STRATEGY\n" @@ -1574,7 +1695,19 @@ msgstr "" " --on-error=ESTRATÉGIA\n" " aplica ESTRATÉGIA ao ocorrer um erro ao ler ARQUIVO" -#: guix/scripts/system.scm:737 +#: guix/scripts/system.scm:851 +msgid "" +"\n" +" --file-system-type=TYPE\n" +" for 'disk-image', produce a root file system of TYPE\n" +" (one of 'ext4', 'iso9660')" +msgstr "" +"\n" +" --file-system-type=TIPO\n" +" para \"disk-image\", produz um sistema de arquivos\n" +" raiz do TIPO (um entre \"ext4\", \"iso9660\")" + +#: guix/scripts/system.scm:855 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" @@ -1582,15 +1715,15 @@ msgstr "" "\n" " --image-size=TAM para \"vm-image\", produz uma imagem de TAM" -#: guix/scripts/system.scm:739 +#: guix/scripts/system.scm:857 msgid "" "\n" -" --no-grub for 'init', do not install GRUB" +" --no-bootloader for 'init', do not install a bootloader" msgstr "" "\n" -" --no-grub para \"init\", não instala GRUB" +" --no-bootloader para \"init\", não instala um carregador de inic." -#: guix/scripts/system.scm:741 +#: guix/scripts/system.scm:859 msgid "" "\n" " --share=SPEC for 'vm', share host file system according to SPEC" @@ -1599,7 +1732,20 @@ msgstr "" " --share=ESPEC para \"vm\", compartilha o sistema de arquivos do\n" " hospedeiro de acordo com ESPEC" -#: guix/scripts/system.scm:743 +#: guix/scripts/system.scm:861 +msgid "" +"\n" +" -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n" +" and 'build', make FILE a symlink to the result, and\n" +" register it as a garbage collector root" +msgstr "" +"\n" +" -r, --root=ARQUIVO para \"vm\", \"vm-image\", \"disk-image\", \"container\",\n" +" e \"build\", faz do ARQUIVO um link simbólico para\n" +" o resultado e o registra, como um coletor de lixo\n" +" central" + +#: guix/scripts/system.scm:865 msgid "" "\n" " --expose=SPEC for 'vm', expose host file system according to SPEC" @@ -1608,7 +1754,7 @@ msgstr "" " --expose=ESPEC para \"vm\", expõe o sistema de arquivos do\n" " hospedeiro de acordo com ESPEC" -#: guix/scripts/system.scm:745 +#: guix/scripts/system.scm:867 msgid "" "\n" " --full-boot for 'vm', make a full boot sequence" @@ -1617,45 +1763,49 @@ msgstr "" " --full-boot para \"vm\", faz uma sequência completa de\n" " inicialização" -#: guix/scripts/system.scm:830 +#: guix/scripts/system.scm:959 #, scheme-format msgid "no configuration file specified~%" msgstr "nenhum arquivo de configuração especificado~%" -#: guix/scripts/system.scm:912 +#: guix/scripts/system.scm:1057 #, scheme-format msgid "~a: unknown action~%" msgstr "~a: ação desconhecida~%" -#: guix/scripts/system.scm:927 +#: guix/scripts/system.scm:1072 #, 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:932 +#: guix/scripts/system.scm:1077 #, scheme-format msgid "guix system: missing command name~%" msgstr "guix system: faltando um nome de comando~%" -#: guix/scripts/system.scm:934 +#: guix/scripts/system.scm:1079 #, scheme-format msgid "Try 'guix system --help' for more information.~%" msgstr "Tente \"guix system --help\" para mais informações.~%" -#: guix/scripts/lint.scm:133 +#: guix/scripts/system/search.scm:64 guix/ui.scm:1057 guix/ui.scm:1071 +msgid "unknown" +msgstr "desconhecido" + +#: guix/scripts/lint.scm:138 #, scheme-format msgid "Available checkers:~%" msgstr "Verificadores disponíveis:~%" -#: guix/scripts/lint.scm:157 +#: guix/scripts/lint.scm:162 msgid "description should not be empty" msgstr "a descrição deve não estar vazia" -#: guix/scripts/lint.scm:167 +#: guix/scripts/lint.scm:172 msgid "Texinfo markup in description is invalid" -msgstr "Marcação Texinfo na descrição é inválida" +msgstr "a marcação Texinfo na descrição é inválida" -#: guix/scripts/lint.scm:177 +#: guix/scripts/lint.scm:182 #, scheme-format msgid "" "description should not contain ~\n" @@ -1666,15 +1816,15 @@ msgstr "" #. TRANSLATORS: '@code' is Texinfo markup and must be kept #. as is. -#: guix/scripts/lint.scm:190 +#: guix/scripts/lint.scm:195 msgid "use @code or similar ornament instead of quotes" msgstr "use @code ou ornamento similar em vez de aspas" -#: guix/scripts/lint.scm:197 +#: guix/scripts/lint.scm:202 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:213 +#: guix/scripts/lint.scm:218 #, scheme-format msgid "" "sentences in description should be followed ~\n" @@ -1683,225 +1833,256 @@ 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:231 +#: guix/scripts/lint.scm:236 #, scheme-format msgid "invalid description: ~s" msgstr "a descrição inválida: ~s" -#: guix/scripts/lint.scm:256 +#: guix/scripts/lint.scm:281 #, scheme-format msgid "'~a' should probably be a native input" msgstr "\"~a\" provavelmente é uma entrada nativa" -#: guix/scripts/lint.scm:280 +#: guix/scripts/lint.scm:297 #, 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:306 +#: guix/scripts/lint.scm:314 msgid "synopsis should not be empty" msgstr "a sinopse deve não estar vazia" -#: guix/scripts/lint.scm:314 +#: guix/scripts/lint.scm:322 msgid "no period allowed at the end of the synopsis" msgstr "nenhum ponto permitido ao final da sinopse" -#: guix/scripts/lint.scm:326 +#: guix/scripts/lint.scm:334 msgid "no article allowed at the beginning of the synopsis" msgstr "nenhum artigo permitido no início da sinopse" -#: guix/scripts/lint.scm:333 +#: guix/scripts/lint.scm:341 msgid "synopsis should be less than 80 characters long" msgstr "a sinopse deve ser menor que 80 caracteres" -#: guix/scripts/lint.scm:339 +#: guix/scripts/lint.scm:347 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:346 +#: guix/scripts/lint.scm:354 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:360 +#: guix/scripts/lint.scm:364 +msgid "Texinfo markup in synopsis is invalid" +msgstr "Marcação Texinfo na sinopse é inválida" + +#: guix/scripts/lint.scm:383 #, scheme-format msgid "invalid synopsis: ~s" msgstr "sinopse inválida: ~s" -#: guix/scripts/lint.scm:459 +#: guix/scripts/lint.scm:502 #, 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:468 guix/scripts/lint.scm:480 +#: guix/scripts/lint.scm:512 +#, scheme-format +msgid "permanent redirect from ~a to ~a" +msgstr "redirecionamento permanente de ~a para ~a" + +#: guix/scripts/lint.scm:519 +#, 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 #, scheme-format msgid "URI ~a not reachable: ~a (~s)" msgstr "a URI ~a não é alcançável: ~a (~s)" -#: guix/scripts/lint.scm:487 +#: guix/scripts/lint.scm:545 #, 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:495 +#: guix/scripts/lint.scm:553 #, scheme-format msgid "URI ~a unreachable: ~a" msgstr "URI ~a inalcançável: ~a" -#: guix/scripts/lint.scm:504 guix/scripts/lint.scm:761 +#: guix/scripts/lint.scm:562 #, scheme-format msgid "TLS certificate error: ~a" msgstr "erro de certificado TLS: ~a" -#: guix/scripts/lint.scm:525 +#: guix/scripts/lint.scm:583 msgid "invalid value for home page" msgstr "valor inválido para página inicial" -#: guix/scripts/lint.scm:528 +#: guix/scripts/lint.scm:586 #, scheme-format msgid "invalid home page URL: ~s" msgstr "URL de página inicial inválida: ~s" -#: guix/scripts/lint.scm:548 +#: guix/scripts/lint.scm:606 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:587 +#: guix/scripts/lint.scm:644 #, scheme-format msgid "~a: ~a: proposed synopsis: ~s~%" msgstr "~a: ~a: sinopse proposta: ~s~%" -#: guix/scripts/lint.scm:600 +#: guix/scripts/lint.scm:657 #, scheme-format msgid "~a: ~a: proposed description:~% \"~a\"~%" msgstr "~a: ~a: descrição proposta:~% \"~a\"~%" -#: guix/scripts/lint.scm:642 +#: guix/scripts/lint.scm:699 msgid "all the source URIs are unreachable:" msgstr "todas as URIs fontes estão inalcançáveis:" -#: guix/scripts/lint.scm:665 +#: guix/scripts/lint.scm:721 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:681 +#: guix/scripts/lint.scm:737 #, scheme-format msgid "URL should be 'mirror://~a/~a'" msgstr "a URL deve ser \"mirror://~a/~a\"" -#: guix/scripts/lint.scm:699 guix/scripts/lint.scm:703 +#: guix/scripts/lint.scm:755 guix/scripts/lint.scm:759 #, scheme-format msgid "failed to create derivation: ~a" msgstr "falha ao criar a derivação: ~a" -#: guix/scripts/lint.scm:717 +#: guix/scripts/lint.scm:773 #, scheme-format msgid "failed to create derivation: ~s~%" msgstr "falha ao criar a derivação: ~s~%" -#: guix/scripts/lint.scm:727 +#: guix/scripts/lint.scm:783 msgid "invalid license field" msgstr "campo de licença inválido" -#: guix/scripts/lint.scm:744 +#: guix/scripts/lint.scm:799 #, scheme-format -msgid "failed to retrieve CVE vulnerabilities from ~s: ~a (~s)~%" -msgstr "falha ao obter vulnerabilidades CVE de ~s: ~a (~s)~%" +msgid "~a: HTTP GET error for ~a: ~a (~s)~%" +msgstr "~a: erro HTTP GET para ~a: ~a (~s)~%" -#: guix/scripts/lint.scm:749 guix/scripts/lint.scm:758 -#: guix/scripts/lint.scm:763 +#: guix/scripts/lint.scm:809 #, scheme-format -msgid "assuming no CVE vulnerabilities~%" -msgstr "presumindo haver nenhuma vulnerabilidade CVE~%" +msgid "~a: host lookup failure: ~a~%" +msgstr "~a: falha ao procurar o host: ~a~%" -#: guix/scripts/lint.scm:756 +#: guix/scripts/lint.scm:814 #, scheme-format -msgid "failed to lookup NIST host: ~a~%" -msgstr "falha ao procurar o servidor do NIST: ~a~%" +msgid "~a: TLS certificate error: ~a" +msgstr "~a: erro de certificado TLS: ~a" + +#: guix/scripts/lint.scm:829 +msgid "while retrieving CVE vulnerabilities" +msgstr "ao obter vulnerabilidades CVE" -#: guix/scripts/lint.scm:801 +#: guix/scripts/lint.scm:866 #, scheme-format msgid "probably vulnerable to ~a" msgstr "provavelmente vulnerável a ~a" -#: guix/scripts/lint.scm:816 +#: guix/scripts/lint.scm:873 +#, scheme-format +msgid "while retrieving upstream info for '~a'" +msgstr "ao obter informações do upstream para \"~a\"" + +#: guix/scripts/lint.scm:881 +#, scheme-format +msgid "can be upgraded to ~a" +msgstr "pode ser atualizado para ~a" + +#: guix/scripts/lint.scm:896 #, scheme-format msgid "tabulation on line ~a, column ~a" msgstr "tabulação na linha ~a, coluna ~a" -#: guix/scripts/lint.scm:825 +#: guix/scripts/lint.scm:905 #, scheme-format msgid "trailing white space on line ~a" msgstr "espaço ao final da linha ~a" -#: guix/scripts/lint.scm:835 +#: guix/scripts/lint.scm:915 #, scheme-format msgid "line ~a is way too long (~a characters)" msgstr "a linha ~a está grande demais (~a caracteres)" -#: guix/scripts/lint.scm:846 +#: guix/scripts/lint.scm:926 #, 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:901 +#: guix/scripts/lint.scm:996 msgid "Validate package descriptions" msgstr "Valida descrições dos pacotes" -#: guix/scripts/lint.scm:905 +#: guix/scripts/lint.scm:1000 msgid "Validate synopsis & description of GNU packages" msgstr "Valida sinopse & descrição de pacotes GNU" -#: guix/scripts/lint.scm:909 +#: guix/scripts/lint.scm:1004 msgid "Identify inputs that should be native inputs" msgstr "Identifica entradas que devem ser nativas" -#: guix/scripts/lint.scm:913 +#: guix/scripts/lint.scm:1008 msgid "Identify inputs that should be inputs at all" msgstr "Identifica entradas que devem ser entradas" -#: guix/scripts/lint.scm:917 +#: guix/scripts/lint.scm:1012 msgid "Validate file names and availability of patches" msgstr "Valida nomes de arquivos e disponibilidade de patches" -#: guix/scripts/lint.scm:921 +#: guix/scripts/lint.scm:1016 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:927 +#: guix/scripts/lint.scm:1022 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:932 +#: guix/scripts/lint.scm:1027 msgid "Validate source URLs" msgstr "Valida URLs fonte" -#: guix/scripts/lint.scm:936 +#: guix/scripts/lint.scm:1031 msgid "Suggest 'mirror://' URLs" msgstr "Sugere URLs \"mirror://\"" -#: guix/scripts/lint.scm:940 +#: guix/scripts/lint.scm:1035 msgid "Validate file names of sources" msgstr "Valida nomes de arquivos dos fontes" -#: guix/scripts/lint.scm:944 +#: guix/scripts/lint.scm:1039 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:948 +#: guix/scripts/lint.scm:1043 msgid "Validate package synopses" msgstr "Valida sinopses do pacotes" -#: guix/scripts/lint.scm:952 +#: guix/scripts/lint.scm:1047 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:957 +#: guix/scripts/lint.scm:1052 +msgid "Check the package for new upstream releases" +msgstr "Verifica o pacote por novos lançamentos do upstream" + +#: guix/scripts/lint.scm:1056 msgid "Look for formatting issues in the source" msgstr "Procura por problemas de formatação no fonte" -#: guix/scripts/lint.scm:985 +#: guix/scripts/lint.scm:1084 msgid "" "Usage: guix lint [OPTION]... [PACKAGE]...\n" "Run a set of checkers on the specified package; if none is specified,\n" @@ -1911,7 +2092,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:988 +#: guix/scripts/lint.scm:1087 msgid "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" @@ -1921,7 +2102,7 @@ msgstr "" " -c, --checkers=CHECKER1,CHECKER2...\n" " executa apenas os verificadores especificados" -#: guix/scripts/lint.scm:993 +#: guix/scripts/lint.scm:1092 msgid "" "\n" " -l, --list-checkers display the list of available lint checkers" @@ -1929,12 +2110,12 @@ msgstr "" "\n" " -l, --list-checkers exibe a lista de verificações lint disponíveis" -#: guix/scripts/lint.scm:1013 +#: guix/scripts/lint.scm:1112 #, scheme-format msgid "~a: invalid checker~%" msgstr "~a: verificador inválido~%" -#: guix/scripts/publish.scm:58 +#: guix/scripts/publish.scm:68 #, scheme-format msgid "" "Usage: guix publish [OPTION]...\n" @@ -1943,15 +2124,15 @@ msgstr "" "Uso: guix publish [OPÇÃO]...\n" "Publica ~a por HTTP.\n" -#: guix/scripts/publish.scm:60 +#: guix/scripts/publish.scm:70 msgid "" "\n" " -p, --port=PORT listen on PORT" msgstr "" "\n" -" -p, --port=PORTA Ouve na PORTA" +" -p, --port=PORTA ouve na PORTA" -#: guix/scripts/publish.scm:62 +#: guix/scripts/publish.scm:72 msgid "" "\n" " --listen=HOST listen on the network interface for HOST" @@ -1959,7 +2140,7 @@ msgstr "" "\n" " --listen=MÁQUINA ouve na interface de rede pela MÁQUINA" -#: guix/scripts/publish.scm:64 +#: guix/scripts/publish.scm:74 msgid "" "\n" " -u, --user=USER change privileges to USER as soon as possible" @@ -1967,7 +2148,7 @@ msgstr "" "\n" " -u, --user=USUÁRIO altera privilégios para o USUÁRIO assim que possível" -#: guix/scripts/publish.scm:66 +#: guix/scripts/publish.scm:76 msgid "" "\n" " -C, --compression[=LEVEL]\n" @@ -1977,8 +2158,24 @@ msgstr "" " -C, --compression[=NÍVEL]\n" " comprime pacotes no NÍVEL" +#: guix/scripts/publish.scm:79 +msgid "" +"\n" +" -c, --cache=DIRECTORY cache published items to DIRECTORY" +msgstr "" +"\n" +" -c, --cache=DIRETÓRIO itens de cache publicados para DIRETÓRIO" + +#: guix/scripts/publish.scm:81 +msgid "" +"\n" +" --workers=N use N workers to bake items" +msgstr "" +"\n" +" --workers=N usa N trabalhos para preparar itens" + # Abreviei segundos para a linha caber em 80 caracteres -- Rafael -#: guix/scripts/publish.scm:69 +#: guix/scripts/publish.scm:83 msgid "" "\n" " --ttl=TTL announce narinfos can be cached for TTL seconds" @@ -1986,7 +2183,31 @@ msgstr "" "\n" " --ttl=TTL anuncia que narinfos podem usar cache por TTL segs." -#: guix/scripts/publish.scm:71 +#: guix/scripts/publish.scm:85 +msgid "" +"\n" +" --nar-path=PATH use PATH as the prefix for nar URLs" +msgstr "" +"\n" +" --nar-path=CAMINHO usa CAMINHO como o prefixo para URLs nar" + +#: guix/scripts/publish.scm:87 +msgid "" +"\n" +" --public-key=FILE use FILE as the public key for signatures" +msgstr "" +"\n" +" --public-key=ARQUIVO usa ARQUIVO como chave pública para assinaturas" + +#: guix/scripts/publish.scm:89 +msgid "" +"\n" +" --private-key=FILE use FILE as the private key for signatures" +msgstr "" +"\n" +" --private-key=ARQUIVO usa ARQUIVO como chave privada para assinaturas" + +#: guix/scripts/publish.scm:91 msgid "" "\n" " -r, --repl[=PORT] spawn REPL server on PORT" @@ -1994,37 +2215,37 @@ msgstr "" "\n" " -r, --repl[=PORTA] faz um servidor de REPL na PORTA" -#: guix/scripts/publish.scm:87 +#: guix/scripts/publish.scm:107 #, scheme-format msgid "lookup of host '~a' failed: ~a~%" msgstr "a procura da máquina \"~a\" falhou: ~a~%" -#: guix/scripts/publish.scm:125 +#: guix/scripts/publish.scm:152 #, scheme-format msgid "lookup of host '~a' returned nothing" msgstr "a procura da máquina \"~a\" retornou nada" -#: guix/scripts/publish.scm:138 +#: guix/scripts/publish.scm:165 #, scheme-format msgid "zlib support is missing; compression disabled~%" msgstr "suporte a zlib está faltando; compressão desabilitada~%" -#: guix/scripts/publish.scm:145 +#: guix/scripts/publish.scm:179 #, scheme-format msgid "~a: invalid duration~%" msgstr "~a: duração inválida~%" -#: guix/scripts/publish.scm:544 +#: guix/scripts/publish.scm:832 #, scheme-format msgid "user '~a' not found: ~a~%" msgstr "usuário \"~a\" não localizado: ~a~%" -#: guix/scripts/publish.scm:581 +#: guix/scripts/publish.scm:873 #, 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:583 +#: guix/scripts/publish.scm:878 #, scheme-format msgid "publishing ~a on ~a, port ~d~%" msgstr "publicando ~a em ~a, porta ~d~%" @@ -2057,19 +2278,19 @@ msgstr "falha ao iniciar \"~a\": ~a~%" msgid "no available substitute information for '~a'~%" msgstr "nenhuma informação de substituto disponível para \"~a\"~%" -#: guix/scripts/size.scm:85 +#: guix/scripts/size.scm:99 msgid "store item" msgstr "item do armazenamento" -#: guix/scripts/size.scm:85 +#: guix/scripts/size.scm:99 msgid "total" msgstr "total" -#: guix/scripts/size.scm:85 +#: guix/scripts/size.scm:99 msgid "self" msgstr "próprio" -#: guix/scripts/size.scm:96 +#: guix/scripts/size.scm:107 #, scheme-format msgid "total: ~,1f MiB~%" msgstr "total: ~,1f MB~%" @@ -2077,27 +2298,36 @@ msgstr "total: ~,1f MB~%" #. TRANSLATORS: This is the title of a graph, meaning that the graph #. represents a profile of the store (the "store" being the place where #. packages are stored.) -#: guix/scripts/size.scm:209 +#: guix/scripts/size.scm:221 msgid "store profile" msgstr "perfil do armazenamento" -#: guix/scripts/size.scm:218 +#: guix/scripts/size.scm:230 msgid "" "Usage: guix size [OPTION]... PACKAGE\n" "Report the size of PACKAGE and its dependencies.\n" msgstr "" -"Uso: guix size [OPÇÃO]... PACOTES...\n" +"Uso: guix size [OPÇÃO]... PACOTE...\n" "Relata o tamanho do PACOTE e suas dependências.\n" -#: guix/scripts/size.scm:223 +#: guix/scripts/size.scm:235 msgid "" "\n" " -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\"" msgstr "" "\n" -" -s, --system=SISTEMA considera pacotes para SISTEMA (ex.: \"i686-linux\")" +" -s, --system=SISTEMA considera pacotes para SISTEMA--ex.: \"i686-linux\"" + +#. TRANSLATORS: "closure" and "self" must not be translated. +#: guix/scripts/size.scm:238 +msgid "" +"\n" +" --sort=KEY sort according to KEY--\"closure\" or \"self\"" +msgstr "" +"\n" +" --sort=CHAVE ordena conforme a CHAVE--\"closure\" ou \"self\"" -#: guix/scripts/size.scm:225 +#: guix/scripts/size.scm:240 msgid "" "\n" " -m, --map-file=FILE write to FILE a graphical map of disk usage" @@ -2105,93 +2335,102 @@ msgstr "" "\n" " -m, --map-file=ARQUIVO escreve para ARQUIVO um mapa gráfico do uso do disco" -#: guix/scripts/size.scm:279 +#: guix/scripts/size.scm:271 +#, scheme-format +msgid "~a: invalid sorting key~%" +msgstr "~a: chave de ordenação inválida~%" + +#: guix/scripts/size.scm:306 msgid "missing store item argument\n" msgstr "faltando argumento de item do armazenamento\n" -#: guix/scripts/graph.scm:83 +#: guix/scripts/graph.scm:84 #, scheme-format msgid "~a: invalid argument (package name expected)" msgstr "~a: argumento inválido (esperava-se nome de pacote)" -#: guix/scripts/graph.scm:94 +#: guix/scripts/graph.scm:95 msgid "the DAG of packages, excluding implicit inputs" msgstr "o DAG dos pacotes, excluindo entradas implícitas" -#: guix/scripts/graph.scm:151 +#: guix/scripts/graph.scm:121 +msgid "the reverse DAG of packages" +msgstr "o DAG reverso de pacotes" + +#: guix/scripts/graph.scm:171 msgid "the DAG of packages, including implicit inputs" msgstr "o DAG dos pacotes, incluindo entradas implícitas" -#: guix/scripts/graph.scm:161 +#: guix/scripts/graph.scm:181 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:192 +#: guix/scripts/graph.scm:211 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:238 +#: guix/scripts/graph.scm:253 msgid "the DAG of derivations" msgstr "o DAG de derivações" -#: guix/scripts/graph.scm:250 +#: guix/scripts/graph.scm:265 msgid "unsupported argument for derivation graph" msgstr "sem suporte ao argumento para gráfico de derivação" -#: guix/scripts/graph.scm:276 +#: guix/scripts/graph.scm:291 msgid "unsupported argument for this type of graph" msgstr "sem suporte ao argumento para esse tipo de gráfico" -#: guix/scripts/graph.scm:289 +#: guix/scripts/graph.scm:304 #, scheme-format msgid "references for '~a' are not known~%" msgstr "referências para \"~a\" não são conhecidas~%" -#: guix/scripts/graph.scm:296 +#: guix/scripts/graph.scm:311 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:312 +#: guix/scripts/graph.scm:327 msgid "the DAG of referrers in the store" msgstr "o DAG de referências no armazenamento" -#: guix/scripts/graph.scm:338 +#: guix/scripts/graph.scm:354 #, scheme-format msgid "~a: unknown node type~%" msgstr "~a: tipo de nó desconhecido~%" -#: guix/scripts/graph.scm:345 +#: guix/scripts/graph.scm:361 #, scheme-format msgid "~a: unknown backend~%" msgstr "~a: backend desconhecido~%" -#: guix/scripts/graph.scm:349 +#: guix/scripts/graph.scm:365 msgid "The available node types are:\n" msgstr "Os tipos de nós disponíveis são:\n" -#: guix/scripts/graph.scm:359 +#: guix/scripts/graph.scm:375 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:403 +#: guix/scripts/graph.scm:419 msgid "" "Usage: guix graph PACKAGE...\n" -"Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n" +"Emit a representation of the dependency graph of PACKAGE...\n" msgstr "" "Uso: guix graph PACOTE...\n" -"Emite uma representação em Graphviz (dot) das dependências do PACOTE...\n" +"Emite uma representação do gráfico de dependências do PACOTE...\n" -#: guix/scripts/graph.scm:405 +#: guix/scripts/graph.scm:421 msgid "" "\n" " -b, --backend=TYPE produce a graph with the given backend TYPE" msgstr "" "\n" -" -b, --backend=TIPO produz um grafo com backend do tipo TIPO" +" -b, --backend=TIPO produz um grafo com backend do TIPO" -#: guix/scripts/graph.scm:407 +#: guix/scripts/graph.scm:423 msgid "" "\n" " --list-backends list the available graph backends" @@ -2199,7 +2438,7 @@ msgstr "" "\n" " --list-backends lista os backends de gráficos disponíveis" -#: guix/scripts/graph.scm:409 +#: guix/scripts/graph.scm:425 msgid "" "\n" " -t, --type=TYPE represent nodes of the given TYPE" @@ -2207,7 +2446,7 @@ msgstr "" "\n" " -t, --type=TIPO representa nós do TIPO dado" -#: guix/scripts/graph.scm:411 +#: guix/scripts/graph.scm:427 msgid "" "\n" " --list-types list the available graph types" @@ -2215,7 +2454,7 @@ msgstr "" "\n" " --list-types lista os tipos de gráficos disponíveis" -#: guix/scripts/graph.scm:413 +#: guix/scripts/graph.scm:429 guix/scripts/pack.scm:336 msgid "" "\n" " -e, --expression=EXPR consider the package EXPR evaluates to" @@ -2223,42 +2462,58 @@ msgstr "" "\n" " -e, --expression=EXPR considera o pacote que EXPR corresponder" -#: guix/scripts/challenge.scm:105 +#: guix/scripts/challenge.scm:191 #, scheme-format -msgid "~a: no substitute at '~a'~%" -msgstr "~a: nenhum substituto em \"~a\"'~%" +msgid " local hash: ~a~%" +msgstr " hash local: ~a~%" -#: guix/scripts/challenge.scm:121 +#: guix/scripts/challenge.scm:192 #, scheme-format -msgid "no substitutes for '~a'~%" -msgstr "nenhum substituto para \"~a\"'~%" +msgid " no local build for '~a'~%" +msgstr " nenhuma compilação local para \"~a\"~%" -#: guix/scripts/challenge.scm:138 guix/scripts/challenge.scm:158 +#: guix/scripts/challenge.scm:194 #, scheme-format -msgid "no local build for '~a'~%" -msgstr "nenhuma compilação local para \"~a\"~%" +msgid " ~50a: ~a~%" +msgstr " ~50a: ~a~%" -#: guix/scripts/challenge.scm:155 +#: guix/scripts/challenge.scm:202 #, scheme-format msgid "~a contents differ:~%" -msgstr "conteúdo de ~a diverge:~%" +msgstr "conteúdo de ~a diverge:~%" -#: guix/scripts/challenge.scm:157 +#: guix/scripts/challenge.scm:205 #, scheme-format -msgid " local hash: ~a~%" -msgstr " hash local: ~a~%" +msgid "could not challenge '~a': no local build~%" +msgstr "não foi possível desafiar \"~a\": nenhuma compilação local~%" -#: guix/scripts/challenge.scm:162 +#: guix/scripts/challenge.scm:207 #, scheme-format -msgid " ~50a: ~a~%" -msgstr " ~50a: ~a~%" +msgid "could not challenge '~a': no substitutes~%" +msgstr "não foi possível desafiar \"~a\": nenhum substituto~%" -#: guix/scripts/challenge.scm:166 +#: guix/scripts/challenge.scm:210 #, scheme-format -msgid " ~50a: unavailable~%" -msgstr " ~50a: indisponível~%" +msgid "~a contents match:~%" +msgstr "conteúdo de ~a corresponde:~%" + +#: guix/scripts/challenge.scm:219 +msgid "~h store items were analyzed:~%" +msgstr "~h itens de armazenamento foram analisados:~%" -#: guix/scripts/challenge.scm:176 +#: guix/scripts/challenge.scm:220 +msgid " - ~h (~,1f%) were identical~%" +msgstr " - ~h (~,1f%) eram idênticos~%" + +#: guix/scripts/challenge.scm:222 +msgid " - ~h (~,1f%) differed~%" +msgstr " - ~h (~,1f%) divergiram~%" + +#: guix/scripts/challenge.scm:224 +msgid " - ~h (~,1f%) were inconclusive~%" +msgstr " - ~h (~,1f%) foram inconclusivos~%" + +#: guix/scripts/challenge.scm:233 msgid "" "Usage: guix challenge [PACKAGE...]\n" "Challenge the substitutes for PACKAGE... provided by one or more servers.\n" @@ -2266,7 +2521,7 @@ msgstr "" "Uso: guix challenge [PACOTE...]\n" "Compara os substitutos por PACOTE... fornecido por um ou mais servidores.\n" -#: guix/scripts/challenge.scm:178 +#: guix/scripts/challenge.scm:235 msgid "" "\n" " --substitute-urls=URLS\n" @@ -2276,23 +2531,205 @@ msgstr "" " --substitute-urls=URLS\n" " compara resultados da compilação com os de URLS" -#: guix/gnu-maintenance.scm:555 +#: guix/scripts/challenge.scm:238 +msgid "" +"\n" +" -v, --verbose show details about successful comparisons" +msgstr "" +"\n" +" -v, --verbose mostra detalhes sobre comparações bem-sucedidas" + +#: guix/scripts/copy.scm:59 +#, scheme-format +msgid "~a: invalid TCP port number~%" +msgstr "~a: número de porta TCP inválido~%" + +#: guix/scripts/copy.scm:61 +#, scheme-format +msgid "~a: invalid SSH specification~%" +msgstr "~a: especificação SSH inválida~%" + +#: guix/scripts/copy.scm:113 +msgid "" +"Usage: guix copy [OPTION]... ITEMS...\n" +"Copy ITEMS to or from the specified host over SSH.\n" +msgstr "" +"Uso: guix copy [OPÇÃO]... ITENS...\n" +"Copia ITENS para ou da máquina especificada por SSH.\n" + +#: guix/scripts/copy.scm:115 +msgid "" +"\n" +" --to=HOST send ITEMS to HOST" +msgstr "" +"\n" +" --to=MÁQUINA envia ITENS para MÁQUINA" + +#: guix/scripts/copy.scm:117 +msgid "" +"\n" +" --from=HOST receive ITEMS from HOST" +msgstr "" +"\n" +" --from=MÁQUINA recebe ITENS da MÁQUINA" + +#: guix/scripts/copy.scm:168 +#, scheme-format +msgid "use '--to' or '--from'~%" +msgstr "use \"--to\" ou \"--from\"~%" + +#: guix/scripts/pack.scm:76 +#, scheme-format +msgid "~a: compressor not found~%" +msgstr "~a: compressor não encontrado~%" + +#: guix/scripts/pack.scm:318 +#, scheme-format +msgid "~a: invalid symlink specification~%" +msgstr "~a: especificação de link simbólico inválida~%" + +#: guix/scripts/pack.scm:328 +msgid "" +"Usage: guix pack [OPTION]... PACKAGE...\n" +"Create a bundle of PACKAGE.\n" +msgstr "" +"Uso: guix pack [OPÇÃO]... PACOTE...\n" +"Cria um pacote de PACOTE.\n" + +#: guix/scripts/pack.scm:334 +msgid "" +"\n" +" -f, --format=FORMAT build a pack in the given FORMAT" +msgstr "" +"\n" +" -f, --format=FORMATO compila um pacote no FORMATO dado" + +#: guix/scripts/pack.scm:342 +msgid "" +"\n" +" -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" +msgstr "" +"\n" +" -C, --compression=FERRAMENTA\n" +" comprime usando FERRAMENTA--ex. \"lzip\"" + +#: guix/scripts/pack.scm:344 +msgid "" +"\n" +" -S, --symlink=SPEC create symlinks to the profile according to SPEC" +msgstr "" +"\n" +" -S, --symlink=ESPEC cria link simbólicos para o perfil conforme ESPEC" + +#: guix/scripts/pack.scm:346 +msgid "" +"\n" +" --localstatedir include /var/guix in the resulting pack" +msgstr "" +"\n" +" --localstatedir inclui /var/guix no pacote resultante" + +#: guix/scripts/pack.scm:390 +#, scheme-format +msgid "~a: unknown pack format" +msgstr "~a: formato de pacote desconhecido" + +#: guix/scripts/weather.scm:74 +msgid "computing ~h package derivations for ~a...~%" +msgstr "computando ~h derivações de pacote para ~a...~%" + +#: guix/scripts/weather.scm:110 +msgid "looking for ~h store items on ~a...~%" +msgstr "procurando por ~h itens de armazenamento em ~a…~%" + +#: guix/scripts/weather.scm:120 +msgid " ~2,1f% substitutes available (~h out of ~h)~%" +msgstr " ~2,1f% substitutos disponíveis (~h de ~h)~%" + +#: guix/scripts/weather.scm:126 +#, scheme-format +msgid " unknown substitute sizes~%" +msgstr " tamanhos de substituto desconhecido~%" + +#: guix/scripts/weather.scm:129 +msgid " ~,1h MiB of nars (compressed)~%" +msgstr " ~,1h MiB de nars (comprimidos)~%" + +#: guix/scripts/weather.scm:130 +msgid " at least ~,1h MiB of nars (compressed)~%" +msgstr " pelo menos ~,1h MiB de nars (comprimidos)~%" + +#: guix/scripts/weather.scm:132 +msgid " ~,1h MiB on disk (uncompressed)~%" +msgstr " ~,1h MiB no disco (comprimidos)~%" + +#: guix/scripts/weather.scm:134 +msgid " ~,3h seconds per request (~,1h seconds in total)~%" +msgstr " ~,3h segundos por requisição (~,1h segundos no total)~%" + +#: guix/scripts/weather.scm:136 +msgid " ~,1h requests per second~%" +msgstr " ~,1h requisições por segundo~%" + +#: guix/scripts/weather.scm:145 +msgid "" +"Usage: guix weather [OPTIONS]\n" +"Report the availability of substitutes.\n" +msgstr "" +"Uso: guix weather [OPÇÕES]\n" +"Relata a disponibilidade de substitutos.\n" + +#: guix/scripts/weather.scm:147 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" check for available substitutes at URLS" +msgstr "" +"\n" +" --substitute-urls=URLS\n" +" verifica por substitutos disponíveis nas URLS" + +#: guix/scripts/weather.scm:150 +msgid "" +"\n" +" -m, --manifest=MANIFEST\n" +" look up substitutes for packages specified in MANIFEST" +msgstr "" +"\n" +" -m, --manifest=MANIFESTO\n" +" procura substitutos para os pacotes especificados\n" +" no MANIFESTO" + +#: guix/scripts/weather.scm:153 +msgid "" +"\n" +" -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"" +msgstr "" +"\n" +" -s, --system=SISTEMA considera substitutos para SISTEMA--ex.: \"i686-linux\"" + +#: guix/scripts/weather.scm:177 +#, scheme-format +msgid "~a: invalid URL~%" +msgstr "~a: URL inválido~%" + +#: guix/gnu-maintenance.scm:567 msgid "Updater for GNU packages" msgstr "Atualizador para pacotes GNU" -#: guix/gnu-maintenance.scm:562 -msgid "Updater for GNOME packages" -msgstr "Atualizador para pacotes GNOME" +#: guix/gnu-maintenance.scm:576 +msgid "Updater for GNU packages only available via FTP" +msgstr "Atualizador para pacotes GNU só disponíveis via FTP" -#: guix/gnu-maintenance.scm:569 +#: guix/gnu-maintenance.scm:585 msgid "Updater for KDE packages" msgstr "Atualizador para pacotes KDE" -#: guix/gnu-maintenance.scm:576 +#: guix/gnu-maintenance.scm:592 msgid "Updater for X.org packages" msgstr "Atualizador para pacotes X.org" -#: guix/gnu-maintenance.scm:583 +#: guix/gnu-maintenance.scm:599 msgid "Updater for packages hosted on kernel.org" msgstr "Atualizador para pacotes hospedados no kernel.org" @@ -2331,115 +2768,145 @@ msgstr "" msgid "~a: extraneous argument~%" msgstr "~a: argumento estranho~%" -#: guix/scripts/container/exec.scm:80 +#: guix/scripts/container/exec.scm:87 #, scheme-format msgid "no pid specified~%" msgstr "nenhum pid especificado~%" -#: guix/scripts/container/exec.scm:83 +#: guix/scripts/container/exec.scm:90 #, scheme-format msgid "no command specified~%" msgstr "nenhum comando foi especificado~%" -#: guix/scripts/container/exec.scm:86 +#: guix/scripts/container/exec.scm:93 #, scheme-format msgid "no such process ~d~%" msgstr "processo inexistente ~d~%" -#: guix/scripts/container/exec.scm:94 +#: guix/scripts/container/exec.scm:105 #, scheme-format msgid "exec failed with status ~d~%" msgstr "execução falhou com status ~d~%" -#: guix/upstream.scm:212 +#: guix/upstream.scm:249 #, scheme-format msgid "signature verification failed for `~a'~%" msgstr "verificação de assinatura falhou para \"~a\"~%" -#: guix/upstream.scm:214 +#: guix/upstream.scm:251 #, 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:246 -msgid "gz" -msgstr "gz" - -#: guix/upstream.scm:293 +#: guix/upstream.scm:330 #, scheme-format msgid "~a: could not locate source file" msgstr "~a: não foi possível localizar um arquivo fonte" -#: guix/upstream.scm:298 +#: guix/upstream.scm:335 #, scheme-format msgid "~a: ~a: no `version' field in source; skipping~%" -msgstr "~a: ~a: sem o campo \"version\" no fonte; pulando~%" +msgstr "~a: ~a: sem o campo \"version\" no fonte; ignorando~%" -#: guix/ui.scm:239 +#: guix/ui.scm:159 +#, scheme-format +msgid "~a: unbound variable" +msgstr "~a: variável não vinculada" + +#: guix/ui.scm:235 msgid "entering debugger; type ',bt' for a backtrace\n" msgstr "entrando no depurador; digite \",bt\" para o \"backtrace\"\n" -#: guix/ui.scm:255 guix/ui.scm:272 +#: guix/ui.scm:284 +#, scheme-format +msgid "hint: ~a~%" +msgstr "dica: ~a~%" + +#: guix/ui.scm:294 guix/ui.scm:342 guix/ui.scm:349 #, scheme-format msgid "failed to load '~a': ~a~%" msgstr "falha ao carregar \"~a\": ~a~%" -#: guix/ui.scm:258 +#: guix/ui.scm:301 +#, scheme-format +msgid "~amissing closing parenthesis~%" +msgstr "~afaltando parêntese de fechamento~%" + +#: guix/ui.scm:306 guix/ui.scm:322 guix/ui.scm:596 #, scheme-format msgid "~a: error: ~a~%" msgstr "~a: erro: ~a~%" -#: guix/ui.scm:261 guix/ui.scm:530 +#: guix/ui.scm:314 +msgid "Did you forget a @code{use-modules} form?" +msgstr "Você se esqueceu de uma forma @code{use-modules}?" + +#: guix/ui.scm:316 +#, scheme-format +msgid "Try adding @code{(use-modules ~a)}." +msgstr "Tente adicionar @code{(use-modules ~a)}." + +#: guix/ui.scm:329 guix/ui.scm:657 #, scheme-format msgid "exception thrown: ~s~%" msgstr "excepção lançada: ~s~%" -#: guix/ui.scm:263 guix/ui.scm:281 +#: guix/ui.scm:333 guix/ui.scm:355 #, scheme-format msgid "failed to load '~a':~%" msgstr "falha ao carregar \"~a\":~%" -#: guix/ui.scm:275 +#: guix/ui.scm:345 #, scheme-format msgid "~a: warning: ~a~%" msgstr "~a: aviso: ~a~%" -#: guix/ui.scm:278 +#: guix/ui.scm:352 #, scheme-format msgid "failed to load '~a': exception thrown: ~s~%" msgstr "falha ao carregar \"~a\": exceção lançada: ~s~%" -#: guix/ui.scm:290 +#: guix/ui.scm:364 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "falha ao instalar localidade: ~a~%" -#: guix/ui.scm:309 +#. 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 +msgid "(C)" +msgstr "(C)" + +#: guix/ui.scm:395 +msgid "the Guix authors\n" +msgstr "os autores do Guix\n" + +#: guix/ui.scm:396 msgid "" -"Copyright (C) 2016 the Guix authors\n" "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" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -"Copyright (C) 2016 os autores do Guix\n" "Licença GPLv3+: GNU GPLv3 ou posterior <http://gnu.org/licenses/gpl.html>\n" -"Esse é um software livre: você é livre para modificar ou redistribuí-lo .\n" +"Esse é um software livre: você é livre para modificar ou redistribuí-lo.\n" "NÃO HÁ GARANTIA, na máxima extensão permitida pela lei.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address for this #. 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:321 +#: guix/ui.scm:408 #, scheme-format msgid "" "\n" "Report bugs to: ~a." msgstr "" "\n" -"Relate erros para: ~a." +"Relate erros para: ~a.\n" +"Relate erros de tradução para: ldpbr-translation@lists.sourceforge.net." -#: guix/ui.scm:323 +#: guix/ui.scm:410 #, scheme-format msgid "" "\n" @@ -2448,7 +2915,7 @@ msgstr "" "\n" "Site do ~a: <~a>" -#: guix/ui.scm:325 +#: guix/ui.scm:412 msgid "" "\n" "General help using GNU software: <http://www.gnu.org/gethelp/>" @@ -2456,199 +2923,231 @@ msgstr "" "\n" "Ajuda em geral usando softwares GNU: <http://www.gnu.org/gethelp/>" -#: guix/ui.scm:370 +#: guix/ui.scm:457 #, 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:376 +#: guix/ui.scm:463 #, scheme-format msgid "~a: invalid number~%" msgstr "~a: número inválido~%" -#: guix/ui.scm:393 +#: guix/ui.scm:480 #, scheme-format msgid "invalid number: ~a~%" msgstr "número inválido: ~a~%" -#: guix/ui.scm:416 +#: guix/ui.scm:503 #, scheme-format msgid "unknown unit: ~a~%" msgstr "unidade desconhecida: ~a~%" -#: guix/ui.scm:433 +#: guix/ui.scm:520 #, 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:440 +#: guix/ui.scm:527 #, 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:445 +#: guix/ui.scm:533 +#, scheme-format +msgid "~s: invalid G-expression input~%" +msgstr "~s: entrada de expressão G inválida~%" + +#: guix/ui.scm:536 #, scheme-format msgid "profile '~a' does not exist~%" msgstr "o perfil \"~a\" não existe~%" -#: guix/ui.scm:448 +#: guix/ui.scm:539 #, 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:455 +#: guix/ui.scm:548 +#, scheme-format +msgid " ... propagated from ~a@~a~%" +msgstr " ... propagado de ~a@~a~%" + +#: guix/ui.scm:553 +#, scheme-format +msgid "profile contains conflicting entries for ~a:~a~%" +msgstr "o perfil contém entradas conflitantes para ~a:~a~%" + +#: guix/ui.scm:556 +#, scheme-format +msgid " first entry: ~a@~a:~a ~a~%" +msgstr " primeira entrada: ~a@~a:~a ~a~%" + +#: guix/ui.scm:562 +#, scheme-format +msgid " second entry: ~a@~a:~a ~a~%" +msgstr " segunda entrada: ~a@~a:~a ~a~%" + +#: guix/ui.scm:573 #, scheme-format msgid "corrupt input while restoring '~a' from ~s~%" msgstr "entrada corrompida ao restaurar \"~a\" de ~s~%" -#: guix/ui.scm:457 +#: guix/ui.scm:575 #, scheme-format msgid "corrupt input while restoring archive from ~s~%" msgstr "entrada corrompida ao restaurar um pacote de ~s~%" -#: guix/ui.scm:460 +#: guix/ui.scm:578 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "falha ao conectar em \"~a\": ~a~%" -#: guix/ui.scm:465 +#: guix/ui.scm:583 #, scheme-format msgid "build failed: ~a~%" msgstr "compilação falhou: ~a~%" -#: guix/ui.scm:468 +#: guix/ui.scm:586 #, 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:472 +#: guix/ui.scm:590 #, 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:484 +#: guix/ui.scm:607 #, scheme-format msgid "~a: ~a~%" msgstr "~a: ~a~%" -#: guix/ui.scm:519 +#: guix/ui.scm:642 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "falha ao ler a expressão ~s: ~s~%" -#: guix/ui.scm:525 +#: guix/ui.scm:648 #, scheme-format msgid "failed to evaluate expression '~a':~%" msgstr "falha ao avaliar a expressão \"~a\":~%" -#: guix/ui.scm:528 +#: guix/ui.scm:651 #, scheme-format msgid "syntax error: ~a~%" msgstr "erro de sintaxe: ~a~%" -#: guix/ui.scm:542 +#: guix/ui.scm:669 #, 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:604 +#: guix/ui.scm:688 +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 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" msgstr[0] "~:[A seguinte derivação seria compilada:~%~{ ~a~%~}~;~]" msgstr[1] "~:[As seguintes derivações seriam compiladas:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:609 +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:764 +msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]" +msgstr "~:[~,1h MB seria baixado:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:769 #, 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:615 +#: guix/ui.scm:776 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" msgstr[0] "~:[A seguinte derivação será compilada:~%~{ ~a~%~}~;~]" msgstr[1] "~:[As seguintes derivações serão compiladas:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:620 +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:784 +msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" +msgstr "~:[~,1h MB será baixado:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:789 #, 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:675 +#: guix/ui.scm:849 #, 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:680 +#: guix/ui.scm:854 #, 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:693 +#: guix/ui.scm:867 #, 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:698 +#: guix/ui.scm:872 #, 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:711 +#: guix/ui.scm:885 #, 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:716 +#: guix/ui.scm:890 #, 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:727 +#: guix/ui.scm:901 #, 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:732 +#: guix/ui.scm:906 #, 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:749 +#: guix/ui.scm:923 msgid "<unknown location>" msgstr "<local desconhecido>" -#: guix/ui.scm:768 -#, scheme-format -msgid "failed to create configuration directory `~a': ~a~%" -msgstr "falha ao criar o diretório de compilação \"~a\": ~a~%" - -#: guix/ui.scm:891 guix/ui.scm:905 -msgid "unknown" -msgstr "desconhecido" - -#: guix/ui.scm:1063 +#: guix/ui.scm:1285 #, scheme-format msgid "Generation ~a\t~a" msgstr "Geração ~a\t~a" @@ -2656,28 +3155,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:1073 +#: guix/ui.scm:1295 #, scheme-format msgid "~a\t(current)~%" msgstr "~a\t(atual)~%" # geração, criação? -#: guix/ui.scm:1116 +#: guix/ui.scm:1338 #, scheme-format msgid "switched from generation ~a to ~a~%" msgstr "trocado da geração ~a para ~a~%" -#: guix/ui.scm:1132 +#: guix/ui.scm:1354 #, scheme-format msgid "deleting ~a~%" msgstr "excluindo ~a~%" -#: guix/ui.scm:1163 +#: guix/ui.scm:1385 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "Tente \"guix --help\" para mais informações.~%" -#: guix/ui.scm:1191 +#: guix/ui.scm:1413 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -2685,33 +3184,34 @@ msgstr "" "Uso: guix COMANDO ARGUMENTOS...\n" "Executa COMANDO com ARGUMENTOS.\n" -#: guix/ui.scm:1194 +#: guix/ui.scm:1416 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:1214 +#: guix/ui.scm:1436 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: comando não encontrado~%" -#: guix/ui.scm:1233 +#: guix/ui.scm:1466 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: faltando um nome de comando~%" -#: guix/ui.scm:1241 +#: guix/ui.scm:1474 #, scheme-format msgid "guix: unrecognized option '~a'~%" msgstr "guix: opção \"~a\" desconhecida~%" -#: guix/http-client.scm:270 +#: guix/http-client.scm:269 #, scheme-format msgid "following redirection to `~a'...~%" msgstr "seguindo redirecionamento para \"~a\"...~%" -#: guix/http-client.scm:279 -msgid "download failed" -msgstr "download falhou" +#: guix/http-client.scm:281 +#, scheme-format +msgid "~a: HTTP download failed: ~a (~s)" +msgstr "~a: download HTTP falhou: ~a (~s)" #: guix/nar.scm:155 msgid "signature is not a valid s-expression" @@ -2755,133 +3255,200 @@ msgstr "arquivo importado carece de uma assinatura" msgid "invalid inter-file archive mark" msgstr "marca inválida de pacote interarquivo" -#: nix/nix-daemon/guix-daemon.cc:61 +#: nix/nix-daemon/guix-daemon.cc:66 msgid "guix-daemon -- perform derivation builds and store accesses" msgstr "guix-daemon -- realiza compilações de derivação e acessos a armazenamento" -#: nix/nix-daemon/guix-daemon.cc:63 +#: nix/nix-daemon/guix-daemon.cc:68 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:87 +#: nix/nix-daemon/guix-daemon.cc:94 msgid "SYSTEM" msgstr "SISTEMA" -#: nix/nix-daemon/guix-daemon.cc:88 +#: nix/nix-daemon/guix-daemon.cc:95 msgid "assume SYSTEM as the current system type" msgstr "presume SISTEMA como o tipo de sistema atual" -#: nix/nix-daemon/guix-daemon.cc:89 nix/nix-daemon/guix-daemon.cc:92 +#: nix/nix-daemon/guix-daemon.cc:96 nix/nix-daemon/guix-daemon.cc:99 msgid "N" msgstr "N" -#: nix/nix-daemon/guix-daemon.cc:90 +#: nix/nix-daemon/guix-daemon.cc:97 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:93 +#: nix/nix-daemon/guix-daemon.cc:100 msgid "allow at most N build jobs" msgstr "permite no máximo N trabalhos de compilação" -#: nix/nix-daemon/guix-daemon.cc:95 +#: nix/nix-daemon/guix-daemon.cc:101 nix/nix-daemon/guix-daemon.cc:103 +msgid "SECONDS" +msgstr "SEGUNDOS" + +#: nix/nix-daemon/guix-daemon.cc:102 +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 +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 msgid "disable chroot builds" msgstr "desabilita compilações em chroot" -#: nix/nix-daemon/guix-daemon.cc:96 +#: nix/nix-daemon/guix-daemon.cc:107 msgid "DIR" msgstr "DIR" -#: nix/nix-daemon/guix-daemon.cc:97 +#: nix/nix-daemon/guix-daemon.cc:108 msgid "add DIR to the build chroot" msgstr "adiciona DIR ao chroot de compilação" -#: nix/nix-daemon/guix-daemon.cc:98 +#: nix/nix-daemon/guix-daemon.cc:109 msgid "GROUP" msgstr "GRUPO" -#: nix/nix-daemon/guix-daemon.cc:99 +#: nix/nix-daemon/guix-daemon.cc:110 msgid "perform builds as a user of GROUP" msgstr "realiza compilações como um usuário de GRUPO" -#: nix/nix-daemon/guix-daemon.cc:101 +#: nix/nix-daemon/guix-daemon.cc:112 msgid "do not use substitutes" msgstr "não usa substitutos" -#: nix/nix-daemon/guix-daemon.cc:102 +#: nix/nix-daemon/guix-daemon.cc:113 msgid "URLS" msgstr "URLS" -#: nix/nix-daemon/guix-daemon.cc:103 +#: nix/nix-daemon/guix-daemon.cc:114 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:105 +#: nix/nix-daemon/guix-daemon.cc:116 msgid "do not use the 'build hook'" msgstr "não usa o \"hook de compilação\"" -#: nix/nix-daemon/guix-daemon.cc:107 +#: nix/nix-daemon/guix-daemon.cc:118 msgid "cache build failures" msgstr "armazena em cache as falhas de compilação" -#: nix/nix-daemon/guix-daemon.cc:109 +#: nix/nix-daemon/guix-daemon.cc:120 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:111 +#: nix/nix-daemon/guix-daemon.cc:122 msgid "do not keep build logs" msgstr "não mantém logs de compilação" -#: nix/nix-daemon/guix-daemon.cc:113 +#: nix/nix-daemon/guix-daemon.cc:124 msgid "disable compression of the build logs" msgstr "desabilita compressão de logs de compilação" -#: nix/nix-daemon/guix-daemon.cc:118 +#: nix/nix-daemon/guix-daemon.cc:129 msgid "disable automatic file \"deduplication\" in the store" msgstr "desabilita \"deduplicação\" automática de arquivo no armazenamento" -#: nix/nix-daemon/guix-daemon.cc:128 +#: nix/nix-daemon/guix-daemon.cc:139 msgid "impersonate Linux 2.6" msgstr "personifica Linux 2.6" -#: nix/nix-daemon/guix-daemon.cc:132 +#: nix/nix-daemon/guix-daemon.cc:143 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:135 +#: nix/nix-daemon/guix-daemon.cc:146 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:138 +#: nix/nix-daemon/guix-daemon.cc:149 msgid "SOCKET" msgstr "SOQUETE" -#: nix/nix-daemon/guix-daemon.cc:139 +#: nix/nix-daemon/guix-daemon.cc:150 msgid "listen for connections on SOCKET" msgstr "ouve conexões no SOQUETE" -#: nix/nix-daemon/guix-daemon.cc:141 +#: nix/nix-daemon/guix-daemon.cc:152 msgid "produce debugging output" msgstr "produz saída de depuração" -#: nix/nix-daemon/guix-daemon.cc:201 -#, c-format -msgid "error: %s: invalid number of rounds\n" -msgstr "erro: %s: número inválido de vezes\n" +#~ msgid "deprecated NAME-VERSION syntax; use NAME@VERSION instead~%" +#~ msgstr "sintaxe NOME-VERSÃO obsoleta; em vez disso, use NOME@VERSÃO~%" + +#~ msgid "/" +#~ msgstr "/" + +#~ msgid "unrecognized option: ~a~%" +#~ msgstr "opção não reconhecida: ~a~%" + +#~ 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" + +#~ msgid "~A: unexpected argument~%" +#~ msgstr "~A: argumento inesperado~%" + +#~ msgid "failed to download up-to-date source, exiting\n" +#~ msgstr "falha ao baixar fonte atualizada; saindo\n" + +#~ msgid "substitute at '~a' lacks a signature~%" +#~ msgstr "o substituto em \"~a\" carece de uma assinatura~%" + +#~ msgid "Found valid signature for ~a~%" +#~ msgstr "Localizada assinatura válida para ~a~%" + +#~ msgid "From ~a~%" +#~ msgstr "De ~a~%" + +#~ msgid "Downloading ~a~:[~*~; (~a installed)~]...~%" +#~ msgstr "Baixando ~a~:[~*~; (~a instalado)~]...~%" -#: nix/nix-daemon/guix-daemon.cc:220 nix/nix-daemon/guix-daemon.cc:396 -#, c-format -msgid "error: %s\n" -msgstr "erro: %s\n" +#~ msgid "failed to install GRUB on device '~a'~%" +#~ msgstr "falha ao instalar GRUB no dispositivo \"~a\"~%" -#: nix/nix-daemon/guix-daemon.cc:281 -#, c-format -msgid "error: libgcrypt version mismatch\n" -msgstr "erro: versão do libgcrypt não confere\n" +#~ msgid "failed to re-install GRUB configuration file: '~a'~%" +#~ msgstr "falha ao reinstalar o arquivo de configuração do GRUB: \"~a\"~%" -#: nix/nix-daemon/guix-daemon.cc:372 -#, c-format -msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n" -msgstr "aviso: daemon está sendo executado como root, então o uso de \"--build-users-group\" é fortemente recomendado\n" +#~ msgid "assuming no CVE vulnerabilities~%" +#~ msgstr "presumindo haver nenhuma vulnerabilidade CVE~%" + +#~ msgid "failed to lookup NIST host: ~a~%" +#~ msgstr "falha ao procurar o servidor do NIST: ~a~%" + +#~ msgid "~a: no substitute at '~a'~%" +#~ msgstr "~a: nenhum substituto em \"~a\"'~%" + +#~ msgid "Updater for GNOME packages" +#~ msgstr "Atualizador para pacotes GNOME" + +#~ msgid "gz" +#~ msgstr "gz" + +#~ msgid "failed to create configuration directory `~a': ~a~%" +#~ msgstr "falha ao criar o diretório de compilação \"~a\": ~a~%" + +#~ msgid "download failed" +#~ msgstr "download falhou" + +#~ msgid "error: %s: invalid number of rounds\n" +#~ msgstr "erro: %s: número inválido de vezes\n" + +#~ msgid "error: %s\n" +#~ msgstr "erro: %s\n" + +#~ msgid "error: libgcrypt version mismatch\n" +#~ msgstr "erro: versão do libgcrypt não confere\n" + +#~ msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n" +#~ msgstr "aviso: daemon está sendo executado como root, então o uso de \"--build-users-group\" é fortemente recomendado\n" #~ msgid "unsupported argument for reference graph" #~ msgstr "sem suporte ao argumento para gráfico de referência" @@ -3295,9 +3862,6 @@ msgstr "aviso: daemon está sendo executado como root, então o uso de \"--build #~ msgid "failed to build the empty profile~%" #~ msgstr "falha ao compilar o perfil vazio~%" -#~ msgid "looking for the latest release of GNU ~a..." -#~ msgstr "procurando pelo último lançamento do GNU ~a..." - #~ msgid "~a: note: using ~a but ~a is available upstream~%" #~ msgstr "~a: nota: usando ~a, mas ~a está disponível no upstream~%" diff --git a/po/packages/LINGUAS b/po/packages/LINGUAS index ff6709ba4d..89d32381e8 100644 --- a/po/packages/LINGUAS +++ b/po/packages/LINGUAS @@ -11,3 +11,4 @@ pl pt_BR sr vi +zh_CN diff --git a/po/packages/zh_CN.po b/po/packages/zh_CN.po new file mode 100644 index 0000000000..82370ad795 --- /dev/null +++ b/po/packages/zh_CN.po @@ -0,0 +1,19383 @@ +# Simplified Chinese translation for guix-packages. +# Copyright (C) 2018 Ludovic Courtès +# This file is distributed under the same license as the guix package. +# Boyuan Yang <073plan@gmail.com>, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: guix-packages 0.14.0\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2017-11-28 08:56+0100\n" +"PO-Revision-Date: 2018-03-05 00:15+0800\n" +"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" +"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" +"Language: zh_CN\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" + +#: gnu/packages/abiword.scm:114 +msgid "Word processing program" +msgstr "文字处理程序" + +#. TRANSLATORS: Dear translator, We would like to inform you that package +#. descriptions may occasionally include Texinfo markup. Texinfo markup +#. looks like "@code{rm -rf}", "@emph{important}", etc. When translating, +#. please leave markup as is. +#: gnu/packages/abiword.scm:123 +msgid "" +"AbiWord is a word processing program. It is rapidly\n" +"becoming a state of the art word processor, with lots of features useful for\n" +"your daily work, personal needs, or for just some good old typing fun." +msgstr "" +"AbiWord 是一款文字处理程序。 它正迅速成为最先进的文字处理软件,\n" +"所提供的诸多功能既能应对日常工作,也可满足个人需求。" + +#: gnu/packages/aspell.scm:70 gnu/packages/libreoffice.scm:715 +msgid "Spell checker" +msgstr "拼写检查器" + +#: gnu/packages/aspell.scm:72 +msgid "" +"Aspell is a spell-checker which can be used either as a library or as\n" +"a standalone program. Notable features of Aspell include its full support of\n" +"documents written in the UTF-8 encoding and its ability to use multiple\n" +"dictionaries, including personal ones." +msgstr "" +"Aspell 是一款拼写检查器,它既可作为库使用,也可作为独立程序运行。 其重要\n" +"功能包括对 UTF-8 编写的文档的完整支持以及对多个词典,包括自定义词典在内的支持。" + +#: gnu/packages/aspell.scm:114 +msgid "This package provides a dictionary for the GNU Aspell spell checker." +msgstr "" + +#: gnu/packages/aspell.scm:285 gnu/packages/libreoffice.scm:765 +msgid "" +"This package provides a dictionary for the Hunspell spell-checking\n" +"library." +msgstr "" + +#: gnu/packages/aspell.scm:303 +msgid "Hunspell dictionary for English" +msgstr "英语的 Hunspell 词典" + +#: gnu/packages/aspell.scm:307 +msgid "Hunspell dictionary for Australian English" +msgstr "澳大利亚英语的 Hunspell 词典" + +#: gnu/packages/aspell.scm:311 +msgid "Hunspell dictionary for Canadian English" +msgstr "" + +#: gnu/packages/aspell.scm:315 +msgid "Hunspell dictionary for British English, with -ise endings" +msgstr "" + +#: gnu/packages/aspell.scm:319 +msgid "Hunspell dictionary for British English, with -ize endings" +msgstr "" + +#: gnu/packages/aspell.scm:323 +msgid "Hunspell dictionary for United States English" +msgstr "" + +#: gnu/packages/audio.scm:128 +msgid "Realtime modular synthesizer and effect processor" +msgstr "" + +#: gnu/packages/audio.scm:130 +msgid "" +"AlsaModularSynth is a digital implementation of a classical analog\n" +"modular synthesizer system. It uses virtual control voltages to control the\n" +"parameters of the modules. The control voltages which control the frequency\n" +"e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled\n" +"Filter) modules follow the convention of 1V / Octave." +msgstr "" + +#: gnu/packages/audio.scm:167 +msgid "Library for audio labelling" +msgstr "" + +#: gnu/packages/audio.scm:169 +msgid "" +"aubio is a tool designed for the extraction of annotations from audio\n" +"signals. Its features include segmenting a sound file before each of its\n" +"attacks, performing pitch detection, tapping the beat and producing MIDI\n" +"streams from live audio." +msgstr "" + +#: gnu/packages/audio.scm:270 +msgid "Digital audio workstation" +msgstr "" + +#: gnu/packages/audio.scm:272 +msgid "" +"Ardour is a multi-channel digital audio workstation, allowing users to\n" +"record, edit, mix and master audio and MIDI projects. It is targeted at audio\n" +"engineers, musicians, soundtrack editors and composers." +msgstr "" + +#: gnu/packages/audio.scm:407 +msgid "Software for recording and editing sounds" +msgstr "" + +#: gnu/packages/audio.scm:409 +msgid "" +"Audacity is a multi-track audio editor designed for recording, playing\n" +"and editing digital audio. It features digital effects and spectrum analysis\n" +"tools." +msgstr "" + +#: gnu/packages/audio.scm:444 +msgid "Tonewheel organ synthesizer" +msgstr "" + +#: gnu/packages/audio.scm:446 +msgid "" +"AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ\n" +"with drawbars, distortion and rotating speakers. The organ has three\n" +"sections, two polyphonic sections with nine drawbars each and one monophonic\n" +"bass section with five drawbars. A standalone JACK application and LV2\n" +"plugins are provided." +msgstr "" + +#: gnu/packages/audio.scm:483 +msgid "Audio plug-in pack for LV2 and JACK environments" +msgstr "" + +#: gnu/packages/audio.scm:485 +msgid "" +"Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.\n" +"The suite contains lots of effects (delay, modulation, signal processing,\n" +"filters, equalizers, dynamics, distortion and mastering effects),\n" +"instruments (SF2 player, organ simulator and a monophonic synthesizer) and\n" +"tools (analyzer, mono/stereo tools, crossovers)." +msgstr "" + +#: gnu/packages/audio.scm:537 +msgid "Software speech synthesizer" +msgstr "" + +#: gnu/packages/audio.scm:538 +msgid "" +"eSpeak is a software speech synthesizer for English and\n" +"other languages. eSpeak uses a \"formant synthesis\" method. This allows many\n" +"languages to be provided in a small size. The speech is clear, and can be used\n" +"at high speeds, but is not as natural or smooth as larger synthesizers which are\n" +"based on human speech recordings." +msgstr "" + +#: gnu/packages/audio.scm:585 +msgid "LV2 plugins for live use" +msgstr "" + +#: gnu/packages/audio.scm:587 +msgid "" +"The infamous plugins are a collection of LV2 audio plugins for live\n" +"performances. The plugins include a cellular automaton synthesizer, an\n" +"envelope follower, distortion effects, tape effects and more." +msgstr "" + +#: gnu/packages/audio.scm:628 +msgid "SWH plugins in LV2 format" +msgstr "" + +#: gnu/packages/audio.scm:630 +msgid "" +"Swh-plugins-lv2 is a collection of audio plugins in LV2 format. Plugin\n" +"classes include: dynamics (compressor, limiter), time (delay, chorus,\n" +"flanger), ringmodulator, distortion, filters, pitchshift, oscillators,\n" +"emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc." +msgstr "" + +#: gnu/packages/audio.scm:664 +msgid "Sound and music computing system" +msgstr "" + +#: gnu/packages/audio.scm:666 +msgid "" +"Csound is a user-programmable and user-extensible sound processing\n" +"language and software synthesizer." +msgstr "" + +#: gnu/packages/audio.scm:707 gnu/packages/audio.scm:2808 +msgid "C++ wrapper around the ALSA API" +msgstr "" + +#: gnu/packages/audio.scm:709 +msgid "" +"clalsadrv is a C++ wrapper around the ALSA API simplifying access to\n" +"ALSA PCM devices." +msgstr "" + +#: gnu/packages/audio.scm:746 +msgid "LADSPA ambisonics plugins" +msgstr "" + +#: gnu/packages/audio.scm:748 +msgid "" +"The AMB plugins are a set of LADSPA ambisonics plugins, mainly to be\n" +"used within Ardour. Features include: mono and stereo to B-format panning,\n" +"horizontal rotator, square, hexagon and cube decoders." +msgstr "" + +#: gnu/packages/audio.scm:783 +msgid "Chorus, phaser, and vintage high-pass and low-pass filters" +msgstr "" + +#: gnu/packages/audio.scm:785 +msgid "" +"This package provides various LADSPA plugins. @code{cs_chorus} and\n" +"@code{cs_phaser} provide chorus and phaser effects, respectively;\n" +"@code{mvclpf24} provides four implementations of the low-pass filter used in\n" +"vintage Moog synthesizers; @code{mvchpf24} is based on the voltage-controlled\n" +"high-pass filter by Robert Moog. The filters attempt to accurately emulate\n" +"the non-linear circuit elements of their original analog counterparts." +msgstr "" + +#: gnu/packages/audio.scm:823 +msgid "LADSPA reverb plugin" +msgstr "" + +#: gnu/packages/audio.scm:825 +msgid "" +"This package provides a stereo reverb LADSPA plugin based on the\n" +"well-known greverb." +msgstr "" + +#: gnu/packages/audio.scm:859 +msgid "LADSPA four-band parametric equalizer plugin" +msgstr "" + +#: gnu/packages/audio.scm:861 +msgid "" +"This package provides a LADSPA plugin for a four-band parametric\n" +"equalizer. Each section has an active/bypass switch, frequency, bandwidth and\n" +"gain controls. There is also a global bypass switch and gain control.\n" +"\n" +"The 2nd order resonant filters are implemented using a Mitra-Regalia style\n" +"lattice filter, which is stable even while parameters are being changed.\n" +"\n" +"All switches and controls are internally smoothed, so they can be used 'live'\n" +"without any clicks or zipper noises. This makes this plugin suitable for use\n" +"in systems that allow automation of plugin control ports, such as Ardour, or\n" +"for stage use." +msgstr "" + +#: gnu/packages/audio.scm:904 +msgid "LADSPA stereo width plugin" +msgstr "" + +#: gnu/packages/audio.scm:906 +msgid "" +"This package provides a LADSPA plugin to manipulate the stereo width of\n" +"audio signals." +msgstr "" + +#: gnu/packages/audio.scm:941 +msgid "LADSPA plugin for synthesizer oscillators" +msgstr "" + +#: gnu/packages/audio.scm:943 +msgid "" +"The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:\n" +"\n" +"@enumerate\n" +"@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum\n" +"@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum\n" +"@item Rec-VCO, a square / rectange oscillator\n" +"@end enumerate\n" +"\n" +"\n" +"All oscillators are low-pass filtered to provide waveforms similar to the\n" +"output of analog synthesizers such as the Moog Voyager." +msgstr "" + +#: gnu/packages/audio.scm:985 +msgid "LADSPA Autowah effect plugin" +msgstr "" + +#: gnu/packages/audio.scm:987 +msgid "" +"This package provides a LADSPA plugin for a Wah effect with envelope\n" +"follower." +msgstr "" + +#: gnu/packages/audio.scm:1021 +msgid "LADSPA stereo reverb plugin" +msgstr "" + +#: gnu/packages/audio.scm:1023 +msgid "This package provides a LADSPA plugin for a stereo reverb effect." +msgstr "" + +#: gnu/packages/audio.scm:1061 +msgid "SoundFont synthesizer" +msgstr "" + +#: gnu/packages/audio.scm:1063 +msgid "" +"FluidSynth is a real-time software synthesizer based on the SoundFont 2\n" +"specifications. FluidSynth reads and handles MIDI events from the MIDI input\n" +"device. It is the software analogue of a MIDI synthesizer. FluidSynth can\n" +"also play midifiles using a Soundfont." +msgstr "" + +#: gnu/packages/audio.scm:1094 +msgid "MPEG-4 and MPEG-2 AAC decoder" +msgstr "" + +#: gnu/packages/audio.scm:1096 +msgid "" +"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,\n" +"PS, and DAB+." +msgstr "" + +#: gnu/packages/audio.scm:1125 +msgid "Signal processing language" +msgstr "信号处理语言" + +#: gnu/packages/audio.scm:1127 +msgid "Faust is a programming language for realtime audio signal processing." +msgstr "" + +#: gnu/packages/audio.scm:1207 +msgid "GUS compatible patches for MIDI players" +msgstr "" + +#: gnu/packages/audio.scm:1209 +msgid "" +"FreePats is a project to create a free and open set of GUS compatible\n" +"patches that can be used with softsynths such as Timidity and WildMidi." +msgstr "" + +#: gnu/packages/audio.scm:1261 +msgid "Virtual guitar amplifier" +msgstr "" + +#: gnu/packages/audio.scm:1262 +msgid "" +"Guitarix is a virtual guitar amplifier running JACK.\n" +"Guitarix takes the signal from your guitar as a mono-signal from your sound\n" +"card. The input is processed by a main amp and a rack-section. Both can be\n" +"routed separately and deliver a processed stereo-signal via JACK. You may\n" +"fill the rack with effects from more than 25 built-in modules including stuff\n" +"from a simple noise gate to modulation effects like flanger, phaser or\n" +"auto-wah." +msgstr "" + +#: gnu/packages/audio.scm:1316 +msgid "Audio effects processor" +msgstr "" + +#: gnu/packages/audio.scm:1318 +msgid "" +"Rakarrack is a richly featured multi-effects processor emulating a\n" +"guitar effects pedalboard. Effects include compressor, expander, noise gate,\n" +"equalizers, exciter, flangers, chorus, various delay and reverb effects,\n" +"distortion modules and many more. Most of the effects engine is built from\n" +"modules found in the excellent software synthesizer ZynAddSubFX. Presets and\n" +"user interface are optimized for guitar, but Rakarrack processes signals in\n" +"stereo while it does not apply internal band-limiting filtering, and thus is\n" +"well suited to all musical instruments and vocals." +msgstr "" + +#: gnu/packages/audio.scm:1369 +msgid "LV2 convolution reverb" +msgstr "" + +#: gnu/packages/audio.scm:1371 +msgid "" +"IR is a low-latency, real-time, high performance signal convolver\n" +"especially for creating reverb effects. It supports impulse responses with 1,\n" +"2 or 4 channels, in any soundfile format supported by libsndfile." +msgstr "" + +#: gnu/packages/audio.scm:1401 +msgid "JACK audio connection kit" +msgstr "" + +#: gnu/packages/audio.scm:1403 +msgid "" +"JACK is a low-latency audio server. It can connect a number of\n" +"different applications to an audio device, as well as allowing them to share\n" +"audio between themselves. JACK is different from other audio server efforts\n" +"in that it has been designed from the ground up to be suitable for\n" +"professional audio work. This means that it focuses on two key areas:\n" +"synchronous execution of all clients, and low latency operation." +msgstr "" + +#: gnu/packages/audio.scm:1509 +msgid "Simple LV2 host for JACK" +msgstr "" + +#: gnu/packages/audio.scm:1511 +msgid "" +"Jalv is a simple but fully featured LV2 host for JACK. It runs LV2\n" +"plugins and exposes their ports as JACK ports, essentially making any LV2\n" +"plugin function as a JACK application." +msgstr "" + +#: gnu/packages/audio.scm:1554 +msgid "Linux Audio Developer's Simple Plugin API (LADSPA)" +msgstr "" + +#: gnu/packages/audio.scm:1556 +msgid "" +"LADSPA is a standard that allows software audio processors and effects\n" +"to be plugged into a wide range of audio synthesis and recording packages." +msgstr "" + +#: gnu/packages/audio.scm:1602 +msgid "Audio application session manager" +msgstr "" + +#: gnu/packages/audio.scm:1604 +msgid "" +"LASH is a session management system for audio applications. It allows\n" +"you to save and restore audio sessions consisting of multiple interconneced\n" +"applications, restoring program state (i.e. loaded patches) and the\n" +"connections between them." +msgstr "" + +#: gnu/packages/audio.scm:1625 +msgid "Bauer stereophonic-to-binaural DSP" +msgstr "" + +#: gnu/packages/audio.scm:1627 +msgid "" +"The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is\n" +"designed to improve headphone listening of stereo audio records. Recommended\n" +"for headphone prolonged listening to disable superstereo fatigue without\n" +"essential distortions." +msgstr "" + +#: gnu/packages/audio.scm:1650 +msgid "Implementation of the Open Sound Control protocol" +msgstr "" + +#: gnu/packages/audio.scm:1652 +msgid "" +"liblo is a lightweight library that provides an easy to use\n" +"implementation of the Open Sound Control (OSC) protocol." +msgstr "" + +#: gnu/packages/audio.scm:1674 +msgid "Python bindings for liblo" +msgstr "liblo 的 Python 绑定" + +#: gnu/packages/audio.scm:1676 +msgid "" +"Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC)\n" +"library. It supports almost the complete functionality of liblo, allowing you\n" +"to send and receive OSC messages using a nice and simple Python API. Also\n" +"included are the command line utilities @code{send_osc} and @code{dump_osc}." +msgstr "" + +#: gnu/packages/audio.scm:1717 +msgid "Library to simplify use of LV2 plugins in applications" +msgstr "" + +#: gnu/packages/audio.scm:1719 +msgid "" +"Lilv is a C library to make the use of LV2 plugins as simple as possible\n" +"for applications. Lilv is the successor to SLV2, rewritten to be\n" +"significantly faster and have minimal dependencies." +msgstr "" + +#: gnu/packages/audio.scm:1745 +msgid "LV2 audio plugin specification" +msgstr "" + +#: gnu/packages/audio.scm:1747 +msgid "" +"LV2 is an open specification for audio plugins and host applications.\n" +"At its core, LV2 is a simple stable interface, accompanied by extensions which\n" +"add functionality to support the needs of increasingly powerful audio\n" +"software." +msgstr "" + +#: gnu/packages/audio.scm:1797 +msgid "LV2 port of the mda Piano plugin" +msgstr "" + +#: gnu/packages/audio.scm:1798 +msgid "An LV2 port of the mda Piano VSTi." +msgstr "" + +#: gnu/packages/audio.scm:1811 +msgid "LV2 port of the mda EPiano plugin" +msgstr "" + +#: gnu/packages/audio.scm:1812 +msgid "An LV2 port of the mda EPiano VSTi." +msgstr "" + +#: gnu/packages/audio.scm:1857 +msgid "C++ libraries for LV2 plugins" +msgstr "LV2 插件的 C++ 库" + +#: gnu/packages/audio.scm:1859 +msgid "" +"The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and\n" +"extensions into easy to use C++ classes. It is the successor of\n" +"lv2-c++-tools." +msgstr "" + +#: gnu/packages/audio.scm:1900 +msgid "3D audio API" +msgstr "3D 音频 API" + +#: gnu/packages/audio.scm:1902 +msgid "" +"OpenAL provides capabilities for playing audio in a virtual 3D\n" +"environment. Distance attenuation, doppler shift, and directional sound\n" +"emitters are among the features handled by the API. More advanced effects,\n" +"including air absorption, occlusion, and environmental reverb, are available\n" +"through the EFX extension. It also facilitates streaming audio, multi-channel\n" +"buffers, and audio capture." +msgstr "" + +#: gnu/packages/audio.scm:1932 +msgid "Free implementation of OpenAL's ALUT standard" +msgstr "" + +#: gnu/packages/audio.scm:1933 +msgid "freealut is the OpenAL Utility Toolkit." +msgstr "" + +#: gnu/packages/audio.scm:1962 +msgid "Modular patch bay for audio and MIDI systems" +msgstr "" + +#: gnu/packages/audio.scm:1964 +msgid "" +"Patchage is a modular patch bay for audio and MIDI systems based on JACK\n" +"and ALSA." +msgstr "" + +#: gnu/packages/audio.scm:1990 +msgid "Jack server control application" +msgstr "" + +#: gnu/packages/audio.scm:1991 +msgid "" +"Control a Jack server. Allows you to plug various sources\n" +"into various outputs and to start, stop and configure jackd" +msgstr "" + +#: gnu/packages/audio.scm:2017 +msgid "Real-time audio utility library" +msgstr "" + +#: gnu/packages/audio.scm:2019 +msgid "" +"Raul (Real-time Audio Utility Library) is a C++ utility library primarily\n" +"aimed at audio/musical applications." +msgstr "" + +#: gnu/packages/audio.scm:2062 +msgid "Audio time-stretching and pitch-shifting library" +msgstr "" + +#: gnu/packages/audio.scm:2064 +msgid "" +"Rubber Band is a library and utility program that permits changing the\n" +"tempo and pitch of an audio recording independently of one another." +msgstr "" + +#: gnu/packages/audio.scm:2112 +msgid "Cross-platform MIDI library for C++" +msgstr "" + +#: gnu/packages/audio.scm:2114 +msgid "" +"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific\n" +"classes) that provide a common cross-platform API for realtime MIDI\n" +"input/output." +msgstr "" + +#: gnu/packages/audio.scm:2139 +msgid "Library for serialising LV2 atoms to/from RDF" +msgstr "" + +#: gnu/packages/audio.scm:2141 +msgid "" +"Sratom is a library for serialising LV2 atoms to/from RDF, particularly\n" +"the Turtle syntax." +msgstr "" + +#: gnu/packages/audio.scm:2169 +msgid "Library for loading and wrapping LV2 plugin UIs" +msgstr "" + +#: gnu/packages/audio.scm:2171 +msgid "" +"Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.\n" +"\n" +"Suil makes it possible to load a UI of a toolkit in a host using another\n" +"toolkit. The API is designed such that hosts do not need to explicitly\n" +"support specific toolkits – if Suil supports a particular toolkit, then UIs in\n" +"that toolkit will work in all hosts that use Suil automatically.\n" +"\n" +"Suil currently supports every combination of Gtk, Qt, and X11." +msgstr "" + +#: gnu/packages/audio.scm:2228 +msgid "Software synthesizer for playing MIDI files" +msgstr "" + +#: gnu/packages/audio.scm:2230 +msgid "" +"TiMidity++ is a software synthesizer. It can play MIDI files by\n" +"converting them into PCM waveform data; give it a MIDI data along with digital\n" +"instrument data files, then it synthesizes them in real-time, and plays. It\n" +"can not only play sounds, but also can save the generated waveforms into hard\n" +"disks as various audio file formats." +msgstr "" + +#: gnu/packages/audio.scm:2268 +msgid "Modular and extensible audio processing system" +msgstr "" + +#: gnu/packages/audio.scm:2270 +msgid "" +"Vamp is an audio processing plugin system for plugins that extract\n" +"descriptive information from audio data — typically referred to as audio\n" +"analysis plugins or audio feature extraction plugins." +msgstr "" + +#: gnu/packages/audio.scm:2309 +msgid "Library for time stretching and pitch scaling of audio" +msgstr "" + +#: gnu/packages/audio.scm:2311 +msgid "" +"SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time\n" +"stretching and pitch scaling of audio. This package contains the library." +msgstr "" + +#: gnu/packages/audio.scm:2330 +msgid "Hybrid lossless audio codec" +msgstr "" + +#: gnu/packages/audio.scm:2332 +msgid "" +"WavPack is an audio compression format with lossless, lossy and hybrid\n" +"compression modes. This package contains command-line programs and library to\n" +"encode and decode wavpack files." +msgstr "" + +#: gnu/packages/audio.scm:2351 +msgid "Mod file playing library" +msgstr "" + +#: gnu/packages/audio.scm:2353 +msgid "" +"Libmodplug renders mod music files as raw audio data, for playing or\n" +"conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are\n" +"supported. Optional features include high-quality resampling, bass expansion,\n" +"surround and reverb." +msgstr "" + +#: gnu/packages/audio.scm:2372 +msgid "Module player library" +msgstr "" + +#: gnu/packages/audio.scm:2374 +msgid "" +"Libxmp is a library that renders module files to PCM data. It supports\n" +"over 90 mainstream and obscure module formats including Protracker (MOD),\n" +"Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT)." +msgstr "" + +#: gnu/packages/audio.scm:2397 +msgid "Extended module player" +msgstr "" + +#: gnu/packages/audio.scm:2399 +msgid "" +"Xmp is a portable module player that plays over 90 mainstream and\n" +"obscure module formats, including Protracker MOD, Fasttracker II XM, Scream\n" +"Tracker 3 S3M and Impulse Tracker IT files." +msgstr "" + +#: gnu/packages/audio.scm:2430 +msgid "Audio processing library for changing tempo, pitch and playback rate" +msgstr "" + +#: gnu/packages/audio.scm:2432 +msgid "" +"SoundTouch is an audio processing library for changing the tempo, pitch\n" +"and playback rates of audio streams or audio files. It is intended for\n" +"application developers writing sound processing tools that require tempo/pitch\n" +"control functionality, or just for playing around with the sound effects." +msgstr "" + +#: gnu/packages/audio.scm:2469 +msgid "Sound processing utility" +msgstr "声音处理实用工具" + +#: gnu/packages/audio.scm:2471 +msgid "" +"SoX (Sound eXchange) is a command line utility that can convert\n" +"various formats of computer audio files to other formats. It can also\n" +"apply various effects to these sound files, and, as an added bonus, SoX\n" +"can play and record audio files." +msgstr "" + +#: gnu/packages/audio.scm:2494 +msgid "One-dimensional sample-rate conversion library" +msgstr "" + +#: gnu/packages/audio.scm:2496 +msgid "" +"The SoX Resampler library (libsoxr) performs one-dimensional sample-rate\n" +"conversion. It may be used, for example, to resample PCM-encoded audio." +msgstr "" + +#: gnu/packages/audio.scm:2526 +msgid "MPEG Audio Layer 2 (MP2) encoder" +msgstr "" + +#: gnu/packages/audio.scm:2528 +msgid "" +"TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on\n" +"tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and\n" +"portions of LAME." +msgstr "" + +#: gnu/packages/audio.scm:2567 +msgid "Audio I/O library" +msgstr "" + +#: gnu/packages/audio.scm:2569 +msgid "" +"PortAudio is a portable C/C++ audio I/O library providing a simple API\n" +"to record and/or play sound using a callback function or a blocking read/write\n" +"interface." +msgstr "" + +#: gnu/packages/audio.scm:2599 +msgid "Graphical user interface for FluidSynth" +msgstr "" + +#: gnu/packages/audio.scm:2601 +msgid "" +"Qsynth is a GUI front-end application for the FluidSynth SoundFont\n" +"synthesizer written in C++." +msgstr "" + +#: gnu/packages/audio.scm:2638 +msgid "Networked audio system" +msgstr "" + +#: gnu/packages/audio.scm:2640 +msgid "" +"RSound allows you to send audio from an application and transfer it\n" +"directly to a different computer on your LAN network. It is an audio daemon\n" +"with a much different focus than most other audio daemons." +msgstr "" + +#: gnu/packages/audio.scm:2671 +msgid "JACK audio frequency analyzer and display" +msgstr "" + +#: gnu/packages/audio.scm:2673 +msgid "" +"XJackFreak is an audio analysis and equalizing tool for the Jack Audio\n" +"Connection Kit. It can display the FFT of any input, modify it and output the\n" +"result." +msgstr "" + +#: gnu/packages/audio.scm:2717 +msgid "Fast, partitioned convolution engine library" +msgstr "" + +#: gnu/packages/audio.scm:2719 +msgid "" +"Zita convolver is a C++ library providing a real-time convolution\n" +"engine." +msgstr "" + +#: gnu/packages/audio.scm:2764 +msgid "C++ library for resampling audio signals" +msgstr "" + +#: gnu/packages/audio.scm:2766 +msgid "" +"Libzita-resampler is a C++ library for resampling audio signals. It is\n" +"designed to be used within a real-time processing context, to be fast, and to\n" +"provide high-quality sample rate conversion." +msgstr "" + +#: gnu/packages/audio.scm:2810 +msgid "" +"Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy\n" +"access to ALSA PCM devices, taking care of the many functions required to\n" +"open, initialise and use a hw: device in mmap mode, and providing floating\n" +"point audio data." +msgstr "" + +#: gnu/packages/audio.scm:2841 +msgid "Cue and toc file parsers and utilities" +msgstr "" + +#: gnu/packages/audio.scm:2842 +msgid "" +"Cuetools is a set of programs that are useful for manipulating\n" +"and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC\n" +"files are a way to represent the layout of a data or audio CD in a\n" +"machine-readable ASCII format." +msgstr "" + +#: gnu/packages/audio.scm:2861 +msgid "WAVE audio data processing tool" +msgstr "WAVE 音频数据处理工具" + +#: gnu/packages/audio.scm:2862 +msgid "" +"shntool is a multi-purpose WAVE data processing and reporting\n" +"utility. File formats are abstracted from its core, so it can process any file\n" +"that contains WAVE data, compressed or not---provided there exists a format\n" +"module to handle that particular file type. It can also generate CUE files, and\n" +"use them split WAVE data into multiple files." +msgstr "" + +#: gnu/packages/audio.scm:2900 +msgid "DTS Coherent Acoustics decoder" +msgstr "" + +#: gnu/packages/audio.scm:2901 +msgid "" +"Dcadec is a DTS Coherent Acoustics surround sound decoder\n" +"with support for HD extensions." +msgstr "" + +#: gnu/packages/audio.scm:2922 +msgid "Tool to adjust loudness of media files" +msgstr "" + +#: gnu/packages/audio.scm:2924 +msgid "" +"BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its\n" +"flavors EBU R128, ATSC A/85, and ReplayGain 2.0. It helps normalizing the\n" +"loudness of audio and video files to the same level." +msgstr "" + +#: gnu/packages/audio.scm:2955 +msgid "Lightweight audio filtering library" +msgstr "" + +#: gnu/packages/audio.scm:2956 +msgid "" +"An easy to use audio filtering library made from webrtc\n" +"code, used in @code{libtoxcore}." +msgstr "" + +#: gnu/packages/audio.scm:3000 +msgid "GSM 06.10 lossy speech compression library" +msgstr "" + +#: gnu/packages/audio.scm:3001 +msgid "" +"This C library provides an encoder and a decoder for the GSM\n" +"06.10 RPE-LTP lossy speech compression algorithm." +msgstr "" + +#: gnu/packages/audio.scm:3022 +msgid "ALSA wrappers for Python" +msgstr "" + +#: gnu/packages/audio.scm:3024 +msgid "" +"This package contains wrappers for accessing the ALSA API from Python.\n" +"It is currently fairly complete for PCM devices, and has some support for\n" +"mixers." +msgstr "" + +#: gnu/packages/audio.scm:3083 +msgid "Sound editor" +msgstr "" + +#: gnu/packages/audio.scm:3086 +msgid "" +"Snd is a sound editor modelled loosely after Emacs. It can be\n" +"customized and extended using either the s7 Scheme implementation (included in\n" +"the Snd sources), Ruby, or Forth." +msgstr "" + +#: gnu/packages/backup.scm:112 +msgid "Encrypted backup using rsync algorithm" +msgstr "" + +#: gnu/packages/backup.scm:114 +msgid "" +"Duplicity backs up directories by producing encrypted tar-format volumes\n" +"and uploading them to a remote or local file server. Because duplicity uses\n" +"librsync, the incremental archives are space efficient and only record the\n" +"parts of files that have changed since the last backup. Because duplicity\n" +"uses GnuPG to encrypt and/or sign these archives, they will be safe from\n" +"spying and/or modification by the server." +msgstr "" + +#: gnu/packages/backup.scm:143 +msgid "File verification and repair tools" +msgstr "" + +#: gnu/packages/backup.scm:144 +msgid "" +"Par2cmdline uses Reed-Solomon error-correcting codes to\n" +"generate and verify PAR2 recovery files. These files can be distributed\n" +"alongside the source files or stored together with back-ups to protect against\n" +"transmission errors or @dfn{bit rot}, the degradation of storage media over\n" +"time.\n" +"Unlike a simple checksum, PAR2 doesn't merely detect errors: as long as the\n" +"damage isn't too extensive (and smaller than the size of the recovery file), it\n" +"can even repair them." +msgstr "" + +#: gnu/packages/backup.scm:180 +msgid "Simple incremental backup tool" +msgstr "" + +#: gnu/packages/backup.scm:182 +msgid "" +"Hdup2 is a backup utility, its aim is to make backup really simple. The\n" +"backup scheduling is done by means of a cron job. It supports an\n" +"include/exclude mechanism, remote backups, encrypted backups and split\n" +"backups (called chunks) to allow easy burning to CD/DVD." +msgstr "" + +#: gnu/packages/backup.scm:236 +msgid "Multi-format archive and compression library" +msgstr "" + +#: gnu/packages/backup.scm:238 +msgid "" +"Libarchive provides a flexible interface for reading and writing\n" +"archives in various formats such as tar and cpio. Libarchive also supports\n" +"reading and writing archives compressed using various compression filters such\n" +"as gzip and bzip2. The library is inherently stream-oriented; readers\n" +"serially iterate through the archive, writers serially add things to the\n" +"archive. In particular, note that there is currently no built-in support for\n" +"random access nor for in-place modification." +msgstr "" + +#: gnu/packages/backup.scm:315 +msgid "Provide a list of files to backup" +msgstr "" + +#: gnu/packages/backup.scm:317 +msgid "" +"Rdup is a utility inspired by rsync and the plan9 way of doing backups.\n" +"Rdup itself does not backup anything, it only print a list of absolute\n" +"file names to standard output. Auxiliary scripts are needed that act on this\n" +"list and implement the backup strategy." +msgstr "" + +#: gnu/packages/backup.scm:347 +msgid "Tar-compatible archiver" +msgstr "Tar-兼容的归档工具" + +#: gnu/packages/backup.scm:349 +msgid "" +"Btar is a tar-compatible archiver which allows arbitrary compression and\n" +"ciphering, redundancy, differential backup, indexed extraction, multicore\n" +"compression, input and output serialisation, and tolerance to partial archive\n" +"errors." +msgstr "" + +#: gnu/packages/backup.scm:375 +msgid "Local/remote mirroring+incremental backup" +msgstr "" + +#: gnu/packages/backup.scm:377 +msgid "" +"Rdiff-backup backs up one directory to another, possibly over a network.\n" +"The target directory ends up a copy of the source directory, but extra reverse\n" +"diffs are stored in a special subdirectory of that target directory, so you\n" +"can still recover files lost some time ago. The idea is to combine the best\n" +"features of a mirror and an incremental backup. Rdiff-backup also preserves\n" +"subdirectories, hard links, dev files, permissions, uid/gid ownership,\n" +"modification times, extended attributes, acls, and resource forks. Also,\n" +"rdiff-backup can operate in a bandwidth efficient manner over a pipe, like\n" +"rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up\n" +"to a remote location, and only the differences will be transmitted. Finally,\n" +"rdiff-backup is easy to use and settings have sensible defaults." +msgstr "" + +#: gnu/packages/backup.scm:419 +msgid "Deduplicating snapshot backup utility based on rsync" +msgstr "" + +#: gnu/packages/backup.scm:420 +msgid "" +"rsnapshot is a filesystem snapshot utility based on rsync.\n" +"rsnapshot makes it easy to make periodic snapshots of local machines, and\n" +"remote machines over SSH. To reduce the disk space required for each backup,\n" +"rsnapshot uses hard links to deduplicate identical files." +msgstr "" + +#: gnu/packages/backup.scm:455 +msgid "Tools & library for data backup and distributed storage" +msgstr "" + +#: gnu/packages/backup.scm:457 +msgid "" +"Libchop is a set of utilities and library for data backup and\n" +"distributed storage. Its main application is @command{chop-backup}, an\n" +"encrypted backup program that supports data integrity checks, versioning,\n" +"distribution among several sites, selective sharing of stored data, adaptive\n" +"compression, and more. The library itself implements storage techniques such\n" +"as content-addressable storage, content hash keys, Merkle trees, similarity\n" +"detection, and lossless compression." +msgstr "" + +#: gnu/packages/backup.scm:556 +msgid "Deduplicated, encrypted, authenticated and compressed backups" +msgstr "" + +#: gnu/packages/backup.scm:557 +msgid "" +"Borg is a deduplicating backup program. Optionally, it\n" +"supports compression and authenticated encryption. The main goal of Borg is to\n" +"provide an efficient and secure way to backup data. The data deduplication\n" +"technique used makes Borg suitable for daily backups since only changes are\n" +"stored. The authenticated encryption technique makes it suitable for backups\n" +"to not fully trusted targets. Borg is a fork of Attic." +msgstr "" + +#: gnu/packages/backup.scm:603 +msgid "Deduplicating backup program" +msgstr "" + +#: gnu/packages/backup.scm:604 +msgid "" +"Attic is a deduplicating backup program. The main goal of\n" +"Attic is to provide an efficient and secure way to backup data. The data\n" +"deduplication technique used makes Attic suitable for daily backups since only\n" +"changes are stored." +msgstr "" + +#: gnu/packages/backup.scm:634 +msgid "WIM file manipulation library and utilities" +msgstr "" + +#: gnu/packages/backup.scm:635 +msgid "" +"wimlib is a C library and set of command-line utilities for\n" +"creating, modifying, extracting, and mounting archives in the Windows Imaging\n" +"Format (@dfn{WIM files}). It can capture and apply WIMs directly from and to\n" +"NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes." +msgstr "" + +#: gnu/packages/backup.scm:692 +msgid "Easy and secure backup program" +msgstr "" + +#: gnu/packages/backup.scm:693 +msgid "" +"Obnam is an easy, secure backup program. Features\n" +"include snapshot backups, data de-duplication and encrypted backups\n" +"using GnuPG. Backups can be stored on local hard disks, or online via\n" +"the SSH SFTP protocol. The backup server, if used, does not require\n" +"any special software, on top of SSH." +msgstr "" + +#: gnu/packages/backup.scm:799 +msgid "Fast, disk based, rotating network backup system" +msgstr "" + +#: gnu/packages/backup.scm:801 +msgid "" +"With dirvish you can maintain a set of complete images of your\n" +"filesystems with unattended creation and expiration. A dirvish backup vault\n" +"is like a time machine for your data. " +msgstr "" + +#: gnu/packages/base.scm:73 +msgid "Hello, GNU world: An example GNU package" +msgstr "" + +#: gnu/packages/base.scm:75 +msgid "" +"GNU Hello prints the message \"Hello, world!\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on." +msgstr "" + +#: gnu/packages/base.scm:110 +msgid "Print lines matching a pattern" +msgstr "" + +#: gnu/packages/base.scm:112 +msgid "" +"grep is a tool for finding text inside files. Text is found by\n" +"matching a pattern provided by the user in one or many files. The pattern\n" +"may be provided as a basic or extended regular expression, or as fixed\n" +"strings. By default, the matching text is simply printed to the screen,\n" +"however the output can be greatly customized to include, for example, line\n" +"numbers. GNU grep offers many extensions over the standard utility,\n" +"including, for example, recursive directory searching." +msgstr "" + +#: gnu/packages/base.scm:134 +msgid "Stream editor" +msgstr "" + +#: gnu/packages/base.scm:156 +msgid "" +"Sed is a non-interactive, text stream editor. It receives a text\n" +"input from a file or from standard input and it then applies a series of text\n" +"editing commands to the stream and prints its output to standard output. It\n" +"is often used for substituting text patterns in a stream. The GNU\n" +"implementation offers several extensions over the standard utility." +msgstr "" + +#: gnu/packages/base.scm:196 +msgid "Managing tar archives" +msgstr "管理 tar 归档" + +#: gnu/packages/base.scm:198 +msgid "" +"Tar provides the ability to create tar archives, as well as the\n" +"ability to extract, update or list files in an existing archive. It is\n" +"useful for combining many files into one larger file, while maintaining\n" +"directory structure and file information such as permissions and\n" +"creation/modification dates. GNU tar offers many extensions over the\n" +"standard utility." +msgstr "" + +#: gnu/packages/base.scm:221 +msgid "Apply differences to originals, with optional backups" +msgstr "" + +#: gnu/packages/base.scm:223 +msgid "" +"Patch is a program that applies changes to files based on differences\n" +"laid out as by the program \"diff\". The changes may be applied to one or more\n" +"files depending on the contents of the diff file. It accepts several\n" +"different diff formats. It may also be used to revert previously applied\n" +"differences." +msgstr "" + +#: gnu/packages/base.scm:243 +msgid "Comparing and merging files" +msgstr "比较和合并文件" + +#: gnu/packages/base.scm:245 +msgid "" +"GNU Diffutils is a package containing tools for finding the\n" +"differences between files. The \"diff\" command is used to show how two files\n" +"differ, while \"cmp\" shows the offsets and line numbers where they differ.\n" +"\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an\n" +"interactive means to merge two files." +msgstr "" + +#: gnu/packages/base.scm:282 +msgid "Operating on files matching given criteria" +msgstr "" + +#: gnu/packages/base.scm:284 +msgid "" +"Findutils supplies the basic file directory searching utilities of the\n" +"GNU system. It consists of two primary searching utilities: \"find\"\n" +"recursively searches for files in a directory according to given criteria and\n" +"\"locate\" lists files in a database that match a query. Two auxiliary tools\n" +"are included: \"updatedb\" updates the file name database and \"xargs\" may be\n" +"used to apply commands with arbitrarily long arguments." +msgstr "" + +#: gnu/packages/base.scm:340 +msgid "Core GNU utilities (file, text, shell)" +msgstr "核心 GNU 工具(文件、文本、shell)" + +#: gnu/packages/base.scm:342 +msgid "" +"GNU Coreutils includes all of the basic command-line tools that are\n" +"expected in a POSIX system. These provide the basic file, shell and text\n" +"manipulation functions of the GNU system. Most of these tools offer extended\n" +"functionality beyond that which is outlined in the POSIX standard." +msgstr "" + +#: gnu/packages/base.scm:384 +msgid "Remake files automatically" +msgstr "自动重命令文件" + +#: gnu/packages/base.scm:386 +msgid "" +"Make is a program that is used to control the production of\n" +"executables or other files from their source files. The process is\n" +"controlled from a Makefile, in which the developer specifies how each file is\n" +"generated from its source. It has powerful dependency resolution and the\n" +"ability to determine when files have to be regenerated after their sources\n" +"change. GNU make offers many powerful extensions over the standard utility." +msgstr "" + +#: gnu/packages/base.scm:428 +msgid "Binary utilities: bfd gas gprof ld" +msgstr "二进制文件处理实用工具:bfs gas gprof ld" + +#: gnu/packages/base.scm:430 +msgid "" +"GNU Binutils is a collection of tools for working with binary files.\n" +"Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler.\n" +"Other tools include programs to display binary profiling information, list\n" +"the strings in a binary file, and utilities for working with archives. The\n" +"\"bfd\" library for working with executable and object formats is also\n" +"included." +msgstr "" + +#: gnu/packages/base.scm:517 +msgid "The linker wrapper" +msgstr "" + +#: gnu/packages/base.scm:519 +msgid "" +"The linker wrapper (or 'ld-wrapper') wraps the linker to add any\n" +"missing '-rpath' flags, and to detect any misuse of libraries outside of the\n" +"store." +msgstr "" + +#: gnu/packages/base.scm:695 +msgid "The GNU C Library" +msgstr "GNU C 库" + +#: gnu/packages/base.scm:697 +msgid "" +"Any Unix-like operating system needs a C library: the library which\n" +"defines the \"system calls\" and other basic facilities such as open, malloc,\n" +"printf, exit...\n" +"\n" +"The GNU C library is used as the C library in the GNU system and most systems\n" +"with the Linux kernel." +msgstr "" + +#: gnu/packages/base.scm:775 +msgid "The GNU C Library (GNU Hurd variant)" +msgstr "GNU C 库(GNU Hurd 变种)" + +#: gnu/packages/base.scm:887 +msgid "All the locales supported by the GNU C Library" +msgstr "" + +#: gnu/packages/base.scm:889 +msgid "" +"This package provides all the locales supported by the GNU C Library,\n" +"more than 400 in total. To use them set the 'LOCPATH' environment variable to\n" +"the 'share/locale' sub-directory of this package." +msgstr "" + +#: gnu/packages/base.scm:957 +msgid "Small sample of UTF-8 locales" +msgstr "" + +#: gnu/packages/base.scm:959 +msgid "" +"This package provides a small sample of UTF-8 locales mostly useful in\n" +"test environments." +msgstr "" + +#: gnu/packages/base.scm:977 +msgid "Find full path of shell commands" +msgstr "" + +#: gnu/packages/base.scm:979 +msgid "" +"The which program finds the location of executables in PATH, with a\n" +"variety of options. It is an alternative to the shell \"type\" built-in\n" +"command." +msgstr "" + +#: gnu/packages/base.scm:1084 +msgid "Database of current and historical time zones" +msgstr "" + +#: gnu/packages/base.scm:1085 +msgid "" +"The Time Zone Database (often called tz or zoneinfo)\n" +"contains code and data that represent the history of local time for many\n" +"representative locations around the globe. It is updated periodically to\n" +"reflect changes made by political bodies to time zone boundaries, UTC offsets,\n" +"and daylight-saving rules." +msgstr "" + +#: gnu/packages/base.scm:1136 +msgid "Character set conversion library" +msgstr "" + +#: gnu/packages/base.scm:1138 +msgid "" +"libiconv provides an implementation of the iconv function for systems\n" +"that lack it. iconv is used to convert between character encodings in a\n" +"program. It supports a wide variety of different encodings." +msgstr "" + +#: gnu/packages/bittorrent.scm:108 +msgid "Fast and easy BitTorrent client" +msgstr "" + +#: gnu/packages/bittorrent.scm:110 +msgid "" +"Transmission is a BitTorrent client that comes with graphical,\n" +"textual, and Web user interfaces. Transmission also has a daemon for\n" +"unattended operations. It supports local peer discovery, full encryption,\n" +"DHT, µTP, PEX and Magnet Links." +msgstr "" + +#: gnu/packages/bittorrent.scm:142 +msgid "BitTorrent library of rtorrent" +msgstr "" + +#: gnu/packages/bittorrent.scm:144 +msgid "" +"LibTorrent is a BitTorrent library used by and developed in parallel\n" +"with the BitTorrent client rtorrent. It is written in C++ with emphasis on\n" +"speed and efficiency." +msgstr "" + +#: gnu/packages/bittorrent.scm:171 +msgid "BitTorrent client with ncurses interface" +msgstr "" + +#: gnu/packages/bittorrent.scm:173 +msgid "" +"rTorrent is a BitTorrent client with an ncurses interface. It supports\n" +"full encryption, DHT, PEX, and Magnet Links. It can also be controlled via\n" +"XML-RPC over SCGI." +msgstr "" + +#: gnu/packages/bittorrent.scm:217 gnu/packages/bittorrent.scm:258 +msgid "Console client for the Transmission BitTorrent daemon" +msgstr "" + +#: gnu/packages/bittorrent.scm:218 +msgid "" +"Tremc is a console client, with a curses interface, for the\n" +"Transmission BitTorrent daemon." +msgstr "" + +#: gnu/packages/bittorrent.scm:259 +msgid "" +"Transmission-remote-cli is a console client, with a curses\n" +"interface, for the Transmission BitTorrent daemon. This package is no longer\n" +"maintained upstream." +msgstr "" + +#: gnu/packages/bittorrent.scm:307 +msgid "Utility for parallel downloading files" +msgstr "" + +#: gnu/packages/bittorrent.scm:309 +msgid "" +"Aria2 is a lightweight, multi-protocol & multi-source command-line\n" +"download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.\n" +"Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces." +msgstr "" + +#: gnu/packages/bittorrent.scm:342 +msgid "Universal download manager with GTK+ interface" +msgstr "带有 GTK+ 界面的通用下载管理器" + +#: gnu/packages/bittorrent.scm:344 +msgid "" +"uGet is portable download manager with GTK+ interface supporting\n" +"HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection\n" +"downloads, download scheduling, download rate limiting." +msgstr "" + +#: gnu/packages/bittorrent.scm:372 +msgid "Utility to create BitTorrent metainfo files" +msgstr "" + +#: gnu/packages/bittorrent.scm:373 +msgid "" +"mktorrent is a simple command-line utility to create\n" +"BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from\n" +"both single files and whole directories. It can add multiple trackers and web\n" +"seed URLs, and set the @code{private} flag to disallow advertisement through\n" +"the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded\n" +"and will take advantage of multiple processor cores where possible." +msgstr "" + +#: gnu/packages/bittorrent.scm:414 +msgid "Feature complete BitTorrent implementation" +msgstr "" + +#: gnu/packages/bittorrent.scm:416 +msgid "" +"libtorrent-rasterbar is a feature complete C++ BitTorrent implementation\n" +"focusing on efficiency and scalability. It runs on embedded devices as well as\n" +"desktops." +msgstr "" + +#: gnu/packages/certs.scm:66 +msgid "Python script to extract .pem data from certificate collection" +msgstr "" + +#: gnu/packages/certs.scm:68 +msgid "" +"certdata2pem.py is a Python script to transform X.509 certificate\n" +"\"source code\" as contained, for example, in the Mozilla sources, into\n" +".pem formatted certificates." +msgstr "" + +#: gnu/packages/certs.scm:137 +msgid "CA certificates from Mozilla" +msgstr "" + +#: gnu/packages/certs.scm:139 +msgid "" +"This package provides certificates for Certification Authorities (CA)\n" +"taken from the NSS package and thus ultimately from the Mozilla project." +msgstr "" + +#: gnu/packages/certs.scm:208 +msgid "Let's Encrypt root and intermediate certificates" +msgstr "" + +#: gnu/packages/certs.scm:209 +msgid "" +"This package provides a certificate store containing only the\n" +"Let's Encrypt root and intermediate certificates. It is intended to be used\n" +"within Guix." +msgstr "" + +#: gnu/packages/compression.scm:100 +msgid "Compression library" +msgstr "" + +#: gnu/packages/compression.scm:102 +msgid "" +"zlib is designed to be a free, general-purpose, legally unencumbered --\n" +"that is, not covered by any patents -- lossless data-compression library for\n" +"use on virtually any computer hardware and operating system. The zlib data\n" +"format is itself portable across platforms. Unlike the LZW compression method\n" +"used in Unix compress(1) and in the GIF image format, the compression method\n" +"currently used in zlib essentially never expands the data. (LZW can double or\n" +"triple the file size in extreme cases.) zlib's memory footprint is also\n" +"independent of the input data and can be reduced, if necessary, at some cost\n" +"in compression." +msgstr "" + +#: gnu/packages/compression.scm:133 +msgid "Zip Compression library" +msgstr "" + +#: gnu/packages/compression.scm:135 +msgid "" +"Minizip is a minimalistic library that supports compressing,\n" +"extracting and viewing ZIP archives. This version is extracted from\n" +"the @code{zlib} source." +msgstr "" + +#: gnu/packages/compression.scm:154 +msgid "Replacement for Sun's 'jar' utility" +msgstr "" + +#: gnu/packages/compression.scm:156 +msgid "" +"FastJar is an attempt to create a much faster replacement for Sun's 'jar'\n" +"utility. Instead of being written in Java, FastJar is written in C." +msgstr "" + +#: gnu/packages/compression.scm:190 +msgid "C library for manipulating POSIX tar files" +msgstr "" + +#: gnu/packages/compression.scm:192 +msgid "" +"libtar is a C library for manipulating POSIX tar files. It handles\n" +"adding and extracting files to/from a tar archive." +msgstr "" + +#: gnu/packages/compression.scm:209 +msgid "General file (de)compression (using lzw)" +msgstr "" + +#: gnu/packages/compression.scm:214 +msgid "" +"GNU Gzip provides data compression and decompression utilities; the\n" +"typical extension is \".gz\". Unlike the \"zip\" format, it compresses a single\n" +"file; as a result, it is often used in conjunction with \"tar\", resulting in\n" +"\".tar.gz\" or \".tgz\", etc." +msgstr "" + +#: gnu/packages/compression.scm:284 +msgid "High-quality data compression program" +msgstr "" + +#: gnu/packages/compression.scm:286 +msgid "" +"bzip2 is a freely available, patent free (see below), high-quality data\n" +"compressor. It typically compresses files to within 10% to 15% of the best\n" +"available techniques (the PPM family of statistical compressors), whilst\n" +"being around twice as fast at compression and six times faster at\n" +"decompression." +msgstr "" + +#: gnu/packages/compression.scm:307 +msgid "Parallel bzip2 compression utility" +msgstr "" + +#: gnu/packages/compression.scm:309 +msgid "" +"lbzip2 is a multi-threaded compression utility with support for the\n" +"bzip2 compressed file format. lbzip2 can process standard bz2 files in\n" +"parallel. It uses POSIX threading model (pthreads), which allows it to take\n" +"full advantage of symmetric multiprocessing (SMP) systems. It has been proven\n" +"to scale linearly, even to over one hundred processor cores. lbzip2 is fully\n" +"compatible with bzip2 – both at file format and command line level." +msgstr "" + +#: gnu/packages/compression.scm:339 +msgid "Parallel bzip2 implementation" +msgstr "可并行的 bzip2 实现" + +#: gnu/packages/compression.scm:341 +msgid "" +"Pbzip2 is a parallel implementation of the bzip2 block-sorting file\n" +"compressor that uses pthreads and achieves near-linear speedup on SMP machines.\n" +"The output of this version is fully compatible with bzip2 v1.0.2 (i.e. anything\n" +"compressed with pbzip2 can be decompressed with bzip2)." +msgstr "" + +#: gnu/packages/compression.scm:362 +msgid "General-purpose data compression" +msgstr "通用数据压缩" + +#: gnu/packages/compression.scm:364 +msgid "" +"XZ Utils is free general-purpose data compression software with high\n" +"compression ratio. XZ Utils were written for POSIX-like systems, but also\n" +"work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.\n" +"\n" +"The core of the XZ Utils compression code is based on LZMA SDK, but it has\n" +"been modified quite a lot to be suitable for XZ Utils. The primary\n" +"compression algorithm is currently LZMA2, which is used inside the .xz\n" +"container format. With typical files, XZ Utils create 30 % smaller output\n" +"than gzip and 15 % smaller output than bzip2." +msgstr "" + +#: gnu/packages/compression.scm:392 +msgid "Data compression library suitable for real-time data de-/compression" +msgstr "" + +#: gnu/packages/compression.scm:394 +msgid "" +"LZO is a data compression library which is suitable for data\n" +"de-/compression in real-time. This means it favours speed over\n" +"compression ratio.\n" +"\n" +"LZO is written in ANSI C. Both the source code and the compressed data\n" +"format are designed to be portable across platforms." +msgstr "" + +#: gnu/packages/compression.scm:430 +msgid "Python bindings for the LZO data compression library" +msgstr "" + +#: gnu/packages/compression.scm:432 +msgid "" +"Python-LZO provides Python bindings for LZO, i.e. you can access\n" +"the LZO library from your Python scripts thereby compressing ordinary\n" +"Python strings." +msgstr "" + +#: gnu/packages/compression.scm:455 +msgid "Compress or expand files" +msgstr "" + +#: gnu/packages/compression.scm:457 +msgid "" +"Lzop is a file compressor which is very similar to gzip. Lzop uses the\n" +"LZO data compression library for compression services, and its main advantages\n" +"over gzip are much higher compression and decompression speed (at the cost of\n" +"some compression ratio)." +msgstr "" + +#: gnu/packages/compression.scm:476 +msgid "Lossless data compressor based on the LZMA algorithm" +msgstr "" + +#: gnu/packages/compression.scm:478 +msgid "" +"Lzip is a lossless data compressor with a user interface similar to the\n" +"one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses\n" +"more than bzip2, which makes it well-suited for software distribution and data\n" +"archiving. Lzip is a clean implementation of the LZMA algorithm." +msgstr "" + +#: gnu/packages/compression.scm:497 +msgid "Recover and decompress data from damaged lzip files" +msgstr "" + +#: gnu/packages/compression.scm:499 +msgid "" +"Lziprecover is a data recovery tool and decompressor for files in the lzip\n" +"compressed data format (.lz). It can test the integrity of lzip files, extract\n" +"data from damaged ones, and repair most files with small errors (up to one\n" +"single-byte error per member) entirely.\n" +"\n" +"Lziprecover is not a replacement for regular backups, but a last line of defence\n" +"when even the backups are corrupt. It can recover files by merging the good\n" +"parts of two or more damaged copies, such as can be easily produced by running\n" +"@command{ddrescue} on a failing device.\n" +"\n" +"This package also includes @command{unzcrash}, a tool to test the robustness of\n" +"decompressors when faced with corrupted input." +msgstr "" + +#: gnu/packages/compression.scm:540 +msgid "Archives in shell scripts, uuencode/uudecode" +msgstr "" + +#: gnu/packages/compression.scm:542 +msgid "" +"GNU sharutils is a package for creating and manipulating shell\n" +"archives that can be readily emailed. A shell archive is a file that can be\n" +"processed by a Bourne-type shell to unpack the original collection of files.\n" +"This package is mostly for compatibility and historical interest." +msgstr "" + +#: gnu/packages/compression.scm:573 +msgid "Library for SoundFont decompression" +msgstr "" + +#: gnu/packages/compression.scm:575 +msgid "" +"SfArkLib is a C++ library for decompressing SoundFont files compressed\n" +"with the sfArk algorithm." +msgstr "" + +#: gnu/packages/compression.scm:608 +msgid "Basic sfArk decompressor" +msgstr "" + +#: gnu/packages/compression.scm:609 +msgid "" +"SfArk extractor converts SoundFonts in the compressed legacy\n" +"sfArk file format to the uncompressed sf2 format." +msgstr "" + +#: gnu/packages/compression.scm:626 +msgid "Compression tools for some formats used by Microsoft" +msgstr "" + +#: gnu/packages/compression.scm:628 +msgid "" +"The purpose of libmspack is to provide both compression and\n" +"decompression of some loosely related file formats used by Microsoft." +msgstr "" + +#: gnu/packages/compression.scm:647 +msgid "Low-level interface to bzip2 compression library" +msgstr "" + +#: gnu/packages/compression.scm:648 +msgid "" +"This module provides a Perl interface to the bzip2\n" +"compression library." +msgstr "" + +#: gnu/packages/compression.scm:682 +msgid "Low-level interface to zlib compression library" +msgstr "" + +#: gnu/packages/compression.scm:683 +msgid "" +"This module provides a Perl interface to the zlib\n" +"compression library." +msgstr "" + +#: gnu/packages/compression.scm:704 +msgid "IO Interface to compressed files/buffers" +msgstr "" + +#: gnu/packages/compression.scm:705 +msgid "" +"IO-Compress provides a Perl interface to allow reading and\n" +"writing of compressed data created with the zlib and bzip2 libraries." +msgstr "" + +#: gnu/packages/compression.scm:732 +msgid "Compression algorithm focused on speed" +msgstr "" + +#: gnu/packages/compression.scm:733 +msgid "" +"LZ4 is a lossless compression algorithm, providing\n" +"compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an\n" +"extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).\n" +"A high compression derivative, called LZ4_HC, is also provided. It trades CPU\n" +"time for compression ratio." +msgstr "" + +#: gnu/packages/compression.scm:758 +msgid "LZ4 bindings for Python" +msgstr "" + +#: gnu/packages/compression.scm:760 +msgid "" +"This package provides python bindings for the lz4 compression library\n" +"by Yann Collet. The project contains bindings for the LZ4 block format and\n" +"the LZ4 frame format." +msgstr "" + +#: gnu/packages/compression.scm:783 +msgid "String compression" +msgstr "" + +#: gnu/packages/compression.scm:784 +msgid "Lz-string is a string compressor library for Python." +msgstr "" + +#: gnu/packages/compression.scm:822 +msgid "Tools to create and extract squashfs file systems" +msgstr "" + +#: gnu/packages/compression.scm:824 +msgid "" +"Squashfs is a highly compressed read-only file system for Linux. It uses\n" +"zlib to compress files, inodes, and directories. All blocks are packed to\n" +"minimize the data overhead, and block sizes of between 4K and 1M are supported.\n" +"It is intended to be used for archival use, for live CDs, and for embedded\n" +"systems where low overhead is needed. This package allows you to create and\n" +"extract such file systems." +msgstr "" + +#: gnu/packages/compression.scm:861 +msgid "Parallel implementation of gzip" +msgstr "" + +#: gnu/packages/compression.scm:863 +msgid "" +"This package provides a parallel implementation of gzip that exploits\n" +"multiple processors and multiple cores when compressing data." +msgstr "" + +#: gnu/packages/compression.scm:887 +msgid "Parallel indexing implementation of LZMA" +msgstr "" + +#: gnu/packages/compression.scm:889 +msgid "" +"The existing XZ Utils provide great compression in the .xz file format,\n" +"but they produce just one big block of compressed data. Pixz instead produces\n" +"a collection of smaller blocks which makes random access to the original data\n" +"possible and can compress in parallel. This is especially useful for large\n" +"tarballs." +msgstr "" + +#: gnu/packages/compression.scm:930 +msgid "Implementation of the Brotli compression algorithm" +msgstr "" + +#: gnu/packages/compression.scm:932 +msgid "" +"Brotli is a general-purpose lossless compression algorithm. It is\n" +"similar in speed to deflate but offers denser compression. This package\n" +"provides encoder and a decoder libraries: libbrotlienc and libbrotlidec,\n" +"respectively, based on the reference implementation from Google." +msgstr "" + +#: gnu/packages/compression.scm:956 +msgid "Tool to unpack Cabinet archives" +msgstr "" + +#: gnu/packages/compression.scm:957 +msgid "Extracts files out of Microsoft Cabinet (.cab) archives" +msgstr "" + +#: gnu/packages/compression.scm:989 +msgid "Delta encoder for binary files" +msgstr "" + +#: gnu/packages/compression.scm:990 +msgid "" +"xdelta encodes only the differences between two binary files\n" +"using the VCDIFF algorithm and patch file format described in RFC 3284. It can\n" +"also be used to apply such patches. xdelta is similar to @command{diff} and\n" +"@command{patch}, but is not limited to plain text and does not generate\n" +"human-readable output." +msgstr "" + +#: gnu/packages/compression.scm:1022 +msgid "Large file compressor with a very high compression ratio" +msgstr "" + +#: gnu/packages/compression.scm:1023 +msgid "" +"lrzip is a compression utility that uses long-range\n" +"redundancy reduction to improve the subsequent compression ratio of\n" +"larger files. It can then further compress the result with the ZPAQ or\n" +"LZMA algorithms for maximum compression, or LZO for maximum speed. This\n" +"choice between size or speed allows for either better compression than\n" +"even LZMA can provide, or a higher speed than gzip while compressing as\n" +"well as bzip2." +msgstr "" + +#: gnu/packages/compression.scm:1059 +msgid "Filter for improving compression of typed binary data" +msgstr "" + +#: gnu/packages/compression.scm:1060 +msgid "" +"Bitshuffle is an algorithm that rearranges typed, binary data\n" +"for improving compression, as well as a python/C package that implements this\n" +"algorithm within the Numpy framework." +msgstr "" + +#: gnu/packages/compression.scm:1079 +msgid "Fast compressor/decompressor" +msgstr "" + +#: gnu/packages/compression.scm:1080 +msgid "" +"Snappy is a compression/decompression library. It does not\n" +"aim for maximum compression, or compatibility with any other compression library;\n" +"instead, it aims for very high speeds and reasonable compression. For instance,\n" +"compared to the fastest mode of zlib, Snappy is an order of magnitude faster\n" +"for most inputs, but the resulting compressed files are anywhere from 20% to\n" +"100% bigger." +msgstr "" + +#: gnu/packages/compression.scm:1204 +msgid "Compression/decompression algorithm in Java" +msgstr "" + +#: gnu/packages/compression.scm:1205 +msgid "" +"Snappy-java is a Java port of the snappy, a fast C++\n" +"compresser/decompresser." +msgstr "" + +#: gnu/packages/compression.scm:1311 +msgid "Java port of snappy" +msgstr "snappy 的 Java 移植" + +#: gnu/packages/compression.scm:1312 +msgid "" +"Iq80-snappy is a rewrite (port) of Snappy writen in pure\n" +"Java. This compression code produces a byte-for-byte exact copy of the output\n" +"created by the original C++ code, and extremely fast." +msgstr "" + +#: gnu/packages/compression.scm:1351 +msgid "Java bzip2 compression/decompression library" +msgstr "" + +#: gnu/packages/compression.scm:1352 +msgid "" +"Jbzip2 is a Java bzip2 compression/decompression library.\n" +"It can be used as a replacement for the Apache @code{CBZip2InputStream} /\n" +"@code{CBZip2OutputStream} classes." +msgstr "" + +#: gnu/packages/compression.scm:1417 +msgid "Command-line file archiver with high compression ratio" +msgstr "" + +#: gnu/packages/compression.scm:1418 +msgid "" +"p7zip is a command-line port of 7-Zip, a file archiver that\n" +"handles the 7z format which features very high compression ratios." +msgstr "" + +#: gnu/packages/compression.scm:1457 +msgid "Compressed C++ iostream" +msgstr "" + +#: gnu/packages/compression.scm:1458 +msgid "" +"gzstream is a small library for providing zlib\n" +"functionality in a C++ iostream." +msgstr "" + +#: gnu/packages/compression.scm:1505 +msgid "Incremental journaling archiver" +msgstr "" + +#: gnu/packages/compression.scm:1506 +msgid "" +"ZPAQ is a command-line archiver for realistic situations with\n" +"many duplicate and already compressed files. It backs up only those files\n" +"modified since the last update. All previous versions remain untouched and can\n" +"be independently recovered. Identical files are only stored once (known as\n" +"@dfn{de-duplication}). Archives can also be encrypted.\n" +"\n" +"ZPAQ is intended to back up user data, not entire operating systems. It ignores\n" +"owner and group IDs, ACLs, extended attributes, or special file types like\n" +"devices, sockets, or named pipes. It does not follow or restore symbolic links\n" +"or junctions, and always follows hard links." +msgstr "" + +#: gnu/packages/compression.scm:1587 +msgid "Extract CAB files from InstallShield installers" +msgstr "" + +#: gnu/packages/compression.scm:1589 +msgid "" +"@command{unshield} is a tool and library for extracting @file{.cab}\n" +" archives from InstallShield installers." +msgstr "" + +#: gnu/packages/compression.scm:1615 +msgid "Zstandard real-time compression algorithm" +msgstr "" + +#: gnu/packages/compression.scm:1616 +msgid "" +"Zstandard (@command{zstd}) is a lossless compression algorithm\n" +"that combines very fast operation with a compression ratio comparable to that of\n" +"zlib. In most scenarios, both compression and decompression can be performed in\n" +"‘real time’. The compressor can be configured to provide the most suitable\n" +"trade-off between compression ratio and speed, without affecting decompression\n" +"speed." +msgstr "" + +#: gnu/packages/compression.scm:1658 +msgid "Threaded implementation of the Zstandard compression algorithm" +msgstr "" + +#: gnu/packages/compression.scm:1659 +msgid "" +"Parallel Zstandard (PZstandard or @command{pzstd}) is a\n" +"multi-threaded implementation of the @uref{http://zstd.net/, Zstandard\n" +"compression algorithm}. It is fully compatible with the original Zstandard file\n" +"format and command-line interface, and can be used as a drop-in replacement.\n" +"\n" +"Compression is distributed over multiple processor cores to improve performance,\n" +"as is the decompression of data compressed in this manner. Data compressed by\n" +"other implementations will only be decompressed by two threads: one performing\n" +"the actual decompression, the other input and output." +msgstr "" + +#: gnu/packages/compression.scm:1700 +msgid "Compression and file packing utility" +msgstr "" + +#: gnu/packages/compression.scm:1702 +msgid "" +"Zip is a compression and file packaging/archive utility. Zip is useful\n" +"for packaging a set of files for distribution, for archiving files, and for\n" +"saving disk space by temporarily compressing unused files or directories.\n" +"Zip puts one or more compressed files into a single ZIP archive, along with\n" +"information about the files (name, path, date, time of last modification,\n" +"protection, and check information to verify file integrity). An entire\n" +"directory structure can be packed into a ZIP archive with a single command.\n" +"\n" +"Zip has one compression method (deflation) and can also store files without\n" +"compression. Zip automatically chooses the better of the two for each file.\n" +"Compression ratios of 2:1 to 3:1 are common for text files." +msgstr "" + +#: gnu/packages/compression.scm:1757 +msgid "Decompression and file extraction utility" +msgstr "" + +#: gnu/packages/compression.scm:1759 +msgid "" +"UnZip is an extraction utility for archives compressed in .zip format,\n" +"also called \"zipfiles\".\n" +"\n" +"UnZip lists, tests, or extracts files from a .zip archive. The default\n" +"behaviour (with no options) is to extract into the current directory, and\n" +"subdirectories below it, all files from the specified zipfile. UnZip\n" +"recreates the stored directory structure by default." +msgstr "" + +#: gnu/packages/compression.scm:1800 +msgid "Library for accessing zip files" +msgstr "" + +#: gnu/packages/compression.scm:1802 +msgid "ZZipLib is a library based on zlib for accessing zip files." +msgstr "" + +#: gnu/packages/compression.scm:1819 +msgid "Provides an interface to ZIP archive files" +msgstr "" + +#: gnu/packages/compression.scm:1820 gnu/packages/perl.scm:279 +msgid "" +"The Archive::Zip module allows a Perl program to create,\n" +"manipulate, read, and write Zip archive files." +msgstr "" + +#: gnu/packages/compression.scm:1842 +msgid "C library for reading, creating, and modifying zip archives" +msgstr "" + +#: gnu/packages/compression.scm:1843 +msgid "" +"Libzip is a C library for reading, creating, and modifying\n" +"zip archives. Files can be added from data buffers, files, or compressed data\n" +"copied directly from other zip archives. Changes made without closing the\n" +"archive can be reverted." +msgstr "" + +#: gnu/packages/compression.scm:1876 +msgid "Universal tool to manage file archives of various types" +msgstr "" + +#: gnu/packages/compression.scm:1877 +msgid "" +"The main command is @command{aunpack} which extracts files\n" +"from an archive. The other commands provided are @command{apack} (to create\n" +"archives), @command{als} (to list files in archives), and @command{acat} (to\n" +"extract files to standard out). As @command{atool} invokes external programs\n" +"to handle the archives, not all commands may be supported for a certain type\n" +"of archives." +msgstr "" + +#: gnu/packages/compression.scm:1899 +msgid "Generic archive extracting mechanism" +msgstr "" + +#: gnu/packages/compression.scm:1900 +msgid "" +"It allows you to extract any archive file of the type .tar,\n" +".tar.gz, .gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma\n" +"without having to worry how it does so, or use different interfaces for each\n" +"type by using either Perl modules, or command-line tools on your system." +msgstr "" + +#: gnu/packages/compression.scm:1936 +msgid "XZ in Java" +msgstr "" + +#: gnu/packages/compression.scm:1937 +msgid "" +"Tukaani-xz is an implementation of xz compression/decompression\n" +"algorithms in Java." +msgstr "" + +#: gnu/packages/databases.scm:147 +msgid "Clustered RDF storage and query engine" +msgstr "" + +#: gnu/packages/databases.scm:148 +msgid "" +"4store is a RDF/SPARQL store written in C, supporting\n" +"either single machines or networked clusters." +msgstr "" + +#: gnu/packages/databases.scm:167 +msgid "Hash library of database functions compatible with traditional dbm" +msgstr "" + +#: gnu/packages/databases.scm:169 +msgid "" +"GDBM is a library for manipulating hashed databases. It is used to\n" +"store key/value pairs in a file in a manner similar to the Unix dbm library\n" +"and provides interfaces to the traditional file format." +msgstr "" + +#: gnu/packages/databases.scm:219 +msgid "Berkeley database" +msgstr "Berkeley 数据库" + +#: gnu/packages/databases.scm:221 +msgid "" +"Berkeley DB is an embeddable database allowing developers the choice of\n" +"SQL, Key/Value, XML/XQuery or Java Object storage for their data model." +msgstr "" + +#: gnu/packages/databases.scm:310 +msgid "Utility for dumping and restoring ElasticSearch indexes" +msgstr "" + +#: gnu/packages/databases.scm:312 +msgid "" +"This package provides a utility for dumping the contents of an\n" +"ElasticSearch index to a compressed file and restoring the dumpfile back to an\n" +"ElasticSearch server" +msgstr "" + +#: gnu/packages/databases.scm:350 +msgid "Fast key-value storage library" +msgstr "快速的键值对存储库" + +#: gnu/packages/databases.scm:352 +msgid "" +"LevelDB is a fast key-value storage library that provides an ordered\n" +"mapping from string keys to string values." +msgstr "" + +#: gnu/packages/databases.scm:372 +msgid "In memory caching service" +msgstr "" + +#: gnu/packages/databases.scm:373 +msgid "" +"Memcached is a in memory key value store. It has a small\n" +"and generic API, and was originally intended for use with dynamic web\n" +"applications." +msgstr "" + +#: gnu/packages/databases.scm:478 +msgid "High performance and high availability document database" +msgstr "" + +#: gnu/packages/databases.scm:480 +msgid "" +"Mongo is a high-performance, high availability, schema-free\n" +"document-oriented database. A key goal of MongoDB is to bridge the gap\n" +"between key/value stores (which are fast and highly scalable) and traditional\n" +"RDBMS systems (which are deep in functionality)." +msgstr "" + +#: gnu/packages/databases.scm:556 +msgid "Fast, easy to use, and popular database" +msgstr "" + +#: gnu/packages/databases.scm:558 +msgid "" +"MySQL is a fast, reliable, and easy to use relational database\n" +"management system that supports the standardized Structured Query\n" +"Language." +msgstr "" + +#: gnu/packages/databases.scm:634 +msgid "SQL database server" +msgstr "" + +#: gnu/packages/databases.scm:636 +msgid "" +"MariaDB is a multi-user and multi-threaded SQL database server, designed\n" +"as a drop-in replacement of MySQL." +msgstr "" + +#: gnu/packages/databases.scm:674 +msgid "Powerful object-relational database system" +msgstr "" + +#: gnu/packages/databases.scm:676 +msgid "" +"PostgreSQL is a powerful object-relational database system. It is fully\n" +"ACID compliant, has full support for foreign keys, joins, views, triggers, and\n" +"stored procedures (in multiple languages). It includes most SQL:2008 data\n" +"types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and\n" +"TIMESTAMP. It also supports storage of binary large objects, including\n" +"pictures, sounds, or video." +msgstr "" + +#: gnu/packages/databases.scm:715 +msgid "Key-value database" +msgstr "" + +#: gnu/packages/databases.scm:716 +msgid "" +"QDBM is a library of routines for managing a\n" +"database. The database is a simple data file containing key-value\n" +"pairs. Every key and value is serial bytes with variable length.\n" +"Binary data as well as character strings can be used as a key or a\n" +"value. There is no concept of data tables or data types. Records are\n" +"organized in a hash table or B+ tree." +msgstr "" + +#: gnu/packages/databases.scm:771 +msgid "Manipulate plain text files as databases" +msgstr "" + +#: gnu/packages/databases.scm:773 +msgid "" +"GNU Recutils is a set of tools and libraries for creating and\n" +"manipulating text-based, human-editable databases. Despite being text-based,\n" +"databases created with Recutils carry all of the expected features such as\n" +"unique fields, primary keys, time stamps and more. Many different field\n" +"types are supported, as is encryption." +msgstr "" + +#: gnu/packages/databases.scm:860 +msgid "Persistent key-value store for fast storage" +msgstr "" + +#: gnu/packages/databases.scm:862 +msgid "" +"RocksDB is a library that forms the core building block for a fast\n" +"key-value server, especially suited for storing data on flash drives. It\n" +"has a @dfn{Log-Structured-Merge-Database} (LSM) design with flexible tradeoffs\n" +"between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}\n" +"(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded\n" +"compactions, making it specially suitable for storing multiple terabytes of\n" +"data in a single database. RocksDB is partially based on @code{LevelDB}." +msgstr "" + +#: gnu/packages/databases.scm:921 +msgid "Command-line tool for accessing SPARQL endpoints over HTTP" +msgstr "" + +#: gnu/packages/databases.scm:922 +msgid "" +"Sparql-query is a command-line tool for accessing SPARQL\n" +"endpoints over HTTP. It has been intentionally designed to 'feel' similar to\n" +"tools for interrogating SQL databases. For example, you can enter a query over\n" +"several lines, using a semi-colon at the end of a line to indicate the end of\n" +"your query. It also supports readline so that you can more easily recall and\n" +"edit previous queries, even across sessions. It can be used non-interactively,\n" +"for example from a shell script." +msgstr "" + +#: gnu/packages/databases.scm:964 +msgid "The SQLite database management system" +msgstr "" + +#: gnu/packages/databases.scm:966 +msgid "" +"SQLite is a software library that implements a self-contained, serverless,\n" +"zero-configuration, transactional SQL database engine. SQLite is the most\n" +"widely deployed SQL database engine in the world. The source code for SQLite\n" +"is in the public domain." +msgstr "" + +#: gnu/packages/databases.scm:1015 +msgid "Trivial database" +msgstr "" + +#: gnu/packages/databases.scm:1017 +msgid "" +"TDB is a Trivial Database. In concept, it is very much like GDBM,\n" +"and BSD's DB except that it allows multiple simultaneous writers and uses\n" +"locking internally to keep writers from trampling on each other. TDB is also\n" +"extremely small." +msgstr "" + +#: gnu/packages/databases.scm:1036 +msgid "Database independent interface for Perl" +msgstr "" + +#: gnu/packages/databases.scm:1037 +msgid "This package provides an database interface for Perl." +msgstr "" + +#: gnu/packages/databases.scm:1085 +msgid "Extensible and flexible object <-> relational mapper" +msgstr "" + +#: gnu/packages/databases.scm:1086 +msgid "" +"An SQL to OO mapper with an object API inspired by\n" +"Class::DBI (with a compatibility layer as a springboard for porting) and a\n" +"resultset API that allows abstract encapsulation of database operations. It\n" +"aims to make representing queries in your code as perl-ish as possible while\n" +"still providing access to as many of the capabilities of the database as\n" +"possible, including retrieving related records from multiple tables in a\n" +"single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",\n" +"\"ORDER BY\" and \"HAVING\" support." +msgstr "" + +#: gnu/packages/databases.scm:1117 +msgid "Cursor with built-in caching support" +msgstr "" + +#: gnu/packages/databases.scm:1118 +msgid "" +"DBIx::Class::Cursor::Cached provides a cursor class with\n" +"built-in caching support." +msgstr "" + +#: gnu/packages/databases.scm:1140 +msgid "Introspect many-to-many relationships" +msgstr "" + +#: gnu/packages/databases.scm:1141 +msgid "" +"Because the many-to-many relationships are not real\n" +"relationships, they can not be introspected with DBIx::Class. Many-to-many\n" +"relationships are actually just a collection of convenience methods installed\n" +"to bridge two relationships. This DBIx::Class component can be used to store\n" +"all relevant information about these non-relationships so they can later be\n" +"introspected and examined." +msgstr "" + +#: gnu/packages/databases.scm:1199 +msgid "Create a DBIx::Class::Schema based on a database" +msgstr "" + +#: gnu/packages/databases.scm:1200 +msgid "" +"DBIx::Class::Schema::Loader automates the definition of a\n" +"DBIx::Class::Schema by scanning database table definitions and setting up the\n" +"columns, primary keys, unique constraints and relationships." +msgstr "" + +#: gnu/packages/databases.scm:1224 +msgid "DBI PostgreSQL interface" +msgstr "" + +#: gnu/packages/databases.scm:1225 +msgid "" +"This package provides a PostgreSQL driver for the Perl5\n" +"@dfn{Database Interface} (DBI)." +msgstr "" + +#: gnu/packages/databases.scm:1249 +msgid "DBI MySQL interface" +msgstr "" + +#: gnu/packages/databases.scm:1250 +msgid "" +"This package provides a MySQL driver for the Perl5\n" +"@dfn{Database Interface} (DBI)." +msgstr "" + +#: gnu/packages/databases.scm:1269 +msgid "SQlite interface for Perl" +msgstr "" + +#: gnu/packages/databases.scm:1270 +msgid "" +"DBD::SQLite is a Perl DBI driver for SQLite, that includes\n" +"the entire thing in the distribution. So in order to get a fast transaction\n" +"capable RDBMS working for your Perl project you simply have to install this\n" +"module, and nothing else." +msgstr "" + +#: gnu/packages/databases.scm:1301 +msgid "Generate SQL from Perl data structures" +msgstr "" + +#: gnu/packages/databases.scm:1302 +msgid "" +"This module was inspired by the excellent DBIx::Abstract.\n" +"While based on the concepts used by DBIx::Abstract, the concepts used have\n" +"been modified to make the SQL easier to generate from Perl data structures.\n" +"The underlying idea is for this module to do what you mean, based on the data\n" +"structures you provide it, so that you don't have to modify your code every\n" +"time your data changes." +msgstr "" + +#: gnu/packages/databases.scm:1331 +msgid "Split SQL code into atomic statements" +msgstr "" + +#: gnu/packages/databases.scm:1332 +msgid "" +"This module tries to split any SQL code, even including\n" +"non-standard extensions, into the atomic statements it is composed of." +msgstr "" + +#: gnu/packages/databases.scm:1350 +msgid "SQL tokenizer" +msgstr "" + +#: gnu/packages/databases.scm:1351 +msgid "" +"SQL::Tokenizer is a tokenizer for SQL queries. It does not\n" +"claim to be a parser or query verifier. It just creates sane tokens from a\n" +"valid SQL query." +msgstr "" + +#: gnu/packages/databases.scm:1369 +msgid "Data source abstraction library" +msgstr "" + +#: gnu/packages/databases.scm:1370 +msgid "" +"Unixodbc is a library providing an API with which to access\n" +"data sources. Data sources include SQL Servers and any software with an ODBC\n" +"Driver." +msgstr "" + +#: gnu/packages/databases.scm:1394 +msgid "In-memory key/value and document store" +msgstr "" + +#: gnu/packages/databases.scm:1396 +msgid "" +"UnQLite is an in-process software library which implements a\n" +"self-contained, serverless, zero-configuration, transactional NoSQL\n" +"database engine. UnQLite is a document store database similar to\n" +"MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store\n" +"similar to BerkeleyDB, LevelDB, etc." +msgstr "" + +#: gnu/packages/databases.scm:1424 +msgid "Key-value cache and store" +msgstr "" + +#: gnu/packages/databases.scm:1425 +msgid "" +"Redis is an advanced key-value cache and store. Redis\n" +"supports many data structures including strings, hashes, lists, sets, sorted\n" +"sets, bitmaps and hyperloglogs." +msgstr "" + +#: gnu/packages/databases.scm:1452 +msgid "Kyoto Cabinet is a modern implementation of the DBM database" +msgstr "" + +#: gnu/packages/databases.scm:1454 +msgid "" +"Kyoto Cabinet is a standalone file-based database that supports Hash\n" +"and B+ Tree data storage models. It is a fast key-value lightweight\n" +"database and supports many programming languages. It is a NoSQL database." +msgstr "" + +#: gnu/packages/databases.scm:1480 +msgid "Tokyo Cabinet is a modern implementation of the DBM database" +msgstr "" + +#: gnu/packages/databases.scm:1482 +msgid "" +"Tokyo Cabinet is a library of routines for managing a database.\n" +"The database is a simple data file containing records, each is a pair of a\n" +"key and a value. Every key and value is serial bytes with variable length.\n" +"Both binary data and character string can be used as a key and a value.\n" +"There is neither concept of data tables nor data types. Records are\n" +"organized in hash table, B+ tree, or fixed-length array." +msgstr "" + +#: gnu/packages/databases.scm:1517 +msgid "NoSQL data engine" +msgstr "" + +#: gnu/packages/databases.scm:1519 +msgid "" +"WiredTiger is an extensible platform for data management. It supports\n" +"row-oriented storage (where all columns of a row are stored together),\n" +"column-oriented storage (where columns are stored in groups, allowing for\n" +"more efficient access and storage of column subsets) and log-structured merge\n" +"trees (LSM), for sustained throughput under random insert workloads." +msgstr "" + +#: gnu/packages/databases.scm:1570 +msgid "Wired Tiger bindings for GNU Guile" +msgstr "" + +#: gnu/packages/databases.scm:1572 +msgid "" +"This package provides Guile bindings to the WiredTiger ``NoSQL''\n" +"database." +msgstr "" + +#: gnu/packages/databases.scm:1604 +msgid "Perl5 access to Berkeley DB version 1.x" +msgstr "" + +#: gnu/packages/databases.scm:1606 +msgid "The DB::File module provides Perl bindings to the Berkeley DB version 1.x." +msgstr "" + +#: gnu/packages/databases.scm:1633 +msgid "Lightning Memory-Mapped Database library" +msgstr "" + +#: gnu/packages/databases.scm:1635 +msgid "" +"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance\n" +"transactional database. Unlike more complex relational databases, LMDB handles\n" +"only key-value pairs (stored as arbitrary byte arrays) and relies on the\n" +"underlying operating system for caching and locking, keeping the code small and\n" +"simple.\n" +"The use of ‘zero-copy’ memory-mapped files combines the persistence of classic\n" +"disk-based databases with high read performance that scales linearly over\n" +"multiple cores. The size of each database is limited only by the size of the\n" +"virtual address space — not physical RAM." +msgstr "" + +#: gnu/packages/databases.scm:1672 +msgid "C++ connector for PostgreSQL" +msgstr "" + +#: gnu/packages/databases.scm:1674 +msgid "" +"Libpqxx is a C++ library to enable user programs to communicate with the\n" +"PostgreSQL database back-end. The database back-end can be local or it may be\n" +"on another machine, accessed via TCP/IP." +msgstr "" + +#: gnu/packages/databases.scm:1697 +msgid "Small object-relational mapping utility" +msgstr "" + +#: gnu/packages/databases.scm:1699 +msgid "" +"Peewee is a simple and small ORM (object-relation mapping) tool. Peewee\n" +"handles converting between pythonic values and those used by databases, so you\n" +"can use Python types in your code without having to worry. It has built-in\n" +"support for sqlite, mysql and postgresql. If you already have a database, you\n" +"can autogenerate peewee models using @code{pwiz}, a model generator." +msgstr "" + +#: gnu/packages/databases.scm:1746 +msgid "Library providing transparent encryption of SQLite database files" +msgstr "" + +#: gnu/packages/databases.scm:1747 +msgid "" +"SQLCipher is an implementation of SQLite, extended to\n" +"provide transparent 256-bit AES encryption of database files. Pages are\n" +"encrypted before being written to disk and are decrypted when read back. It’s\n" +"well suited for protecting embedded application databases and for mobile\n" +"development." +msgstr "" + +#: gnu/packages/databases.scm:1779 gnu/packages/databases.scm:1806 +msgid "Python ODBC Library" +msgstr "Python ODBC 库" + +#: gnu/packages/databases.scm:1780 +msgid "" +"@code{python-pyodbc-c} provides a Python DB-API driver\n" +"for ODBC." +msgstr "" + +#: gnu/packages/databases.scm:1807 +msgid "" +"@code{python-pyodbc} provides a Python DB-API driver\n" +"for ODBC." +msgstr "" + +#: gnu/packages/databases.scm:1844 +msgid "Read Microsoft Access databases" +msgstr "" + +#: gnu/packages/databases.scm:1845 +msgid "" +"MDB Tools is a set of tools and applications to read the\n" +"proprietary MDB file format used in Microsoft's Access database package. This\n" +"includes programs to export schema and data from Microsoft's Access database\n" +"file format to other databases such as MySQL, Oracle, Sybase, PostgreSQL,\n" +"etc., and an SQL engine for performing simple SQL queries." +msgstr "" + +#: gnu/packages/databases.scm:1886 +msgid "Python binding for the ‘Lightning’ database (LMDB)" +msgstr "" + +#: gnu/packages/databases.scm:1888 +msgid "" +"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning\n" +"Memory-Mapped Database} (LMDB), a high-performance key-value store." +msgstr "" + +#: gnu/packages/databases.scm:1942 +msgid "ActiveRecord ORM for Python" +msgstr "" + +#: gnu/packages/databases.scm:1944 +msgid "" +"Orator provides a simple ActiveRecord-like Object Relational Mapping\n" +"implementation for Python." +msgstr "" + +#: gnu/packages/databases.scm:1971 +msgid "Multi-model database system" +msgstr "" + +#: gnu/packages/databases.scm:1972 +msgid "" +"Virtuoso is a scalable cross-platform server that combines\n" +"relational, graph, and document data management with web application server\n" +"and web services platform functionality." +msgstr "" + +#: gnu/packages/databases.scm:2000 +msgid "Database interface and MySQL driver for R" +msgstr "" + +#: gnu/packages/databases.scm:2002 +msgid "" +"This package provides a DBI interface to MySQL / MariaDB. The RMySQL\n" +"package contains an old implementation based on legacy code from S-PLUS which\n" +"is being phased out. A modern MySQL client based on Rcpp is available from\n" +"the RMariaDB package." +msgstr "" + +#: gnu/packages/databases.scm:2027 +msgid "" +"Cassandra Cluster Manager for Apache Cassandra clusters on\n" +"localhost" +msgstr "" + +#: gnu/packages/databases.scm:2029 +msgid "" +"Cassandra Cluster Manager is a development tool for testing\n" +"local Cassandra clusters. It creates, launches and removes Cassandra clusters\n" +"on localhost." +msgstr "" + +#: gnu/packages/databases.scm:2055 +msgid "SQLite bindings for Python" +msgstr "" + +#: gnu/packages/databases.scm:2057 +msgid "" +"Pysqlite provides SQLite bindings for Python that comply to the\n" +"Database API 2.0T." +msgstr "" + +#: gnu/packages/databases.scm:2084 +msgid "Database abstraction library" +msgstr "" + +#: gnu/packages/databases.scm:2086 +msgid "" +"SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that\n" +"gives application developers the full power and flexibility of SQL. It\n" +"provides a full suite of well known enterprise-level persistence patterns,\n" +"designed for efficient and high-performing database access, adapted into a\n" +"simple and Pythonic domain language." +msgstr "" + +#: gnu/packages/databases.scm:2125 +msgid "Various utility functions for SQLAlchemy" +msgstr "" + +#: gnu/packages/databases.scm:2127 +msgid "" +"SQLAlchemy-utils provides various utility functions and custom data types\n" +"for SQLAlchemy. SQLAlchemy is an SQL database abstraction library for Python.\n" +"\n" +"You might also want to install the following optional dependencies:\n" +"@enumerate\n" +"@item @code{python-passlib}\n" +"@item @code{python-babel}\n" +"@item @code{python-cryptography}\n" +"@item @code{python-pytz}\n" +"@item @code{python-psycopg2}\n" +"@item @code{python-furl}\n" +"@item @code{python-flask-babel}\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/databases.scm:2168 +msgid "Database migration tool for SQLAlchemy" +msgstr "" + +#: gnu/packages/databases.scm:2170 +msgid "" +"Alembic is a lightweight database migration tool for usage with the\n" +"SQLAlchemy Database Toolkit for Python." +msgstr "" + +#: gnu/packages/databases.scm:2192 +msgid "Tiny key value database with concurrency support" +msgstr "" + +#: gnu/packages/databases.scm:2194 +msgid "" +"PickleShare is a small ‘shelve’-like datastore with concurrency support.\n" +"Like shelve, a PickleShareDB object acts like a normal dictionary. Unlike\n" +"shelve, many processes can access the database simultaneously. Changing a\n" +"value in database is immediately visible to other processes accessing the same\n" +"database. Concurrency is possible because the values are stored in separate\n" +"files. Hence the “database” is a directory where all files are governed by\n" +"PickleShare." +msgstr "" + +#: gnu/packages/databases.scm:2239 +msgid "Another Python SQLite Wrapper" +msgstr "" + +#: gnu/packages/databases.scm:2240 +msgid "" +"APSW is a Python wrapper for the SQLite\n" +"embedded relational database engine. In contrast to other wrappers such as\n" +"pysqlite it focuses on being a minimal layer over SQLite attempting just to\n" +"translate the complete SQLite API into Python." +msgstr "" + +#: gnu/packages/databases.scm:2264 +msgid "Neo4j driver code written in Python" +msgstr "" + +#: gnu/packages/databases.scm:2265 +msgid "" +"This package provides the Neo4j Python driver that connects\n" +"to the database using Neo4j's binary protocol. It aims to be minimal, while\n" +"being idiomatic to Python." +msgstr "" + +#: gnu/packages/databases.scm:2284 +msgid "Library and toolkit for working with Neo4j in Python" +msgstr "" + +#: gnu/packages/databases.scm:2285 +msgid "" +"This package provides a client library and toolkit for\n" +"working with Neo4j from within Python applications and from the command\n" +"line. The core library has no external dependencies and has been carefully\n" +"designed to be easy and intuitive to use." +msgstr "" + +#: gnu/packages/databases.scm:2310 +msgid "Python PostgreSQL adapter" +msgstr "" + +#: gnu/packages/databases.scm:2312 +msgid "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. " +msgstr "" + +#: gnu/packages/databases.scm:2335 +msgid "SQLAlchemy schema displayer" +msgstr "" + +#: gnu/packages/databases.scm:2336 +msgid "" +"This package provides a program to build Entity\n" +"Relationship diagrams from a SQLAlchemy model (or directly from the\n" +"database)." +msgstr "" + +#: gnu/packages/databases.scm:2366 +msgid "MySQLdb is an interface to the popular MySQL database server for Python" +msgstr "" + +#: gnu/packages/databases.scm:2367 +msgid "" +"MySQLdb is an interface to the popular MySQL database server\n" +"for Python. The design goals are:\n" +"@enumerate\n" +"@item Compliance with Python database API version 2.0 [PEP-0249],\n" +"@item Thread-safety,\n" +"@item Thread-friendliness (threads will not block each other).\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/databases.scm:2395 +msgid "Python extension that wraps protocol parsing code in hiredis" +msgstr "" + +#: gnu/packages/databases.scm:2396 +msgid "" +"Python-hiredis is a python extension that wraps protocol\n" +"parsing code in hiredis. It primarily speeds up parsing of multi bulk replies." +msgstr "" + +#: gnu/packages/databases.scm:2419 +msgid "Fake implementation of redis API for testing purposes" +msgstr "" + +#: gnu/packages/databases.scm:2420 +msgid "" +"Fakeredis is a pure python implementation of the redis-py\n" +"python client that simulates talking to a redis server. This was created for a\n" +"single purpose: to write unittests. Setting up redis is not hard, but many time\n" +" you want to write unittests that do not talk to an external server (such as\n" +"redis). This module now allows tests to simply use this module as a reasonable\n" +"substitute for redis." +msgstr "" + +#: gnu/packages/databases.scm:2448 +msgid "Redis Python client" +msgstr "" + +#: gnu/packages/databases.scm:2450 +msgid "This package provides a Python interface to the Redis key-value store." +msgstr "" + +#: gnu/packages/databases.scm:2471 +msgid "Simple job queues for Python" +msgstr "" + +#: gnu/packages/databases.scm:2473 +msgid "" +"RQ (Redis Queue) is a simple Python library for queueing jobs and\n" +"processing them in the background with workers. It is backed by Redis and it\n" +"is designed to have a low barrier to entry." +msgstr "" + +#: gnu/packages/databases.scm:2496 +msgid "Port of asyncio-redis to trollius" +msgstr "" + +#: gnu/packages/databases.scm:2497 +msgid "" +"@code{trollius-redis} is a Redis client for Python\n" +" trollius. It is an asynchronious IO (PEP 3156) implementation of the\n" +" Redis protocol." +msgstr "" + +#: gnu/packages/databases.scm:2524 +msgid "Non-validating SQL parser" +msgstr "" + +#: gnu/packages/databases.scm:2525 +msgid "" +"Sqlparse is a non-validating SQL parser for Python. It\n" +"provides support for parsing, splitting and formatting SQL statements." +msgstr "" + +#: gnu/packages/databases.scm:2545 +msgid "Library to write SQL queries in a pythonic way" +msgstr "" + +#: gnu/packages/databases.scm:2546 +msgid "" +"@code{python-sql} is a library to write SQL queries, that\n" +"transforms idiomatic python function calls to well-formed SQL queries." +msgstr "" + +#: gnu/packages/debug.scm:80 +msgid "Heuristical file minimizer" +msgstr "" + +#: gnu/packages/debug.scm:82 +msgid "" +"Delta assists you in minimizing \"interesting\" files subject to a test\n" +"of their interestingness. A common such situation is when attempting to\n" +"isolate a small failure-inducing substring of a large input that causes your\n" +"program to exhibit a bug." +msgstr "" + +#: gnu/packages/debug.scm:137 +msgid "Reducer for interesting code" +msgstr "" + +#: gnu/packages/debug.scm:139 +msgid "" +"C-Reduce is a tool that takes a large C or C++ program that has a\n" +"property of interest (such as triggering a compiler bug) and automatically\n" +"produces a much smaller C/C++ program that has the same property. It is\n" +"intended for use by people who discover and report bugs in compilers and other\n" +"tools that process C/C++ code." +msgstr "" + +#: gnu/packages/debug.scm:268 +msgid "Security-oriented fuzzer" +msgstr "" + +#: gnu/packages/debug.scm:270 +msgid "" +"American fuzzy lop is a security-oriented fuzzer that employs a novel\n" +"type of compile-time instrumentation and genetic algorithms to automatically\n" +"discover clean, interesting test cases that trigger new internal states in the\n" +"targeted binary. This substantially improves the functional coverage for the\n" +"fuzzed code. The compact synthesized corpora produced by the tool are also\n" +"useful for seeding other, more labor- or resource-intensive testing regimes\n" +"down the road." +msgstr "" + +#: gnu/packages/debug.scm:328 +msgid "Expose race conditions in Makefiles" +msgstr "" + +#: gnu/packages/debug.scm:330 +msgid "" +"Stress Make is a customized GNU Make that explicitely manages the order\n" +"in which concurrent jobs are run to provoke erroneous behavior into becoming\n" +"manifest. It can run jobs in the order in which they're launched, in backwards\n" +"order, or in random order. The thought is that if code builds correctly with\n" +"Stress Make, then it is likely that the @code{Makefile} contains no race\n" +"conditions." +msgstr "" + +#: gnu/packages/debug.scm:357 +msgid "Transparent application input fuzzer" +msgstr "" + +#: gnu/packages/debug.scm:358 +msgid "" +"Zzuf is a transparent application input fuzzer. It works by\n" +"intercepting file operations and changing random bits in the program's\n" +"input. Zzuf's behaviour is deterministic, making it easy to reproduce bugs." +msgstr "" + +#: gnu/packages/dejagnu.scm:77 +msgid "GNU software testing framework" +msgstr "" + +#: gnu/packages/dejagnu.scm:79 +msgid "" +"DejaGnu is a framework for testing software. In effect, it serves as\n" +"a front-end for all tests written for a program. Thus, each program can have\n" +"multiple test suites, which are then all managed by a single harness." +msgstr "" + +#: gnu/packages/games.scm:164 +msgid "Tron clone in 3D" +msgstr "" + +#: gnu/packages/games.scm:165 +msgid "" +"Armagetron is a multiplayer game in 3d that attempts to\n" +"emulate and expand on the lightcycle sequence from the movie Tron. It's\n" +"an old school arcade game slung into the 21st century. Highlights include\n" +"a customizable playing arena, HUD, unique graphics, and AI bots. For the\n" +"more advanced player there are new game modes and a wide variety of physics\n" +"settings to tweak as well." +msgstr "" + +#: gnu/packages/games.scm:238 +msgid "Survival horror roguelike video game" +msgstr "" + +#: gnu/packages/games.scm:240 +msgid "" +"Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.\n" +"Struggle to survive in a harsh, persistent, procedurally generated world.\n" +"Scavenge the remnants of a dead civilization for food, equipment, or, if you are\n" +"lucky, a vehicle with a full tank of gas to get you out of Dodge. Fight to\n" +"defeat or escape from a wide variety of powerful monstrosities, from zombies to\n" +"giant insects to killer robots and things far stranger and deadlier, and against\n" +"the others like yourself, that want what you have." +msgstr "" + +#: gnu/packages/games.scm:281 +msgid "Speaking cow text filter" +msgstr "" + +#: gnu/packages/games.scm:282 +msgid "" +"Cowsay is basically a text filter. Send some text into it,\n" +"and you get a cow saying your text. If you think a talking cow isn't enough,\n" +"cows can think too: all you have to do is run @command{cowthink}. If you're\n" +"tired of cows, a variety of other ASCII-art messengers are available." +msgstr "" + +#: gnu/packages/games.scm:348 +msgid "Free content game based on the Doom engine" +msgstr "" + +#: gnu/packages/games.scm:350 +msgid "" +"The Freedoom project aims to create a complete free content first person\n" +"shooter game. Freedoom by itself is just the raw material for a game: it must\n" +"be paired with a compatible game engine (such as @code{prboom-plus}) to be\n" +"played. Freedoom complements the Doom engine with free levels, artwork, sound\n" +"effects and music to make a completely free game." +msgstr "" + +#: gnu/packages/games.scm:381 +msgid "Backgammon game" +msgstr "" + +#: gnu/packages/games.scm:382 +msgid "" +"The GNU backgammon application can be used for playing, analyzing and\n" +"teaching the game. It has an advanced evaluation engine based on artificial\n" +"neural networks suitable for both beginners and advanced players. In\n" +"addition to a command-line interface, it also features an attractive, 3D\n" +"representation of the playing board." +msgstr "" + +#: gnu/packages/games.scm:411 +msgid "3d Rubik's cube game" +msgstr "" + +#: gnu/packages/games.scm:413 +msgid "" +"GNUbik is a puzzle game in which you must manipulate a cube to make\n" +"each of its faces have a uniform color. The game is customizable, allowing\n" +"you to set the size of the cube (the default is 3x3) or to change the colors.\n" +"You may even apply photos to the faces instead of colors. The game is\n" +"scriptable with Guile." +msgstr "" + +#: gnu/packages/games.scm:435 +msgid "The game of Shogi (Japanese chess)" +msgstr "" + +#: gnu/packages/games.scm:436 +msgid "" +"GNU Shogi is a program that plays the game Shogi (Japanese\n" +"Chess). It is similar to standard chess but this variant is far more complicated." +msgstr "" + +#: gnu/packages/games.scm:467 +msgid "Tetris clone based on the SDL library" +msgstr "" + +#: gnu/packages/games.scm:469 +msgid "" +"LTris is a tetris clone: differently shaped blocks are falling down the\n" +"rectangular playing field and can be moved sideways or rotated by 90 degree\n" +"units with the aim of building lines without gaps which then disappear (causing\n" +"any block above the deleted line to fall down). LTris has three game modes: In\n" +"Classic you play until the stack of blocks reaches the top of the playing field\n" +"and no new blocks can enter. In Figures the playing field is reset to a new\n" +"figure each level and later on tiles and lines suddenly appear. In Multiplayer\n" +"up to three players (either human or CPU) compete with each other sending\n" +"removed lines to all opponents. There is also a Demo mode in which you can\n" +"watch your CPU playing while enjoying a cup of tea!" +msgstr "" + +#: gnu/packages/games.scm:520 +msgid "Version of the classic 3D shoot'em'up game Doom" +msgstr "" + +#: gnu/packages/games.scm:522 +msgid "PrBoom+ is a Doom source port developed from the original PrBoom project." +msgstr "" + +#: gnu/packages/games.scm:569 +msgid "Action platformer game" +msgstr "" + +#: gnu/packages/games.scm:571 +msgid "" +"ReTux is an action platformer loosely inspired by the Mario games,\n" +"utilizing the art assets from the @code{SuperTux} project." +msgstr "" + +#: gnu/packages/games.scm:600 +msgid "User interface for gnushogi" +msgstr "gnushogi 的用户界面" + +#: gnu/packages/games.scm:601 +msgid "A graphical user interface for the package @code{gnushogi}." +msgstr "" + +#: gnu/packages/games.scm:650 +msgid "GNU/Linux port of the indie game \"l'Abbaye des Morts\"" +msgstr "" + +#: gnu/packages/games.scm:651 +msgid "" +"L'Abbaye des Morts is a 2D platform game set in 13th century\n" +"France. The Cathars, who preach about good Christian beliefs, were being\n" +"expelled by the Catholic Church out of the Languedoc region in France. One of\n" +"them, called Jean Raymond, found an old church in which to hide, not knowing\n" +"that beneath its ruins lay buried an ancient evil." +msgstr "" + +#: gnu/packages/games.scm:703 +msgid "Dungeon exploration roguelike" +msgstr "" + +#: gnu/packages/games.scm:704 +msgid "" +"Angband is a Classic dungeon exploration roguelike. Explore\n" +"the depths below Angband, seeking riches, fighting monsters, and preparing to\n" +"fight Morgoth, the Lord of Darkness." +msgstr "" + +#: gnu/packages/games.scm:744 +msgid "Lemmings clone" +msgstr "" + +#: gnu/packages/games.scm:746 +msgid "" +"Pingus is a free Lemmings-like puzzle game in which the player takes\n" +"command of a bunch of small animals and has to guide them through levels.\n" +"Since the animals walk on their own, the player can only influence them by\n" +"giving them commands, like build a bridge, dig a hole, or redirect all animals\n" +"in the other direction. Multiple such commands are necessary to reach the\n" +"level's exit. The game is presented in a 2D side view." +msgstr "" + +#: gnu/packages/games.scm:768 +msgid "Convert English text to humorous dialects" +msgstr "" + +#: gnu/packages/games.scm:769 +msgid "" +"The GNU Talk Filters are programs that convert English text\n" +"into stereotyped or otherwise humorous dialects. The filters are provided as\n" +"a C library, so they can easily be integrated into other programs." +msgstr "" + +#: gnu/packages/games.scm:801 +msgid "Simulate the display from \"The Matrix\"" +msgstr "" + +#: gnu/packages/games.scm:802 +msgid "" +"CMatrix simulates the display from \"The Matrix\" and is\n" +"based on the screensaver from the movie's website. It works with terminal\n" +"settings up to 132x300 and can scroll lines all at the same rate or\n" +"asynchronously and at a user-defined speed." +msgstr "" + +#: gnu/packages/games.scm:822 +msgid "Full chess implementation" +msgstr "" + +#: gnu/packages/games.scm:823 +msgid "" +"GNU Chess is a chess engine. It allows you to compete\n" +"against the computer in a game of chess, either through the default terminal\n" +"interface or via an external visual interface such as GNU XBoard." +msgstr "" + +#: gnu/packages/games.scm:851 +msgid "Twisted adventures of young pig farmer Dink Smallwood" +msgstr "" + +#: gnu/packages/games.scm:853 +msgid "" +"GNU FreeDink is a free and portable re-implementation of the engine\n" +"for the role-playing game Dink Smallwood. It supports not only the original\n" +"game data files but it also supports user-produced game mods or \"D-Mods\".\n" +"To that extent, it also includes a front-end for managing all of your D-Mods." +msgstr "" + +#: gnu/packages/games.scm:878 +msgid "Game data for GNU Freedink" +msgstr "" + +#: gnu/packages/games.scm:880 +msgid "This package contains the game data of GNU Freedink." +msgstr "" + +#: gnu/packages/games.scm:932 +msgid "Graphical user interface for chess programs" +msgstr "" + +#: gnu/packages/games.scm:933 +msgid "" +"GNU XBoard is a graphical board for all varieties of chess,\n" +"including international chess, xiangqi (Chinese chess), shogi (Japanese chess)\n" +"and Makruk. Several lesser-known variants are also supported. It presents a\n" +"fully interactive graphical interface and it can load and save games in the\n" +"Portable Game Notation." +msgstr "" + +#: gnu/packages/games.scm:986 +msgid "Ball and paddle game" +msgstr "" + +#: gnu/packages/games.scm:987 +msgid "" +"XBoing is a blockout type game where you have a paddle which\n" +"you control to bounce a ball around the game zone destroying blocks with a\n" +"proton ball. Each block carries a different point value. The more blocks you\n" +"destroy, the better your score. The person with the highest score wins." +msgstr "" + +#: gnu/packages/games.scm:1019 +msgid "Typing tutor" +msgstr "" + +#: gnu/packages/games.scm:1021 +msgid "" +"GNU Typist is a universal typing tutor. It can be used to learn and\n" +"practice touch-typing. Several tutorials are included; in addition to\n" +"tutorials for the standard QWERTY layout, there are also tutorials for the\n" +"alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials\n" +"are primarily in English, however some in other languages are provided." +msgstr "" + +#: gnu/packages/games.scm:1068 +msgid "3D game engine written in C++" +msgstr "" + +#: gnu/packages/games.scm:1070 +msgid "" +"The Irrlicht Engine is a high performance realtime 3D engine written in\n" +"C++. Features include an OpenGL renderer, extensible materials, scene graph\n" +"management, character animation, particle and other special effects, support\n" +"for common mesh file formats, and collision detection." +msgstr "" + +#: gnu/packages/games.scm:1122 +msgid "2D space shooter" +msgstr "" + +#: gnu/packages/games.scm:1124 +msgid "" +"M.A.R.S. is a 2D space shooter with pretty visual effects and\n" +"attractive physics. Players can battle each other or computer controlled\n" +"enemies in different game modes such as space ball, death match, team death\n" +"match, cannon keep, and grave-itation pit." +msgstr "" + +#: gnu/packages/games.scm:1165 +msgid "Main game data for the Minetest game engine" +msgstr "" + +#: gnu/packages/games.scm:1167 +msgid "Game data for the Minetest infinite-world block sandox game." +msgstr "" + +#: gnu/packages/games.scm:1219 +msgid "Infinite-world block sandbox game" +msgstr "" + +#: gnu/packages/games.scm:1221 +msgid "" +"Minetest is a sandbox construction game. Players can create and destroy\n" +"various types of blocks in a three-dimensional open world. This allows\n" +"forming structures in every possible creation, on multiplayer servers or as a\n" +"single player. Mods and texture packs allow players to personalize the game\n" +"in different ways." +msgstr "" + +#: gnu/packages/games.scm:1260 +msgid "Curses Implementation of the Glk API" +msgstr "" + +#: gnu/packages/games.scm:1262 +msgid "" +"Glk defines a portable API for applications with text UIs. It was\n" +"primarily designed for interactive fiction, but it should be suitable for many\n" +"interactive text utilities, particularly those based on a command line.\n" +"This is an implementation of the Glk library which runs in a terminal window,\n" +"using the @code{curses.h} library for screen control." +msgstr "" + +#: gnu/packages/games.scm:1300 +msgid "Interpreter for Glulx VM" +msgstr "" + +#: gnu/packages/games.scm:1302 +msgid "" +"Glulx is a 32-bit portable virtual machine intended for writing and\n" +"playing interactive fiction. It was designed by Andrew Plotkin to relieve\n" +"some of the restrictions in the venerable Z-machine format. This is the\n" +"reference interpreter, using the Glk API." +msgstr "" + +#: gnu/packages/games.scm:1339 +msgid "Z-machine interpreter" +msgstr "" + +#: gnu/packages/games.scm:1341 +msgid "" +"Fizmo is a console-based Z-machine interpreter. It is used to play\n" +"interactive fiction, also known as text adventures, which were implemented\n" +"either by Infocom or created using the Inform compiler." +msgstr "" + +#: gnu/packages/games.scm:1395 +msgid "Reference frontend for the libretro API" +msgstr "" + +#: gnu/packages/games.scm:1397 +msgid "" +"Libretro is a simple but powerful development interface that allows for\n" +"the easy creation of emulators, games and multimedia applications that can plug\n" +"straight into any libretro-compatible frontend. RetroArch is the official\n" +"reference frontend for the libretro API, currently used by most as a modular\n" +"multi-system game/emulator system." +msgstr "" + +#: gnu/packages/games.scm:1417 +msgid "Play the game of Go" +msgstr "" + +#: gnu/packages/games.scm:1419 +msgid "" +"GNU Go is a program that plays the game of Go, in which players\n" +"place stones on a grid to form territory or capture other stones. While\n" +"it can be played directly from the terminal, rendered in ASCII characters,\n" +"it is also possible to play GNU Go with 3rd party graphical interfaces or\n" +"even in Emacs. It supports the standard game storage format (SGF, Smart\n" +"Game Format) and inter-process communication format (GMP, Go Modem\n" +"Protocol)." +msgstr "" + +#: gnu/packages/games.scm:1447 +msgid "High speed arctic racing game based on Tux Racer" +msgstr "" + +#: gnu/packages/games.scm:1449 +msgid "" +"Extreme Tux Racer, or etracer as it is called for short, is\n" +"a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the\n" +"game is to slide down a snow- and ice-covered mountain as quickly as possible,\n" +"avoiding the trees and rocks that will slow you down.\n" +"\n" +"Collect herrings and other goodies while sliding down the hill, but avoid fish\n" +"bones.\n" +"\n" +"This game is based on the GPL version of the famous game TuxRacer." +msgstr "" + +#: gnu/packages/games.scm:1531 +msgid "3D kart racing game" +msgstr "" + +#: gnu/packages/games.scm:1532 +msgid "" +"SuperTuxKart is a 3D kart racing game, with a focus on\n" +"having fun over realism. You can play with up to 4 friends on one PC, racing\n" +"against each other or just trying to beat the computer; single-player mode is\n" +"also available." +msgstr "" + +#: gnu/packages/games.scm:1564 +msgid "Game of jumping to the next floor, trying not to fall" +msgstr "" + +#: gnu/packages/games.scm:1566 +msgid "" +"GNUjump is a simple, yet addictive game in which you must jump from\n" +"platform to platform to avoid falling, while the platforms drop at faster rates\n" +"the higher you go. The game features multiplayer, unlimited FPS, smooth floor\n" +"falling, themeable graphics and sounds, and replays." +msgstr "" + +#: gnu/packages/games.scm:1609 +msgid "Turn-based strategy game" +msgstr "" + +#: gnu/packages/games.scm:1611 +msgid "" +"The Battle for Wesnoth is a fantasy, turn based tactical strategy game,\n" +"with several single player campaigns, and multiplayer games (both networked and\n" +"local).\n" +"\n" +"Battle for control on a range of maps, using variety of units which have\n" +"advantages and disadvantages against different types of attacks. Units gain\n" +"experience and advance levels, and are carried over from one scenario to the\n" +"next campaign." +msgstr "" + +#: gnu/packages/games.scm:1655 +msgid "X86 emulator with CGA/EGA/VGA/etc. graphics and sound" +msgstr "" + +#: gnu/packages/games.scm:1656 +msgid "" +"DOSBox is a DOS-emulator that uses the SDL library. DOSBox\n" +"also emulates CPU:286/386 realmode/protected mode, Directory\n" +"FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a\n" +"SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with\n" +"older games." +msgstr "" + +#: gnu/packages/games.scm:1701 +msgid "Mouse and keyboard discovery for children" +msgstr "" + +#: gnu/packages/games.scm:1703 +msgid "" +"Gamine is a game designed for young children who are learning to use the\n" +"mouse and keyboard. The child uses the mouse to draw colored dots and lines\n" +"on the screen and keyboard to display letters." +msgstr "" + +#: gnu/packages/games.scm:1735 +msgid "Puzzle game with a cat in lead role" +msgstr "" + +#: gnu/packages/games.scm:1736 +msgid "" +"Project Raincat is a game developed by Carnegie Mellon\n" +"students through GCS during the Fall 2008 semester. Raincat features game\n" +"play inspired from classics Lemmings and The Incredible Machine. The project\n" +"proved to be an excellent learning experience for the programmers. Everything\n" +"is programmed in Haskell." +msgstr "" + +#: gnu/packages/games.scm:1770 +msgid "Client for 'The Mana World' and similar games" +msgstr "" + +#: gnu/packages/games.scm:1772 +msgid "" +"ManaPlus is a 2D MMORPG client for game servers. It is the only\n" +"fully supported client for @uref{http://www.themanaworld.org, The mana\n" +"world}, @uref{http://evolonline.org, Evol Online} and\n" +"@uref{http://landoffire.org, Land of fire}." +msgstr "" + +#: gnu/packages/games.scm:1822 +msgid "Nintendo 64 emulator core library" +msgstr "" + +#: gnu/packages/games.scm:1824 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"core library." +msgstr "" + +#: gnu/packages/games.scm:1868 gnu/packages/games.scm:1913 +#: gnu/packages/games.scm:1955 gnu/packages/games.scm:1997 +#: gnu/packages/games.scm:2313 +msgid "Mupen64Plus SDL input plugin" +msgstr "" + +#: gnu/packages/games.scm:1870 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"SDL audio plugin." +msgstr "" + +#: gnu/packages/games.scm:1915 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"SDL input plugin." +msgstr "" + +#: gnu/packages/games.scm:1957 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"high-level emulation (HLE) RSP processor plugin." +msgstr "" + +#: gnu/packages/games.scm:1999 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Z64 RSP processor plugin." +msgstr "" + +#: gnu/packages/games.scm:2043 gnu/packages/games.scm:2097 +#: gnu/packages/games.scm:2147 gnu/packages/games.scm:2195 +msgid "Mupen64Plus Rice Video plugin" +msgstr "" + +#: gnu/packages/games.scm:2045 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Arachnoid video plugin." +msgstr "" + +#: gnu/packages/games.scm:2099 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Glide64 video plugin." +msgstr "" + +#: gnu/packages/games.scm:2149 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Glide64MK2 video plugin." +msgstr "" + +#: gnu/packages/games.scm:2197 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Rice Video plugin." +msgstr "" + +#: gnu/packages/games.scm:2249 +msgid "Mupen64Plus Z64 video plugin" +msgstr "" + +#: gnu/packages/games.scm:2251 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"Z64 video plugin." +msgstr "" + +#: gnu/packages/games.scm:2315 +msgid "" +"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n" +"which is capable of accurately playing many games. This package contains the\n" +"command line user interface. Installing this package is the easiest way\n" +"towards a working Mupen64Plus for casual users." +msgstr "" + +#: gnu/packages/games.scm:2372 +msgid "Nintendo Entertainment System (NES/Famicom) emulator" +msgstr "" + +#: gnu/packages/games.scm:2374 +msgid "" +"Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment\n" +"System (NES/Famicom) emulator Nestopia, with enhancements from members of the\n" +"emulation community. It provides highly accurate emulation." +msgstr "" + +#: gnu/packages/games.scm:2404 +msgid "Video game console emulator front-end" +msgstr "" + +#: gnu/packages/games.scm:2405 +msgid "" +"EmulationStation provides a graphical front-end to a large\n" +"number of video game console emulators. It features an interface that is\n" +"usable with any game controller that has at least 4 buttons, theming support,\n" +"and a game metadata scraper." +msgstr "" + +#: gnu/packages/games.scm:2459 +msgid "Transportation economics simulator" +msgstr "" + +#: gnu/packages/games.scm:2460 +msgid "" +"OpenTTD is a game in which you transport goods and\n" +"passengers by land, water and air. It is a re-implementation of Transport\n" +"Tycoon Deluxe with many enhancements including multiplayer mode,\n" +"internationalization support, conditional orders and the ability to clone,\n" +"autoreplace and autoupdate vehicles. This package only includes the game\n" +"engine. When you start it you will be prompted to download a graphics set." +msgstr "" + +#: gnu/packages/games.scm:2517 +msgid "Base graphics set for OpenTTD" +msgstr "" + +#: gnu/packages/games.scm:2519 +msgid "" +"The OpenGFX projects is an implementation of the OpenTTD base grahics\n" +"set that aims to ensure the best possible out-of-the-box experience.\n" +"\n" +"OpenGFX provides you with...\n" +"@enumerate\n" +"@item All graphics you need to enjoy OpenTTD.\n" +"@item Uniquely drawn rail vehicles for every climate.\n" +"@item Completely snow-aware rivers.\n" +"@item Different river and sea water.\n" +"@item Snow-aware buoys.\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/games.scm:2564 +msgid "Base sounds for OpenTTD" +msgstr "" + +#: gnu/packages/games.scm:2565 +msgid "" +"OpenSFX is a set of free base sounds for OpenTTD which make\n" +"it possible to play OpenTTD without requiring the proprietary sound files from\n" +"the original Transport Tycoon Deluxe." +msgstr "" + +#: gnu/packages/games.scm:2602 +msgid "Music set for OpenTTD" +msgstr "" + +#: gnu/packages/games.scm:2603 +msgid "" +"OpenMSX is a music set for OpenTTD which makes it possible\n" +"to play OpenTTD without requiring the proprietary music from the original\n" +"Transport Tycoon Deluxe." +msgstr "" + +#: gnu/packages/games.scm:2681 +msgid "Free software re-implementation of RollerCoaster Tycoon 2" +msgstr "" + +#: gnu/packages/games.scm:2682 +msgid "" +"OpenRCT2 is a free software re-implementation of\n" +"RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and\n" +"maintaining an amusement park containing attractions, shops and facilities.\n" +"\n" +"Note that this package does @emph{not} provide the game assets (sounds,\n" +"images, etc.)" +msgstr "" + +#: gnu/packages/games.scm:2724 +msgid "Pinball simulator" +msgstr "" + +#: gnu/packages/games.scm:2725 +msgid "" +"The Emilia Pinball Project is a pinball simulator. There\n" +"are only two levels to play with, but they are very addictive." +msgstr "" + +#: gnu/packages/games.scm:2746 +msgid "Board game inspired by The Settlers of Catan" +msgstr "" + +#: gnu/packages/games.scm:2747 +msgid "" +"Pioneers is an emulation of the board game The Settlers of\n" +"Catan. It can be played on a local network, on the internet, and with AI\n" +"players." +msgstr "" + +#: gnu/packages/games.scm:2781 +msgid "Nintendo DS emulator" +msgstr "" + +#: gnu/packages/games.scm:2783 +msgid "DeSmuME is an emulator for the Nintendo DS handheld gaming console." +msgstr "" + +#: gnu/packages/games.scm:2821 gnu/packages/gnome.scm:2617 +msgid "Logic puzzle game" +msgstr "逻辑解谜游戏" + +#: gnu/packages/games.scm:2822 +msgid "" +"The goal of this logic game is to open all cards in a 6x6\n" +"grid, using a number of hints as to their relative position. The game idea\n" +"is attributed to Albert Einstein." +msgstr "" + +#: gnu/packages/games.scm:2851 +msgid "MUD and telnet client" +msgstr "" + +#: gnu/packages/games.scm:2853 +msgid "" +"POWWOW is a client software which can be used for telnet as well as for\n" +"@dfn{Multi-User Dungeon} (MUD). Additionally it can serve as a nice client for\n" +"the chat server psyced with the specific config located at\n" +"http://lavachat.symlynx.com/unix/" +msgstr "" + +#: gnu/packages/games.scm:3023 +msgid "Arena shooter derived from the Cube 2 engine" +msgstr "" + +#: gnu/packages/games.scm:3025 +msgid "" +"Red Eclipse is an arena shooter, created from the Cube2 engine.\n" +"Offering an innovative parkour system and distinct but all potent weapons,\n" +"Red Eclipse provides fast paced and accessible gameplay." +msgstr "" + +#: gnu/packages/games.scm:3119 +msgid "Nintendo multi-system emulator" +msgstr "" + +#: gnu/packages/games.scm:3121 +msgid "" +"higan (formerly bsnes) is an emulator for multiple Nintendo video game\n" +"consoles, including the Nintendo Entertainment System (NES/Famicom), Super\n" +"Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy\n" +"Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems\n" +"Super Game Boy, BS-X Satellaview, and Sufami Turbo." +msgstr "" + +#: gnu/packages/games.scm:3179 +msgid "Game Boy Advance emulator" +msgstr "" + +#: gnu/packages/games.scm:3181 +msgid "" +"mGBA is an emulator for running Game Boy Advance games. It aims to be\n" +"faster and more accurate than many existing Game Boy Advance emulators, as\n" +"well as adding features that other emulators lack. It also supports Game Boy\n" +"and Game Boy Color games." +msgstr "" + +#: gnu/packages/games.scm:3237 +msgid "Text adventure game" +msgstr "" + +#: gnu/packages/games.scm:3239 +msgid "" +"Grue Hunter is a text adventure game written in Perl. You must make\n" +"your way through an underground cave system in search of the Grue. Can you\n" +"capture it and get out alive?" +msgstr "" + +#: gnu/packages/games.scm:3281 +msgid "Old-school earthworm action game" +msgstr "" + +#: gnu/packages/games.scm:3283 +msgid "" +"lierolibre is an earthworm action game where you fight another player\n" +"(or the computer) underground using a wide array of weapons.\n" +"\n" +"Features:\n" +"@itemize\n" +"@item 2 worms, 40 weapons, great playability, two game modes: Kill'em All\n" +"and Game of Tag, plus AI-players without true intelligence!\n" +"@item Dat nostalgia.\n" +"@item Extensions via a hidden F1 menu:\n" +"@itemize\n" +"@item Replays\n" +"@item Game controller support\n" +"@item Powerlevel palettes\n" +"@end itemize\n" +"@item Ability to write game variables to plain text files.\n" +"@item Ability to load game variables from both EXE and plain text files.\n" +"@item Scripts to extract and repack graphics, sounds and levels.\n" +"@end itemize\n" +"\n" +"To switch between different window sizes, use F6, F7 and F8, to switch to\n" +"fullscreen, use F5 or Alt+Enter." +msgstr "" + +#: gnu/packages/games.scm:3358 +msgid "3D Real-time strategy and real-time tactics game" +msgstr "" + +#: gnu/packages/games.scm:3360 +msgid "" +"Warzone 2100 offers campaign, multi-player, and single-player skirmish\n" +"modes. An extensive tech tree with over 400 different technologies, combined\n" +"with the unit design system, allows for a wide variety of possible units and\n" +"tactics." +msgstr "" + +#: gnu/packages/games.scm:3393 +msgid "2D scrolling shooter game" +msgstr "" + +#: gnu/packages/games.scm:3395 +msgid "" +"In the year 2579, the intergalactic weapons corporation, WEAPCO, has\n" +"dominated the galaxy. Guide Chris Bainfield and his friend Sid Wilson on\n" +"their quest to liberate the galaxy from the clutches of WEAPCO. Along the\n" +"way, you will encounter new foes, make new allies, and assist local rebels\n" +"in strikes against the evil corporation." +msgstr "" + +#: gnu/packages/games.scm:3426 +msgid "Fast-paced, arcade-style, top-scrolling space shooter" +msgstr "" + +#: gnu/packages/games.scm:3428 +msgid "" +"In this game you are the captain of the cargo ship Chromium B.S.U. and\n" +"are responsible for delivering supplies to the troops on the front line. Your\n" +"ship has a small fleet of robotic fighters which you control from the relative\n" +"safety of the Chromium vessel." +msgstr "" + +#: gnu/packages/games.scm:3503 +msgid "Drawing software for children" +msgstr "" + +#: gnu/packages/games.scm:3505 +msgid "" +"Tux Paint is a free drawing program designed for young children (kids\n" +"ages 3 and up). It has a simple, easy-to-use interface; fun sound effects;\n" +"and an encouraging cartoon mascot who helps guide children as they use the\n" +"program. It provides a blank canvas and a variety of drawing tools to help\n" +"your child be creative." +msgstr "" + +#: gnu/packages/games.scm:3543 +msgid "Stamp images for Tux Paint" +msgstr "" + +#: gnu/packages/games.scm:3545 +msgid "" +"This package contains a set of \"Rubber Stamp\" images which can be used\n" +"with the \"Stamp\" tool within Tux Paint." +msgstr "" + +#: gnu/packages/games.scm:3592 +msgid "Configure Tux Paint" +msgstr "" + +#: gnu/packages/games.scm:3594 +msgid "Tux Paint Config is a graphical configuration editor for Tux Paint." +msgstr "" + +#: gnu/packages/games.scm:3626 +msgid "2D platformer game" +msgstr "" + +#: gnu/packages/games.scm:3627 +msgid "" +"SuperTux is a free classic 2D jump'n run sidescroller game\n" +"in a style similar to the original Super Mario games covered under\n" +"the GNU GPL." +msgstr "" + +#: gnu/packages/games.scm:3661 +msgid "MUD client" +msgstr "" + +#: gnu/packages/games.scm:3663 +msgid "" +"TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol),\n" +"MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs,\n" +"as well as those required to login via telnet on Linux / Mac OS X servers, and an\n" +"auto mapper with a VT100 map display." +msgstr "" + +#: gnu/packages/games.scm:3700 +msgid "Programming game" +msgstr "" + +#: gnu/packages/games.scm:3701 +msgid "" +"Learn programming, playing with ants and spider webs ;-)\n" +"Your robot ant can be programmed in many languages: OCaml, Python, C, C++,\n" +"Java, Ruby, Lua, JavaScript, Pascal, Perl, Scheme, Vala, Prolog. Experienced\n" +"programmers may also add their own favorite language." +msgstr "" + +#: gnu/packages/games.scm:3745 +msgid "Keyboard mashing and doodling game for babies" +msgstr "" + +#: gnu/packages/games.scm:3746 +msgid "" +"Bambam is a simple baby keyboard (and gamepad) masher\n" +"application that locks the keyboard and mouse and instead displays bright\n" +"colors, pictures, and sounds." +msgstr "" + +#: gnu/packages/games.scm:3789 +msgid "Arcade-style fire fighting game" +msgstr "" + +#: gnu/packages/games.scm:3791 +msgid "" +"Mr. Rescue is an arcade styled 2d action game centered around evacuating\n" +"civilians from burning buildings. The game features fast paced fire\n" +"extinguishing action, intense boss battles, a catchy soundtrack and lots of\n" +"throwing people around in pseudo-randomly generated buildings." +msgstr "" + +#: gnu/packages/games.scm:3898 +msgid "Non-euclidean graphical rogue-like game" +msgstr "" + +#: gnu/packages/games.scm:3900 +msgid "" +"HyperRogue is a game in which the player collects treasures and fights\n" +"monsters -- rogue-like but for the fact that it is played on the hyperbolic\n" +"plane and not in euclidean space.\n" +"\n" +"In HyperRogue, the player can move through different parts of the world, which\n" +"are home to particular creatures and may be subject to their own rules of\n" +"\"physics\".\n" +"\n" +"While the game can use ASCII characters to display the the classical rogue\n" +"symbols, it still needs graphics to render the non-euclidean world." +msgstr "" + +#: gnu/packages/games.scm:3943 +msgid "Shooter with space station destruction" +msgstr "" + +#: gnu/packages/games.scm:3945 +msgid "" +"Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game\n" +"for Un*x systems with X11." +msgstr "" + +#: gnu/packages/games.scm:3977 +msgid "Turn based empire building strategy game" +msgstr "" + +#: gnu/packages/games.scm:3978 +msgid "" +"Freeciv is a turn based empire building strategy game\n" +"inspired by the history of human civilization. The game commences in\n" +"prehistory and your mission is to lead your tribe from the Stone Age\n" +"to the Space Age." +msgstr "" + +#: gnu/packages/games.scm:4009 +msgid "Recreation of data decryption effect in \"Sneakers\"" +msgstr "" + +#: gnu/packages/games.scm:4011 +msgid "" +"@code{No More Secrets} provides a command line tool called \"nms\"\n" +"that recreates the famous data decryption effect seen on screen in the 1992\n" +"movie \"Sneakers\".\n" +"\n" +"This command works on piped data. Pipe any ASCII or UTF-8 text to nms, and\n" +"it will apply the hollywood effect, initially showing encrypted data, then\n" +"starting a decryption sequence to reveal the original plaintext characters." +msgstr "" + +#: gnu/packages/games.scm:4038 +msgid "Data files for MegaGlest" +msgstr "" + +#: gnu/packages/games.scm:4039 +msgid "This package contains the data files required for MegaGlest." +msgstr "" + +#: gnu/packages/games.scm:4092 +msgid "3D real-time strategy (RTS) game" +msgstr "" + +#: gnu/packages/games.scm:4093 +msgid "" +"MegaGlest is a cross-platform 3D real-time strategy (RTS)\n" +"game, where you control the armies of one of seven different factions: Tech,\n" +"Magic, Egypt, Indians, Norsemen, Persian or Romans." +msgstr "" + +#: gnu/packages/games.scm:4143 +msgid "Side-scrolling physics platformer with a ball of tar" +msgstr "" + +#: gnu/packages/games.scm:4144 +msgid "" +"In FreeGish you control Gish, a ball of tar who lives\n" +"happily with his girlfriend Brea, until one day a mysterious dark creature\n" +"emerges from a sewer hole and pulls her below ground." +msgstr "" + +#: gnu/packages/games.scm:4179 +msgid "Classic overhead run-and-gun game" +msgstr "" + +#: gnu/packages/games.scm:4180 +msgid "" +"C-Dogs SDL is a classic overhead run-and-gun game,\n" +"supporting up to 4 players in co-op and deathmatch modes. Customize your\n" +"player, choose from many weapons, and blast, slide and slash your way through\n" +"over 100 user-created campaigns." +msgstr "" + +#: gnu/packages/games.scm:4280 +msgid "3D puzzle game" +msgstr "" + +#: gnu/packages/games.scm:4281 +msgid "" +"Kiki the nano bot is a 3D puzzle game. It is basically a\n" +"mixture of the games Sokoban and Kula-World. Your task is to help Kiki, a\n" +"small robot living in the nano world, repair its maker." +msgstr "" + +#: gnu/packages/games.scm:4371 +msgid "2D retro multiplayer shooter game" +msgstr "" + +#: gnu/packages/games.scm:4372 +msgid "" +"Teeworlds is an online multiplayer game. Battle with up to\n" +"16 players in a variety of game modes, including Team Deathmatch and Capture\n" +"The Flag. You can even design your own maps!" +msgstr "" + +#: gnu/packages/games.scm:4425 +msgid "Puzzle game with a dexterity component" +msgstr "" + +#: gnu/packages/games.scm:4426 +msgid "" +"Enigma is a puzzle game with 550 unique levels. The object\n" +"of the game is to find and uncover pairs of identically colored ‘Oxyd’ stones.\n" +"Simple? Yes. Easy? Certainly not! Hidden traps, vast mazes, laser beams,\n" +"and most of all, countless hairy puzzles usually block your direct way to the\n" +"Oxyd stones. Enigma’s game objects (and there are hundreds of them, lest you\n" +"get bored) interact in many unexpected ways, and since many of them follow the\n" +"laws of physics (Enigma’s special laws of physics, that is), controlling them\n" +"with the mouse isn’t always trivial." +msgstr "" + +#: gnu/packages/games.scm:4497 +msgid "Puzzle game" +msgstr "" + +#: gnu/packages/games.scm:4498 +msgid "" +"Fish Fillets NG is strictly a puzzle game. The goal in\n" +"every of the seventy levels is always the same: find a safe way out. The fish\n" +"utter witty remarks about their surroundings, the various inhabitants of their\n" +"underwater realm quarrel among themselves or comment on the efforts of your\n" +"fish. The whole game is accompanied by quiet, comforting music." +msgstr "" + +#: gnu/packages/games.scm:4562 +msgid "Roguelike dungeon crawler game" +msgstr "" + +#: gnu/packages/games.scm:4563 +msgid "" +"Dungeon Crawl Stone Soup is a roguelike adventure through\n" +"dungeons filled with dangerous monsters in a quest to find the mystifyingly\n" +"fabulous Orb of Zot." +msgstr "" + +#: gnu/packages/games.scm:4609 +msgid "Graphical roguelike dungeon crawler game" +msgstr "" + +#: gnu/packages/games.scm:4639 +msgid "Cross-platform third-person action game" +msgstr "" + +#: gnu/packages/games.scm:4640 +msgid "" +"Lugaru is a third-person action game. The main character,\n" +"Turner, is an anthropomorphic rebel bunny rabbit with impressive combat skills.\n" +"In his quest to find those responsible for slaughtering his village, he uncovers\n" +"a far-reaching conspiracy involving the corrupt leaders of the rabbit republic\n" +"and the starving wolves from a nearby den. Turner takes it upon himself to\n" +"fight against their plot and save his fellow rabbits from slavery." +msgstr "" + +#: gnu/packages/games.scm:4691 +msgid "Data files for 0ad" +msgstr "" + +#: gnu/packages/games.scm:4692 +msgid "0ad-data provides the data files required by the game 0ad." +msgstr "" + +#: gnu/packages/games.scm:4814 +msgid "3D real-time strategy game of ancient warfare" +msgstr "" + +#: gnu/packages/games.scm:4815 +msgid "" +"0 A.D. is a real-time strategy (RTS) game of ancient\n" +"warfare. It's a historically-based war/economy game that allows players to\n" +"relive or rewrite the history of twelve ancient civilizations, each depicted\n" +"at their peak of economic growth and military prowess.\n" +"\n" +"0ad needs a window manager that supports 'Extended Window Manager Hints'." +msgstr "" + +#: gnu/packages/games.scm:4891 +msgid "Colossal Cave Adventure" +msgstr "" + +#: gnu/packages/games.scm:4892 +msgid "" +"The original Colossal Cave Adventure from 1976 was the\n" +"origin of all text adventures, dungeon-crawl (computer) games, and\n" +"computer-hosted roleplaying games. This is the last version released by\n" +"Crowther & Woods, its original authors, in 1995. It has been known as\n" +"\"adventure 2.5\" and \"430-point adventure\"." +msgstr "" + +#: gnu/packages/games.scm:4903 +msgid "Single-player, RPG roguelike game set in the world of Eyal" +msgstr "" + +#: gnu/packages/games.scm:5008 +msgid "" +"Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based\n" +"combat and advanced character building. Play as one of many unique races and\n" +"classes in the lore-filled world of Eyal, exploring random dungeons, facing\n" +"challenging battles, and developing characters with your own tailored mix of\n" +"abilities and powers. With a modern graphical and customisable interface,\n" +"intuitive mouse control, streamlined mechanics and deep, challenging combat,\n" +"Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century." +msgstr "" + +#: gnu/packages/gcc.scm:336 +msgid "GNU Compiler Collection" +msgstr "" + +#: gnu/packages/gcc.scm:338 +msgid "" +"GCC is the GNU Compiler Collection. It provides compiler front-ends\n" +"for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and\n" +"Go. It also includes runtime support libraries for these languages." +msgstr "" + +#: gnu/packages/gcc.scm:432 +msgid "" +"GCC is the GNU Compiler Collection. It provides compiler front-ends\n" +"for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.\n" +"It also includes runtime support libraries for these languages." +msgstr "" + +#: gnu/packages/gcc.scm:462 +msgid "GNU C++ standard library" +msgstr "" + +#: gnu/packages/gcc.scm:497 +msgid "Collection of subroutines used by various GNU programs" +msgstr "" + +#: gnu/packages/gcc.scm:682 +msgid "GNU libstdc++ documentation" +msgstr "" + +#: gnu/packages/gcc.scm:750 +msgid "Manipulating sets and relations of integer points bounded by linear constraints" +msgstr "" + +#: gnu/packages/gcc.scm:753 +msgid "" +"isl is a library for manipulating sets and relations of integer points\n" +"bounded by linear constraints. Supported operations on sets include\n" +"intersection, union, set difference, emptiness check, convex hull, (integer)\n" +"affine hull, integer projection, computing the lexicographic minimum using\n" +"parametric integer programming, coalescing and parametric vertex\n" +"enumeration. It also includes an ILP solver based on generalized basis\n" +"reduction, transitive closures on maps (which may encode infinite graphs),\n" +"dependence analysis and bounds on piecewise step-polynomials." +msgstr "" + +#: gnu/packages/gcc.scm:803 +msgid "Library to generate code for scanning Z-polyhedra" +msgstr "" + +#: gnu/packages/gcc.scm:805 +msgid "" +"CLooG is a free software library to generate code for scanning\n" +"Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that\n" +"reaches each integral point of one or more parameterized polyhedra.\n" +"CLooG has been originally written to solve the code generation problem\n" +"for optimizing compilers based on the polytope model. Nevertheless it\n" +"is used now in various area e.g., to build control automata for\n" +"high-level synthesis or to find the best polynomial approximation of a\n" +"function. CLooG may help in any situation where scanning polyhedra\n" +"matters. While the user has full control on generated code quality,\n" +"CLooG is designed to avoid control overhead and to produce a very\n" +"effective code." +msgstr "" + +#: gnu/packages/gcc.scm:860 +msgid "Reference manual for the C programming language" +msgstr "" + +#: gnu/packages/gcc.scm:862 +msgid "" +"This is a reference manual for the C programming language, as\n" +"implemented by the GNU C Compiler (gcc). As a reference, it is not intended\n" +"to be a tutorial of the language. Rather, it outlines all of the constructs\n" +"of the language. Library functions are not included." +msgstr "" + +#: gnu/packages/gettext.scm:98 +msgid "Tools and documentation for translation (used to build other packages)" +msgstr "" + +#: gnu/packages/gettext.scm:100 +msgid "" +"GNU Gettext is a package providing a framework for translating the\n" +"textual output of programs into multiple languages. It provides translators\n" +"with the means to create message catalogs, and a runtime library to load\n" +"translated messages from the catalogs. Nearly all GNU packages use Gettext." +msgstr "" + +#: gnu/packages/gettext.scm:130 +msgid "Tools and documentation for translation" +msgstr "" + +#: gnu/packages/gettext.scm:195 +msgid "Scripts to ease maintenance of translations" +msgstr "" + +#: gnu/packages/gettext.scm:197 +msgid "" +"The po4a (PO for anything) project goal is to ease translations (and\n" +"more interestingly, the maintenance of translations) using gettext tools on\n" +"areas where they were not expected like documentation." +msgstr "" + +#: gnu/packages/gimp.scm:60 +msgid "Image pixel format conversion library" +msgstr "" + +#: gnu/packages/gimp.scm:62 +msgid "" +"Babl is a dynamic, any to any, pixel format translation library.\n" +"It allows converting between different methods of storing pixels known as\n" +"pixel formats that have with different bitdepths and other data\n" +"representations, color models and component permutations.\n" +"\n" +"A vocabulary to formulate new pixel formats from existing primitives is\n" +"provided as well as the framework to add new color models and data types." +msgstr "" + +#: gnu/packages/gimp.scm:119 +msgid "Graph based image processing framework" +msgstr "" + +#: gnu/packages/gimp.scm:120 +msgid "" +"GEGL (Generic Graphics Library) provides infrastructure to\n" +"do demand based cached non destructive image editing on larger than RAM\n" +"buffers." +msgstr "" + +#: gnu/packages/gimp.scm:180 +msgid "GNU Image Manipulation Program" +msgstr "" + +#: gnu/packages/gimp.scm:182 +msgid "" +"GIMP is an application for image manipulation tasks such as photo\n" +"retouching, composition and authoring. It supports all common image formats\n" +"as well as specialized ones. It features a highly customizable interface\n" +"that is extensible via a plugin system." +msgstr "" + +#: gnu/packages/gimp.scm:230 +msgid "GIMP plug-in to edit image in fourier space" +msgstr "" + +#: gnu/packages/gimp.scm:232 +msgid "" +"This package provides a simple plug-in to apply the fourier transform on\n" +"an image, allowing you to work with the transformed image inside GIMP. You\n" +"can draw or apply filters in fourier space and get the modified image with an\n" +"inverse fourier transform." +msgstr "" + +#: gnu/packages/gnome.scm:200 +msgid "CD/DVD burning tool for Gnome" +msgstr "" + +#: gnu/packages/gnome.scm:201 +msgid "" +"Brasero is an application to burn CD/DVD for the Gnome\n" +"Desktop. It is designed to be as simple as possible and has some unique\n" +"features to enable users to create their discs easily and quickly." +msgstr "" + +#: gnu/packages/gnome.scm:276 +msgid "Simple backup tool, for regular encrypted backups" +msgstr "" + +#: gnu/packages/gnome.scm:278 +msgid "" +"Déjà Dup is a simple backup tool, for regular encrypted backups. It\n" +"uses duplicity as the backend, which supports incremental backups and storage\n" +"either on a local, or remote machine via a number of methods." +msgstr "" + +#: gnu/packages/gnome.scm:325 +msgid "Diagram creation for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:326 +msgid "" +"Dia can be used to draw different types of diagrams, and\n" +"includes support for UML static structure diagrams (class diagrams), entity\n" +"relationship modeling, and network diagrams. The program supports various file\n" +"formats like PNG, SVG, PDF and EPS." +msgstr "" + +#: gnu/packages/gnome.scm:382 +msgid "Library for accessing online service APIs" +msgstr "" + +#: gnu/packages/gnome.scm:384 +msgid "" +"libgdata is a GLib-based library for accessing online service APIs using\n" +"the GData protocol — most notably, Google's services. It provides APIs to\n" +"access the common Google services, and has full asynchronous support." +msgstr "" + +#: gnu/packages/gnome.scm:414 +msgid "GObject-based library for handling and rendering XPS documents" +msgstr "" + +#: gnu/packages/gnome.scm:416 +msgid "" +"libgxps is a GObject-based library for handling and rendering XPS\n" +"documents. This package also contains binaries that can convert XPS documents\n" +"to other formats." +msgstr "" + +#: gnu/packages/gnome.scm:436 +msgid "Bootstrap GNOME modules built from Git" +msgstr "" + +#: gnu/packages/gnome.scm:437 +msgid "" +"gnome-common contains various files needed to bootstrap\n" +"GNOME modules built from Git. It contains a common \"autogen.sh\" script that\n" +"can be used to configure a source directory checked out from Git and some\n" +"commonly used macros." +msgstr "" + +#: gnu/packages/gnome.scm:488 +msgid "Libgnome-desktop, gnome-about, and desktop-wide documents" +msgstr "" + +#: gnu/packages/gnome.scm:490 +msgid "" +"The libgnome-desktop library provides API shared by several applications\n" +"on the desktop, but that cannot live in the platform for various reasons.\n" +"There is no API or ABI guarantee, although we are doing our best to provide\n" +"stability. Documentation for the API is available with gtk-doc.\n" +"\n" +"The gnome-about program helps find which version of GNOME is installed." +msgstr "" + +#: gnu/packages/gnome.scm:523 +msgid "Documentation utilities for the Gnome project" +msgstr "" + +#: gnu/packages/gnome.scm:525 +msgid "" +"Gnome-doc-utils is a collection of documentation utilities for the\n" +"Gnome project. It includes xml2po tool which makes it easier to translate\n" +"and keep up to date translations of documentation." +msgstr "" + +#: gnu/packages/gnome.scm:564 +msgid "Disk management utility for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:565 +msgid "Disk management utility for GNOME." +msgstr "" + +#: gnu/packages/gnome.scm:608 +msgid "Libraries for displaying certificates and accessing key stores" +msgstr "" + +#: gnu/packages/gnome.scm:610 +msgid "" +"The GCR package contains libraries used for displaying certificates and\n" +"accessing key stores. It also provides the viewer for crypto files on the\n" +"GNOME Desktop." +msgstr "" + +#: gnu/packages/gnome.scm:639 +msgid "Accessing passwords from the GNOME keyring" +msgstr "" + +#: gnu/packages/gnome.scm:641 +msgid "Client library to access passwords from the GNOME keyring." +msgstr "" + +#: gnu/packages/gnome.scm:703 +msgid "Daemon to store passwords and encryption keys" +msgstr "" + +#: gnu/packages/gnome.scm:705 +msgid "" +"gnome-keyring is a program that keeps passwords and other secrets for\n" +"users. It is run as a daemon in the session, similar to ssh-agent, and other\n" +"applications locate it via an environment variable or D-Bus.\n" +"\n" +"The program can manage several keyrings, each with its own master password,\n" +"and there is also a session keyring which is never stored to disk, but\n" +"forgotten when the session ends." +msgstr "" + +#: gnu/packages/gnome.scm:774 +msgid "GNOME's document viewer" +msgstr "" + +#: gnu/packages/gnome.scm:776 +msgid "" +"Evince is a document viewer for multiple document formats. It\n" +"currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal\n" +"of Evince is to replace the multiple document viewers that exist\n" +"on the GNOME Desktop with a single simple application." +msgstr "" + +#: gnu/packages/gnome.scm:805 +msgid "GNOME settings for various desktop components" +msgstr "" + +#: gnu/packages/gnome.scm:807 +msgid "" +"Gsettings-desktop-schemas contains a collection of GSettings schemas\n" +"for settings shared by various components of the GNOME desktop." +msgstr "" + +#: gnu/packages/gnome.scm:841 +msgid "Utility to implement the Freedesktop Icon Naming Specification" +msgstr "" + +#: gnu/packages/gnome.scm:843 +msgid "" +"To help with the transition to the Freedesktop Icon Naming\n" +"Specification, the icon naming utility maps the icon names used by the\n" +"GNOME and KDE desktops to the icon names proposed in the specification." +msgstr "" + +#: gnu/packages/gnome.scm:874 +msgid "GNOME icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:876 +msgid "Icons for the GNOME desktop." +msgstr "" + +#: gnu/packages/gnome.scm:913 +msgid "Tango icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:914 +msgid "" +"This is an icon theme that follows the Tango visual\n" +"guidelines." +msgstr "" + +#: gnu/packages/gnome.scm:940 +msgid "Database of common MIME types" +msgstr "" + +#: gnu/packages/gnome.scm:942 +msgid "" +"The shared-mime-info package contains the core database of common types\n" +"and the update-mime-database command used to extend it. It requires glib2 to\n" +"be installed for building the update command. Additionally, it uses intltool\n" +"for translations, though this is only a dependency for the maintainers. This\n" +"database is translated at Transifex." +msgstr "" + +#: gnu/packages/gnome.scm:966 +msgid "Freedesktop icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:968 +msgid "Freedesktop icon theme." +msgstr "" + +#: gnu/packages/gnome.scm:996 +msgid "GNOME desktop notification library" +msgstr "" + +#: gnu/packages/gnome.scm:998 +msgid "" +"Libnotify is a library that sends desktop notifications to a\n" +"notification daemon, as defined in the Desktop Notifications spec. These\n" +"notifications can be used to inform the user about an event or display\n" +"some form of information without getting in the user's way." +msgstr "" + +#: gnu/packages/gnome.scm:1032 +msgid "GObject plugin system" +msgstr "" + +#: gnu/packages/gnome.scm:1034 +msgid "" +"Libpeas is a gobject-based plugin engine, targeted at giving every\n" +"application the chance to assume its own extensibility. It also has a set of\n" +"features including, but not limited to: multiple extension points; on-demand\n" +"(lazy) programming language support for C, Python and JS; simplicity of the\n" +"API." +msgstr "" + +#: gnu/packages/gnome.scm:1063 +msgid "OpenGL extension to GTK+" +msgstr "" + +#: gnu/packages/gnome.scm:1064 +msgid "" +"GtkGLExt is an OpenGL extension to GTK+. It provides\n" +"additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget\n" +"API add-ons to make GTK+ widgets OpenGL-capable." +msgstr "" + +#: gnu/packages/gnome.scm:1107 +msgid "GTK+ rapid application development tool" +msgstr "" + +#: gnu/packages/gnome.scm:1108 +msgid "" +"Glade is a rapid application development (RAD) tool to\n" +"enable quick & easy development of user interfaces for the GTK+ toolkit and\n" +"the GNOME desktop environment." +msgstr "" + +#: gnu/packages/gnome.scm:1136 +msgid "CSS2 parsing and manipulation library" +msgstr "" + +#: gnu/packages/gnome.scm:1138 +msgid "" +"Libcroco is a standalone CSS2 parsing and manipulation library.\n" +"The parser provides a low level event driven SAC-like API and a CSS object\n" +"model like API. Libcroco provides a CSS2 selection engine and an experimental\n" +"XML/CSS rendering engine." +msgstr "" + +#: gnu/packages/gnome.scm:1171 +msgid "GNOME's Structured File Library" +msgstr "" + +#: gnu/packages/gnome.scm:1173 +msgid "" +"Libgsf aims to provide an efficient extensible I/O abstraction for\n" +"dealing with different structured file formats." +msgstr "" + +#: gnu/packages/gnome.scm:1224 +msgid "Render SVG files using Cairo" +msgstr "" + +#: gnu/packages/gnome.scm:1226 +msgid "" +"Librsvg is a C library to render SVG files using the Cairo 2D graphics\n" +"library." +msgstr "" + +#: gnu/packages/gnome.scm:1250 +msgid "Create trees of CORBA Interface Definition Language files" +msgstr "" + +#: gnu/packages/gnome.scm:1251 +msgid "" +"Libidl is a library for creating trees of CORBA Interface\n" +"Definition Language (idl) files, which is a specification for defining\n" +"portable interfaces. libidl was initially written for orbit (the orb from the\n" +"GNOME project, and the primary means of libidl distribution). However, the\n" +"functionality was designed to be as reusable and portable as possible." +msgstr "" + +#: gnu/packages/gnome.scm:1291 +msgid "CORBA 2.4-compliant Object Request Broker" +msgstr "" + +#: gnu/packages/gnome.scm:1292 +msgid "" +"ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)\n" +"featuring mature C, C++ and Python bindings." +msgstr "" + +#: gnu/packages/gnome.scm:1339 +msgid "Framework for creating reusable components for use in GNOME applications" +msgstr "" + +#: gnu/packages/gnome.scm:1340 +msgid "" +"Bonobo is a framework for creating reusable components for\n" +"use in GNOME applications, built on top of CORBA." +msgstr "" + +#: gnu/packages/gnome.scm:1371 +msgid "Store application preferences" +msgstr "" + +#: gnu/packages/gnome.scm:1372 +msgid "" +"Gconf is a system for storing application preferences. It\n" +"is intended for user preferences; not arbitrary data storage." +msgstr "" + +#: gnu/packages/gnome.scm:1406 +msgid "Base MIME and Application database for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:1407 +msgid "" +"GNOME Mime Data is a module which contains the base MIME\n" +"and Application database for GNOME. The data stored by this module is\n" +"designed to be accessed through the MIME functions in GnomeVFS." +msgstr "" + +#: gnu/packages/gnome.scm:1450 +msgid "Access files and folders in GNOME applications" +msgstr "" + +#: gnu/packages/gnome.scm:1452 +msgid "" +"GnomeVFS is the core library used to access files and folders in GNOME\n" +"applications. It provides a file system abstraction which allows applications\n" +"to access local and remote files with a single consistent API." +msgstr "" + +#: gnu/packages/gnome.scm:1496 +msgid "Useful routines for building applications" +msgstr "" + +#: gnu/packages/gnome.scm:1497 +msgid "" +"The libgnome library provides a number of useful routines\n" +"for building modern applications, including session management, activation of\n" +"files and URIs, and displaying help." +msgstr "" + +#: gnu/packages/gnome.scm:1520 +msgid "2D drawing library" +msgstr "" + +#: gnu/packages/gnome.scm:1521 +msgid "" +"Libart is a 2D drawing library intended as a\n" +"high-quality vector-based 2D library with antialiasing and alpha composition." +msgstr "" + +#: gnu/packages/gnome.scm:1548 +msgid "Flexible widget for creating interactive structured graphics" +msgstr "" + +#: gnu/packages/gnome.scm:1549 +msgid "" +"The GnomeCanvas widget provides a flexible widget for\n" +"creating interactive structured graphics." +msgstr "" + +#: gnu/packages/gnome.scm:1573 +msgid "C++ bindings to the GNOME Canvas library" +msgstr "" + +#: gnu/packages/gnome.scm:1574 +msgid "C++ bindings to the GNOME Canvas library." +msgstr "" + +#: gnu/packages/gnome.scm:1605 +msgid "Additional widgets for applications" +msgstr "" + +#: gnu/packages/gnome.scm:1606 +msgid "" +"The libgnomeui library provides additional widgets for\n" +"applications. Many of the widgets from libgnomeui have already been\n" +"ported to GTK+." +msgstr "" + +#: gnu/packages/gnome.scm:1632 +msgid "Load glade interfaces and access the glade built widgets" +msgstr "" + +#: gnu/packages/gnome.scm:1633 +msgid "" +"Libglade is a library that provides interfaces for loading\n" +"graphical interfaces described in glade files and for accessing the\n" +"widgets built in the loading process." +msgstr "" + +#: gnu/packages/gnome.scm:1663 gnu/packages/gnome.scm:1695 +msgid "Printing framework for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:1665 +msgid "" +"GNOME-print was a printing framework for GNOME. It has been deprecated\n" +"since ca. 2006, when GTK+ itself incorporated printing support." +msgstr "" + +#: gnu/packages/gnome.scm:1739 +msgid "Some user interface controls using Bonobo" +msgstr "" + +#: gnu/packages/gnome.scm:1740 +msgid "" +"The Bonobo UI library provides a number of user interface\n" +"controls using the Bonobo component framework." +msgstr "" + +#: gnu/packages/gnome.scm:1765 +msgid "Window Navigator Construction Kit" +msgstr "" + +#: gnu/packages/gnome.scm:1767 +msgid "" +"Libwnck is the Window Navigator Construction Kit, a library for use in\n" +"writing pagers, tasklists, and more generally applications that are dealing\n" +"with window management. It tries hard to respect the Extended Window Manager\n" +"Hints specification (EWMH)." +msgstr "" + +#: gnu/packages/gnome.scm:1820 +msgid "Document-centric objects and utilities" +msgstr "" + +#: gnu/packages/gnome.scm:1821 +msgid "A GLib/GTK+ set of document-centric objects and utilities." +msgstr "" + +#: gnu/packages/gnome.scm:1905 +msgid "Spreadsheet application" +msgstr "" + +#: gnu/packages/gnome.scm:1907 +msgid "" +"GNUmeric is a GNU spreadsheet application, running under GNOME. It is\n" +"interoperable with other spreadsheet applications. It has a vast array of\n" +"features beyond typical spreadsheet functionality, such as support for linear\n" +"and non-linear solvers, statistical analysis, and telecommunication\n" +"engineering." +msgstr "" + +#: gnu/packages/gnome.scm:1947 +msgid "Default GNOME 3 themes" +msgstr "" + +#: gnu/packages/gnome.scm:1949 +msgid "The default GNOME 3 themes (Adwaita and some accessibility themes)." +msgstr "" + +#: gnu/packages/gnome.scm:1982 +msgid "Manage encryption keys and passwords in the GNOME keyring" +msgstr "" + +#: gnu/packages/gnome.scm:1984 +msgid "" +"Seahorse is a GNOME application for managing encryption keys and\n" +"passwords in the GNOME keyring." +msgstr "" + +#: gnu/packages/gnome.scm:2022 gnu/packages/gnome.scm:2258 +msgid "Compiler for the GObject type system" +msgstr "" + +#: gnu/packages/gnome.scm:2024 +msgid "" +"Vala is a programming language that aims to bring modern programming\n" +"language features to GNOME developers without imposing any additional runtime\n" +"requirements and without using a different ABI compared to applications and\n" +"libraries written in C." +msgstr "" + +#: gnu/packages/gnome.scm:2056 +msgid "Virtual Terminal Emulator" +msgstr "" + +#: gnu/packages/gnome.scm:2058 +msgid "" +"VTE is a library (libvte) implementing a terminal emulator widget for\n" +"GTK+, and a minimal sample application (vte) using that. Vte is mainly used in\n" +"gnome-terminal, but can also be used to embed a console/terminal in games,\n" +"editors, IDEs, etc." +msgstr "" + +#: gnu/packages/gnome.scm:2091 +msgid "Enhanced VTE terminal widget" +msgstr "" + +#: gnu/packages/gnome.scm:2093 +msgid "" +"VTE is a library (libvte) implementing a terminal emulator widget for\n" +"GTK+, this fork provides additional functions exposed for keyboard text\n" +"selection and URL hints." +msgstr "" + +#: gnu/packages/gnome.scm:2179 +msgid "Remote desktop viewer for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:2180 +msgid "" +"Vinagre is a remote display client supporting the VNC, SPICE\n" +"and RDP protocols." +msgstr "" + +#: gnu/packages/gnome.scm:2232 +msgid "Low-level GNOME configuration system" +msgstr "" + +#: gnu/packages/gnome.scm:2233 +msgid "" +"Dconf is a low-level configuration system. Its main purpose\n" +"is to provide a backend to GSettings on platforms that don't already have\n" +"configuration storage systems." +msgstr "" + +#: gnu/packages/gnome.scm:2260 +msgid "" +"JSON-GLib is a C library based on GLib providing serialization and\n" +"deserialization support for the JavaScript Object Notation (JSON) format\n" +"described by RFC 4627. It provides parser and generator GObject classes and\n" +"various wrappers for the complex data types employed by JSON, such as arrays\n" +"and objects." +msgstr "" + +#: gnu/packages/gnome.scm:2299 +msgid "High-level API for X Keyboard Extension" +msgstr "" + +#: gnu/packages/gnome.scm:2301 +msgid "" +"LibXklavier is a library providing high-level API for X Keyboard\n" +"Extension known as XKB. This library is intended to support XFree86 and other\n" +"commercial X servers. It is useful for creating XKB-related software (layout\n" +"indicators etc)." +msgstr "" + +#: gnu/packages/gnome.scm:2329 +msgid "Python bindings to librsvg" +msgstr "" + +#: gnu/packages/gnome.scm:2331 +msgid "" +"This packages provides Python bindings to librsvg, the SVG rendering\n" +"library." +msgstr "" + +#: gnu/packages/gnome.scm:2381 +msgid "Network-related GIO modules" +msgstr "" + +#: gnu/packages/gnome.scm:2383 +msgid "" +"This package contains various network related extensions for the GIO\n" +"library." +msgstr "" + +#: gnu/packages/gnome.scm:2414 +msgid "RESTful web api query library" +msgstr "" + +#: gnu/packages/gnome.scm:2416 +msgid "" +"This library was designed to make it easier to access web services that\n" +"claim to be \"RESTful\". It includes convenience wrappers for libsoup and\n" +"libxml to ease remote use of the RESTful API." +msgstr "" + +#: gnu/packages/gnome.scm:2539 +msgid "GLib-based HTTP Library" +msgstr "" + +#: gnu/packages/gnome.scm:2541 +msgid "" +"LibSoup is an HTTP client/server library for GNOME. It uses GObjects\n" +"and the GLib main loop, to integrate well with GNOME applications." +msgstr "" + +#: gnu/packages/gnome.scm:2587 +msgid "GObject bindings for \"Secret Service\" API" +msgstr "" + +#: gnu/packages/gnome.scm:2589 +msgid "" +"Libsecret is a GObject based library for storing and retrieving passwords\n" +"and other secrets. It communicates with the \"Secret Service\" using DBus." +msgstr "" + +#: gnu/packages/gnome.scm:2618 +msgid "" +"Five or More is a game where you try to align\n" +" five or more objects of the same color and shape causing them to disappear.\n" +" On every turn more objects will appear, until the board is full.\n" +" Try to last as long as possible." +msgstr "" + +#: gnu/packages/gnome.scm:2656 +msgid "Minesweeper game" +msgstr "" + +#: gnu/packages/gnome.scm:2658 +msgid "" +"Mines (previously gnomine) is a puzzle game where you locate mines\n" +"floating in an ocean using only your brain and a little bit of luck." +msgstr "" + +#: gnu/packages/gnome.scm:2689 +msgid "Japanese logic game" +msgstr "" + +#: gnu/packages/gnome.scm:2691 +msgid "" +"Sudoku is a Japanese logic game that exploded in popularity in 2005.\n" +"GNOME Sudoku is meant to have an interface as simple and unobstrusive as\n" +"possible while still providing features that make playing difficult Sudoku\n" +"more fun." +msgstr "" + +#: gnu/packages/gnome.scm:2737 +msgid "Terminal emulator" +msgstr "" + +#: gnu/packages/gnome.scm:2739 +msgid "" +"GNOME Terminal is a terminal emulator application for accessing a\n" +"UNIX shell environment which can be used to run programs available on\n" +"your system.\n" +"\n" +"It supports several profiles, multiple tabs and implements several\n" +"keyboard shortcuts." +msgstr "" + +#: gnu/packages/gnome.scm:2805 +msgid "Color management service" +msgstr "" + +#: gnu/packages/gnome.scm:2806 +msgid "" +"Colord is a system service that makes it easy to manage,\n" +"install and generate color profiles to accurately color manage input and\n" +"output devices." +msgstr "" + +#: gnu/packages/gnome.scm:2850 +msgid "Geolocation service" +msgstr "" + +#: gnu/packages/gnome.scm:2851 +msgid "" +"Geoclue is a D-Bus service that provides location\n" +"information. The primary goal of the Geoclue project is to make creating\n" +"location-aware applications as simple as possible, while the secondary goal is\n" +"to ensure that no application can access location information without explicit\n" +"permission from user." +msgstr "" + +#: gnu/packages/gnome.scm:2886 +msgid "Geocoding and reverse-geocoding library" +msgstr "" + +#: gnu/packages/gnome.scm:2888 +msgid "" +"geocode-glib is a convenience library for geocoding (finding longitude,\n" +"and latitude from an address) and reverse geocoding (finding an address from\n" +"coordinates) using the Nominatim service. geocode-glib caches requests for\n" +"faster results and to avoid unnecessary server load." +msgstr "" + +#: gnu/packages/gnome.scm:2941 +msgid "System daemon for managing power devices" +msgstr "" + +#: gnu/packages/gnome.scm:2943 +msgid "" +"UPower is an abstraction for enumerating power devices,\n" +"listening to device events and querying history and statistics. Any\n" +"application or service on the system can access the org.freedesktop.UPower\n" +"service via the system message bus." +msgstr "" + +#: gnu/packages/gnome.scm:3001 +msgid "Location, time zone, and weather library for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:3003 +msgid "" +"libgweather is a library to access weather information from online\n" +"services for numerous locations." +msgstr "" + +#: gnu/packages/gnome.scm:3054 +msgid "GNOME settings daemon" +msgstr "" + +#: gnu/packages/gnome.scm:3056 +msgid "" +"This package contains the daemon responsible for setting the various\n" +"parameters of a GNOME session and the applications that run under it. It\n" +"handles settings such keyboard layout, shortcuts, and accessibility, clipboard\n" +"settings, themes, mouse settings, and startup of other daemons." +msgstr "" + +#: gnu/packages/gnome.scm:3093 +msgid "Library to parse and save media playlists for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:3094 +msgid "" +"Totem-pl-parser is a GObjects-based library to parse and save\n" +"playlists in a variety of formats." +msgstr "" + +#: gnu/packages/gnome.scm:3128 +msgid "Solitaire card games" +msgstr "" + +#: gnu/packages/gnome.scm:3130 +msgid "" +"Aisleriot (also known as Solitaire or sol) is a collection of card games\n" +"which are easy to play with the aid of a mouse." +msgstr "" + +#: gnu/packages/gnome.scm:3154 +msgid "API documentation browser for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:3156 +msgid "" +"Devhelp is an API documentation browser for GTK+ and GNOME. It works\n" +"natively with GTK-Doc (the API reference system developed for GTK+ and used\n" +"throughout GNOME for API documentation)." +msgstr "" + +#: gnu/packages/gnome.scm:3223 +msgid "Object oriented GL/GLES Abstraction/Utility Layer" +msgstr "" + +#: gnu/packages/gnome.scm:3225 +msgid "" +"Cogl is a small library for using 3D graphics hardware to draw pretty\n" +"pictures. The API departs from the flat state machine style of OpenGL and is\n" +"designed to make it easy to write orthogonal components that can render\n" +"without stepping on each others toes." +msgstr "" + +#: gnu/packages/gnome.scm:3282 +msgid "Open GL based interactive canvas library" +msgstr "" + +#: gnu/packages/gnome.scm:3284 gnu/packages/gnome.scm:3313 +msgid "" +"Clutter is an Open GL based interactive canvas library, designed for\n" +"creating fast, mainly 2D single window applications such as media box UIs,\n" +"presentations, kiosk style applications and so on." +msgstr "" + +#: gnu/packages/gnome.scm:3311 +msgid "Open GL based interactive canvas library GTK+ widget" +msgstr "" + +#: gnu/packages/gnome.scm:3341 +msgid "Integration library for using GStreamer with Clutter" +msgstr "" + +#: gnu/packages/gnome.scm:3343 +msgid "" +"Clutter-Gst is an integration library for using GStreamer with Clutter.\n" +"It provides a GStreamer sink to upload frames to GL and an actor that\n" +"implements the ClutterGstPlayer interface using playbin. Clutter is an Open\n" +"GL based interactive canvas library." +msgstr "" + +#: gnu/packages/gnome.scm:3377 +msgid "C library providing a ClutterActor to display maps" +msgstr "" + +#: gnu/packages/gnome.scm:3379 +msgid "" +"libchamplain is a C library providing a ClutterActor to display maps.\n" +"It also provides a Gtk+ widget to display maps in Gtk+ applications. Python\n" +"and Perl bindings are also available. It supports numerous free map sources\n" +"such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free." +msgstr "" + +#: gnu/packages/gnome.scm:3410 +msgid "Object mapper from GObjects to SQLite" +msgstr "" + +#: gnu/packages/gnome.scm:3412 +msgid "" +"Gom provides an object mapper from GObjects to SQLite. It helps you\n" +"write applications that need to store structured data as well as make complex\n" +"queries upon that data." +msgstr "" + +#: gnu/packages/gnome.scm:3447 +msgid "Useful functionality shared among GNOME games" +msgstr "" + +#: gnu/packages/gnome.scm:3449 +msgid "" +"libgnome-games-support is a small library intended for internal use by\n" +"GNOME Games, but it may be used by others." +msgstr "" + +#: gnu/packages/gnome.scm:3477 +msgid "Sliding block puzzles" +msgstr "" + +#: gnu/packages/gnome.scm:3479 +msgid "" +"GNOME Klotski is a set of block sliding puzzles. The objective is to move\n" +"the patterned block to the area bordered by green markers. To do so, you will\n" +"need to slide other blocks out of the way. Complete each puzzle in as few moves\n" +"as possible!" +msgstr "" + +#: gnu/packages/gnome.scm:3532 +msgid "Framework for discovering and browsing media" +msgstr "" + +#: gnu/packages/gnome.scm:3534 gnu/packages/gnome.scm:3587 +msgid "" +"Grilo is a framework focused on making media discovery and browsing easy\n" +"for application developers." +msgstr "" + +#: gnu/packages/gnome.scm:3585 +msgid "Plugins for the Grilo media discovery library" +msgstr "" + +#: gnu/packages/gnome.scm:3683 +msgid "Simple media player for GNOME based on GStreamer" +msgstr "" + +#: gnu/packages/gnome.scm:3684 +msgid "" +"Totem is a simple yet featureful media player for GNOME\n" +"which can read a large number of file formats." +msgstr "" + +#: gnu/packages/gnome.scm:3774 +msgid "Music player for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:3775 +msgid "" +"Rhythmbox is a music playing application for GNOME. It\n" +"supports playlists, song ratings, and any codecs installed through gstreamer." +msgstr "" + +#: gnu/packages/gnome.scm:3825 +msgid "GNOME image viewer" +msgstr "" + +#: gnu/packages/gnome.scm:3826 +msgid "" +"Eye of GNOME is the GNOME image viewer. It\n" +"supports image conversion, rotation, and slideshows." +msgstr "" + +#: gnu/packages/gnome.scm:3848 +msgid "Extensions for the Eye of GNOME image viewer" +msgstr "" + +#: gnu/packages/gnome.scm:3860 +msgid "" +"This package provides plugins for the Eye of GNOME (EOG) image viewer,\n" +"notably:\n" +"\n" +"@itemize\n" +"@item @dfn{EXIF Display}, which displays camera (EXIF) information;\n" +"@item @dfn{Map}, which displays a map of where the picture was taken on the\n" +"side panel;\n" +"@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.\n" +"@end itemize\n" +msgstr "" + +#: gnu/packages/gnome.scm:3896 +msgid "GObject bindings for libudev" +msgstr "" + +#: gnu/packages/gnome.scm:3898 +msgid "" +"This library provides GObject bindings for libudev. It was originally\n" +"part of udev-extras, then udev, then systemd. It's now a project on its own." +msgstr "" + +#: gnu/packages/gnome.scm:3946 +msgid "Userspace virtual file system for GIO" +msgstr "" + +#: gnu/packages/gnome.scm:3948 +msgid "" +"GVFS is a userspace virtual file system designed to work with the I/O\n" +"abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support\n" +"to all applications using the GIO API. It also supports exposing the GVFS\n" +"mounts to non-GIO applications using FUSE.\n" +"\n" +"GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,\n" +"DAV, and others." +msgstr "" + +#: gnu/packages/gnome.scm:3994 +msgid "GLib binding for libusb1" +msgstr "" + +#: gnu/packages/gnome.scm:3996 +msgid "" +"GUsb is a GObject wrapper for libusb1 that makes it easy to do\n" +"asynchronous control, bulk and interrupt transfers with proper cancellation\n" +"and integration into a mainloop. This makes it easy to integrate low level\n" +"USB transfers with your high-level application or system daemon." +msgstr "" + +#: gnu/packages/gnome.scm:4047 +msgid "Document and image scanner" +msgstr "" + +#: gnu/packages/gnome.scm:4048 +msgid "" +"Simple Scan is an easy-to-use application, designed to let\n" +"users connect their scanner and quickly have the image/document in an\n" +"appropriate format. Simple Scan is basically a frontend for SANE - which is\n" +"the same backend as XSANE uses. This means that all existing scanners will\n" +"work and the interface is well tested." +msgstr "" + +#: gnu/packages/gnome.scm:4121 +msgid "Web browser for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:4123 +msgid "" +"Eolie is a new web browser for GNOME. It features Firefox sync support,\n" +"a secret password store, an adblocker, and a modern UI." +msgstr "" + +#: gnu/packages/gnome.scm:4170 +msgid "GNOME web browser" +msgstr "" + +#: gnu/packages/gnome.scm:4172 +msgid "" +"Epiphany is a GNOME web browser targeted at non-technical users. Its\n" +"principles are simplicity and standards compliance." +msgstr "" + +#: gnu/packages/gnome.scm:4228 +msgid "D-Bus debugger" +msgstr "" + +#: gnu/packages/gnome.scm:4230 +msgid "" +"D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces\n" +"of running programs and invoke methods on those interfaces." +msgstr "" + +#: gnu/packages/gnome.scm:4252 +msgid "XSL stylesheets for Yelp" +msgstr "" + +#: gnu/packages/gnome.scm:4254 +msgid "" +"Yelp-xsl contains XSL stylesheets that are used by the yelp help browser\n" +"to format Docbook and Mallard documents." +msgstr "" + +#: gnu/packages/gnome.scm:4285 +msgid "GNOME help browser" +msgstr "" + +#: gnu/packages/gnome.scm:4287 +msgid "" +"Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,\n" +"man, info, and HTML documents. It can locate documents according to the\n" +"freedesktop.org help system specification." +msgstr "" + +#: gnu/packages/gnome.scm:4315 +msgid "Yelp documentation tools" +msgstr "" + +#: gnu/packages/gnome.scm:4317 +msgid "" +"Yelp-tools is a collection of scripts and build utilities to help create,\n" +"manage, and publish documentation for Yelp and the web. Most of the heavy\n" +"lifting is done by packages like yelp-xsl and itstool. This package just\n" +"wraps things up in a developer-friendly way." +msgstr "" + +#: gnu/packages/gnome.scm:4354 +msgid "GObject collection library" +msgstr "" + +#: gnu/packages/gnome.scm:4356 +msgid "" +"Libgee is a utility library providing GObject-based interfaces and\n" +"classes for commonly used data structures." +msgstr "" + +#: gnu/packages/gnome.scm:4383 +msgid "GObject wrapper around the Exiv2 photo metadata library" +msgstr "" + +#: gnu/packages/gnome.scm:4385 +msgid "" +"Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It\n" +"allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP\n" +"metadata in photo and video files of various formats." +msgstr "" + +#: gnu/packages/gnome.scm:4429 +msgid "Photo manager for GNOME 3" +msgstr "" + +#: gnu/packages/gnome.scm:4431 +msgid "" +"Shotwell is a digital photo manager designed for the GNOME desktop\n" +"environment. It allows you to import photos from disk or camera, organize\n" +"them by keywords and events, view them in full-window or fullscreen mode, and\n" +"share them with others via social networking and more." +msgstr "" + +#: gnu/packages/gnome.scm:4472 +msgid "Graphical archive manager for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:4473 +msgid "" +"File Roller is an archive manager for the GNOME desktop\n" +"environment that allows users to view, unpack, and create compressed archives\n" +"such as gzip tarballs." +msgstr "" + +#: gnu/packages/gnome.scm:4551 +msgid "Session manager for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:4553 +msgid "" +"This package contains the GNOME session manager, as well as a\n" +"configuration program to choose applications starting on login." +msgstr "" + +#: gnu/packages/gnome.scm:4606 +msgid "Javascript bindings for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:4609 +msgid "" +"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey\n" +"javascript engine and the GObject introspection framework." +msgstr "" + +#: gnu/packages/gnome.scm:4668 +msgid "GNOME text editor" +msgstr "" + +#: gnu/packages/gnome.scm:4669 +msgid "" +"While aiming at simplicity and ease of use, gedit is a\n" +"powerful general purpose text editor." +msgstr "" + +#: gnu/packages/gnome.scm:4693 +msgid "Display graphical dialog boxes from shell scripts" +msgstr "" + +#: gnu/packages/gnome.scm:4696 +msgid "" +"Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you\n" +"to display dialog boxes from the commandline and shell scripts." +msgstr "" + +#: gnu/packages/gnome.scm:4790 +msgid "Window and compositing manager" +msgstr "" + +#: gnu/packages/gnome.scm:4793 +msgid "" +"Mutter is a window and compositing manager that displays and manages your\n" +"desktop via OpenGL. Mutter combines a sophisticated display engine using the\n" +"Clutter toolkit with solid window-management logic inherited from the Metacity\n" +"window manager." +msgstr "" + +#: gnu/packages/gnome.scm:4828 +msgid "Single sign-on framework for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:4831 +msgid "" +"GNOME Online Accounts provides interfaces so that applications and\n" +"libraries in GNOME can access the user's online accounts. It has providers for\n" +"Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft\n" +"Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos." +msgstr "" + +#: gnu/packages/gnome.scm:4889 +msgid "Store address books and calendars" +msgstr "" + +#: gnu/packages/gnome.scm:4892 +msgid "" +"This package provides a unified backend for programs that work with\n" +"contacts, tasks, and calendar information. It was originally developed for\n" +"Evolution (hence the name), but is now used by other packages as well." +msgstr "" + +#: gnu/packages/gnome.scm:4955 +msgid "Text entry and UI navigation application" +msgstr "" + +#: gnu/packages/gnome.scm:4958 +msgid "" +"Caribou is an input assistive technology intended for switch and pointer\n" +"users." +msgstr "" + +#: gnu/packages/gnome.scm:5075 +msgid "Network connection manager" +msgstr "" + +#: gnu/packages/gnome.scm:5078 +msgid "" +"NetworkManager is a system network service that manages your network\n" +"devices and connections, attempting to keep active network connectivity when\n" +"available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE\n" +"devices, and provides VPN integration with a variety of different VPN\n" +"services." +msgstr "" + +#: gnu/packages/gnome.scm:5112 +msgid "OpenVPN plug-in for NetworkManager" +msgstr "" + +#: gnu/packages/gnome.scm:5114 +msgid "" +"This extension of NetworkManager allows it to take care of connections\n" +"to virtual private networks (VPNs) via OpenVPN." +msgstr "" + +#: gnu/packages/gnome.scm:5136 +msgid "Database of broadband connection configuration" +msgstr "" + +#: gnu/packages/gnome.scm:5137 +msgid "Database of broadband connection configuration." +msgstr "" + +#: gnu/packages/gnome.scm:5171 +msgid "Applet for managing network connections" +msgstr "" + +#: gnu/packages/gnome.scm:5174 +msgid "" +"This package contains a systray applet for NetworkManager. It displays\n" +"the available networks and allows users to easily switch between them." +msgstr "" + +#: gnu/packages/gnome.scm:5199 +msgid "C++ wrapper for XML parser library libxml2" +msgstr "" + +#: gnu/packages/gnome.scm:5201 +msgid "" +"This package provides a C++ wrapper for the XML parser library\n" +"libxml2." +msgstr "" + +#: gnu/packages/gnome.scm:5337 +msgid "Display manager for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:5340 +msgid "" +"GNOME Display Manager is a system service that is responsible for\n" +"providing graphical log-ins and managing local and remote displays." +msgstr "" + +#: gnu/packages/gnome.scm:5364 +msgid "Portable system access library" +msgstr "" + +#: gnu/packages/gnome.scm:5367 +msgid "" +"LibGTop is a library to get system specific data such as CPU and memory\n" +"usage and information about running processes." +msgstr "" + +#: gnu/packages/gnome.scm:5397 +msgid "GNOME Bluetooth subsystem" +msgstr "" + +#: gnu/packages/gnome.scm:5400 +msgid "" +"This package contains tools for managing and manipulating Bluetooth\n" +"devices using the GNOME desktop." +msgstr "" + +#: gnu/packages/gnome.scm:5466 +msgid "Utilities to configure the GNOME desktop" +msgstr "" + +#: gnu/packages/gnome.scm:5469 +msgid "" +"This package contains configuration applets for the GNOME desktop,\n" +"allowing to set accessibility configuration, desktop fonts, keyboard and mouse\n" +"properties, sound setup, desktop theme and background, user interface\n" +"properties, screen resolution, and other GNOME parameters." +msgstr "" + +#: gnu/packages/gnome.scm:5554 +msgid "Desktop shell for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:5557 +msgid "" +"GNOME Shell provides core user interface functions for the GNOME desktop,\n" +"like switching to windows and launching applications." +msgstr "" + +#: gnu/packages/gnome.scm:5591 +msgid "VNC viewer widget for GTK+" +msgstr "" + +#: gnu/packages/gnome.scm:5593 +msgid "" +"GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing\n" +"applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.\n" +"GTK-VNC implements client side RFB protocol and authentication extensions such\n" +"as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions." +msgstr "" + +#: gnu/packages/gnome.scm:5621 +msgid "Archives integration support for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:5624 +msgid "" +"GNOME Autoar is a library which makes creating and extracting archives\n" +"easy, safe, and automatic." +msgstr "" + +#: gnu/packages/gnome.scm:5676 +msgid "Metadata database, indexer and search tool" +msgstr "" + +#: gnu/packages/gnome.scm:5679 +msgid "" +"Tracker is an advanced framework for first class objects with associated\n" +"metadata and tags. It provides a one stop solution for all metadata, tags,\n" +"shared object databases, search tools and indexing." +msgstr "" + +#: gnu/packages/gnome.scm:5728 +msgid "File manager for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:5731 +msgid "" +"Nautilus (Files) is a file manager designed to fit the GNOME desktop\n" +"design and behaviour, giving the user a simple way to navigate and manage its\n" +"files." +msgstr "" + +#: gnu/packages/gnome.scm:5759 +msgid "Disk usage analyzer for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:5761 +msgid "" +"Baobab (Disk Usage Analyzer) is a graphical application to analyse disk\n" +"usage in the GNOME desktop environment. It can easily scan device volumes or\n" +"a specific user-requested directory branch (local or remote). Once the scan\n" +"is complete it provides a graphical representation of each selected folder." +msgstr "" + +#: gnu/packages/gnome.scm:5785 +msgid "Background images for the GNOME desktop" +msgstr "" + +#: gnu/packages/gnome.scm:5787 +msgid "" +"GNOME backgrounds package contains a collection of graphics files which\n" +"can be used as backgrounds in the GNOME Desktop environment. Additionally,\n" +"the package creates the proper framework and directory structure so that you\n" +"can add your own files to the collection." +msgstr "" + +#: gnu/packages/gnome.scm:5820 +msgid "Take pictures of your screen" +msgstr "" + +#: gnu/packages/gnome.scm:5822 +msgid "" +"GNOME Screenshot is a utility used for taking screenshots of the entire\n" +"screen, a window or a user defined area of the screen, with optional\n" +"beautifying border effects." +msgstr "" + +#: gnu/packages/gnome.scm:5859 +msgid "Graphical editor for GNOME's dconf configuration system" +msgstr "" + +#: gnu/packages/gnome.scm:5861 +msgid "" +"Dconf-editor is a graphical tool for browsing and editing the dconf\n" +"configuration system for GNOME. It allows users to configure desktop\n" +"software that do not provide their own configuration interface." +msgstr "" + +#: gnu/packages/gnome.scm:5887 +msgid "Default MIME type associations for the GNOME desktop" +msgstr "" + +#: gnu/packages/gnome.scm:5889 +msgid "" +"Given many installed packages which might handle a given MIME type, a\n" +"user running the GNOME desktop probably has some preferences: for example,\n" +"that folders be opened by default by the Nautilus file manager, not the Baobab\n" +"disk usage analyzer. This package establishes that set of default MIME type\n" +"associations for GNOME." +msgstr "" + +#: gnu/packages/gnome.scm:5948 +msgid "The GNU desktop environment" +msgstr "" + +#: gnu/packages/gnome.scm:5951 +msgid "" +"GNOME is the graphical desktop for GNU. It includes a wide variety of\n" +"applications for browsing the web, editing text and images, creating\n" +"documents and diagrams, playing media, scanning, and much more." +msgstr "" + +#: gnu/packages/gnome.scm:6003 +msgid "Desktop recording program" +msgstr "" + +#: gnu/packages/gnome.scm:6004 +msgid "" +"Byzanz is a simple desktop recording program with a\n" +"command-line interface. It can record part or all of an X display for a\n" +"specified duration and save it as a GIF encoded animated image file." +msgstr "" + +#: gnu/packages/gnome.scm:6031 +msgid "GObject wrapper for libcanberra" +msgstr "" + +#: gnu/packages/gnome.scm:6033 +msgid "" +"GSound is a small library for playing system sounds. It's designed to be\n" +"used via GObject Introspection, and is a thin wrapper around the libcanberra C\n" +"library." +msgstr "" + +#: gnu/packages/gnome.scm:6060 +msgid "Library for accessing SkyDrive and Hotmail" +msgstr "" + +#: gnu/packages/gnome.scm:6062 +msgid "" +"Libzapojit is a GLib-based library for accessing online service APIs of\n" +"Microsoft SkyDrive and Hotmail, using their REST protocols." +msgstr "" + +#: gnu/packages/gnome.scm:6098 +msgid "GNOME's clock application" +msgstr "" + +#: gnu/packages/gnome.scm:6100 +msgid "" +"GNOME Clocks is a simple clocks application designed to fit the GNOME\n" +"desktop. It supports world clock, stop watch, alarms, and count down timer." +msgstr "" + +#: gnu/packages/gnome.scm:6132 +msgid "GNOME's calendar application" +msgstr "" + +#: gnu/packages/gnome.scm:6134 +msgid "" +"GNOME Calendar is a simple calendar application designed to fit the GNOME\n" +"desktop. It supports multiple calendars, month, week and year view." +msgstr "" + +#: gnu/packages/gnome.scm:6183 +msgid "GNOME's ToDo Application" +msgstr "" + +#: gnu/packages/gnome.scm:6185 +msgid "" +"GNOME To Do is a simplistic personal task manager designed to perfectly\n" +"fit the GNOME desktop." +msgstr "" + +#: gnu/packages/gnome.scm:6213 +msgid "Look up words in dictionary sources" +msgstr "" + +#: gnu/packages/gnome.scm:6215 +msgid "" +"GNOME Dictionary can look for the definition or translation of a word in\n" +"existing databases over the internet." +msgstr "" + +#: gnu/packages/gnome.scm:6261 +msgid "Customize advanced GNOME 3 options" +msgstr "" + +#: gnu/packages/gnome.scm:6264 +msgid "" +"GNOME Tweak Tool allows adjusting advanced configuration settings in\n" +"GNOME 3. This includes things like the fonts used in user interface elements,\n" +"alternative user interface themes, changes in window management behavior,\n" +"GNOME Shell appearance and extension, etc." +msgstr "" + +#: gnu/packages/gnome.scm:6291 +msgid "Extensions for GNOME Shell" +msgstr "" + +#: gnu/packages/gnome.scm:6292 +msgid "" +"GNOME Shell extensions modify and extend GNOME Shell\n" +"functionality and behavior." +msgstr "" + +#: gnu/packages/gnome.scm:6322 +msgid "A flat GTK+ theme with transparent elements" +msgstr "" + +#: gnu/packages/gnome.scm:6323 +msgid "" +"Arc is a flat theme with transparent elements for GTK 3, GTK\n" +"2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments\n" +"like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc." +msgstr "" + +#: gnu/packages/gnome.scm:6359 +msgid "Faba icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:6361 +msgid "" +"Faba is a minimal icon set used as a basis for other themes such as\n" +"Moka" +msgstr "" + +#: gnu/packages/gnome.scm:6385 +msgid "Moka icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:6386 +msgid "" +"Moka is a stylized desktop icon set, designed to be clear,\n" +"simple and consistent." +msgstr "" + +#: gnu/packages/gnome.scm:6416 +msgid "Arc icon theme" +msgstr "" + +#: gnu/packages/gnome.scm:6417 +msgid "" +"The Arc icon theme provides a set of icons matching the\n" +"style of the Arc GTK theme. Icons missing from the Arc theme are provided by\n" +"the Moka icon theme." +msgstr "" + +#: gnu/packages/gnome.scm:6449 +msgid "Library to aggregate data about people" +msgstr "" + +#: gnu/packages/gnome.scm:6450 +msgid "" +"Libfolks is a library that aggregates information about people\n" +"from multiple sources (e.g., Telepathy connection managers for IM contacts,\n" +"Evolution Data Server for local contacts, libsocialweb for web service contacts,\n" +"etc.) to create metacontacts. It's written in Vala, which generates C code when\n" +"compiled." +msgstr "" + +#: gnu/packages/gnome.scm:6485 +msgid "GLib/GObject wrapper for the Facebook API" +msgstr "" + +#: gnu/packages/gnome.scm:6486 +msgid "" +"This library allows you to use the Facebook API from\n" +"GLib/GObject code." +msgstr "" + +#: gnu/packages/gnome.scm:6514 +msgid "GNOME keyboard configuration library" +msgstr "" + +#: gnu/packages/gnome.scm:6516 +msgid "" +"Libgnomekbd is a keyboard configuration library for the GNOME desktop\n" +"environment, which can notably display keyboard layouts." +msgstr "" + +#: gnu/packages/gnome.scm:6550 +msgid "Library for writing single instance applications" +msgstr "" + +#: gnu/packages/gnome.scm:6552 +msgid "" +"Libunique is a library for writing single instance applications. If you\n" +"launch a single instance application twice, the second instance will either just\n" +"quit or will send a message to the running instance. Libunique makes it easy to\n" +"write this kind of application, by providing a base class, taking care of all\n" +"the IPC machinery needed to send messages to a running instance, and also\n" +"handling the startup notification side." +msgstr "" + +#: gnu/packages/gnome.scm:6585 +msgid "Desktop calculator" +msgstr "" + +#: gnu/packages/gnome.scm:6587 +msgid "" +"Calculator is an application that solves mathematical equations and\n" +"is suitable as a default application in a Desktop environment." +msgstr "" + +#: gnu/packages/gnome.scm:6612 +msgid "Virtual sticky note" +msgstr "" + +#: gnu/packages/gnome.scm:6614 +msgid "" +"Xpad is a sticky note that strives to be simple, fault tolerant,\n" +"and customizable. Xpad consists of independent pad windows, each is\n" +"basically a text box in which notes can be written." +msgstr "" + +#: gnu/packages/gnome.scm:6644 +msgid "Unicode character picker and font browser" +msgstr "" + +#: gnu/packages/gnome.scm:6646 +msgid "" +"This program allows you to browse through all the available Unicode\n" +"characters and categories for the installed fonts, and to examine their\n" +"detailed properties. It is an easy way to find the character you might\n" +"only know by its Unicode name or code point." +msgstr "" + +#: gnu/packages/gnome.scm:6676 +msgid "Web development studio" +msgstr "" + +#: gnu/packages/gnome.scm:6678 +msgid "" +"Bluefish is an editor targeted towards programmers and web developers,\n" +"with many options to write web sites, scripts and other code.\n" +"Bluefish supports many programming and markup languages." +msgstr "" + +#: gnu/packages/gnome.scm:6710 +msgid "Process viewer and system resource monitor for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:6712 +msgid "" +"GNOME System Monitor is a GNOME process viewer and system monitor with\n" +"an attractive, easy-to-use interface. It has features, such as a tree view\n" +"for process dependencies, icons for processes, the ability to hide processes,\n" +"graphical time histories of CPU/memory/swap usage and the ability to\n" +"kill/reinice processes." +msgstr "" + +#: gnu/packages/gnome.scm:6738 +msgid "Python client bindings for D-Bus AT-SPI" +msgstr "" + +#: gnu/packages/gnome.scm:6742 +msgid "" +"This package includes a python client library for the AT-SPI D-Bus\n" +"accessibility infrastructure." +msgstr "" + +#: gnu/packages/gnome.scm:6801 +msgid "Screen reader for individuals who are blind or visually impaired" +msgstr "" + +#: gnu/packages/gnome.scm:6804 +msgid "" +"Orca is a screen reader that provides access to the graphical desktop\n" +"via speech and refreshable braille. Orca works with applications and toolkits\n" +"that support the Assistive Technology Service Provider Interface (AT-SPI)." +msgstr "" + +#: gnu/packages/gnome.scm:6856 +msgid "GNOME's alternative spell checker" +msgstr "" + +#: gnu/packages/gnome.scm:6858 +msgid "" +"gspell provides a flexible API to add spell-checking to a GTK+\n" +"application. It provides a GObject API, spell-checking to text entries and\n" +"text views, and buttons to choose the language." +msgstr "" + +#: gnu/packages/gnome.scm:6900 +msgid "Project management software for the GNOME desktop" +msgstr "" + +#: gnu/packages/gnome.scm:6902 +msgid "" +"GNOME Planner is a project management tool based on the Work Breakdown\n" +"Structure (WBS). Its goal is to enable you to easily plan projects. Based on\n" +"the resources, tasks, and constraints that you define, Planner generates\n" +"various views into a project. For example, Planner can show a Gantt chart of\n" +"the project. It can show a detailed summary of tasks including their\n" +"duration, cost, and current progress. It can also show a report of resource\n" +"utilization that highlights under-utilized and over-utilized resources. These\n" +"views can be printed as PDF or PostScript files, or exported to HTML." +msgstr "" + +#: gnu/packages/gnome.scm:6980 +msgid "GNOME music playing application" +msgstr "" + +#: gnu/packages/gnome.scm:6982 +msgid "" +"Lollypop is a music player designed to play well with GNOME desktop.\n" +"Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information\n" +"from artists and tracks from the web. It also fetches cover artworks\n" +"automatically and it can stream songs from online music services and charts." +msgstr "" + +#: gnu/packages/gnome.scm:7009 +msgid "Video effects for Cheese and other GNOME applications" +msgstr "" + +#: gnu/packages/gnome.scm:7011 +msgid "" +"A collection of GStreamer video filters and effects to be used in\n" +"photo-booth-like software, such as Cheese." +msgstr "" + +#: gnu/packages/gnome.scm:7071 +msgid "Webcam photo booth software for GNOME" +msgstr "" + +#: gnu/packages/gnome.scm:7073 +msgid "" +"Cheese uses your webcam to take photos and videos. Cheese can also\n" +"apply fancy special effects and lets you share the fun with others." +msgstr "" + +#: gnu/packages/gnuzilla.scm:118 +msgid "Mozilla javascript engine" +msgstr "" + +#: gnu/packages/gnuzilla.scm:119 +msgid "" +"SpiderMonkey is Mozilla's JavaScript engine written\n" +"in C/C++." +msgstr "" + +#: gnu/packages/gnuzilla.scm:276 +msgid "Netscape API for system level and libc-like functions" +msgstr "" + +#: gnu/packages/gnuzilla.scm:277 +msgid "" +"Netscape Portable Runtime (NSPR) provides a\n" +"platform-neutral API for system level and libc-like functions. It is used\n" +"in the Mozilla clients." +msgstr "" + +#: gnu/packages/gnuzilla.scm:383 +msgid "Network Security Services" +msgstr "" + +#: gnu/packages/gnuzilla.scm:385 +msgid "" +"Network Security Services (@dfn{NSS}) is a set of libraries designed to\n" +"support cross-platform development of security-enabled client and server\n" +"applications. Applications built with NSS can support SSL v2 and v3, TLS,\n" +"PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other\n" +"security standards." +msgstr "" + +#: gnu/packages/gnuzilla.scm:767 +msgid "Entirely free browser derived from Mozilla Firefox" +msgstr "" + +#: gnu/packages/gnuzilla.scm:769 +msgid "" +"IceCat is the GNU version of the Firefox browser. It is entirely free\n" +"software, which does not recommend non-free plugins and addons. It also\n" +"features built-in privacy-protecting features." +msgstr "" + +#: gnu/packages/gtk.scm:97 +msgid "GNOME accessibility toolkit" +msgstr "" + +#: gnu/packages/gtk.scm:99 +msgid "" +"ATK provides the set of accessibility interfaces that are implemented\n" +"by other toolkits and applications. Using the ATK interfaces, accessibility\n" +"tools have full access to view and control running applications." +msgstr "" + +#: gnu/packages/gtk.scm:139 +msgid "2D graphics library" +msgstr "" + +#: gnu/packages/gtk.scm:141 +msgid "" +"Cairo is a 2D graphics library with support for multiple output devices.\n" +"Currently supported output targets include the X Window System (via both\n" +"Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file\n" +"output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.\n" +"\n" +"Cairo is designed to produce consistent output on all output media while\n" +"taking advantage of display hardware acceleration when available\n" +"eg. through the X Render Extension).\n" +"\n" +"The cairo API provides operations similar to the drawing operators of\n" +"PostScript and PDF. Operations in cairo including stroking and filling cubic\n" +"Bézier splines, transforming and compositing translucent images, and\n" +"antialiased text rendering. All drawing operations can be transformed by any\n" +"affine transformation (scale, rotation, shear, etc.)." +msgstr "" + +#: gnu/packages/gtk.scm:169 +msgid "2D graphics library (with X11 support)" +msgstr "" + +#: gnu/packages/gtk.scm:202 +msgid "OpenType text shaping engine" +msgstr "" + +#: gnu/packages/gtk.scm:204 +msgid "HarfBuzz is an OpenType text shaping engine." +msgstr "" + +#: gnu/packages/gtk.scm:235 +msgid "GNOME text and font handling library" +msgstr "" + +#: gnu/packages/gtk.scm:237 +msgid "" +"Pango is the core text and font handling library used in GNOME\n" +"applications. It has extensive support for the different writing systems\n" +"used throughout the world." +msgstr "" + +#: gnu/packages/gtk.scm:263 +msgid "Obsolete pango functions" +msgstr "" + +#: gnu/packages/gtk.scm:264 +msgid "" +"Pangox was a X backend to pango. It is now obsolete and no\n" +"longer provided by recent pango releases. pangox-compat provides the\n" +"functions which were removed." +msgstr "" + +#: gnu/packages/gtk.scm:301 +msgid "GTK+ widget for interactive graph-like environments" +msgstr "" + +#: gnu/packages/gtk.scm:303 +msgid "" +"Ganv is an interactive GTK+ widget for interactive “boxes and lines” or\n" +"graph-like environments, e.g. modular synths or finite state machine\n" +"diagrams." +msgstr "" + +#: gnu/packages/gtk.scm:371 +msgid "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget" +msgstr "" + +#: gnu/packages/gtk.scm:373 +msgid "" +"GtkSourceView is a portable C library that extends the standard GTK+\n" +"framework for multiline text editing with support for configurable syntax\n" +"highlighting, unlimited undo/redo, search and replace, a completion framework,\n" +"printing and other features typical of a source code editor." +msgstr "" + +#: gnu/packages/gtk.scm:422 +msgid "GNOME source code widget" +msgstr "" + +#: gnu/packages/gtk.scm:423 +msgid "" +"GtkSourceView is a text widget that extends the standard\n" +"GTK+ text widget GtkTextView. It improves GtkTextView by implementing syntax\n" +"highlighting and other features typical of a source code editor." +msgstr "" + +#: gnu/packages/gtk.scm:473 +msgid "GNOME image loading and manipulation library" +msgstr "" + +#: gnu/packages/gtk.scm:475 +msgid "" +"GdkPixbuf is a library for image loading and manipulation developed\n" +"in the GNOME project." +msgstr "" + +#: gnu/packages/gtk.scm:507 +msgid "GNOME image loading and manipulation library, with SVG support" +msgstr "" + +#: gnu/packages/gtk.scm:547 +msgid "Assistive Technology Service Provider Interface, core components" +msgstr "" + +#: gnu/packages/gtk.scm:549 +msgid "" +"The Assistive Technology Service Provider Interface, core components,\n" +"is part of the GNOME accessibility project." +msgstr "" + +#: gnu/packages/gtk.scm:582 +msgid "Assistive Technology Service Provider Interface, ATK bindings" +msgstr "" + +#: gnu/packages/gtk.scm:584 +msgid "" +"The Assistive Technology Service Provider Interface\n" +"is part of the GNOME accessibility project." +msgstr "" + +#: gnu/packages/gtk.scm:643 +msgid "Cross-platform toolkit for creating graphical user interfaces" +msgstr "" + +#: gnu/packages/gtk.scm:645 +msgid "" +"GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating\n" +"graphical user interfaces. Offering a complete set of widgets, GTK+ is\n" +"suitable for projects ranging from small one-off tools to complete\n" +"application suites." +msgstr "" + +#: gnu/packages/gtk.scm:805 +msgid "Cairo bindings for GNU Guile" +msgstr "" + +#: gnu/packages/gtk.scm:807 +msgid "" +"Guile-Cairo wraps the Cairo graphics library for Guile Scheme.\n" +"Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API\n" +"stable, providing a firm base on which to do graphics work. Finally, and\n" +"importantly, it is pleasant to use. You get a powerful and well-maintained\n" +"graphics library with all of the benefits of Scheme: memory management,\n" +"exceptions, macros, and a dynamic programming environment." +msgstr "" + +#: gnu/packages/gtk.scm:853 +msgid "Render SVG images using Cairo from Guile" +msgstr "" + +#: gnu/packages/gtk.scm:855 +msgid "" +"Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG\n" +"images onto Cairo surfaces." +msgstr "" + +#: gnu/packages/gtk.scm:900 +msgid "Create SVG or PDF presentations in Guile" +msgstr "" + +#: gnu/packages/gtk.scm:902 +msgid "" +"Guile-Present defines a declarative vocabulary for presentations,\n" +"together with tools to render presentation documents as SVG or PDF.\n" +"Guile-Present can be used to make presentations programmatically, but also\n" +"includes a tools to generate PDF presentations out of Org mode and Texinfo\n" +"documents." +msgstr "" + +#: gnu/packages/gtk.scm:956 +msgid "Guile interface for GTK+ programming for GNOME" +msgstr "" + +#: gnu/packages/gtk.scm:958 +msgid "" +"Includes guile-clutter, guile-gnome-gstreamer,\n" +"guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview." +msgstr "" + +#: gnu/packages/gtk.scm:991 +msgid "C++ bindings to the Cairo 2D graphics library" +msgstr "" + +#: gnu/packages/gtk.scm:993 +msgid "" +"Cairomm provides a C++ programming interface to the Cairo 2D graphics\n" +"library." +msgstr "" + +#: gnu/packages/gtk.scm:1017 +msgid "C++ interface to the Pango text rendering library" +msgstr "" + +#: gnu/packages/gtk.scm:1019 +msgid "" +"Pangomm provides a C++ programming interface to the Pango text rendering\n" +"library." +msgstr "" + +#: gnu/packages/gtk.scm:1040 +msgid "C++ interface to the ATK accessibility library" +msgstr "" + +#: gnu/packages/gtk.scm:1042 +msgid "" +"ATKmm provides a C++ programming interface to the ATK accessibility\n" +"toolkit." +msgstr "" + +#: gnu/packages/gtk.scm:1082 +msgid "C++ interface to the GTK+ graphical user interface library" +msgstr "" + +#: gnu/packages/gtk.scm:1084 +msgid "" +"gtkmm is the official C++ interface for the popular GUI library GTK+.\n" +"Highlights include typesafe callbacks, and a comprehensive set of widgets that\n" +"are easily extensible via inheritance. You can create user interfaces either\n" +"in code or with the Glade User Interface designer, using libglademm. There's\n" +"extensive documentation, including API reference and a tutorial." +msgstr "" + +#: gnu/packages/gtk.scm:1143 +msgid "Python bindings for cairo" +msgstr "" + +#: gnu/packages/gtk.scm:1145 +msgid "Pycairo is a set of Python bindings for the Cairo graphics library." +msgstr "" + +#: gnu/packages/gtk.scm:1229 +msgid "Python bindings for GTK+" +msgstr "" + +#: gnu/packages/gtk.scm:1231 +msgid "" +"PyGTK allows you to write full featured GTK programs in Python. It is\n" +"targeted at GTK 2.x, and can be used in conjunction with gnome-python to\n" +"write GNOME applications." +msgstr "" + +#: gnu/packages/gtk.scm:1262 +msgid "Library for minimalistic gtk+3 user interfaces" +msgstr "" + +#: gnu/packages/gtk.scm:1263 +msgid "" +"Girara is a library that implements a user interface that\n" +"focuses on simplicity and minimalism. Currently based on GTK+, a\n" +"cross-platform widget toolkit, it provides an interface that focuses on three\n" +"main components: a so-called view widget that represents the actual\n" +"application, an input bar that is used to execute commands of the\n" +"application and the status bar which provides the user with current\n" +"information." +msgstr "" + +#: gnu/packages/gtk.scm:1330 +msgid "Documentation generator from C source code" +msgstr "" + +#: gnu/packages/gtk.scm:1332 +msgid "" +"GTK-Doc generates API documentation from comments added to C code. It is\n" +"typically used to document the public API of GTK+ and GNOME libraries, but it\n" +"can also be used to document application code." +msgstr "" + +#: gnu/packages/gtk.scm:1360 +msgid "Theming engines for GTK+ 2.x" +msgstr "" + +#: gnu/packages/gtk.scm:1362 +msgid "" +"This package contains the standard GTK+ 2.x theming engines including\n" +"Clearlooks, Crux, High Contrast, Industrial, LighthouseBlue, Metal, Mist,\n" +"Redmond95 and ThinIce." +msgstr "" + +#: gnu/packages/gtk.scm:1390 +msgid "Cairo-based theming engine for GTK+ 2.x" +msgstr "" + +#: gnu/packages/gtk.scm:1392 +msgid "" +"Murrine is a cairo-based GTK+ theming engine. It is named after the\n" +"glass artworks done by Venicians glass blowers." +msgstr "" + +#: gnu/packages/gtk.scm:1417 +msgid "Spell-checking addon for GTK's TextView widget" +msgstr "" + +#: gnu/packages/gtk.scm:1419 +msgid "" +"GtkSpell provides word-processor-style highlighting and replacement of\n" +"misspelled words in a GtkTextView widget." +msgstr "" + +#: gnu/packages/gtk.scm:1442 +msgid "Lightweight GTK+ clipboard manager" +msgstr "" + +#: gnu/packages/gtk.scm:1444 +msgid "" +"ClipIt is a clipboard manager with features such as a history, search\n" +"thereof, global hotkeys and clipboard item actions. It was forked from\n" +"Parcellite and adds bugfixes and features." +msgstr "" + +#: gnu/packages/gtk.scm:1481 +msgid "Thin layer of graphic data types" +msgstr "" + +#: gnu/packages/gtk.scm:1482 +msgid "" +"This library provides graphic types and their relative API;\n" +"it does not deal with windowing system surfaces, drawing, scene graphs, or\n" +"input." +msgstr "" + +#: gnu/packages/guile.scm:132 gnu/packages/guile.scm:211 +msgid "Scheme implementation intended especially for extensions" +msgstr "" + +#: gnu/packages/guile.scm:134 gnu/packages/guile.scm:213 +msgid "" +"Guile is the GNU Ubiquitous Intelligent Language for Extensions, the\n" +"official extension language of the GNU system. It is an implementation of\n" +"the Scheme language which can be easily embedded in other applications to\n" +"provide a convenient means of extending the functionality of the application\n" +"without requiring the source code to be rewritten." +msgstr "" + +#: gnu/packages/guile.scm:379 +msgid "Package manager for Guile" +msgstr "" + +#: gnu/packages/guile.scm:381 +msgid "" +"Guildhall is a package manager written for Guile Scheme. A guild is\n" +"an association of independent craftspeople. A guildhall is where they meet.\n" +"This Guildhall aims to make a virtual space for Guile wizards and journeyfolk\n" +"to share code.\n" +"\n" +"On a practical level, Guildhall lets you share Scheme modules and programs\n" +"over the internet, and install code that has been shared by others. Guildhall\n" +"can handle dependencies, so when a program requires several libraries, and\n" +"each of those has further dependencies, all of the prerequisites for the\n" +"program can be installed in one go." +msgstr "" + +#: gnu/packages/guile.scm:473 +msgid "Web application framework written in Guile" +msgstr "" + +#: gnu/packages/guile.scm:474 +msgid "" +"GNU Artanis is a web application framework written in Guile\n" +"Scheme. A web application framework (WAF) is a software framework that is\n" +"designed to support the development of dynamic websites, web applications, web\n" +"services and web resources. The framework aims to alleviate the overhead\n" +"associated with common activities performed in web development. Artanis\n" +"provides several tools for web development: database access, templating\n" +"frameworks, session management, URL-remapping for RESTful, page caching, and\n" +"more." +msgstr "" + +#: gnu/packages/guile.scm:500 +msgid "Framework for building readers for GNU Guile" +msgstr "" + +#: gnu/packages/guile.scm:502 +msgid "" +"Guile-Reader is a simple framework for building readers for GNU Guile.\n" +"\n" +"The idea is to make it easy to build procedures that extend Guile’s read\n" +"procedure. Readers supporting various syntax variants can easily be written,\n" +"possibly by re-using existing “token readers” of a standard Scheme\n" +"readers. For example, it is used to implement Skribilo’s R5RS-derived\n" +"document syntax.\n" +"\n" +"Guile-Reader’s approach is similar to Common Lisp’s “read table”, but\n" +"hopefully more powerful and flexible (for instance, one may instantiate as\n" +"many readers as needed)." +msgstr "" + +#: gnu/packages/guile.scm:556 +msgid "Guile bindings to ncurses" +msgstr "" + +#: gnu/packages/guile.scm:558 +msgid "" +"guile-ncurses provides Guile language bindings for the ncurses\n" +"library." +msgstr "" + +#: gnu/packages/guile.scm:585 +msgid "Run jobs at scheduled times" +msgstr "" + +#: gnu/packages/guile.scm:587 +msgid "" +"GNU Mcron is a complete replacement for Vixie cron. It is used to run\n" +"tasks on a schedule, such as every hour or every Monday. Mcron is written in\n" +"Guile, so its configuration can be written in Scheme; the original cron\n" +"format is also supported." +msgstr "" + +#: gnu/packages/guile.scm:674 +msgid "Guile parser library for the iCalendar format" +msgstr "" + +#: gnu/packages/guile.scm:676 +msgid "" +"Guile-ICS is an iCalendar (RFC5545) format parser library written in\n" +"pure Scheme. The library can be used to read and write iCalendar data.\n" +"\n" +"The library is shipped with documentation in Info format and usage examples." +msgstr "" + +#: gnu/packages/guile.scm:711 +msgid "Collection of useful Guile Scheme modules" +msgstr "" + +#: gnu/packages/guile.scm:713 +msgid "" +"Guile-Lib is intended as an accumulation place for pure-scheme Guile\n" +"modules, allowing for people to cooperate integrating their generic Guile\n" +"modules into a coherent library. Think \"a down-scaled, limited-scope CPAN\n" +"for Guile\"." +msgstr "" + +#: gnu/packages/guile.scm:754 +msgid "JSON module for Guile" +msgstr "" + +#: gnu/packages/guile.scm:756 +msgid "" +"Guile-JSON supports parsing and building JSON documents according to the\n" +"specification. These are the main features:\n" +"\n" +"@itemize\n" +"@item Strictly complies to @uref{http://json.org, specification}.\n" +"@item Build JSON documents programmatically via macros.\n" +"@item Unicode support for strings.\n" +"@item Allows JSON pretty printing.\n" +"@end itemize\n" +msgstr "" + +#: gnu/packages/guile.scm:843 +msgid "MiniKanren declarative logic system, packaged for Guile" +msgstr "" + +#: gnu/packages/guile.scm:845 +msgid "" +"MiniKanren is a relational programming extension to the Scheme\n" +"programming Language, written as a smaller version of Kanren suitable for\n" +"pedagogical purposes. It is featured in the book, The Reasoned Schemer,\n" +"written by Dan Friedman, William Byrd, and Oleg Kiselyov.\n" +"\n" +"This is Ian Price's r6rs packaged version of miniKanren, which deviates\n" +"slightly from miniKanren mainline.\n" +"\n" +"See http://minikanren.org/ for more on miniKanren generally." +msgstr "" + +#: gnu/packages/guile.scm:916 +msgid "" +"Minimal implementation of incremental computation in Guile\n" +"Scheme" +msgstr "" + +#: gnu/packages/guile.scm:918 +msgid "" +"This package provides a complete Scheme implementation of\n" +"miniAdapton, which implements the core functionality of the Adapton system for\n" +"incremental computation (also known as self-adjusting computation). Like\n" +"Adapton, miniAdapton allows programmers to safely combine mutation and\n" +"memoization. miniAdapton is built on top of an even simpler system,\n" +"microAdapton. Both miniAdapton and microAdapton are designed to be easy to\n" +"understand, extend, and port to host languages other than Scheme." +msgstr "" + +#: gnu/packages/guile.scm:1002 +msgid "S-expression based regular expressions" +msgstr "" + +#: gnu/packages/guile.scm:1004 +msgid "" +"Irregex is an s-expression based alternative to your classic\n" +"string-based regular expressions. It implements SRFI 115 and is deeply\n" +"inspired by the SCSH regular expression system." +msgstr "" + +#: gnu/packages/guile.scm:1085 +msgid "Guile bindings to the GDBM library via Guile's FFI" +msgstr "" + +#: gnu/packages/guile.scm:1087 +msgid "" +"Guile bindings to the GDBM key-value storage system, using\n" +"Guile's foreign function interface." +msgstr "" + +#: gnu/packages/guile.scm:1140 +msgid "Access SQLite databases from Guile" +msgstr "" + +#: gnu/packages/guile.scm:1142 +msgid "This package provides Guile bindings to the SQLite database system." +msgstr "" + +#: gnu/packages/guile.scm:1187 +msgid "Functional static site generator" +msgstr "" + +#: gnu/packages/guile.scm:1188 +msgid "" +"Haunt is a static site generator written in Guile\n" +"Scheme. Haunt features a functional build system and an extensible\n" +"interface for reading articles in any format." +msgstr "" + +#: gnu/packages/guile.scm:1215 +msgid "Guile application configuration parsing library" +msgstr "" + +#: gnu/packages/guile.scm:1217 +msgid "" +"Guile Config is a library providing a declarative approach to\n" +"application configuration specification. The library provides clean\n" +"configuration declaration forms, and processors that take care of:\n" +"configuration file creation; configuration file parsing; command-line\n" +"parameter parsing using getopt-long; basic GNU command-line parameter\n" +"generation (--help, --usage, --version); automatic output generation for the\n" +"above command-line parameters." +msgstr "" + +#: gnu/packages/guile.scm:1255 +msgid "Redis client library for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1256 +msgid "" +"Guile-redis provides a Scheme interface to the Redis\n" +"key-value cache and store." +msgstr "" + +#: gnu/packages/guile.scm:1330 +msgid "Whitespace to lisp syntax for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1331 +msgid "" +"Wisp is a syntax for Guile which provides a Python-like\n" +"whitespace-significant language. It may be easier on the eyes for some\n" +"users and in some situations." +msgstr "" + +#: gnu/packages/guile.scm:1381 +msgid "2D/3D game engine for GNU Guile" +msgstr "" + +#: gnu/packages/guile.scm:1382 +msgid "" +"Sly is a 2D/3D game engine written in Guile Scheme. Sly\n" +"features a functional reactive programming interface and live coding\n" +"capabilities." +msgstr "" + +#: gnu/packages/guile.scm:1418 +msgid "Generate C bindings for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1419 +msgid "" +"G-Wrap is a tool and Guile library for generating function\n" +"wrappers for inter-language calls. It currently only supports generating Guile\n" +"wrappers for C functions. Given a definition of the types and prototypes for\n" +"a given C interface, G-Wrap will automatically generate the C code that\n" +"provides access to that interface and its types from the Scheme level." +msgstr "" + +#: gnu/packages/guile.scm:1456 +msgid "Guile database abstraction layer" +msgstr "" + +#: gnu/packages/guile.scm:1459 +msgid "" +"guile-dbi is a library for Guile that provides a convenient interface to\n" +"SQL databases. Database programming with guile-dbi is generic in that the same\n" +"programming interface is presented regardless of which database system is used.\n" +"It currently supports MySQL, Postgres and SQLite3." +msgstr "" + +#: gnu/packages/guile.scm:1485 +msgid "Guile DBI driver for SQLite" +msgstr "" + +#: gnu/packages/guile.scm:1488 +msgid "" +"guile-dbi is a library for Guile that provides a convenient interface to\n" +"SQL databases. This package implements the interface for SQLite." +msgstr "" + +#: gnu/packages/guile.scm:1534 +msgid "DSV module for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1536 +msgid "" +"Guile-DSV is a GNU Guile module for working with the\n" +"delimiter-separated values (DSV) data format. Guile-DSV supports the\n" +"Unix-style DSV format and RFC 4180 format." +msgstr "" + +#: gnu/packages/guile.scm:1563 +msgid "XOSD bindings for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1565 +msgid "" +"Guile-XOSD provides Guile bindings for @code{libxosd},\n" +"@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display\n" +"library}." +msgstr "" + +#: gnu/packages/guile.scm:1588 +msgid "Evaluate code in a running Guile process" +msgstr "" + +#: gnu/packages/guile.scm:1590 +msgid "" +"Guile-Daemon is a small Guile program that loads your initial\n" +"configuration file, and then reads and evaluates Guile expressions that\n" +"you send to a FIFO file." +msgstr "" + +#: gnu/packages/guile.scm:1621 +msgid "CommonMark parser for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1623 +msgid "" +"guile-commonmark is a library for parsing CommonMark, a fully specified\n" +"variant of Markdown. The library is written in Guile Scheme and is designed\n" +"to transform a CommonMark document to SXML. guile-commonmark tries to closely\n" +"follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference\n" +"is no support for parsing block and inline level HTML." +msgstr "" + +#: gnu/packages/guile.scm:1726 +msgid "Structured access to bytevector contents for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1728 +msgid "" +"Guile bytestructures offers a system imitating the type system\n" +"of the C programming language, to be used on bytevectors. C's type\n" +"system works on raw memory, and Guile works on bytevectors which are\n" +"an abstraction over raw memory. It's also more powerful than the C\n" +"type system, elevating types to first-class status." +msgstr "" + +#: gnu/packages/guile.scm:1772 +msgid "Spell-checking from Guile" +msgstr "" + +#: gnu/packages/guile.scm:1774 +msgid "" +"guile-aspell is a Guile Scheme library for comparing a string against a\n" +"dictionary and suggesting spelling corrections." +msgstr "" + +#: gnu/packages/guile.scm:1828 +msgid "Extend Bash using Guile" +msgstr "" + +#: gnu/packages/guile.scm:1830 +#, scheme-format +msgid "" +"Guile-Bash provides a shared library and set of Guile modules,\n" +"allowing you to extend Bash in Scheme. Scheme interfaces allow you to access\n" +"the following aspects of Bash:\n" +"\n" +"@itemize\n" +"@item aliases;\n" +"@item setting and getting Bash variables;\n" +"@item creating dynamic variables;\n" +"@item creating Bash functions with a Scheme implementation;\n" +"@item reader macro for output capturing;\n" +"@item reader macro for evaluating raw Bash commands.\n" +"@end itemize\n" +"\n" +"To enable it, run:\n" +"\n" +"@example\n" +"enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm\n" +"@end example\n" +"\n" +"and then run @command{scm example.scm}." +msgstr "" + +#: gnu/packages/guile.scm:1877 +msgid "Asynchronous actor model library for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1879 +msgid "" +"GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming\n" +"library for GNU Guile based on the actor model.\n" +"\n" +"Note that 8sync is only available for Guile 2.2." +msgstr "" + +#: gnu/packages/guile.scm:1902 +msgid "Lightweight concurrency facility for Guile" +msgstr "" + +#: gnu/packages/guile.scm:1904 +msgid "" +"Fibers is a Guile library that implements a a lightweight concurrency\n" +"facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is\n" +"like a \"goroutine\" from the Go language: a lightweight thread-like\n" +"abstraction. Systems built with Fibers can scale up to millions of concurrent\n" +"fibers, tens of thousands of concurrent socket connections, and many parallel\n" +"cores. The Fibers library also provides Concurrent ML-like channels for\n" +"communication between fibers.\n" +"\n" +"Note that Fibers makes use of some Guile 2.1/2.2-specific features and\n" +"is not available for Guile 2.0." +msgstr "" + +#: gnu/packages/guile.scm:1959 +msgid "Guile bindings for libgit2" +msgstr "" + +#: gnu/packages/guile.scm:1961 +msgid "" +"This package provides Guile bindings to libgit2, a library to\n" +"manipulate repositories of the Git version control system." +msgstr "" + +#: gnu/packages/guile.scm:1996 +msgid "General-purpose syntax highlighter for GNU Guile" +msgstr "" + +#: gnu/packages/guile.scm:1997 +msgid "" +"Guile-syntax-highlight is a general-purpose syntax\n" +"highlighting library for GNU Guile. It can parse code written in various\n" +"programming languages into a simple s-expression that can be converted to\n" +"HTML (via SXML) or any other format for rendering." +msgstr "" + +#: gnu/packages/guile.scm:2028 +msgid "S-expression based json reader/writer for Guile" +msgstr "" + +#: gnu/packages/guile.scm:2029 +msgid "" +"guile-sjson is a json reader/writer for Guile.\n" +"It has a nice, simple s-expression based syntax." +msgstr "" + +#: gnu/packages/guile.scm:2073 +msgid "Colorized REPL for Guile" +msgstr "" + +#: gnu/packages/guile.scm:2075 +msgid "Guile-colorized provides you with a colorized REPL for GNU Guile." +msgstr "" + +#: gnu/packages/imagemagick.scm:109 gnu/packages/imagemagick.scm:220 +msgid "Create, edit, compose, or convert bitmap images" +msgstr "" + +#: gnu/packages/imagemagick.scm:111 +msgid "" +"ImageMagick is a software suite to create, edit, compose, or convert\n" +"bitmap images. It can read and write images in a variety of formats (over 100)\n" +"including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,\n" +"and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and\n" +"transform images, adjust image colors, apply various special effects, or draw\n" +"text, lines, polygons, ellipses and Bézier curves." +msgstr "" + +#: gnu/packages/imagemagick.scm:156 +msgid "Perl interface to ImageMagick" +msgstr "" + +#: gnu/packages/imagemagick.scm:157 +msgid "" +"This Perl extension allows the reading, manipulation and\n" +"writing of a large number of image file formats using the ImageMagick library.\n" +"Use it to create, edit, compose, or convert bitmap images from within a Perl\n" +"script." +msgstr "" + +#: gnu/packages/imagemagick.scm:222 +msgid "" +"GraphicsMagick provides a comprehensive collection of utilities,\n" +"programming interfaces, and GUIs, to support file format conversion, image\n" +"processing, and 2D vector rendering." +msgstr "" + +#: gnu/packages/image.scm:94 +msgid "Library for handling PNG files" +msgstr "" + +#: gnu/packages/image.scm:96 +msgid "" +"Libpng is the official PNG (Portable Network Graphics) reference\n" +"library. It supports almost all PNG features and is extensible." +msgstr "" + +#: gnu/packages/image.scm:160 +msgid "APNG patch for libpng" +msgstr "" + +#: gnu/packages/image.scm:162 +msgid "" +"APNG (Animated Portable Network Graphics) is an unofficial\n" +"extension of the APNG (Portable Network Graphics) format.\n" +"APNG patch provides APNG support to libpng." +msgstr "" + +#: gnu/packages/image.scm:202 +msgid "Read and write PNG images" +msgstr "" + +#: gnu/packages/image.scm:204 +msgid "" +"This package provides an easy and simple way to read, write and display\n" +"bitmap images stored in the PNG format. It can read and write both files and\n" +"in-memory raw vectors." +msgstr "" + +#: gnu/packages/image.scm:239 +msgid "Utility to compress PNG files" +msgstr "" + +#: gnu/packages/image.scm:240 +msgid "" +"pngcrusqh is an optimizer for PNG (Portable Network Graphics)\n" +"files. It can compress them as much as 40% losslessly." +msgstr "" + +#: gnu/packages/image.scm:259 +msgid "Library for handling JPEG files" +msgstr "" + +#: gnu/packages/image.scm:261 +msgid "" +"Libjpeg implements JPEG image encoding, decoding, and transcoding.\n" +"JPEG is a standardized compression method for full-color and gray-scale\n" +"images.\n" +"The included programs provide conversion between the JPEG format and\n" +"image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats." +msgstr "" + +#: gnu/packages/image.scm:326 +msgid "Implementation of the JPEG XR standard" +msgstr "" + +#: gnu/packages/image.scm:327 +msgid "" +"JPEG XR is an approved ISO/IEC International standard (its\n" +"official designation is ISO/IEC 29199-2). This library is an implementation of that standard." +msgstr "" + +#: gnu/packages/image.scm:350 +msgid "Optimize JPEG images" +msgstr "" + +#: gnu/packages/image.scm:352 +msgid "" +"jpegoptim provides lossless optimization (based on optimizing\n" +"the Huffman tables) and \"lossy\" optimization based on setting\n" +"maximum quality factor." +msgstr "" + +#: gnu/packages/image.scm:377 +msgid "Library for handling Mac OS icns resource files" +msgstr "" + +#: gnu/packages/image.scm:379 +msgid "" +"Libicns is a library for the manipulation of Mac OS IconFamily resource\n" +"type files (ICNS). @command{icns2png} and @command{png2icns} are provided to\n" +"convert between PNG and ICNS. @command{icns2png} will extract image files from\n" +"ICNS files under names like \"Foo_48x48x32.png\" useful for installing for use\n" +"with .desktop files. Additionally, @command{icontainer2png} is provided for\n" +"extracting icontainer icon files." +msgstr "" + +#: gnu/packages/image.scm:418 +msgid "Library for handling TIFF files" +msgstr "" + +#: gnu/packages/image.scm:420 +msgid "" +"Libtiff provides support for the Tag Image File Format (TIFF), a format\n" +"used for storing image data.\n" +"Included are a library, libtiff, for reading and writing TIFF and a small\n" +"collection of tools for doing simple manipulations of TIFF images." +msgstr "" + +#: gnu/packages/image.scm:472 +msgid "Library and tools for image processing and analysis" +msgstr "" + +#: gnu/packages/image.scm:474 +msgid "" +"Leptonica is a C library and set of command-line tools for efficient\n" +"image processing and image analysis operations. It supports rasterop, affine\n" +"transformations, binary and grayscale morphology, rank order, and convolution,\n" +"seedfill and connected components, image transformations combining changes in\n" +"scale and pixel depth, and pixelwise masking, blending, enhancement, and\n" +"arithmetic ops." +msgstr "" + +#: gnu/packages/image.scm:500 +msgid "Decoder of the JBIG2 image compression format" +msgstr "" + +#: gnu/packages/image.scm:502 +msgid "" +"JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit\n" +"monochrome) images at moderately high resolution, and in particular scanned\n" +"paper documents. In this domain it is very efficient, offering compression\n" +"ratios on the order of 100:1.\n" +"\n" +"This is a decoder only implementation, and currently is in the alpha\n" +"stage, meaning it doesn't completely work yet. However, it is\n" +"maintaining parity with available encoders, so it is useful for real\n" +"work." +msgstr "" + +#: gnu/packages/image.scm:537 +msgid "JPEG 2000 codec" +msgstr "" + +#: gnu/packages/image.scm:539 +msgid "" +"The OpenJPEG library is a JPEG 2000 codec written in C. It has\n" +"been developed in order to promote the use of JPEG 2000, the new\n" +"still-image compression standard from the Joint Photographic Experts\n" +"Group (JPEG).\n" +"\n" +"In addition to the basic codec, various other features are under\n" +"development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,\n" +"an indexing tool useful for the JPIP protocol, JPWL-tools for\n" +"error-resilience, a Java-viewer for j2k-images, ..." +msgstr "" + +#: gnu/packages/image.scm:602 +msgid "Tools and library for working with GIF images" +msgstr "" + +#: gnu/packages/image.scm:604 +msgid "" +"GIFLIB is a library for reading and writing GIF images. It is API and\n" +"ABI compatible with libungif which was in wide use while the LZW compression\n" +"algorithm was patented. Tools are also included to convert, manipulate,\n" +"compose, and analyze GIF images." +msgstr "" + +#: gnu/packages/image.scm:626 +msgid "GIF decompression library" +msgstr "" + +#: gnu/packages/image.scm:628 +msgid "libungif is the old GIF decompression library by the GIFLIB project." +msgstr "" + +#: gnu/packages/image.scm:657 +msgid "Loading, saving, rendering and manipulating image files" +msgstr "" + +#: gnu/packages/image.scm:659 +msgid "" +"Imlib2 is a library that does image file loading and saving as well as\n" +"rendering, manipulation, arbitrary polygon support, etc.\n" +"\n" +"It does ALL of these operations FAST. Imlib2 also tries to be highly\n" +"intelligent about doing them, so writing naive programs can be done easily,\n" +"without sacrificing speed.\n" +"\n" +"This is a complete rewrite over the Imlib 1.x series. The architecture is\n" +"more modular, simple, and flexible." +msgstr "" + +#: gnu/packages/image.scm:691 +msgid "Wrapper library for imlib2" +msgstr "" + +#: gnu/packages/image.scm:693 +msgid "" +"Giblib is a simple library which wraps imlib2's context API, avoiding\n" +"all the context_get/set calls, adds fontstyles to the truetype renderer and\n" +"supplies a generic doubly-linked list and some string functions." +msgstr "" + +#: gnu/packages/image.scm:735 +msgid "Library for handling popular graphics image formats" +msgstr "" + +#: gnu/packages/image.scm:737 +msgid "" +"FreeImage is a library for developers who would like to support popular\n" +"graphics image formats like PNG, BMP, JPEG, TIFF and others." +msgstr "" + +#: gnu/packages/image.scm:792 +msgid "Computer vision library" +msgstr "" + +#: gnu/packages/image.scm:794 +msgid "" +"VIGRA stands for Vision with Generic Algorithms. It is an image\n" +"processing and analysis library that puts its main emphasis on customizable\n" +"algorithms and data structures. It is particularly strong for\n" +"multi-dimensional image processing." +msgstr "" + +#: gnu/packages/image.scm:826 +msgid "Lossless and lossy image compression" +msgstr "" + +#: gnu/packages/image.scm:828 +msgid "" +"WebP is a new image format that provides lossless and lossy compression\n" +"for images. WebP lossless images are 26% smaller in size compared to\n" +"PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at\n" +"equivalent SSIM index. WebP supports lossless transparency (also known as\n" +"alpha channel) with just 22% additional bytes. Transparency is also supported\n" +"with lossy compression and typically provides 3x smaller file sizes compared\n" +"to PNG when lossy compression is acceptable for the red/green/blue color\n" +"channels." +msgstr "" + +#: gnu/packages/image.scm:856 +msgid "Library for handling MNG files" +msgstr "" + +#: gnu/packages/image.scm:858 +msgid "Libmng is the MNG (Multiple-image Network Graphics) reference library." +msgstr "" + +#: gnu/packages/image.scm:886 +msgid "Library and command-line utility to manage image metadata" +msgstr "" + +#: gnu/packages/image.scm:888 +msgid "" +"Exiv2 is a C++ library and a command line utility to manage image\n" +"metadata. It provides fast and easy read and write access to the Exif, IPTC\n" +"and XMP metadata of images in various formats." +msgstr "" + +#: gnu/packages/image.scm:928 +msgid "Library for manipulating many image formats" +msgstr "" + +#: gnu/packages/image.scm:929 +msgid "" +"Developer's Image Library (DevIL) is a library to develop\n" +"applications with support for many types of images. DevIL can load, save,\n" +"convert, manipulate, filter and display a wide variety of image formats." +msgstr "" + +#: gnu/packages/image.scm:949 +msgid "JPEG-2000 library" +msgstr "" + +#: gnu/packages/image.scm:950 +msgid "" +"The JasPer Project is an initiative to provide a reference\n" +"implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,\n" +"ISO/IEC 15444-1)." +msgstr "" + +#: gnu/packages/image.scm:980 +msgid "Scaling, colorspace conversion, and dithering library" +msgstr "" + +#: gnu/packages/image.scm:981 +msgid "" +"Zimg implements the commonly required image processing basics\n" +"of scaling, colorspace conversion, and depth conversion. A simple API enables\n" +"conversion between any supported formats to operate with minimal knowledge from\n" +"the programmer." +msgstr "" + +#: gnu/packages/image.scm:1014 +msgid "Perceptual image comparison utility" +msgstr "" + +#: gnu/packages/image.scm:1015 +msgid "" +"PerceptualDiff visually compares two images to determine\n" +"whether they look alike. It uses a computational model of the human visual\n" +"system to detect similarities. This allows it too see beyond irrelevant\n" +"differences in file encoding, image quality, and other small variations." +msgstr "" + +#: gnu/packages/image.scm:1055 +msgid "Image and audio steganography" +msgstr "" + +#: gnu/packages/image.scm:1057 +msgid "" +"Steghide is a program to hide data in various kinds of image and audio\n" +"files (known as @dfn{steganography}). Neither color nor sample frequencies are\n" +"changed, making the embedding resistant against first-order statistical tests." +msgstr "" + +#: gnu/packages/image.scm:1082 +msgid "Image library for Extempore" +msgstr "" + +#: gnu/packages/image.scm:1084 +msgid "" +"This package is a collection of assorted single-file libraries. Of\n" +"all included libraries only the image loading and decoding library is\n" +"installed as @code{stb_image}." +msgstr "" + +#: gnu/packages/image.scm:1112 +msgid "" +"Optimizer that recompresses PNG image files to a\n" +"smaller size" +msgstr "" + +#: gnu/packages/image.scm:1114 +msgid "" +"OptiPNG is a PNG optimizer that recompresses image\n" +"files to a smaller size, without losing any information. This program\n" +"also converts external formats (BMP, GIF, PNM and TIFF) to optimized\n" +"PNG, and performs PNG integrity checks and corrections." +msgstr "" + +#: gnu/packages/image.scm:1139 +msgid "SIMD-accelerated JPEG image handling library" +msgstr "" + +#: gnu/packages/image.scm:1140 +msgid "" +"libjpeg-turbo is a JPEG image codec that accelerates baseline\n" +"JPEG compression and decompression using SIMD instructions: MMX on x86, SSE2 on\n" +"x86-64, NEON on ARM, and AltiVec on PowerPC processors. Even on other systems,\n" +"its highly-optimized Huffman coding routines allow it to outperform libjpeg by\n" +"a significant amount.\n" +"libjpeg-turbo implements both the traditional libjpeg API and the less powerful\n" +"but more straightforward TurboJPEG API, and provides a full-featured Java\n" +"interface. It supports color space extensions that allow it to compress from\n" +"and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.)." +msgstr "" + +#: gnu/packages/image.scm:1188 +msgid "Library for reading and writing files in the nifti-1 format" +msgstr "" + +#: gnu/packages/image.scm:1189 +msgid "" +"Niftilib is a set of i/o libraries for reading and writing\n" +"files in the nifti-1 data format - a binary file format for storing\n" +"medical image data, e.g. magnetic resonance image (MRI) and functional MRI\n" +"(fMRI) brain images." +msgstr "" + +#: gnu/packages/image.scm:1235 +msgid "Color picker" +msgstr "" + +#: gnu/packages/image.scm:1236 +msgid "Gpick is an advanced color picker and palette editing tool." +msgstr "" + +#: gnu/packages/image-viewers.scm:91 +msgid "Fast and light imlib2-based image viewer" +msgstr "" + +#: gnu/packages/image-viewers.scm:93 +msgid "" +"feh is an X11 image viewer aimed mostly at console users.\n" +"Unlike most other viewers, it does not have a fancy GUI, but simply\n" +"displays images. It can also be used to set the desktop wallpaper.\n" +"It is controlled via commandline arguments and configurable key/mouse\n" +"actions." +msgstr "" + +#: gnu/packages/image-viewers.scm:143 +msgid "Lightweight GTK+ based image viewer" +msgstr "" + +#: gnu/packages/image-viewers.scm:145 +msgid "" +"Geeqie is a lightweight GTK+ based image viewer for Unix like operating\n" +"systems. It features: EXIF, IPTC and XMP metadata browsing and editing\n" +"interoperability; easy integration with other software; geeqie works on files\n" +"and directories, there is no need to import images; fast preview for many raw\n" +"image formats; tools for image comparison, sorting and managing photo\n" +"collection. Geeqie was initially based on GQview." +msgstr "" + +#: gnu/packages/image-viewers.scm:170 +msgid "Simple and fast image viewer for X" +msgstr "" + +#: gnu/packages/image-viewers.scm:171 +msgid "" +"gpicview is a lightweight GTK+ 2.x based image viewer.\n" +"It is the default image viewer on LXDE desktop environment." +msgstr "" + +#: gnu/packages/image-viewers.scm:202 +msgid "Simple X Image Viewer" +msgstr "" + +#: gnu/packages/image-viewers.scm:204 +msgid "" +"sxiv is an alternative to feh and qiv. Its primary goal is to\n" +"provide the most basic features required for fast image viewing. It has\n" +"vi key bindings and works nicely with tiling window managers. Its code\n" +"base should be kept small and clean to make it easy for you to dig into\n" +"it and customize it for your needs." +msgstr "" + +#: gnu/packages/image-viewers.scm:251 +msgid "Simple, fast and elegant image viewer" +msgstr "" + +#: gnu/packages/image-viewers.scm:252 +msgid "" +"Viewnior is an image viewer program. Created to be simple,\n" +"fast and elegant. Its minimalistic interface provides more screenspace for\n" +"your images. Among its features are:\n" +"@enumerate\n" +"@item Fullscreen & Slideshow\n" +"@item Rotate, flip, crop, save, delete images\n" +"@item Animation support\n" +"@item Browse only selected images\n" +"@item Navigation window\n" +"@item Set image as wallpaper (Gnome 2, Gnome 3, XFCE, LXDE, FluxBox, Nitrogen)\n" +"@item Simple interface\n" +"@item EXIF and IPTC metadata\n" +"@item Configurable mouse actions\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/image-viewers.scm:320 +msgid "Render images in the terminal" +msgstr "" + +#: gnu/packages/image-viewers.scm:322 +msgid "" +"Catimg is a little program that prints images in the terminal.\n" +"It supports JPEG, PNG and GIF formats." +msgstr "" + +#: gnu/packages/image-viewers.scm:373 +msgid "High dynamic range (HDR) imaging application" +msgstr "" + +#: gnu/packages/image-viewers.scm:375 +msgid "" +"Luminance HDR (formerly QtPFSGui) is a graphical user interface\n" +"application that aims to provide a workflow for high dynamic range (HDR)\n" +"imaging. It supports several HDR and LDR image formats, and it can:\n" +"\n" +"@itemize\n" +"@item Create an HDR file from a set of images (formats: JPEG, TIFF 8bit and\n" +"16bit, RAW) of the same scene taken at different exposure setting;\n" +"@item Save load HDR images;\n" +"@item Rotate, resize and crop HDR images;\n" +"@item Tone-map HDR images;\n" +"@item Copy EXIF data between sets of images.\n" +"@end itemize\n" +msgstr "" + +#: gnu/packages/image-viewers.scm:422 +msgid "Image viewer for comics" +msgstr "" + +#: gnu/packages/image-viewers.scm:423 +msgid "" +"MComix is a customizable image viewer that specializes as\n" +"a comic and manga reader. It supports a variety of container formats\n" +"including CBZ, CB7, CBT, LHA." +msgstr "" + +#: gnu/packages/inkscape.scm:91 +msgid "Vector graphics editor" +msgstr "" + +#: gnu/packages/inkscape.scm:92 +msgid "" +"Inkscape is a vector graphics editor. What sets Inkscape\n" +"apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,\n" +"as the native format." +msgstr "" + +#: gnu/packages/jemalloc.scm:60 +msgid "General-purpose scalable concurrent malloc implementation" +msgstr "" + +#: gnu/packages/jemalloc.scm:62 +msgid "" +"This library providing a malloc(3) implementation that emphasizes\n" +"fragmentation avoidance and scalable concurrency support." +msgstr "" + +#: gnu/packages/key-mon.scm:50 +msgid "Show keyboard and mouse status" +msgstr "" + +#: gnu/packages/key-mon.scm:52 +msgid "" +"The key-mon utility displays the current keyboard and mouse status.\n" +"This is useful for teaching and screencasts." +msgstr "" + +#: gnu/packages/less.scm:41 +msgid "Paginator for terminals" +msgstr "" + +#: gnu/packages/less.scm:43 +msgid "" +"GNU less is a pager, a program that allows you to view large amounts\n" +"of text in page-sized chunks. Unlike traditional pagers, it allows both\n" +"backwards and forwards movement through the document. It also does not have\n" +"to read the entire input file before starting, so it starts faster than most\n" +"text editors." +msgstr "" + +#: gnu/packages/lesstif.scm:47 +msgid "Clone of the Motif toolkit for the X window system" +msgstr "" + +#: gnu/packages/lesstif.scm:48 +msgid "Clone of the Motif toolkit for the X window system." +msgstr "" + +#: gnu/packages/libreoffice.scm:95 +msgid "General purpose formula parser and interpreter" +msgstr "" + +#: gnu/packages/libreoffice.scm:96 +msgid "" +"Ixion is a library for calculating the results of formula\n" +"expressions stored in multiple named targets, or \"cells\". The cells can\n" +"be referenced from each other, and the library takes care of resolving\n" +"their dependencies automatically upon calculation." +msgstr "" + +#: gnu/packages/libreoffice.scm:122 +msgid "File import filter library for spreadsheet documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:123 +msgid "" +"Orcus is a library that provides a collection of standalone\n" +"file processing filters. It is currently focused on providing filters for\n" +"spreadsheet documents. The library includes import filters for\n" +"Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,\n" +"Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for\n" +"CSV, CSS and XML." +msgstr "" + +#: gnu/packages/libreoffice.scm:157 +msgid "Document importer for office suites" +msgstr "" + +#: gnu/packages/libreoffice.scm:158 +msgid "" +"Librevenge is a base library for writing document import\n" +"filters. It has interfaces for text documents, vector graphics,\n" +"spreadsheets and presentations." +msgstr "" + +#: gnu/packages/libreoffice.scm:183 +msgid "Library for importing WordPerfect documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:184 +msgid "" +"Libwpd is a C++ library designed to help process\n" +"WordPerfect documents. It is most commonly used to import such documents\n" +"into other word processors." +msgstr "" + +#: gnu/packages/libreoffice.scm:216 +msgid "Library for import of reflowable e-book formats" +msgstr "" + +#: gnu/packages/libreoffice.scm:217 +msgid "" +"Libe-book is a library and a set of tools for reading and\n" +"converting various reflowable e-book formats. Currently supported are:\n" +"Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),\n" +"PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled\n" +"cellphones), TCR (simple compressed text format), TealDoc, zTXT,\n" +"ZVR (simple compressed text format)." +msgstr "" + +#: gnu/packages/libreoffice.scm:246 +msgid "Library and tools for the WordPerfect Graphics format" +msgstr "" + +#: gnu/packages/libreoffice.scm:247 +msgid "" +"The libwpg project provides a library and tools for\n" +"working with graphics in the WPG (WordPerfect Graphics) format." +msgstr "" + +#: gnu/packages/libreoffice.scm:288 +msgid "CMIS client library" +msgstr "" + +#: gnu/packages/libreoffice.scm:289 +msgid "" +"LibCMIS is a C++ client library for the CMIS interface. It\n" +"allows C++ applications to connect to any ECM behaving as a CMIS server such\n" +"as Alfresco or Nuxeo." +msgstr "" + +#: gnu/packages/libreoffice.scm:320 +msgid "Library for parsing the AbiWord format" +msgstr "" + +#: gnu/packages/libreoffice.scm:321 +msgid "" +"Libabw is a library that parses the file format of\n" +"AbiWord documents." +msgstr "" + +#: gnu/packages/libreoffice.scm:352 +msgid "Library for parsing the CorelDRAW format" +msgstr "" + +#: gnu/packages/libreoffice.scm:353 +msgid "" +"Libcdr is a library that parses the file format of\n" +"CorelDRAW documents of all versions." +msgstr "" + +#: gnu/packages/libreoffice.scm:385 +msgid "Library for parsing the Apple Keynote format" +msgstr "" + +#: gnu/packages/libreoffice.scm:386 +msgid "" +"Libetonyek is a library that parses the file format of\n" +"Apple Keynote documents. It currently supports Keynote versions 2 to 5." +msgstr "" + +#: gnu/packages/libreoffice.scm:409 +msgid "Library to access tags for identifying languages" +msgstr "" + +#: gnu/packages/libreoffice.scm:410 +msgid "" +"Liblangtag implements an interface to work with tags\n" +"for identifying languages as described in RFC 5646. It supports the\n" +"extensions described in RFC6067 and RFC6497, and Extension T for\n" +"language/locale identifiers as described in the Unicode CLDR\n" +"standard 21.0.2." +msgstr "" + +#: gnu/packages/libreoffice.scm:430 +msgid "Text Categorization library" +msgstr "" + +#: gnu/packages/libreoffice.scm:431 +msgid "" +"Libexttextcat is an N-Gram-Based Text Categorization\n" +"library primarily intended for language guessing." +msgstr "" + +#: gnu/packages/libreoffice.scm:461 +msgid "Library for parsing the FreeHand format" +msgstr "" + +#: gnu/packages/libreoffice.scm:462 +msgid "" +"Libfreehand is a library that parses the file format of\n" +"Aldus/Macromedia/Adobe FreeHand documents." +msgstr "" + +#: gnu/packages/libreoffice.scm:488 +msgid "Library for parsing the Microsoft Publisher format" +msgstr "" + +#: gnu/packages/libreoffice.scm:489 +msgid "" +"Libmspub is a library that parses the file format of\n" +"Microsoft Publisher documents of all versions." +msgstr "" + +#: gnu/packages/libreoffice.scm:514 +msgid "Library for parsing the PageMaker format" +msgstr "" + +#: gnu/packages/libreoffice.scm:515 +msgid "" +"Libpagemaker is a library that parses the file format of\n" +"Aldus/Adobe PageMaker documents. Currently it only understands documents\n" +"created by PageMaker version 6.x and 7." +msgstr "" + +#: gnu/packages/libreoffice.scm:545 +msgid "Library for parsing the Microsoft Visio format" +msgstr "" + +#: gnu/packages/libreoffice.scm:546 +msgid "" +"Libvisio is a library that parses the file format of\n" +"Microsoft Visio documents of all versions." +msgstr "" + +#: gnu/packages/libreoffice.scm:574 +msgid "ODF (Open Document Format) library" +msgstr "" + +#: gnu/packages/libreoffice.scm:575 +msgid "" +"Libodfgen is a library for generating documents in the\n" +"Open Document Format (ODF). It provides generator implementations for all\n" +"document interfaces supported by librevenge:\n" +"text documents, vector drawings, presentations and spreadsheets." +msgstr "" + +#: gnu/packages/libreoffice.scm:602 +msgid "Import library for some old Macintosh text documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:603 +msgid "" +"Libmwaw contains some import filters for old Macintosh\n" +"text documents (MacWrite, ClarisWorks, ... ) and for some graphics and\n" +"spreadsheet documents." +msgstr "" + +#: gnu/packages/libreoffice.scm:626 +msgid "Provides LibreOffice support for old StarOffice documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:627 +msgid "" +"@code{libstaroffice} is an import filter for the document formats\n" +"from the old StarOffice (.sdc, .sdw, ...)." +msgstr "" + +#: gnu/packages/libreoffice.scm:652 +msgid "Import library for Microsoft Works text documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:653 +msgid "" +"Libwps is a library for importing files in the Microsoft\n" +"Works word processor file format." +msgstr "" + +#: gnu/packages/libreoffice.scm:680 +msgid "Parses file format of Zoner Callisto/Draw documents" +msgstr "" + +#: gnu/packages/libreoffice.scm:681 +msgid "" +"Libzmf is a library that parses the file format of Zoner\n" +"Callisto/Draw documents. Currently it only understands documents created by\n" +"Zoner Draw version 4 and 5." +msgstr "" + +#: gnu/packages/libreoffice.scm:716 +msgid "" +"Hunspell is a spell checker and morphological analyzer\n" +"library and program designed for languages with rich morphology and complex\n" +"word compounding or character encoding." +msgstr "" + +#. TRANSLATORS: In French, this is "Français classique". +#: gnu/packages/libreoffice.scm:779 +msgid "Hunspell dictionary for ``classic'' French (recommended)" +msgstr "" + +#. TRANSLATORS: In French, this is "Français moderne". +#: gnu/packages/libreoffice.scm:784 +msgid "Hunspell dictionary for ``modern'' French" +msgstr "" + +#: gnu/packages/libreoffice.scm:788 +msgid "Hunspell dictionary for the post @dfn{1990 réforme} French" +msgstr "" + +#: gnu/packages/libreoffice.scm:792 +msgid "Hunspell dictionary for all variants of French" +msgstr "" + +#: gnu/packages/libreoffice.scm:810 +msgid "Hyphenation library" +msgstr "" + +#: gnu/packages/libreoffice.scm:811 +msgid "" +"Hyphen is a hyphenation library using TeX hyphenation\n" +"patterns, which are pre-processed by a perl script." +msgstr "" + +#: gnu/packages/libreoffice.scm:834 +msgid "Thesaurus" +msgstr "" + +#: gnu/packages/libreoffice.scm:835 +msgid "" +"MyThes is a simple thesaurus that uses a structured text\n" +"data file and an index file with binary search to look up words and phrases\n" +"and to return information on pronunciations, meanings and synonyms." +msgstr "" + +#: gnu/packages/libreoffice.scm:1042 +msgid "Office suite" +msgstr "" + +#: gnu/packages/libreoffice.scm:1043 +msgid "" +"LibreOffice is a comprehensive office suite. It contains\n" +"a number of components: Writer, a word processor; Calc, a spreadsheet\n" +"application; Impress, a presentation engine; Draw, a drawing and\n" +"flowcharting application; Base, a database and database frontend;\n" +"Math for editing mathematics." +msgstr "" + +#: gnu/packages/linux.scm:211 +msgid "GNU Linux-Libre kernel headers" +msgstr "" + +#: gnu/packages/linux.scm:212 +msgid "Headers of the Linux-Libre kernel." +msgstr "" + +#: gnu/packages/linux.scm:363 +msgid "100% free redistribution of a cleaned Linux kernel" +msgstr "" + +#: gnu/packages/linux.scm:365 +msgid "" +"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.\n" +"It has been modified to remove all non-free binary blobs." +msgstr "" + +#: gnu/packages/linux.scm:463 +msgid "Pluggable authentication modules for Linux" +msgstr "" + +#: gnu/packages/linux.scm:465 +msgid "" +"A *Free* project to implement OSF's RFC 86.0.\n" +"Pluggable authentication modules are small shared object files that can\n" +"be used through the PAM API to perform tasks, like authenticating a user\n" +"at login. Local and dynamic reconfiguration are its key features." +msgstr "" + +#: gnu/packages/linux.scm:507 +msgid "Small utilities that use the proc file system" +msgstr "" + +#: gnu/packages/linux.scm:509 +msgid "" +"This PSmisc package is a set of some small useful utilities that\n" +"use the proc file system. We're not about changing the world, but\n" +"providing the system administrator with some help in common tasks." +msgstr "" + +#: gnu/packages/linux.scm:591 +msgid "Collection of utilities for the Linux kernel" +msgstr "" + +#: gnu/packages/linux.scm:592 +msgid "" +"Util-linux is a diverse collection of Linux kernel\n" +"utilities. It provides dmesg and includes tools for working with file systems,\n" +"block devices, UUIDs, TTYs, and many other tools." +msgstr "" + +#: gnu/packages/linux.scm:616 +msgid "PERPETUAL DATE CONVERTER FROM GREGORIAN TO POEE CALENDAR" +msgstr "" + +#: gnu/packages/linux.scm:618 +msgid "" +"ddate displays the Discordian date and holidays of a given date.\n" +"The Discordian calendar was made popular by the \"Illuminatus!\" trilogy\n" +"by Robert Shea and Robert Anton Wilson." +msgstr "" + +#: gnu/packages/linux.scm:663 +msgid "Utilities that give information about processes" +msgstr "" + +#: gnu/packages/linux.scm:665 +msgid "" +"Procps is the package that has a bunch of small useful utilities\n" +"that give information about processes using the Linux /proc file system.\n" +"The package includes the programs ps, top, vmstat, w, kill, free,\n" +"slabtop, and skill." +msgstr "" + +#: gnu/packages/linux.scm:691 +msgid "Tools for working with USB devices, such as lsusb" +msgstr "" + +#: gnu/packages/linux.scm:693 +msgid "Tools for working with USB devices, such as lsusb." +msgstr "" + +#: gnu/packages/linux.scm:769 +msgid "Creating and checking ext2/ext3/ext4 file systems" +msgstr "" + +#: gnu/packages/linux.scm:771 +msgid "This package provides tools for manipulating ext2/ext3/ext4 file systems." +msgstr "" + +#: gnu/packages/linux.scm:812 +msgid "Statically-linked e2fsck command from e2fsprogs" +msgstr "" + +#: gnu/packages/linux.scm:813 +msgid "" +"This package provides statically-linked e2fsck command taken\n" +"from the e2fsprogs package. It is meant to be used in initrds." +msgstr "" + +#: gnu/packages/linux.scm:832 +msgid "Recover deleted files from ext2/3/4 partitions" +msgstr "" + +#: gnu/packages/linux.scm:834 +msgid "" +"Extundelete is a set of tools that can recover deleted files from an\n" +"ext3 or ext4 partition." +msgstr "" + +#: gnu/packages/linux.scm:865 +msgid "Zero non-allocated regions in ext2/ext3/ext4 file systems" +msgstr "" + +#: gnu/packages/linux.scm:867 +msgid "" +"Zerofree finds the unallocated blocks with non-zero value content in an\n" +"ext2, ext3, or ext4 file system and fills them with zeroes (or another value).\n" +"This is a simple way to make disk images more compressible.\n" +"Zerofree requires the file system to be unmounted or mounted read-only." +msgstr "" + +#: gnu/packages/linux.scm:895 +msgid "System call tracer for Linux" +msgstr "" + +#: gnu/packages/linux.scm:897 +msgid "" +"strace is a system call tracer, i.e. a debugging tool which prints out a\n" +"trace of all the system calls made by a another process/program." +msgstr "" + +#: gnu/packages/linux.scm:918 +msgid "Library call tracer for Linux" +msgstr "" + +#: gnu/packages/linux.scm:920 +msgid "" +"ltrace intercepts and records dynamic library calls which are called by\n" +"an executed process and the signals received by that process. It can also\n" +"intercept and print the system calls executed by the program." +msgstr "" + +#: gnu/packages/linux.scm:939 +msgid "The Advanced Linux Sound Architecture libraries" +msgstr "" + +#: gnu/packages/linux.scm:941 gnu/packages/linux.scm:985 +msgid "" +"The Advanced Linux Sound Architecture (ALSA) provides audio and\n" +"MIDI functionality to the Linux-based operating system." +msgstr "" + +#: gnu/packages/linux.scm:983 +msgid "Utilities for the Advanced Linux Sound Architecture (ALSA)" +msgstr "" + +#: gnu/packages/linux.scm:1043 +msgid "Plugins for the Advanced Linux Sound Architecture (ALSA)" +msgstr "" + +#: gnu/packages/linux.scm:1045 +msgid "" +"The Advanced Linux Sound Architecture (ALSA) provides audio and\n" +"MIDI functionality to the Linux-based operating system. This package enhances ALSA\n" +"by providing additional plugins which include: upmixing, downmixing, jackd and\n" +"pulseaudio support for native alsa applications, format conversion (s16 to a52), and\n" +"external rate conversion." +msgstr "" + +#: gnu/packages/linux.scm:1079 +msgid "Program to configure the Linux IP packet filtering rules" +msgstr "" + +#: gnu/packages/linux.scm:1081 +msgid "" +"iptables is the userspace command line program used to configure the\n" +"Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at\n" +"system administrators. Since Network Address Translation is also configured\n" +"from the packet filter ruleset, iptables is used for this, too. The iptables\n" +"package also includes ip6tables. ip6tables is used for configuring the IPv6\n" +"packet filter." +msgstr "" + +#: gnu/packages/linux.scm:1135 +msgid "Ethernet bridge frame table administration" +msgstr "" + +#: gnu/packages/linux.scm:1138 +msgid "" +"ebtables is an application program used to set up and maintain the\n" +"tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is\n" +"analogous to the iptables application, but less complicated, due to the fact\n" +"that the Ethernet protocol is much simpler than the IP protocol." +msgstr "" + +#: gnu/packages/linux.scm:1186 +msgid "Utilities for controlling TCP/IP networking and traffic in Linux" +msgstr "" + +#: gnu/packages/linux.scm:1188 +msgid "" +"Iproute2 is a collection of utilities for controlling TCP/IP networking\n" +"and traffic with the Linux kernel. The most important of these are\n" +"@command{ip}, which configures IPv4 and IPv6, and @command{tc} for traffic\n" +"control.\n" +"\n" +"Most network configuration manuals still refer to ifconfig and route as the\n" +"primary network configuration tools, but ifconfig is known to behave\n" +"inadequately in modern network environments, and both should be deprecated." +msgstr "" + +#: gnu/packages/linux.scm:1274 +msgid "Tools for controlling the network subsystem in Linux" +msgstr "" + +#: gnu/packages/linux.scm:1276 +msgid "" +"This package includes the important tools for controlling the network\n" +"subsystem of the Linux kernel. This includes arp, ifconfig, netstat, rarp and\n" +"route. Additionally, this package contains utilities relating to particular\n" +"network hardware types (plipconfig, slattach) and advanced aspects of IP\n" +"configuration (iptunnel, ipmaddr)." +msgstr "" + +#: gnu/packages/linux.scm:1415 +msgid "Library for working with POSIX capabilities" +msgstr "" + +#: gnu/packages/linux.scm:1417 +msgid "" +"Libcap2 provides a programming interface to POSIX capabilities on\n" +"Linux-based operating systems." +msgstr "" + +#: gnu/packages/linux.scm:1460 +msgid "Manipulate Ethernet bridges" +msgstr "" + +#: gnu/packages/linux.scm:1462 +msgid "" +"Utilities for Linux's Ethernet bridging facilities. A bridge is a way\n" +"to connect two Ethernet segments together in a protocol independent way.\n" +"Packets are forwarded based on Ethernet address, rather than IP address (like\n" +"a router). Since forwarding is done at Layer 2, all protocols can go\n" +"transparently through a bridge." +msgstr "" + +#: gnu/packages/linux.scm:1530 +msgid "NetLink protocol library suite" +msgstr "" + +#: gnu/packages/linux.scm:1532 +msgid "" +"The libnl suite is a collection of libraries providing APIs to netlink\n" +"protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarily\n" +"between the kernel and user space processes. It was designed to be a more\n" +"flexible successor to ioctl to provide mainly networking related kernel\n" +"configuration and monitoring interfaces." +msgstr "" + +#: gnu/packages/linux.scm:1562 +msgid "Tool for configuring wireless devices" +msgstr "" + +#: gnu/packages/linux.scm:1564 +msgid "" +"iw is a new nl80211 based CLI configuration utility for wireless\n" +"devices. It replaces @code{iwconfig}, which is deprecated." +msgstr "" + +#: gnu/packages/linux.scm:1610 +msgid "Analyze power consumption on Intel-based laptops" +msgstr "" + +#: gnu/packages/linux.scm:1612 +msgid "" +"PowerTOP is a Linux tool to diagnose issues with power consumption and\n" +"power management. In addition to being a diagnostic tool, PowerTOP also has\n" +"an interactive mode where the user can experiment various power management\n" +"settings for cases where the operating system has not enabled these\n" +"settings." +msgstr "" + +#: gnu/packages/linux.scm:1634 +msgid "Audio mixer for X and the console" +msgstr "" + +#: gnu/packages/linux.scm:1636 +msgid "" +"Aumix adjusts an audio mixer from X, the console, a terminal,\n" +"the command line or a script." +msgstr "" + +#: gnu/packages/linux.scm:1660 +msgid "Displays the IO activity of running processes" +msgstr "" + +#: gnu/packages/linux.scm:1662 +msgid "" +"Iotop is a Python program with a top like user interface to show the\n" +"processes currently causing I/O." +msgstr "" + +#: gnu/packages/linux.scm:1716 +msgid "Support file systems implemented in user space" +msgstr "" + +#: gnu/packages/linux.scm:1718 +msgid "" +"As a consequence of its monolithic design, file system code for Linux\n" +"normally goes into the kernel itself---which is not only a robustness issue,\n" +"but also an impediment to system extensibility. FUSE, for \"file systems in\n" +"user space\", is a kernel module and user-space library that tries to address\n" +"part of this problem by allowing users to run file system implementations as\n" +"user-space processes." +msgstr "" + +#: gnu/packages/linux.scm:1752 +msgid "User-space union file system" +msgstr "" + +#: gnu/packages/linux.scm:1754 +msgid "" +"UnionFS-FUSE is a flexible union file system implementation in user\n" +"space, using the FUSE library. Mounting a union file system allows you to\n" +"\"aggregate\" the contents of several directories into a single mount point.\n" +"UnionFS-FUSE additionally supports copy-on-write." +msgstr "" + +#: gnu/packages/linux.scm:1779 +msgid "User-space union file system (statically linked)" +msgstr "" + +#: gnu/packages/linux.scm:1827 +msgid "Mount remote file systems over SSH" +msgstr "" + +#: gnu/packages/linux.scm:1829 +msgid "" +"This is a file system client based on the SSH File Transfer Protocol.\n" +"Since most SSH servers already support this protocol it is very easy to set\n" +"up: on the server side there's nothing to do; on the client side mounting the\n" +"file system is as easy as logging into the server with an SSH client." +msgstr "" + +#: gnu/packages/linux.scm:1852 +msgid "Tool for mounting archive files with FUSE" +msgstr "" + +#: gnu/packages/linux.scm:1853 +msgid "" +"archivemount is a FUSE-based file system for Unix variants,\n" +"including Linux. Its purpose is to mount archives (i.e. tar, tar.gz, etc.) to a\n" +"mount point where it can be read from or written to as with any other file\n" +"system. This makes accessing the contents of the archive, which may be\n" +"compressed, transparent to other programs, without decompressing them." +msgstr "" + +#: gnu/packages/linux.scm:1883 +msgid "Tools for non-uniform memory access (NUMA) machines" +msgstr "" + +#: gnu/packages/linux.scm:1885 +msgid "" +"NUMA stands for Non-Uniform Memory Access, in other words a system whose\n" +"memory is not all in one place. The numactl program allows you to run your\n" +"application program on specific CPU's and memory nodes. It does this by\n" +"supplying a NUMA memory policy to the operating system before running your\n" +"program.\n" +"\n" +"The package contains other commands, such as numademo, numastat and memhog.\n" +"The numademo command provides a quick overview of NUMA performance on your\n" +"system." +msgstr "" + +#: gnu/packages/linux.scm:1921 +msgid "Neo2 console layout" +msgstr "" + +#: gnu/packages/linux.scm:1923 +msgid "" +"Kbd-neo provides the Neo2 keyboard layout for use with\n" +"@command{loadkeys(1)} from @code{kbd(4)}." +msgstr "" + +#: gnu/packages/linux.scm:1986 +msgid "Linux keyboard utilities and keyboard maps" +msgstr "" + +#: gnu/packages/linux.scm:1988 +msgid "" +"This package contains keytable files and keyboard utilities compatible\n" +"for systems using the Linux kernel. This includes commands such as\n" +"'loadkeys', 'setfont', 'kbdinfo', and 'chvt'." +msgstr "" + +#: gnu/packages/linux.scm:2007 +msgid "Monitor file accesses" +msgstr "" + +#: gnu/packages/linux.scm:2009 +msgid "" +"The inotify-tools packages provides a C library and command-line tools\n" +"to use Linux' inotify mechanism, which allows file accesses to be monitored." +msgstr "" + +#: gnu/packages/linux.scm:2047 +msgid "Kernel module tools" +msgstr "" + +#: gnu/packages/linux.scm:2048 +msgid "" +"Kmod is a set of tools to handle common tasks with Linux\n" +"kernel modules like insert, remove, list, check properties, resolve\n" +"dependencies and aliases.\n" +"\n" +"These tools are designed on top of libkmod, a library that is shipped with\n" +"kmod. The aim is to be compatible with tools, configurations and indices\n" +"from the module-init-tools project." +msgstr "" + +#: gnu/packages/linux.scm:2092 +msgid "Userspace device management" +msgstr "" + +#: gnu/packages/linux.scm:2093 +msgid "" +"Udev is a daemon which dynamically creates and removes\n" +"device nodes from /dev/, handles hotplug events and loads drivers at boot\n" +"time." +msgstr "" + +#: gnu/packages/linux.scm:2168 +msgid "Logical volume management for Linux" +msgstr "" + +#: gnu/packages/linux.scm:2170 +msgid "" +"LVM2 is the logical volume management tool set for Linux-based systems.\n" +"This package includes the user-space libraries and tools, including the device\n" +"mapper. Kernel components are part of Linux-libre." +msgstr "" + +#: gnu/packages/linux.scm:2192 +msgid "Logical volume management for Linux (statically linked)" +msgstr "" + +#: gnu/packages/linux.scm:2222 +msgid "Tools for manipulating Linux Wireless Extensions" +msgstr "" + +#: gnu/packages/linux.scm:2223 +msgid "" +"Wireless Tools are used to manipulate the now-deprecated\n" +"Linux Wireless Extensions; consider using 'iw' instead. The Wireless\n" +"Extension was an interface allowing you to set Wireless LAN specific\n" +"parameters and get the specific stats. It is deprecated in favor the nl80211\n" +"interface." +msgstr "" + +#: gnu/packages/linux.scm:2295 +msgid "Central regulatory domain agent (CRDA) for WiFi" +msgstr "" + +#: gnu/packages/linux.scm:2297 +msgid "" +"The Central Regulatory Domain Agent (CRDA) acts as the udev helper for\n" +"communication between the kernel Linux and user space for regulatory\n" +"compliance." +msgstr "" + +#: gnu/packages/linux.scm:2343 +msgid "Wireless regulatory database" +msgstr "" + +#: gnu/packages/linux.scm:2345 +msgid "" +"This package contains the wireless regulatory database Central\n" +"Regulatory Database Agent (CRDA) daemon. The database contains information on\n" +"country-specific regulations for the wireless spectrum." +msgstr "" + +#: gnu/packages/linux.scm:2422 +msgid "Utilities to read temperature/voltage/fan sensors" +msgstr "" + +#: gnu/packages/linux.scm:2424 +msgid "" +"Lm-sensors is a hardware health monitoring package for Linux. It allows\n" +"you to access information from temperature, voltage, and fan speed sensors.\n" +"It works with most newer systems." +msgstr "" + +#: gnu/packages/linux.scm:2451 +msgid "I2C tools for Linux" +msgstr "" + +#: gnu/packages/linux.scm:2453 +msgid "" +"The i2c-tools package contains a heterogeneous set of I2C tools for\n" +"Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers,\n" +"EEPROM decoding scripts, EEPROM programming tools, and a python module for\n" +"SMBus access." +msgstr "" + +#: gnu/packages/linux.scm:2490 +msgid "Hardware health information viewer" +msgstr "" + +#: gnu/packages/linux.scm:2492 +msgid "" +"Xsensors reads data from the libsensors library regarding hardware\n" +"health such as temperature, voltage and fan speed and displays the information\n" +"in a digital read-out." +msgstr "" + +#: gnu/packages/linux.scm:2542 +msgid "Linux profiling with performance counters" +msgstr "" + +#: gnu/packages/linux.scm:2544 +msgid "" +"perf is a tool suite for profiling using hardware performance counters,\n" +"with support in the Linux kernel. perf can instrument CPU performance\n" +"counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable\n" +"of lightweight profiling. This package contains the user-land tools and in\n" +"particular the 'perf' command." +msgstr "" + +#: gnu/packages/linux.scm:2567 +msgid "Simple tool for creating Linux namespace containers" +msgstr "" + +#: gnu/packages/linux.scm:2568 +msgid "" +"pflask is a simple tool for creating Linux namespace\n" +"containers. It can be used for running a command or even booting an OS inside\n" +"an isolated container, created with the help of Linux namespaces. It is\n" +"similar in functionality to chroot, although pflask provides better isolation\n" +"thanks to the use of namespaces." +msgstr "" + +#: gnu/packages/linux.scm:2597 +msgid "View and tune ATA disk drive parameters" +msgstr "" + +#: gnu/packages/linux.scm:2599 +msgid "" +"@command{hdparm} is a command-line utility to control ATA controllers and\n" +"disk drives. It can increase performance and/or reliability by careful tuning\n" +"of hardware settings like power and acoustic management, DMA modes, and caching.\n" +"It can also display detailed device information, or be used as a simple\n" +"performance benchmarking tool.\n" +"\n" +"@command{hdparm} provides a command line interface to various Linux kernel\n" +"interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older\n" +"IDE driver subsystem. Many external USB drive enclosures with @dfn{SCSI-ATA\n" +"Command Translation} (SAT) are also supported." +msgstr "" + +#: gnu/packages/linux.scm:2630 +msgid "Tool for enabling and disabling wireless devices" +msgstr "" + +#: gnu/packages/linux.scm:2632 +msgid "" +"rfkill is a simple tool for accessing the rfkill device interface,\n" +"which is used to enable and disable wireless networking devices, typically\n" +"WLAN, Bluetooth and mobile broadband." +msgstr "" + +#: gnu/packages/linux.scm:2651 +msgid "Display information on ACPI devices" +msgstr "" + +#: gnu/packages/linux.scm:2652 +msgid "" +"@code{acpi} attempts to replicate the functionality of the\n" +"\"old\" @code{apm} command on ACPI systems, including battery and thermal\n" +"information. It does not support ACPI suspending, only displays information\n" +"about ACPI devices." +msgstr "" + +#: gnu/packages/linux.scm:2671 +msgid "Daemon for delivering ACPI events to user-space programs" +msgstr "" + +#: gnu/packages/linux.scm:2673 +msgid "" +"acpid is designed to notify user-space programs of Advanced\n" +"Configuration and Power Interface (ACPI) events. acpid should be started\n" +"during the system boot, and will run as a background process. When an ACPI\n" +"event is received from the kernel, acpid will examine the list of rules\n" +"specified in /etc/acpi/events and execute the rules that match the event." +msgstr "" + +#: gnu/packages/linux.scm:2695 +msgid "System utilities based on Linux sysfs" +msgstr "" + +#: gnu/packages/linux.scm:2697 +msgid "" +"These are a set of utilities built upon sysfs, a virtual file system in\n" +"Linux kernel versions 2.5+ that exposes a system's device tree. The package\n" +"also contains the libsysfs library." +msgstr "" + +#: gnu/packages/linux.scm:2726 +msgid "System utilities based on Linux sysfs (version 1.x)" +msgstr "" + +#: gnu/packages/linux.scm:2749 +msgid "Utilities to get and set CPU frequency on Linux" +msgstr "" + +#: gnu/packages/linux.scm:2751 +msgid "" +"The cpufrequtils suite contains utilities to retrieve CPU frequency\n" +"information, and set the CPU frequency if supported, using the cpufreq\n" +"capabilities of the Linux kernel." +msgstr "" + +#: gnu/packages/linux.scm:2770 +msgid "Interface library for the Linux IEEE1394 drivers" +msgstr "" + +#: gnu/packages/linux.scm:2772 +msgid "" +"Libraw1394 is the only supported interface to the kernel side raw1394 of\n" +"the Linux IEEE-1394 subsystem, which provides direct access to the connected\n" +"1394 buses to user space. Through libraw1394/raw1394, applications can directly\n" +"send to and receive from other nodes without requiring a kernel driver for the\n" +"protocol in question." +msgstr "" + +#: gnu/packages/linux.scm:2796 +msgid "AV/C protocol library for IEEE 1394" +msgstr "" + +#: gnu/packages/linux.scm:2798 +msgid "" +"Libavc1394 is a programming interface to the AV/C specification from\n" +"the 1394 Trade Association. AV/C stands for Audio/Video Control." +msgstr "" + +#: gnu/packages/linux.scm:2820 +msgid "Isochronous streaming media library for IEEE 1394" +msgstr "" + +#: gnu/packages/linux.scm:2822 +msgid "" +"The libiec61883 library provides a higher level API for streaming DV,\n" +"MPEG-2 and audio over Linux IEEE 1394." +msgstr "" + +#: gnu/packages/linux.scm:2871 +msgid "Tool for managing Linux Software RAID arrays" +msgstr "" + +#: gnu/packages/linux.scm:2873 +msgid "" +"mdadm is a tool for managing Linux Software RAID arrays. It can create,\n" +"assemble, report on, and monitor arrays. It can also move spares between raid\n" +"arrays when needed." +msgstr "" + +#: gnu/packages/linux.scm:2905 +msgid "Statically-linked 'mdadm' command for use in an initrd" +msgstr "" + +#: gnu/packages/linux.scm:2970 +msgid "Access block devices through multiple paths" +msgstr "" + +#: gnu/packages/linux.scm:2972 +msgid "" +"This package provides the following binaries to drive the\n" +"Linux Device Mapper multipathing driver:\n" +"@enumerate\n" +"@item @command{multipath} - Device mapper target autoconfig.\n" +"@item @command{multipathd} - Multipath daemon.\n" +"@item @command{mpathpersist} - Manages SCSI persistent reservations on\n" +"@code{dm} multipath devices.\n" +"@item @command{kpartx} - Create device maps from partition tables.\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/linux.scm:3004 +msgid "Linux-native asynchronous I/O access library" +msgstr "" + +#: gnu/packages/linux.scm:3006 +msgid "" +"This library enables userspace to use Linux kernel asynchronous I/O\n" +"system calls, important for the performance of databases and other advanced\n" +"applications." +msgstr "" + +#: gnu/packages/linux.scm:3028 +msgid "Bluetooth subband audio codec" +msgstr "" + +#: gnu/packages/linux.scm:3030 +msgid "" +"The SBC is a digital audio encoder and decoder used to transfer data to\n" +"Bluetooth audio output devices like headphones or loudspeakers." +msgstr "" + +#: gnu/packages/linux.scm:3098 +msgid "Linux Bluetooth protocol stack" +msgstr "" + +#: gnu/packages/linux.scm:3100 +msgid "" +"BlueZ provides support for the core Bluetooth layers and protocols. It\n" +"is flexible, efficient and uses a modular implementation." +msgstr "" + +#: gnu/packages/linux.scm:3122 +msgid "Mount exFAT file systems" +msgstr "" + +#: gnu/packages/linux.scm:3124 +msgid "" +"This package provides a FUSE-based file system that provides read and\n" +"write access to exFAT devices." +msgstr "" + +#: gnu/packages/linux.scm:3166 +msgid "Mouse support for the Linux console" +msgstr "" + +#: gnu/packages/linux.scm:3168 +msgid "" +"The GPM (general-purpose mouse) daemon is a mouse server for\n" +"applications running on the Linux console. It allows users to select items\n" +"and copy/paste text in the console and in xterm." +msgstr "" + +#: gnu/packages/linux.scm:3225 +msgid "Create and manage btrfs copy-on-write file systems" +msgstr "" + +#: gnu/packages/linux.scm:3226 +msgid "" +"Btrfs is a @dfn{copy-on-write} (CoW) file system for Linux\n" +"aimed at implementing advanced features while focusing on fault tolerance,\n" +"repair and easy administration." +msgstr "" + +#: gnu/packages/linux.scm:3258 +msgid "Statically-linked btrfs command from btrfs-progs" +msgstr "" + +#: gnu/packages/linux.scm:3259 +msgid "" +"This package provides the statically-linked @command{btrfs}\n" +"from the btrfs-progs package. It is meant to be used in initrds." +msgstr "" + +#: gnu/packages/linux.scm:3290 +msgid "Userland tools for f2fs" +msgstr "" + +#: gnu/packages/linux.scm:3292 +msgid "" +"F2FS, the Flash-Friendly File System, is a modern file system\n" +"designed to be fast and durable on flash devices such as solid-state\n" +"disks and SD cards. This package provides the userland utilities." +msgstr "" + +#: gnu/packages/linux.scm:3321 +msgid "Free-fall protection for spinning laptop hard drives" +msgstr "" + +#: gnu/packages/linux.scm:3323 +msgid "" +"Prevents shock damage to the internal spinning hard drive(s) of some\n" +"HP and Dell laptops. When sudden movement is detected, all input/output\n" +"operations on the drive are suspended and its heads are parked on the ramp,\n" +"where they are less likely to cause damage to the spinning disc. Requires a\n" +"drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload\n" +"feature, and a laptop with an accelerometer. It has no effect on SSDs." +msgstr "" + +#: gnu/packages/linux.scm:3377 +msgid "Simple fan control program" +msgstr "" + +#: gnu/packages/linux.scm:3379 +msgid "" +"Thinkfan is a simple fan control program. It reads temperatures,\n" +"checks them against configured limits and switches to appropriate (also\n" +"pre-configured) fan level. It requires a working @code{thinkpad_acpi} or any\n" +"other @code{hwmon} driver that enables temperature reading and fan control\n" +"from userspace." +msgstr "" + +#: gnu/packages/linux.scm:3414 +msgid "Read-write access to NTFS file systems" +msgstr "" + +#: gnu/packages/linux.scm:3416 +msgid "" +"NTFS-3G provides read-write access to NTFS file systems, which are\n" +"commonly found on Microsoft Windows. It is implemented as a FUSE file system.\n" +"The package provides additional NTFS tools." +msgstr "" + +#: gnu/packages/linux.scm:3461 +msgid "Utilities and libraries for working with RDMA devices" +msgstr "" + +#: gnu/packages/linux.scm:3463 +msgid "" +"This package provides userspace components for the InfiniBand\n" +"subsystem of the Linux kernel. Specifically it contains userspace\n" +"libraries for the following device nodes:\n" +"\n" +"@enumerate\n" +"@item @file{/dev/infiniband/uverbsX} (@code{libibverbs})\n" +"@item @file{/dev/infiniband/rdma_cm} (@code{librdmacm})\n" +"@item @file{/dev/infiniband/umadX} (@code{libibumad})\n" +"@end enumerate\n" +"\n" +"The following service daemons are also provided:\n" +"@enumerate\n" +"@item @code{srp_daemon} (for the @code{ib_srp} kernel module)\n" +"@item @code{iwpmd} (for iWARP kernel providers)\n" +"@item @code{ibacm} (for InfiniBand communication management assistant)\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/linux.scm:3502 +msgid "Random number generator daemon" +msgstr "" + +#: gnu/packages/linux.scm:3504 +msgid "" +"Monitor a hardware random number generator, and supply entropy\n" +"from that to the system kernel's @file{/dev/random} machinery." +msgstr "" + +#: gnu/packages/linux.scm:3542 +msgid "CPU frequency and voltage scaling tools for Linux" +msgstr "" + +#: gnu/packages/linux.scm:3544 +msgid "" +"cpupower is a set of user-space tools that use the cpufreq feature of the\n" +"Linux kernel to retrieve and control processor features related to power saving,\n" +"such as frequency and voltage scaling." +msgstr "" + +#: gnu/packages/linux.scm:3563 +msgid "Entropy source for the Linux random number generator" +msgstr "" + +#: gnu/packages/linux.scm:3565 +msgid "" +"haveged generates an unpredictable stream of random numbers for use by\n" +"Linux's @file{/dev/random} and @file{/dev/urandom} devices. The kernel's\n" +"standard mechanisms for filling the entropy pool may not be sufficient for\n" +"systems with high needs or limited user interaction, such as headless servers.\n" +"@command{haveged} runs as a privileged daemon, harvesting randomness from the\n" +"indirect effects of hardware events on hidden processor state using the HArdware\n" +"Volatile Entropy Gathering and Expansion (HAVEGE) algorithm. It tunes itself to\n" +"its environment and provides the same built-in test suite for the output stream\n" +"as used on certified hardware security devices." +msgstr "" + +#: gnu/packages/linux.scm:3604 +msgid "eCryptfs cryptographic file system utilities" +msgstr "" + +#: gnu/packages/linux.scm:3606 +msgid "" +"eCryptfs is a POSIX-compliant stacked cryptographic file system for Linux.\n" +"Each file's cryptographic meta-data is stored inside the file itself, along\n" +"with the encrypted contents. This allows individual encrypted files to be\n" +"copied between hosts and still be decrypted with the proper key. eCryptfs is a\n" +"native Linux file system, and has been part of the Linux kernel since version\n" +"2.6.19. This package contains the userland utilities to manage it." +msgstr "" + +#: gnu/packages/linux.scm:3637 +msgid "NFSv4 support library for name/ID mapping" +msgstr "" + +#: gnu/packages/linux.scm:3638 +msgid "" +"Libnfsidmap is a library holding mulitiple methods of\n" +"mapping names to ids and visa versa, mainly for NFSv4. It provides an\n" +"extensible array of mapping functions, currently consisting of two choices:\n" +"the default @code{nsswitch} and the experimental @code{umich_ldap}." +msgstr "" + +#: gnu/packages/linux.scm:3672 +msgid "Tools for loading and managing Linux kernel modules" +msgstr "" + +#: gnu/packages/linux.scm:3674 +msgid "" +"Tools for loading and managing Linux kernel modules, such as `modprobe',\n" +"`insmod', `lsmod', and more." +msgstr "" + +#: gnu/packages/linux.scm:3708 +msgid "Machine check monitor for x86 Linux systems" +msgstr "" + +#: gnu/packages/linux.scm:3710 +msgid "" +"The mcelog daemon is required by the Linux kernel to log memory, I/O, CPU,\n" +"and other hardware errors on x86 systems. It can also perform user-defined\n" +"tasks, such as bringing bad pages off-line, when configurable error thresholds\n" +"are exceeded." +msgstr "" + +#: gnu/packages/linux.scm:3739 +msgid "MTD Flash Storage Utilities" +msgstr "" + +#: gnu/packages/linux.scm:3740 +msgid "" +"This package provides utilities for testing, partitioning, etc\n" +"of flash storage." +msgstr "" + +#: gnu/packages/linux.scm:3763 +msgid "Interface to Linux's seccomp syscall filtering mechanism" +msgstr "" + +#: gnu/packages/linux.scm:3764 +msgid "" +"The libseccomp library provides an easy to use, platform\n" +"independent, interface to the Linux Kernel's syscall filtering mechanism. The\n" +"libseccomp API is designed to abstract away the underlying BPF based syscall\n" +"filter language and present a more conventional function-call based filtering\n" +"interface that should be familiar to, and easily adopted by, application\n" +"developers." +msgstr "" + +#: gnu/packages/linux.scm:3806 +msgid "Usage monitor for AMD Radeon graphics" +msgstr "" + +#: gnu/packages/linux.scm:3807 +msgid "" +"RadeonTop monitors resource consumption on supported AMD\n" +"Radeon Graphics Processing Units (GPUs), either in real time as bar graphs on\n" +"a terminal or saved to a file for further processing. It measures both the\n" +"activity of the GPU as a whole, which is also accurate during OpenCL\n" +"computations, as well as separate component statistics that are only meaningful\n" +"under OpenGL graphics workloads." +msgstr "" + +#: gnu/packages/linux.scm:3842 +msgid "Tool and library to manipulate EFI variables" +msgstr "" + +#: gnu/packages/linux.scm:3843 +msgid "" +"This package provides a library and a command line\n" +"interface to the variable facility of UEFI boot firmware." +msgstr "" + +#: gnu/packages/linux.scm:3884 +msgid "Modify the Extensible Firmware Interface (EFI) boot manager" +msgstr "" + +#: gnu/packages/linux.scm:3886 +msgid "" +"@code{efibootmgr} is a user-space application to modify the Intel\n" +"Extensible Firmware Interface (EFI) Boot Manager. This application can\n" +"create and destroy boot entries, change the boot order, change the next\n" +"running boot option, and more." +msgstr "" + +#: gnu/packages/linux.scm:3922 +msgid "Performance monitoring tools for Linux" +msgstr "" + +#: gnu/packages/linux.scm:3923 +msgid "" +"The sysstat utilities are a collection of performance\n" +"monitoring tools for Linux. These include @code{mpstat}, @code{iostat},\n" +"@code{tapestat}, @code{cifsiostat}, @code{pidstat}, @code{sar}, @code{sadc},\n" +"@code{sadf} and @code{sa}." +msgstr "" + +#: gnu/packages/linux.scm:3955 +msgid "GNU/Linux application to control backlights" +msgstr "" + +#: gnu/packages/linux.scm:3957 +msgid "" +"Light is a program to send commands to screen backlight controllers\n" +"under GNU/Linux. Features include:\n" +"\n" +"@itemize\n" +"@item It does not rely on X.\n" +"@item Light can automatically figure out the best controller to use, making\n" +"full use of underlying hardware.\n" +"@item It is possible to set a minimum brightness value, as some controllers\n" +"set the screen to be pitch black at a vaĺue of 0 (or higher).\n" +"@end itemize\n" +"\n" +"Light is the successor of lightscript." +msgstr "" + +#: gnu/packages/linux.scm:4059 +msgid "Power management tool for Linux" +msgstr "" + +#: gnu/packages/linux.scm:4060 +msgid "" +"TLP is a power management tool for Linux. It comes with\n" +"a default configuration already optimized for battery life. Nevertheless,\n" +"TLP is customizable to fulfil system requirements. TLP settings are applied\n" +"every time the power supply source is changed." +msgstr "" + +#: gnu/packages/linux.scm:4087 +msgid "List hardware information" +msgstr "" + +#: gnu/packages/linux.scm:4089 +msgid "" +"@command{lshw} (Hardware Lister) is a small tool to provide\n" +"detailed information on the hardware configuration of the machine.\n" +"It can report exact memory configuration, firmware version, mainboard\n" +"configuration, CPU version and speed, cache configuration, bus speed,\n" +"and more on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC\n" +"machines (PowerMac G4 is known to work)." +msgstr "" + +#: gnu/packages/linux.scm:4112 +msgid "Netlink utility library" +msgstr "" + +#: gnu/packages/linux.scm:4113 +msgid "" +"Libmnl is a minimalistic user-space library oriented to\n" +"Netlink developers. There are a lot of common tasks in parsing, validating,\n" +"constructing of both the Netlink header and TLVs that are repetitive and easy to\n" +"get wrong. This library aims to provide simple helpers that allows you to\n" +"re-use code and to avoid re-inventing the wheel." +msgstr "" + +#: gnu/packages/linux.scm:4138 +msgid "Netlink programming interface to the Linux nf_tables subsystem" +msgstr "" + +#: gnu/packages/linux.scm:4139 +msgid "" +"Libnftnl is a userspace library providing a low-level netlink\n" +"programming interface to the in-kernel nf_tables subsystem. The library\n" +"libnftnl has been previously known as libnftables. This library is currently\n" +"used by nftables." +msgstr "" + +#: gnu/packages/linux.scm:4166 +msgid "Userspace utility for Linux packet filtering" +msgstr "" + +#: gnu/packages/linux.scm:4167 +msgid "" +"nftables is the project that aims to replace the existing\n" +"{ip,ip6,arp,eb}tables framework. Basically, this project provides a new packet\n" +"filtering framework, a new userspace utility and also a compatibility layer for\n" +"{ip,ip6}tables. nftables is built upon the building blocks of the Netfilter\n" +"infrastructure such as the existing hooks, the connection tracking system, the\n" +"userspace queueing component and the logging subsystem." +msgstr "" + +#: gnu/packages/linux.scm:4265 +msgid "Unprivileged chroot, bind mount, and binfmt_misc" +msgstr "" + +#: gnu/packages/linux.scm:4267 +msgid "" +"PRoot is a user-space implementation of @code{chroot}, @code{mount --bind},\n" +"and @code{binfmt_misc}. This means that users don't need any privileges or\n" +"setup to do things like using an arbitrary directory as the new root\n" +"filesystem, making files accessible somewhere else in the file system\n" +"hierarchy, or executing programs built for another CPU architecture\n" +"transparently through QEMU user-mode. Also, developers can use PRoot as a\n" +"generic process instrumentation engine thanks to its extension mechanism.\n" +"Technically PRoot relies on @code{ptrace}, an unprivileged system-call\n" +"available in the kernel Linux." +msgstr "" + +#: gnu/packages/linux.scm:4283 +msgid "Unprivileged chroot, bind mount, and binfmt_misc (statically linked)" +msgstr "" + +#: gnu/packages/linux.scm:4329 +msgid "Linux tool to dump x86 CPUID information about the CPU(s)" +msgstr "" + +#: gnu/packages/linux.scm:4330 +msgid "" +"cpuid dumps detailed information about the CPU(s) gathered\n" +"from the CPUID instruction, and also determines the exact model of CPU(s). It\n" +"supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC,\n" +"NexGen, Rise, and SiS CPUs." +msgstr "" + +#: gnu/packages/linux.scm:4357 +msgid "Use a FUSE filesystem to access data over MTP" +msgstr "" + +#: gnu/packages/linux.scm:4358 +msgid "" +"jmtpfs uses FUSE (filesystem in userspace) to provide access\n" +"to data over the Media Transfer Protocol (MTP). Unprivileged users can mount\n" +"the MTP device as a filesystem." +msgstr "" + +#: gnu/packages/linux.scm:4380 +msgid "Utility to show process environment" +msgstr "" + +#: gnu/packages/linux.scm:4381 +msgid "" +"Procenv is a command-line tool that displays as much detail about\n" +"itself and its environment as possible. It can be used as a test\n" +"tool, to understand the type of environment a process runs in, and for\n" +"comparing system environments." +msgstr "" + +#: gnu/packages/linux.scm:4408 +msgid "Open Fabric Interfaces" +msgstr "" + +#: gnu/packages/linux.scm:4410 +msgid "" +"OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric\n" +"communication services to applications. OFI is best described as a collection\n" +"of libraries and applications used to export fabric services. The key\n" +"components of OFI are: application interfaces, provider libraries, kernel\n" +"services, daemons, and test applications.\n" +"\n" +"Libfabric is a core component of OFI. It is the library that defines and\n" +"exports the user-space API of OFI, and is typically the only software that\n" +"applications deal with directly. It works in conjunction with provider\n" +"libraries, which are often integrated directly into libfabric." +msgstr "" + +#: gnu/packages/linux.scm:4456 +msgid "Intel Performance Scaled Messaging (PSM) Libraries" +msgstr "" + +#: gnu/packages/linux.scm:4458 +msgid "" +"The PSM Messaging API, or PSM API, is Intel's low-level user-level\n" +"communications interface for the True Scale family of products. PSM users are\n" +"enabled with mechanisms necessary to implement higher level communications\n" +"interfaces in parallel environments." +msgstr "" + +#: gnu/packages/lout.scm:109 +msgid "Document layout system" +msgstr "" + +#: gnu/packages/lout.scm:111 +msgid "" +"The Lout document formatting system reads a high-level description of\n" +"a document similar in style to LaTeX and produces a PostScript or plain text\n" +"output file.\n" +"\n" +"Lout offers an unprecedented range of advanced features, including optimal\n" +"paragraph and page breaking, automatic hyphenation, PostScript EPS file\n" +"inclusion and generation, equation formatting, tables, diagrams, rotation and\n" +"scaling, sorted indexes, bibliographic databases, running headers and\n" +"odd-even pages, automatic cross referencing, multilingual documents including\n" +"hyphenation (most European languages are supported), formatting of computer\n" +"programs, and much more, all ready to use. Furthermore, Lout is easily\n" +"extended with definitions which are very much easier to write than troff of\n" +"TeX macros because Lout is a high-level, purely functional language, the\n" +"outcome of an eight-year research project that went back to the\n" +"beginning." +msgstr "" + +#: gnu/packages/messaging.scm:115 +msgid "Off-the-Record (OTR) Messaging Library and Toolkit" +msgstr "" + +#: gnu/packages/messaging.scm:117 +msgid "" +"OTR allows you to have private conversations over instant messaging by\n" +"providing: (1) Encryption: No one else can read your instant messages. (2)\n" +"Authentication: You are assured the correspondent is who you think it is. (3)\n" +"Deniability: The messages you send do not have digital signatures that are\n" +"checkable by a third party. Anyone can forge messages after a conversation to\n" +"make them look like they came from you. However, during a conversation, your\n" +"correspondent is assured the messages he sees are authentic and\n" +"unmodified. (4) Perfect forward secrecy: If you lose control of your private\n" +"keys, no previous conversation is compromised." +msgstr "" + +#: gnu/packages/messaging.scm:151 +msgid "Implementation of a ratcheting forward secrecy protocol" +msgstr "" + +#: gnu/packages/messaging.scm:152 +msgid "" +"libsignal-protocol-c is an implementation of a ratcheting\n" +"forward secrecy protocol that works in synchronous and asynchronous\n" +"messaging environments. It can be used with messaging software to provide\n" +"end-to-end encryption." +msgstr "" + +#: gnu/packages/messaging.scm:190 +msgid "IRC to instant messaging gateway" +msgstr "" + +#: gnu/packages/messaging.scm:191 +msgid "" +"BitlBee brings IM (instant messaging) to IRC clients, for\n" +"people who have an IRC client running all the time and don't want to run an\n" +"additional IM client. BitlBee currently supports XMPP/Jabber (including\n" +"Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter\n" +"microblogging network (plus all other Twitter API compatible services like\n" +"identi.ca and status.net)." +msgstr "" + +#: gnu/packages/messaging.scm:252 +msgid "Graphical IRC Client" +msgstr "" + +#: gnu/packages/messaging.scm:254 +msgid "" +"HexChat lets you connect to multiple IRC networks at once. The main\n" +"window shows the list of currently connected networks and their channels, the\n" +"current conversation and the list of users. It uses colors to differentiate\n" +"between users and to highlight messages. It checks spelling using available\n" +"dictionaries. HexChat can be extended with multiple addons." +msgstr "" + +#: gnu/packages/messaging.scm:319 +msgid "Lightweight Internet Relay Chat server for small networks" +msgstr "" + +#: gnu/packages/messaging.scm:321 +msgid "" +"ngIRCd is a lightweight @dfn{Internet Relay Chat} (IRC) server for small\n" +"or private networks. It is easy to configure, can cope with dynamic IP\n" +"addresses, and supports IPv6, SSL-protected connections, as well as PAM for\n" +"authentication." +msgstr "" + +#: gnu/packages/messaging.scm:393 +msgid "Graphical multi-protocol instant messaging client" +msgstr "" + +#: gnu/packages/messaging.scm:395 +msgid "" +"Pidgin is a modular instant messaging client that supports many popular\n" +"chat protocols." +msgstr "" + +#: gnu/packages/messaging.scm:433 +msgid "Off-the-Record Messaging plugin for Pidgin" +msgstr "" + +#: gnu/packages/messaging.scm:435 +msgid "" +"Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant\n" +"messaging client. OTR (Off-the-Record) Messaging allows you to have private\n" +"conversations over instant messaging by providing: (1) Encryption: No one else\n" +"can read your instant messages. (2) Authentication: You are assured the\n" +"correspondent is who you think it is. (3) Deniability: The messages you send\n" +"do not have digital signatures that are checkable by a third party. Anyone\n" +"can forge messages after a conversation to make them look like they came from\n" +"you. However, during a conversation, your correspondent is assured the\n" +"messages he sees are authentic and unmodified. (4) Perfect forward secrecy:\n" +"If you lose control of your private keys, no previous conversation is\n" +"compromised." +msgstr "" + +#: gnu/packages/messaging.scm:486 +msgid "IRC network bouncer" +msgstr "" + +#: gnu/packages/messaging.scm:487 +msgid "" +"ZNC is an IRC network bouncer or BNC. It can detach the\n" +"client from the actual IRC server, and also from selected channels. Multiple\n" +"clients from different locations can connect to a single ZNC account\n" +"simultaneously and therefore appear under the same nickname on IRC." +msgstr "" + +#: gnu/packages/messaging.scm:508 +msgid "Non-blocking Jabber/XMPP module" +msgstr "" + +#: gnu/packages/messaging.scm:510 +msgid "" +"The goal of this python library is to provide a way for Python\n" +"applications to use Jabber/XMPP networks in a non-blocking way. This library\n" +"was initially a fork of xmpppy, but uses non-blocking sockets." +msgstr "" + +#: gnu/packages/messaging.scm:560 +msgid "Jabber (XMPP) client" +msgstr "" + +#: gnu/packages/messaging.scm:561 +msgid "" +"Gajim is a feature-rich and easy to use Jabber/XMPP client.\n" +"Among its features are: a tabbed chat window and single window modes; support\n" +"for group chat (with Multi-User Chat protocol), invitation, chat to group chat\n" +"transformation; audio and video conferences; file transfer; TLS, GPG and\n" +"end-to-end encryption support; XML console." +msgstr "" + +#: gnu/packages/messaging.scm:630 +msgid "Graphical Jabber (XMPP) client" +msgstr "" + +#: gnu/packages/messaging.scm:631 +msgid "" +"Dino is a Jabber (XMPP) client which aims to fit well into\n" +"a graphical desktop environment like GNOME." +msgstr "" + +#: gnu/packages/messaging.scm:720 +msgid "Jabber (XMPP) server" +msgstr "" + +#: gnu/packages/messaging.scm:721 +msgid "" +"Prosody is a modern XMPP communication server. It aims to\n" +"be easy to set up and configure, and efficient with system resources.\n" +"Additionally, for developers it aims to be easy to extend and give a flexible\n" +"system on which to rapidly develop added functionality, or prototype new\n" +"protocols." +msgstr "" + +#: gnu/packages/messaging.scm:763 gnu/packages/messaging.scm:793 +msgid "Library for the Tox encrypted messenger protocol" +msgstr "" + +#: gnu/packages/messaging.scm:765 +msgid "C library implementation of the Tox encrypted messenger protocol." +msgstr "" + +#: gnu/packages/messaging.scm:795 +msgid "" +"Official fork of the C library implementation of the Tox encrypted\n" +"messenger protocol." +msgstr "" + +#: gnu/packages/messaging.scm:847 +msgid "Lightweight Tox client" +msgstr "" + +#: gnu/packages/messaging.scm:849 +msgid "" +"Utox is a lightweight Tox client. Tox is a distributed and secure\n" +"instant messenger with audio and video chat capabilities." +msgstr "" + +#: gnu/packages/messaging.scm:898 +msgid "Tox chat client using Qt" +msgstr "" + +#: gnu/packages/messaging.scm:899 +msgid "" +"qTox is a Tox client that follows the Tox design\n" +"guidelines. It provides an easy to use application that allows you to\n" +"connect with friends and family without anyone else listening in." +msgstr "" + +#: gnu/packages/messaging.scm:991 +msgid "" +"Distributed and trustless peer-to-peer communications protocol\n" +"for sending encrypted messages to one person or many subscribers." +msgstr "" + +#: gnu/packages/messaging.scm:993 +msgid "Distributed peer-to-peer communication" +msgstr "" + +#: gnu/packages/messaging.scm:1012 +msgid "Multi-user chat program" +msgstr "" + +#: gnu/packages/messaging.scm:1013 +msgid "" +"Ytalk is a replacement for the BSD talk program. Its main\n" +"advantage is the ability to communicate with any arbitrary number of users at\n" +"once. It supports both talk protocols (\"talk\" and \"ntalk\") and can communicate\n" +"with several different talk daemons at the same time." +msgstr "" + +#: gnu/packages/messaging.scm:1038 +msgid "Portable high-level Jabber/XMPP library for C++" +msgstr "" + +#: gnu/packages/messaging.scm:1040 +msgid "" +"gloox is a full-featured Jabber/XMPP client library,\n" +"written in ANSI C++. It makes writing spec-compliant clients easy\n" +"and allows for hassle-free integration of Jabber/XMPP functionality\n" +"into existing applications." +msgstr "" + +#: gnu/packages/messaging.scm:1113 +msgid "" +"@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Select} and\n" +"Gtk2 event loops. This package includes 12 applications and additional scripts:\n" +"psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a control console\n" +"for @uref{https://torproject.org,tor} router) and many more." +msgstr "" + +#: gnu/packages/messaging.scm:1117 +msgid "Perl implementation of PSYC protocol" +msgstr "" + +#: gnu/packages/messaging.scm:1156 +msgid "" +"@code{libpsyc} is a PSYC library in C which implements\n" +"core aspects of PSYC, useful for all kinds of clients and servers\n" +"including psyced." +msgstr "" + +#: gnu/packages/messaging.scm:1159 +msgid "PSYC library in C" +msgstr "" + +#: gnu/packages/messaging.scm:1226 +msgid "psycLPC is a multi-user network server programming language" +msgstr "" + +#: gnu/packages/messaging.scm:1228 +msgid "" +"LPC is a bytecode language, invented to specifically implement\n" +"multi user virtual environments on the internet. This technology is used for\n" +"MUDs and also the psyced implementation of the Protocol for SYnchronous\n" +"Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and\n" +"many bug fixes." +msgstr "" + +#: gnu/packages/messaging.scm:1259 +msgid "" +"Loudmouth is a lightweight and easy-to-use C library for programming\n" +"with the XMPP (formerly known as Jabber) protocol. It is designed to be\n" +"easy to get started with and yet extensible to let you do anything the XMPP\n" +"protocol allows." +msgstr "" + +#: gnu/packages/messaging.scm:1263 +msgid "Asynchronous XMPP library" +msgstr "" + +#: gnu/packages/messaging.scm:1295 +msgid "" +"Mcabber is a small XMPP (Jabber) console client, which includes features\n" +"such as SASL and TLS support, @dfn{Multi-User Chat} (MUC) support, logging,\n" +"command-completion, OpenPGP encryption, @dfn{Off-the-Record Messaging} (OTR)\n" +"support, and more." +msgstr "" + +#: gnu/packages/messaging.scm:1299 +msgid "Small XMPP console client" +msgstr "" + +#: gnu/packages/messaging.scm:1345 +msgid "Extensible console-based Jabber client" +msgstr "" + +#: gnu/packages/messaging.scm:1347 +msgid "" +"GNU Freetalk is a command-line Jabber/XMPP chat client. It notably uses\n" +"the Readline library to handle input, so it features convenient navigation of\n" +"text as well as tab-completion of buddy names, commands and English words. It\n" +"is also scriptable and extensible via Guile." +msgstr "" + +#: gnu/packages/messaging.scm:1381 gnu/packages/messaging.scm:1416 +msgid "C library for writing XMPP clients" +msgstr "" + +#: gnu/packages/messaging.scm:1382 +msgid "" +"Libmesode is a fork of libstrophe for use with Profanity\n" +"XMPP Client. In particular, libmesode provides extra TLS functionality such as\n" +"manual SSL certificate verification." +msgstr "" + +#: gnu/packages/messaging.scm:1417 +msgid "" +"Libstrophe is a minimal XMPP library written in C. It has\n" +"almost no external dependencies, only an XML parsing library (expat or libxml\n" +"are both supported)." +msgstr "" + +#: gnu/packages/messaging.scm:1453 +msgid "Console-based XMPP client" +msgstr "" + +#: gnu/packages/messaging.scm:1454 +msgid "" +"Profanity is a console based XMPP client written in C\n" +"using ncurses and libmesode, inspired by Irssi." +msgstr "" + +#: gnu/packages/messaging.scm:1484 +msgid "Library implementing the client IRC protocol" +msgstr "" + +#: gnu/packages/messaging.scm:1485 +msgid "" +"Libircclient is a library which implements the client IRC\n" +"protocol. It is designed to be small, fast, portable and compatible with the\n" +"RFC standards as well as non-standard but popular features. It can be used for\n" +"building the IRC clients and bots." +msgstr "" + +#: gnu/packages/messaging.scm:1535 +msgid "Tox chat client using ncurses" +msgstr "" + +#: gnu/packages/messaging.scm:1536 +msgid "" +"Toxic is a console-based instant messaging client, using\n" +"c-toxcore and ncurses. It provides audio calls, sound and desktop\n" +"notifications, and Python scripting support." +msgstr "" + +#: gnu/packages/mpd.scm:70 +msgid "Music Player Daemon client library" +msgstr "" + +#: gnu/packages/mpd.scm:71 +msgid "" +"A stable, documented, asynchronous API library for\n" +"interfacing MPD in the C, C++ & Objective C languages." +msgstr "" + +#: gnu/packages/mpd.scm:142 +msgid "Music Player Daemon" +msgstr "" + +#: gnu/packages/mpd.scm:143 +msgid "" +"Music Player Daemon (MPD) is a flexible, powerful,\n" +"server-side application for playing music. Through plugins and libraries it\n" +"can play a variety of sound files while being controlled by its network\n" +"protocol." +msgstr "" + +#: gnu/packages/mpd.scm:166 +msgid "Music Player Daemon client" +msgstr "" + +#: gnu/packages/mpd.scm:167 +msgid "" +"MPC is a minimalist command line interface to MPD, the music\n" +"player daemon." +msgstr "" + +#: gnu/packages/mpd.scm:190 +msgid "Curses Music Player Daemon client" +msgstr "" + +#: gnu/packages/mpd.scm:191 +msgid "" +"ncmpc is a fully featured MPD client, which runs in a\n" +"terminal using ncurses." +msgstr "" + +#: gnu/packages/mpd.scm:221 +msgid "Featureful ncurses based MPD client inspired by ncmpc" +msgstr "" + +#: gnu/packages/mpd.scm:222 +msgid "" +"Ncmpcpp is an mpd client with a UI very similar to ncmpc,\n" +"but it provides new useful features such as support for regular expressions\n" +"for library searches, extended song format, items filtering, the ability to\n" +"sort playlists, and a local file system browser." +msgstr "" + +#: gnu/packages/mpd.scm:245 +msgid "MPD client for track scrobbling" +msgstr "" + +#: gnu/packages/mpd.scm:246 +msgid "" +"mpdscribble is a Music Player Daemon client which submits\n" +"information about tracks being played to a scrobbler, such as Libre.FM." +msgstr "" + +#: gnu/packages/mpd.scm:271 +msgid "Python MPD client library" +msgstr "" + +#: gnu/packages/mpd.scm:272 +msgid "" +"Python-mpd2 is a Python library which provides a client\n" +"interface for the Music Player Daemon." +msgstr "" + +#: gnu/packages/mpd.scm:321 +msgid "Elegant client for the Music Player Daemon" +msgstr "" + +#: gnu/packages/mpd.scm:322 +msgid "" +"Sonata is an elegant graphical client for the Music Player\n" +"Daemon (MPD). It supports playlists, multiple profiles (connecting to different\n" +"MPD servers, search and multimedia key support." +msgstr "" + +#: gnu/packages/netpbm.scm:178 +msgid "Toolkit for manipulation of images" +msgstr "" + +#: gnu/packages/netpbm.scm:180 +msgid "" +"Netpbm is a toolkit for the manipulation of graphic images, including\n" +"the conversion of images between a variety of different formats.\n" +"There are over 300 separate tools in the package including converters for\n" +"about 100 graphics formats." +msgstr "" + +#: gnu/packages/nettle.scm:51 +msgid "C library for low-level cryptographic functionality" +msgstr "" + +#: gnu/packages/nettle.scm:53 +msgid "" +"GNU Nettle is a low-level cryptographic library. It is designed to\n" +"fit in easily in almost any context. It can be easily included in\n" +"cryptographic toolkits for object-oriented languages or in applications\n" +"themselves." +msgstr "" + +#: gnu/packages/networking.scm:99 +msgid "Viewing and manipulating MAC addresses of network interfaces" +msgstr "" + +#: gnu/packages/networking.scm:100 +msgid "" +"GNU MAC Changer is a utility for viewing and changing MAC\n" +"addresses of networking devices. New addresses may be set explicitly or\n" +"randomly. They can include MAC addresses of the same or other hardware vendors\n" +"or, more generally, MAC addresses of the same category of hardware." +msgstr "" + +#: gnu/packages/networking.scm:128 +msgid "Teredo IPv6 tunneling software" +msgstr "" + +#: gnu/packages/networking.scm:130 +msgid "" +"Miredo is an implementation (client, relay, server) of the Teredo\n" +"specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts\n" +"residing in IPv4-only networks, even when they are behind a NAT device." +msgstr "" + +#: gnu/packages/networking.scm:152 +msgid "Open bidirectional communication channels from the command line" +msgstr "" + +#: gnu/packages/networking.scm:154 +msgid "" +"socat is a relay for bidirectional data transfer between two independent\n" +"data channels---files, pipes, devices, sockets, etc. It can create\n" +"\"listening\" sockets, named pipes, and pseudo terminals.\n" +"\n" +"socat can be used, for instance, as TCP port forwarder, as a shell interface\n" +"to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial\n" +"line, to logically connect serial lines on different computers, or to\n" +"establish a relatively secure environment (su and chroot) for running client\n" +"or server shell scripts with network connections." +msgstr "" + +#: gnu/packages/networking.scm:235 +msgid "Monitor and filter incoming requests for network services" +msgstr "" + +#: gnu/packages/networking.scm:236 +msgid "" +"With this package you can monitor and filter incoming requests for\n" +"network services. It includes a library which may be used by daemons to\n" +"transparently check connection attempts against an access control list." +msgstr "" + +#: gnu/packages/networking.scm:256 +msgid "Library for message-based applications" +msgstr "" + +#: gnu/packages/networking.scm:258 +msgid "" +"The 0MQ lightweight messaging kernel is a library which extends the\n" +"standard socket interfaces with features traditionally provided by specialized\n" +"messaging middle-ware products. 0MQ sockets provide an abstraction of\n" +"asynchronous message queues, multiple messaging patterns, message\n" +"filtering (subscriptions), seamless access to multiple transport protocols and\n" +"more." +msgstr "" + +#: gnu/packages/networking.scm:297 +msgid "Apache Kafka C/C++ client library" +msgstr "" + +#: gnu/packages/networking.scm:299 +msgid "" +"librdkafka is a C library implementation of the Apache Kafka protocol,\n" +"containing both Producer and Consumer support." +msgstr "" + +#: gnu/packages/networking.scm:316 +msgid "Library for Neighbor Discovery Protocol" +msgstr "" + +#: gnu/packages/networking.scm:318 +msgid "" +"libndp contains a library which provides a wrapper for IPv6 Neighbor\n" +"Discovery Protocol. It also provides a tool named ndptool for sending and\n" +"receiving NDP messages." +msgstr "" + +#: gnu/packages/networking.scm:336 +msgid "Display or change Ethernet device settings" +msgstr "" + +#: gnu/packages/networking.scm:338 +msgid "" +"ethtool can be used to query and change settings such as speed,\n" +"auto-negotiation and checksum offload on many network devices, especially\n" +"Ethernet devices." +msgstr "" + +#: gnu/packages/networking.scm:375 +msgid "Text based network interface status monitor" +msgstr "" + +#: gnu/packages/networking.scm:377 +msgid "" +"IFStatus is a simple, easy-to-use program for displaying commonly\n" +"needed/wanted real-time traffic statistics of multiple network\n" +"interfaces, with a simple and efficient view on the command line. It is\n" +"intended as a substitute for the PPPStatus and EthStatus projects." +msgstr "" + +#: gnu/packages/networking.scm:397 +msgid "Realtime console network usage monitor" +msgstr "" + +#: gnu/packages/networking.scm:399 +msgid "" +"Nload is a console application which monitors network traffic and\n" +"bandwidth usage in real time. It visualizes the in- and outgoing traffic using\n" +"two graphs, and provides additional info like total amount of transferred data\n" +"and min/max network usage." +msgstr "" + +#: gnu/packages/networking.scm:442 +msgid "Tunnel IPv4 data through a DNS server" +msgstr "" + +#: gnu/packages/networking.scm:443 +msgid "" +"Iodine tunnels IPv4 data through a DNS server. This\n" +"can be useful in different situations where internet access is firewalled, but\n" +"DNS queries are allowed. The bandwidth is asymmetrical, with limited upstream\n" +"and up to 1 Mbit/s downstream." +msgstr "" + +#: gnu/packages/networking.scm:481 +msgid "Improved whois client" +msgstr "" + +#: gnu/packages/networking.scm:482 +msgid "" +"This whois client is intelligent and can\n" +"automatically select the appropriate whois server for most queries.\n" +"Because of historical reasons this also includes a tool called mkpasswd\n" +"which can be used to encrypt a password with @code{crypt(3)}." +msgstr "" + +#: gnu/packages/networking.scm:535 +msgid "Network traffic analyzer" +msgstr "" + +#: gnu/packages/networking.scm:536 +msgid "" +"Wireshark is a network protocol analyzer, or @dfn{packet\n" +"sniffer}, that lets you capture and interactively browse the contents of\n" +"network frames." +msgstr "" + +#: gnu/packages/networking.scm:556 +msgid "Send ICMP ECHO_REQUEST packets to network hosts" +msgstr "" + +#: gnu/packages/networking.scm:558 +msgid "" +"fping is a ping like program which uses the Internet Control Message\n" +"Protocol (ICMP) echo request to determine if a target host is responding.\n" +"fping differs from ping in that you can specify any number of targets on the\n" +"command line, or specify a file containing the lists of targets to ping.\n" +"Instead of sending to one target until it times out or replies, fping will\n" +"send out a ping packet and move on to the next target in a round-robin\n" +"fashion." +msgstr "" + +#: gnu/packages/networking.scm:592 +msgid "Web server latency and throughput monitor" +msgstr "" + +#: gnu/packages/networking.scm:594 +msgid "" +"httping measures how long it takes to connect to a web server, send an\n" +"HTTP(S) request, and receive the reply headers. It is somewhat similar to\n" +"@command{ping}, but can be used even in cases where ICMP traffic is blocked\n" +"by firewalls or when you want to monitor the response time of the actual web\n" +"application stack itself." +msgstr "" + +#: gnu/packages/networking.scm:625 +msgid "Visualize curl statistics" +msgstr "" + +#: gnu/packages/networking.scm:627 +msgid "" +"@command{httpstat} is a tool to visualize statistics from the\n" +"@command{curl} HTTP client. It acts as a wrapper for @command{curl} and\n" +"prints timing information for each step of the HTTP request (DNS lookup,\n" +"TCP connection, TLS handshake and so on) in the terminal." +msgstr "" + +#: gnu/packages/networking.scm:647 +msgid "Console based live network and disk I/O bandwidth monitor" +msgstr "" + +#: gnu/packages/networking.scm:648 +msgid "" +"Bandwidth Monitor NG is a small and simple console based\n" +"live network and disk I/O bandwidth monitor." +msgstr "" + +#: gnu/packages/networking.scm:702 +msgid "Assess WiFi network security" +msgstr "" + +#: gnu/packages/networking.scm:704 +msgid "" +"Aircrack-ng is a complete suite of tools to assess WiFi network\n" +"security. It focuses on different areas of WiFi security: monitoring,\n" +"attacking, testing, and cracking. All tools are command-line driven, which\n" +"allows for heavy scripting." +msgstr "" + +#: gnu/packages/networking.scm:729 +msgid "Perl Interface to the Domain Name System" +msgstr "" + +#: gnu/packages/networking.scm:730 +msgid "Net::DNS is the Perl Interface to the Domain Name System." +msgstr "" + +#: gnu/packages/networking.scm:761 +msgid "IPv6 related part of the C socket.h defines and structure manipulators for Perl" +msgstr "" + +#: gnu/packages/networking.scm:762 +msgid "" +"Socket6 binds the IPv6 related part of the C socket header\n" +"definitions and structure manipulators for Perl." +msgstr "" + +#: gnu/packages/networking.scm:788 +msgid "Programmable DNS resolver class for offline emulation of DNS" +msgstr "" + +#: gnu/packages/networking.scm:789 +msgid "" +"Net::DNS::Resolver::Programmable is a programmable DNS resolver for\n" +"offline emulation of DNS." +msgstr "" + +#: gnu/packages/networking.scm:822 +msgid "Manages IPv4 and IPv6 addresses and subnets" +msgstr "" + +#: gnu/packages/networking.scm:823 +msgid "NetAddr::IP manages IPv4 and IPv6 addresses and subsets." +msgstr "" + +#: gnu/packages/networking.scm:847 +msgid "Patricia Trie Perl module for fast IP address lookups" +msgstr "" + +#: gnu/packages/networking.scm:849 +msgid "Net::Patricia does IP address lookups quickly in Perl." +msgstr "" + +#: gnu/packages/networking.scm:872 +msgid "Perl extension for merging IPv4 or IPv6 CIDR addresses" +msgstr "" + +#: gnu/packages/networking.scm:873 +msgid "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses." +msgstr "" + +#: gnu/packages/networking.scm:895 +msgid "Look up location and network information by IP Address in Perl" +msgstr "" + +#: gnu/packages/networking.scm:896 +msgid "" +"The Perl module 'Geo::IP'. It looks up location and network\n" +"information by IP Address." +msgstr "" + +#: gnu/packages/networking.scm:925 +msgid "Perl object interface for AF_INET/AF_INET6 domain sockets" +msgstr "" + +#: gnu/packages/networking.scm:926 +msgid "" +"IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain\n" +"sockets in Perl." +msgstr "" + +#: gnu/packages/networking.scm:955 +msgid "Library providing automatic proxy configuration management" +msgstr "" + +#: gnu/packages/networking.scm:956 +msgid "" +"Libproxy handles the details of HTTP/HTTPS proxy\n" +"configuration for applications across all scenarios. Applications using\n" +"libproxy only have to specify which proxy to use." +msgstr "" + +#: gnu/packages/networking.scm:989 +msgid "Redirect any TCP connection through a proxy or proxy chain" +msgstr "" + +#: gnu/packages/networking.scm:990 +msgid "" +"Proxychains-ng is a preloader which hooks calls to sockets\n" +"in dynamically linked programs and redirects them through one or more SOCKS or\n" +"HTTP proxies." +msgstr "" + +#: gnu/packages/networking.scm:1011 +msgid "Network communication layer on top of UDP" +msgstr "" + +#: gnu/packages/networking.scm:1013 +msgid "" +"ENet's purpose is to provide a relatively thin, simple and robust network\n" +"communication layer on top of UDP. The primary feature it provides is optional\n" +"reliable, in-order delivery of packets. ENet omits certain higher level\n" +"networking features such as authentication, server discovery, encryption, or\n" +"other similar tasks that are particularly application specific so that the\n" +"library remains flexible, portable, and easily embeddable." +msgstr "" + +#: gnu/packages/networking.scm:1076 +msgid "Applicative network protocol demultiplexer" +msgstr "" + +#: gnu/packages/networking.scm:1078 +msgid "" +"sslh is a network protocol demultiplexer. It acts like a switchboard,\n" +"accepting connections from clients on one port and forwarding them to different\n" +"servers based on the contents of the first received data packet. Detection of\n" +"common protocols like HTTP(S), SSL, SSH, OpenVPN, tinc, and XMPP is already\n" +"implemented, but any other protocol that matches a regular expression can be\n" +"added. sslh's name comes from its original application of serving both SSH and\n" +"HTTPS on port 443, allowing SSH connections from inside corporate firewalls\n" +"that block port 22." +msgstr "" + +#: gnu/packages/networking.scm:1101 +msgid "TCP, UDP and SCTP bandwidth measurement tool" +msgstr "" + +#: gnu/packages/networking.scm:1103 +msgid "" +"iPerf is a tool to measure achievable bandwidth on IP networks. It\n" +"supports tuning of various parameters related to timing, buffers and\n" +"protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports\n" +"the bandwidth, loss, and other parameters." +msgstr "" + +#: gnu/packages/networking.scm:1136 +msgid "Per-process bandwidth monitor" +msgstr "" + +#: gnu/packages/networking.scm:1137 +msgid "" +"NetHogs is a small 'net top' tool for Linux. Instead of\n" +"breaking the traffic down per protocol or per subnet, like most tools do, it\n" +"groups bandwidth by process.\n" +"\n" +"NetHogs does not rely on a special kernel module to be loaded. If there's\n" +"suddenly a lot of network traffic, you can fire up NetHogs and immediately see\n" +"which PID is causing this. This makes it easy to identify programs that have\n" +"gone wild and are suddenly taking up your bandwidth." +msgstr "" + +#: gnu/packages/networking.scm:1183 +msgid "Usenet binary file downloader" +msgstr "" + +#: gnu/packages/networking.scm:1185 +msgid "" +"NZBGet is a binary newsgrabber, which downloads files from Usenet based\n" +"on information given in @code{nzb} files. NZBGet can be used in standalone\n" +"and in server/client modes. In standalone mode, you pass NZBGet @command{nzb}\n" +"files as command-line parameters and it downloads them and exits. NZBGet also\n" +"contains a Web interface. Its server can be controlled through remote\n" +"procedure calls (RPCs)." +msgstr "" + +#: gnu/packages/networking.scm:1239 +msgid "Virtual network switch" +msgstr "" + +#: gnu/packages/networking.scm:1242 +msgid "" +"Open vSwitch is a multilayer virtual switch. It is designed to enable\n" +"massive network automation through programmatic extension, while still\n" +"supporting standard management interfaces and protocols (e.g. NetFlow, sFlow,\n" +"IPFIX, RSPAN, CLI, LACP, 802.1ag)." +msgstr "" + +#: gnu/packages/networking.scm:1264 +msgid "Python class and tools for handling IP addresses and networks" +msgstr "" + +#: gnu/packages/networking.scm:1265 +msgid "" +"The @code{IP} class allows a comfortable parsing and\n" +"handling for most notations in use for IPv4 and IPv6 addresses and\n" +"networks." +msgstr "" + +#: gnu/packages/networking.scm:1285 +msgid "Internet bandwidth tester" +msgstr "" + +#: gnu/packages/networking.scm:1287 +msgid "" +"Command line interface for testing internet bandwidth using\n" +"speedtest.net." +msgstr "" + +#: gnu/packages/networking.scm:1305 +msgid "HPA's tftp client" +msgstr "" + +#: gnu/packages/networking.scm:1307 +msgid "" +"This is a tftp client derived from OpenBSD tftp with some extra options\n" +"added and bugs fixed. The source includes readline support but it is not\n" +"enabled due to license conflicts between the BSD advertising clause and the GPL." +msgstr "" + +#: gnu/packages/networking.scm:1335 +msgid "Small Ident Daemon" +msgstr "" + +#: gnu/packages/networking.scm:1337 +msgid "" +"@dfn{Pidentd} (Peter's Ident Daemon) is a identd, which implements a\n" +"identification server. Pidentd looks up specific TCP/IP connections and\n" +"returns the user name and other information about the connection." +msgstr "" + +#: gnu/packages/networking.scm:1384 +msgid "Create secure pipes between sockets" +msgstr "" + +#: gnu/packages/networking.scm:1385 +msgid "" +"Spiped (pronounced \"ess-pipe-dee\") is a utility for creating\n" +"symmetrically encrypted and authenticated pipes between socket addresses, so\n" +"that one may connect to one address (e.g., a UNIX socket on localhost) and\n" +"transparently have a connection established to another address (e.g., a UNIX\n" +"socket on a different system). This is similar to 'ssh -L' functionality, but\n" +"does not use SSH and requires a pre-shared symmetric key." +msgstr "" + +#: gnu/packages/networking.scm:1412 +msgid "Routing Software Suite" +msgstr "" + +#: gnu/packages/networking.scm:1413 +msgid "" +"Quagga is a routing software suite, providing implementations\n" +"of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms.\n" +"\n" +"The Quagga architecture consists of a core daemon, @command{zebra}, which\n" +"acts as an abstraction layer to the underlying Unix kernel and presents the\n" +"Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv\n" +"clients which typically implement a routing protocol and communicate routing\n" +"updates to the zebra daemon." +msgstr "" + +#: gnu/packages/networking.scm:1461 +msgid "IPv6 security research toolkit" +msgstr "" + +#: gnu/packages/networking.scm:1462 +msgid "" +"The THC IPv6 Toolkit provides command-line tools and a library\n" +"for researching IPv6 implementations and deployments. It requires Linux 2.6 or\n" +"newer and only works on Ethernet network interfaces." +msgstr "" + +#: gnu/packages/networking.scm:1488 +msgid "Bandwidth monitor" +msgstr "" + +#: gnu/packages/networking.scm:1489 +msgid "" +"bmon is a monitoring and debugging tool to capture\n" +"networking-related statistics and prepare them visually in a human-friendly\n" +"way. It features various output methods including an interactive curses user\n" +"interface and a programmable text output for scripting." +msgstr "" + +#: gnu/packages/networking.scm:1531 +msgid "Framework for low-level network packet construction" +msgstr "" + +#: gnu/packages/networking.scm:1533 +msgid "" +"Libnet provides a fairly portable framework for network packet\n" +"construction and injection. It features portable packet creation interfaces\n" +"at the IP layer and link layer, as well as a host of supplementary\n" +"functionality. Using libnet, quick and simple packet assembly applications\n" +"can be whipped up with little effort." +msgstr "" + +#: gnu/packages/pdf.scm:127 +msgid "PDF rendering library" +msgstr "" + +#: gnu/packages/pdf.scm:129 +msgid "Poppler is a PDF rendering library based on the xpdf-3.0 code base." +msgstr "" + +#: gnu/packages/pdf.scm:138 +msgid "Qt4 frontend for the Poppler PDF rendering library" +msgstr "" + +#: gnu/packages/pdf.scm:149 +msgid "Qt5 frontend for the Poppler PDF rendering library" +msgstr "" + +#: gnu/packages/pdf.scm:182 +msgid "Python bindings for Poppler-Qt4" +msgstr "" + +#: gnu/packages/pdf.scm:184 +msgid "" +"This package provides Python bindings for the Qt4 interface of the\n" +"Poppler PDF rendering library." +msgstr "" + +#: gnu/packages/pdf.scm:229 +msgid "Python bindings for Poppler-Qt5" +msgstr "" + +#: gnu/packages/pdf.scm:231 +msgid "" +"This package provides Python bindings for the Qt5 interface of the\n" +"Poppler PDF rendering library." +msgstr "" + +#: gnu/packages/pdf.scm:268 +msgid "Library for generating PDF files" +msgstr "" + +#: gnu/packages/pdf.scm:270 +msgid "" +"libHaru is a library for generating PDF files. libHaru does not support\n" +"reading and editing of existing PDF files." +msgstr "" + +#: gnu/packages/pdf.scm:317 +msgid "Viewer for PDF files based on the Motif toolkit" +msgstr "" + +#: gnu/packages/pdf.scm:319 +msgid "Xpdf is a viewer for Portable Document Format (PDF) files." +msgstr "" + +#: gnu/packages/pdf.scm:349 +msgid "Comic book support for zathura (libarchive backend)" +msgstr "" + +#: gnu/packages/pdf.scm:350 +msgid "" +"The zathura-cb plugin adds comic book support to zathura\n" +"using libarchive." +msgstr "" + +#: gnu/packages/pdf.scm:380 +msgid "PS support for zathura (libspectre backend)" +msgstr "" + +#: gnu/packages/pdf.scm:381 +msgid "" +"The zathura-ps plugin adds PS support to zathura\n" +"using libspectre." +msgstr "" + +#: gnu/packages/pdf.scm:412 +msgid "DjVu support for zathura (DjVuLibre backend)" +msgstr "" + +#: gnu/packages/pdf.scm:413 +msgid "" +"The zathura-djvu plugin adds DjVu support to zathura\n" +"using the DjVuLibre library." +msgstr "" + +#: gnu/packages/pdf.scm:447 +msgid "PDF support for zathura (mupdf backend)" +msgstr "" + +#: gnu/packages/pdf.scm:448 +msgid "" +"The zathura-pdf-mupdf plugin adds PDF support to zathura\n" +"by using the @code{mupdf} rendering library." +msgstr "" + +#: gnu/packages/pdf.scm:480 +msgid "PDF support for zathura (poppler backend)" +msgstr "" + +#: gnu/packages/pdf.scm:481 +msgid "" +"The zathura-pdf-poppler plugin adds PDF support to zathura\n" +"by using the poppler rendering engine." +msgstr "" + +#: gnu/packages/pdf.scm:518 +msgid "Lightweight keyboard-driven PDF viewer" +msgstr "" + +#: gnu/packages/pdf.scm:519 +msgid "" +"Zathura is a customizable document viewer. It provides a\n" +"minimalistic interface and an interface that mainly focuses on keyboard\n" +"interaction." +msgstr "" + +#: gnu/packages/pdf.scm:558 +msgid "Tools to work with the PDF file format" +msgstr "" + +#: gnu/packages/pdf.scm:560 +msgid "" +"PoDoFo is a C++ library and set of command-line tools to work with the\n" +"PDF file format. It can parse PDF files and load them into memory, and makes\n" +"it easy to modify them and write the changes to disk. It is primarily useful\n" +"for applications that wish to do lower level manipulation of PDF, such as\n" +"extracting content or merging files." +msgstr "" + +#: gnu/packages/pdf.scm:609 +msgid "Lightweight PDF viewer and toolkit" +msgstr "" + +#: gnu/packages/pdf.scm:611 +msgid "" +"MuPDF is a C library that implements a PDF and XPS parsing and\n" +"rendering engine. It is used primarily to render pages into bitmaps,\n" +"but also provides support for other operations such as searching and\n" +"listing the table of contents and hyperlinks.\n" +"\n" +"The library ships with a rudimentary X11 viewer, and a set of command\n" +"line tools for batch rendering @command{pdfdraw}, rewriting files\n" +"@command{pdfclean}, and examining the file structure @command{pdfshow}." +msgstr "" + +#: gnu/packages/pdf.scm:663 +msgid "Command-line tools and library for transforming PDF files" +msgstr "" + +#: gnu/packages/pdf.scm:665 +msgid "" +"QPDF is a command-line program that does structural, content-preserving\n" +"transformations on PDF files. It could have been called something like\n" +"pdf-to-pdf. It includes support for merging and splitting PDFs and to\n" +"manipulate the list of pages in a PDF file. It is not a PDF viewer or a\n" +"program capable of converting PDF into other formats." +msgstr "" + +#: gnu/packages/pdf.scm:695 +msgid "Notetaking using a stylus" +msgstr "" + +#: gnu/packages/pdf.scm:697 +msgid "" +"Xournal is an application for notetaking, sketching, keeping a journal\n" +"using a stylus." +msgstr "" + +#: gnu/packages/pdf.scm:719 +msgid "Python library for generating PDFs and graphics" +msgstr "" + +#: gnu/packages/pdf.scm:720 +msgid "" +"This is the ReportLab PDF Toolkit. It allows rapid creation\n" +"of rich PDF documents, and also creation of charts in a variety of bitmap and\n" +"vector formats." +msgstr "" + +#: gnu/packages/pdf.scm:773 +msgid "PDF presentation tool with visual effects" +msgstr "" + +#: gnu/packages/pdf.scm:775 +msgid "" +"Impressive is a tool to display PDF files that provides visual effects\n" +"such as smooth alpha-blended slide transitions. It provides additional tools\n" +"such as zooming, highlighting an area of the screen, and a tool to navigate\n" +"the PDF pages." +msgstr "" + +#: gnu/packages/pdf.scm:823 +msgid "Framebuffer and drm-based image viewer" +msgstr "" + +#: gnu/packages/pdf.scm:825 +msgid "" +"fbida contains a few applications for viewing and editing images on\n" +"the framebuffer." +msgstr "" + +#: gnu/packages/pdf.scm:850 +msgid "PDF to SVG converter" +msgstr "" + +#: gnu/packages/pdf.scm:851 +msgid "" +"@command{pdf2svg} is a simple command-line PDF to SVG\n" +"converter using the Poppler and Cairo libraries." +msgstr "" + +#: gnu/packages/pdf.scm:882 gnu/packages/pdf.scm:919 +msgid "Pure Python PDF toolkit" +msgstr "" + +#: gnu/packages/pdf.scm:883 +msgid "" +"PyPDF2 is a pure Python PDF library capable of:\n" +"\n" +"@enumerate\n" +"@item extracting document information (title, author, …)\n" +"@item splitting documents page by page\n" +"@item merging documents page by page\n" +"@item cropping pages\n" +"@item merging multiple pages into a single page\n" +"@item encrypting and decrypting PDF files\n" +"@end enumerate\n" +"\n" +"By being pure Python, it should run on any Python platform without any\n" +"dependencies on external libraries. It can also work entirely on\n" +"@code{StringIO} objects rather than file streams, allowing for PDF\n" +"manipulation in memory. It is therefore a useful tool for websites that\n" +"manage or manipulate PDFs." +msgstr "" + +#: gnu/packages/pdf.scm:920 +msgid "" +"PyPDF2 is a pure Python PDF toolkit.\n" +"\n" +"Note: This module isn't maintained anymore. For new projects please use\n" +"python-pypdf2 instead." +msgstr "" + +#: gnu/packages/pdf.scm:944 +msgid "Scale and tile PDF images/pages to print on multiple pages" +msgstr "" + +#: gnu/packages/pdf.scm:945 +msgid "" +"@command{pdfposter} can be used to create a large poster by\n" +"building it from multple pages and/or printing it on large media. It expects\n" +"as input a PDF file, normally printing on a single page. The output is again\n" +"a PDF file, maybe containing multiple pages together building the poster. The\n" +"input page will be scaled to obtain the desired size.\n" +"\n" +"This is much like @command{poster} does for Postscript files, but working with\n" +"PDF. Since sometimes @command{poster} does not like your files converted from\n" +"PDF. Indeed @command{pdfposter} was inspired by @command{poster}." +msgstr "" + +#: gnu/packages/pdf.scm:976 +msgid "Command-line utility to search text in PDF files" +msgstr "" + +#: gnu/packages/pdf.scm:978 +msgid "" +"Pdfgrep searches in pdf files for strings matching a regular expression.\n" +"Support some GNU grep options as file name output, page number output,\n" +"optional case insensitivity, count occurrences, color highlights and search in\n" +"multiple files." +msgstr "" + +#: gnu/packages/pem.scm:41 +msgid "Personal expenses manager" +msgstr "" + +#: gnu/packages/pem.scm:43 +msgid "" +"GNU Pem is a simple tool for tracking personal income and\n" +"expenses. It operates from the command line and it stores its data\n" +"in a basic text format in your home directory. It can easily print\n" +"reports of your spending on different expenses via a basic search\n" +"feature." +msgstr "" + +#: gnu/packages/perl.scm:148 +msgid "Implementation of the Perl programming language" +msgstr "" + +#: gnu/packages/perl.scm:150 +msgid "" +"Perl 5 is a highly capable, feature-rich programming language with over\n" +"24 years of development." +msgstr "" + +#: gnu/packages/perl.scm:169 +msgid "Module for merging hierarchies using the C3 algorithm" +msgstr "" + +#: gnu/packages/perl.scm:170 +msgid "" +"This module implements the C3 algorithm, which aims to\n" +"provide a sane method resolution order under multiple inheritance." +msgstr "" + +#: gnu/packages/perl.scm:188 +msgid "Compute differences between two files or lists" +msgstr "" + +#: gnu/packages/perl.scm:189 +msgid "" +"This is a module for computing the difference between two\n" +"files, two strings, or any other two lists of things. It uses an intelligent\n" +"algorithm similar to (or identical to) the one used by the Unix \"diff\"\n" +"program. It is guaranteed to find the *smallest possible* set of\n" +"differences." +msgstr "" + +#: gnu/packages/perl.scm:211 +msgid "Use shorter versions of class names" +msgstr "" + +#: gnu/packages/perl.scm:212 +msgid "" +"The alias module loads the class you specify and exports\n" +"into your namespace a subroutine that returns the class name. You can\n" +"explicitly alias the class to another name or, if you prefer, you can do so\n" +"implicitly." +msgstr "" + +#: gnu/packages/perl.scm:234 +msgid "Transparently use Moose or Mouse modules" +msgstr "" + +#: gnu/packages/perl.scm:236 +msgid "" +"This module facilitates using @code{Moose} or @code{Mouse} modules\n" +"without changing the code. By default, Mouse will be provided to libraries,\n" +"unless Moose is already loaded, or explicitly requested by the end-user. End\n" +"users can force the decision of which backend to use by setting the environment\n" +"variable ANY_MOOSE to be Moose or Mouse." +msgstr "" + +#: gnu/packages/perl.scm:259 +msgid "Configuration files and command line parsing" +msgstr "" + +#: gnu/packages/perl.scm:260 +msgid "" +"AppConfig is a bundle of Perl5 modules for reading\n" +"configuration files and parsing command line arguments." +msgstr "" + +#: gnu/packages/perl.scm:278 +msgid "Perl API to zip files" +msgstr "" + +#: gnu/packages/perl.scm:300 +msgid "Small utils for array manipulation" +msgstr "" + +#: gnu/packages/perl.scm:301 +msgid "" +"@code{Array::Utils} is a small pure-perl module containing\n" +"list manipulation routines." +msgstr "" + +#: gnu/packages/perl.scm:320 +msgid "Allow C/XS libraries to interrupt perl asynchronously" +msgstr "" + +#: gnu/packages/perl.scm:322 +msgid "" +"@code{Async::Interrupt} implements a single feature only of interest\n" +"to advanced perl modules, namely asynchronous interruptions (think \"UNIX\n" +"signals\", which are very similar).\n" +"\n" +"Sometimes, modules wish to run code asynchronously (in another thread,\n" +"or from a signal handler), and then signal the perl interpreter on\n" +"certain events. One common way is to write some data to a pipe and use\n" +"an event handling toolkit to watch for I/O events. Another way is to\n" +"send a signal. Those methods are slow, and in the case of a pipe, also\n" +"not asynchronous - it won't interrupt a running perl interpreter.\n" +"\n" +"This module implements asynchronous notifications that enable you to\n" +"signal running perl code from another thread, asynchronously, and\n" +"sometimes even without using a single syscall." +msgstr "" + +#: gnu/packages/perl.scm:352 +msgid "Lexically disable autovivification" +msgstr "" + +#: gnu/packages/perl.scm:353 +msgid "" +"When an undefined variable is dereferenced, it gets silently\n" +"upgraded to an array or hash reference (depending of the type of the\n" +"dereferencing). This behaviour is called autovivification and usually does\n" +"what you mean but it may be unnatural or surprising because your variables get\n" +"populated behind your back. This is especially true when several levels of\n" +"dereferencing are involved, in which case all levels are vivified up to the\n" +"last, or when it happens in intuitively read-only constructs like\n" +"@code{exists}. The pragma provided by this package lets you disable\n" +"autovivification for some constructs and optionally throws a warning or an\n" +"error when it would have happened." +msgstr "" + +#: gnu/packages/perl.scm:379 gnu/packages/perl.scm:6328 +msgid "Establish an ISA relationship with base classes at compile time" +msgstr "" + +#: gnu/packages/perl.scm:380 +msgid "" +"Allows you to both load one or more modules, while setting\n" +"up inheritance from those modules at the same time. Unless you are using the\n" +"fields pragma, consider this module discouraged in favor of the lighter-weight\n" +"parent." +msgstr "" + +#: gnu/packages/perl.scm:400 +msgid "Open a browser in a given URL" +msgstr "" + +#: gnu/packages/perl.scm:401 +msgid "" +"The functions exported by this module allow you to open URLs\n" +"in the user's browser. A set of known commands per OS-name is tested for\n" +"presence, and the first one found is executed. With an optional parameter,\n" +"all known commands are checked." +msgstr "" + +#: gnu/packages/perl.scm:426 +msgid "Execute code after a scope finished compilation" +msgstr "" + +#: gnu/packages/perl.scm:427 +msgid "" +"This module allows you to execute code when perl finished\n" +"compiling the surrounding scope." +msgstr "" + +#: gnu/packages/perl.scm:445 +msgid "Lists of reserved barewords and symbol names" +msgstr "" + +#: gnu/packages/perl.scm:446 +msgid "" +"@code{B::Keywords} supplies several arrays of exportable\n" +"keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols,\n" +"@@Functions, @@Barewords, @@TieIOMethods, @@UNIVERSALMethods and\n" +"@@ExporterSymbols}." +msgstr "" + +#: gnu/packages/perl.scm:469 +msgid "Benchmarking with statistical confidence" +msgstr "" + +#: gnu/packages/perl.scm:471 +msgid "" +"The Benchmark::Timer class allows you to time portions of code\n" +"conveniently, as well as benchmark code by allowing timings of repeated\n" +"trials. It is perfect for when you need more precise information about the\n" +"running time of portions of your code than the Benchmark module will give you,\n" +"but don't want to go all out and profile your code." +msgstr "" + +#: gnu/packages/perl.scm:496 +msgid "Bit vector library" +msgstr "" + +#: gnu/packages/perl.scm:497 +msgid "" +"Bit::Vector is an efficient C library which allows you to\n" +"handle bit vectors, sets (of integers), \"big integer arithmetic\" and boolean\n" +"matrices, all of arbitrary sizes. The package also includes an\n" +"object-oriented Perl module for accessing the C library from Perl, and\n" +"optionally features overloaded operators for maximum ease of use. The C\n" +"library can nevertheless be used stand-alone, without Perl." +msgstr "" + +#: gnu/packages/perl.scm:519 +msgid "Boolean support for Perl" +msgstr "" + +#: gnu/packages/perl.scm:520 +msgid "" +"This module provides basic Boolean support, by defining two\n" +"special objects: true and false." +msgstr "" + +#: gnu/packages/perl.scm:538 +msgid "Data files for Business::ISBN" +msgstr "" + +#: gnu/packages/perl.scm:539 +msgid "" +"This package provides a data pack for @code{Business::ISBN}.\n" +"These data are generated from the RangeMessage.xml file provided by the ISBN\n" +"Agency." +msgstr "" + +#: gnu/packages/perl.scm:561 +msgid "Work with International Standard Book Numbers" +msgstr "" + +#: gnu/packages/perl.scm:562 +msgid "" +"This modules provides tools to deal with International\n" +"Standard Book Numbers, including ISBN-10 and ISBN-13." +msgstr "" + +#: gnu/packages/perl.scm:580 +msgid "Work with International Standard Serial Numbers" +msgstr "" + +#: gnu/packages/perl.scm:581 +msgid "" +"This modules provides tools to deal with International\n" +"Standard Serial Numbers." +msgstr "" + +#: gnu/packages/perl.scm:601 +msgid "Work with International Standard Music Numbers" +msgstr "" + +#: gnu/packages/perl.scm:602 +msgid "" +"This modules provides tools to deal with International\n" +"Standard Music Numbers." +msgstr "" + +#: gnu/packages/perl.scm:623 +msgid "Cache interface for Perl" +msgstr "" + +#: gnu/packages/perl.scm:624 +msgid "" +"The Cache modules are designed to assist a developer in\n" +"persisting data for a specified period of time. Often these modules are used\n" +"in web applications to store data locally to save repeated and redundant\n" +"expensive calls to remote machines or databases. People have also been known\n" +"to use Cache::Cache for its straightforward interface in sharing data between\n" +"runs of an application or invocations of a CGI-style script or simply as an\n" +"easy to use abstraction of the file system or shared memory." +msgstr "" + +#: gnu/packages/perl.scm:647 +msgid "Shared memory interprocess cache via mmap" +msgstr "" + +#: gnu/packages/perl.scm:648 +msgid "" +"A shared memory cache through an mmap'ed file. It's core is\n" +"written in C for performance. It uses fcntl locking to ensure multiple\n" +"processes can safely access the cache at the same time. It uses a basic LRU\n" +"algorithm to keep the most used entries in the cache." +msgstr "" + +#: gnu/packages/perl.scm:669 +msgid "Capture STDOUT and STDERR from Perl, XS or external programs" +msgstr "" + +#: gnu/packages/perl.scm:671 +msgid "" +"Capture::Tiny provides a simple, portable way to capture almost anything\n" +"sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS\n" +"code or from an external program. Optionally, output can be teed so that it\n" +"is captured while being passed through to the original file handles." +msgstr "" + +#: gnu/packages/perl.scm:690 +msgid "Check compatibility with the installed perl version" +msgstr "" + +#: gnu/packages/perl.scm:692 +msgid "" +"This module is used by Schmorp's modules during configuration stage\n" +"to test the installed perl for compatibility with his modules." +msgstr "" + +#: gnu/packages/perl.scm:712 +msgid "Warns and dies noisily with stack backtraces/" +msgstr "" + +#: gnu/packages/perl.scm:713 +msgid "" +"This module is meant as a debugging aid. It can be used to\n" +"make a script complain loudly with stack backtraces when @code{warn()}-ing or\n" +"@code{die()}ing." +msgstr "" + +#: gnu/packages/perl.scm:732 +msgid "Executable comments for Perl" +msgstr "" + +#: gnu/packages/perl.scm:733 +msgid "" +"Carp::Assert is intended for a purpose like the ANSI C\n" +"library assert.h." +msgstr "" + +#: gnu/packages/perl.scm:755 +msgid "Convenience wrappers around Carp::Assert" +msgstr "" + +#: gnu/packages/perl.scm:756 +msgid "" +"Carp::Assert::More is a set of handy assertion functions for\n" +"Perl." +msgstr "" + +#: gnu/packages/perl.scm:776 +msgid "Report errors from a \"clan\" of modules" +msgstr "" + +#: gnu/packages/perl.scm:777 +msgid "" +"This module allows errors from a clan (or family) of modules\n" +"to appear to originate from the caller of the clan. This is necessary in\n" +"cases where the clan modules are not classes derived from each other, and thus\n" +"the Carp.pm module doesn't help." +msgstr "" + +#: gnu/packages/perl.scm:797 +msgid "Read the CDDB entry for an audio CD in your drive" +msgstr "" + +#: gnu/packages/perl.scm:798 +msgid "This module can retrieve information from the CDDB." +msgstr "" + +#: gnu/packages/perl.scm:820 +msgid "Automated accessor generation" +msgstr "" + +#: gnu/packages/perl.scm:821 +msgid "" +"This module automagically generates accessors/mutators for\n" +"your class." +msgstr "" + +#: gnu/packages/perl.scm:843 +msgid "Faster, but less expandable, chained accessors" +msgstr "" + +#: gnu/packages/perl.scm:844 +msgid "" +"A chained accessor is one that always returns the object\n" +"when called with parameters (to set), and the value of the field when called\n" +"with no arguments. This module subclasses Class::Accessor in order to provide\n" +"the same mk_accessors interface." +msgstr "" + +#: gnu/packages/perl.scm:871 +msgid "Build groups of accessors" +msgstr "" + +#: gnu/packages/perl.scm:872 +msgid "" +"This class lets you build groups of accessors that will call\n" +"different getters and setters." +msgstr "" + +#: gnu/packages/perl.scm:892 +msgid "Pragma to use the C3 method resolution order algorithm" +msgstr "" + +#: gnu/packages/perl.scm:893 +msgid "" +"This is pragma to change Perl 5's standard method resolution\n" +"order from depth-first left-to-right (a.k.a - pre-order) to the more\n" +"sophisticated C3 method resolution order." +msgstr "" + +#: gnu/packages/perl.scm:917 +msgid "Drop-in replacement for NEXT" +msgstr "" + +#: gnu/packages/perl.scm:918 +msgid "" +"This module is intended as a drop-in replacement for NEXT,\n" +"supporting the same interface, but using Class::C3 to do the hard work." +msgstr "" + +#: gnu/packages/perl.scm:943 +msgid "Load mix-ins or components to your C3-based class" +msgstr "" + +#: gnu/packages/perl.scm:944 +msgid "" +"This module will inject base classes to your module using\n" +"the Class::C3 method resolution order." +msgstr "" + +#: gnu/packages/perl.scm:962 +msgid "Inheritable, overridable class data" +msgstr "" + +#: gnu/packages/perl.scm:963 +msgid "" +"Class::Data::Inheritable is for creating accessor/mutators\n" +"to class data. That is, if you want to store something about your class as a\n" +"whole (instead of about a single object). This data is then inherited by your\n" +"subclasses and can be overridden." +msgstr "" + +#: gnu/packages/perl.scm:984 +msgid "Class for easy date and time manipulation" +msgstr "" + +#: gnu/packages/perl.scm:985 +msgid "" +"This module provides a general-purpose date and datetime\n" +"type for perl." +msgstr "" + +#: gnu/packages/perl.scm:1002 +msgid "Base class for error handling" +msgstr "" + +#: gnu/packages/perl.scm:1004 +msgid "" +"@code{Class::ErrorHandler} provides an error-handling mechanism that is generic\n" +"enough to be used as the base class for a variety of OO classes. Subclasses inherit\n" +"its two error-handling methods, error and errstr, to communicate error messages back\n" +"to the calling program." +msgstr "" + +#: gnu/packages/perl.scm:1025 +msgid "Utility methods for factory classes" +msgstr "" + +#: gnu/packages/perl.scm:1026 +msgid "This module exports methods useful for factory classes." +msgstr "" + +#: gnu/packages/perl.scm:1043 +msgid "Get information about a class and its structure" +msgstr "" + +#: gnu/packages/perl.scm:1044 +msgid "" +"Class::Inspector allows you to get information about a\n" +"loaded class." +msgstr "" + +#: gnu/packages/perl.scm:1072 +msgid "Working (require \"Class::Name\") and more" +msgstr "" + +#: gnu/packages/perl.scm:1073 +msgid "" +"\"require EXPR\" only accepts Class/Name.pm style module\n" +"names, not Class::Name. For that, this module provides \"load_class\n" +"'Class::Name'\"." +msgstr "" + +#: gnu/packages/perl.scm:1096 +msgid "XS implementation of parts of Class::Load" +msgstr "" + +#: gnu/packages/perl.scm:1097 +msgid "" +"This module provides an XS implementation for portions of\n" +"Class::Load." +msgstr "" + +#: gnu/packages/perl.scm:1116 +msgid "Create generic methods for OO Perl" +msgstr "" + +#: gnu/packages/perl.scm:1117 +msgid "" +"This module solves the problem of having to continually\n" +"write accessor methods for your objects that perform standard tasks." +msgstr "" + +#: gnu/packages/perl.scm:1138 +msgid "Moose-like method modifiers" +msgstr "" + +#: gnu/packages/perl.scm:1139 +msgid "" +"Class::Method::Modifiers provides three modifiers: 'before',\n" +"'around', and 'after'. 'before' and 'after' are run just before and after the\n" +"method they modify, but can not really affect that original method. 'around'\n" +"is run in place of the original method, with a hook to easily call that\n" +"original method." +msgstr "" + +#: gnu/packages/perl.scm:1160 +msgid "Implementation of a singleton class for Perl" +msgstr "" + +#: gnu/packages/perl.scm:1161 +msgid "" +"This module implements a Singleton class from which other\n" +"classes can be derived. By itself, the Class::Singleton module does very\n" +"little other than manage the instantiation of a single object." +msgstr "" + +#: gnu/packages/perl.scm:1180 +msgid "Minimalist class construction" +msgstr "" + +#: gnu/packages/perl.scm:1181 +msgid "" +"This module offers a minimalist class construction kit. It\n" +"uses no non-core modules for any recent Perl." +msgstr "" + +#: gnu/packages/perl.scm:1201 +msgid "Unload a class" +msgstr "" + +#: gnu/packages/perl.scm:1202 +msgid "" +"Class:Unload unloads a given class by clearing out its\n" +"symbol table and removing it from %INC." +msgstr "" + +#: gnu/packages/perl.scm:1220 +msgid "Generate fast XS accessors without runtime compilation" +msgstr "" + +#: gnu/packages/perl.scm:1221 +msgid "" +"Class::XSAccessor implements fast read, write, and\n" +"read/write accessors in XS. Additionally, it can provide predicates such as\n" +"\"has_foo()\" for testing whether the attribute \"foo\" is defined in the\n" +"object. It only works with objects that are implemented as ordinary hashes.\n" +"Class::XSAccessor::Array implements the same interface for objects that use\n" +"arrays for their internal representation." +msgstr "" + +#: gnu/packages/perl.scm:1241 gnu/packages/perl.scm:1264 +msgid "Recursively copy Perl datatypes" +msgstr "" + +#: gnu/packages/perl.scm:1243 +msgid "" +"This module provides a clone() method which makes recursive copies of\n" +"nested hash, array, scalar and reference types, including tied variables and\n" +"objects." +msgstr "" + +#: gnu/packages/perl.scm:1265 +msgid "" +"This module provides a general-purpose @code{clone} function\n" +"to make deep copies of Perl data structures. It calls itself recursively to\n" +"copy nested hash, array, scalar and reference types, including tied variables\n" +"and objects." +msgstr "" + +#: gnu/packages/perl.scm:1285 +msgid "Sane defaults for Perl programs" +msgstr "" + +#: gnu/packages/perl.scm:1286 +msgid "" +"This module implements some sane defaults for Perl programs,\n" +"as defined by two typical specimens of Perl coders." +msgstr "" + +#: gnu/packages/perl.scm:1306 +msgid "Load configuration from different file formats" +msgstr "" + +#: gnu/packages/perl.scm:1307 +msgid "" +"Config::Any provides a facility for Perl applications and\n" +"libraries to load configuration data from multiple different file formats. It\n" +"supports XML, YAML, JSON, Apache-style configuration, and Perl code." +msgstr "" + +#: gnu/packages/perl.scm:1328 +msgid "Module to implement some AutoConf macros in Perl" +msgstr "" + +#: gnu/packages/perl.scm:1329 +msgid "" +"Config::AutoConf is intended to provide the same\n" +"opportunities to Perl developers as GNU Autoconf does for Shell developers." +msgstr "" + +#: gnu/packages/perl.scm:1347 +msgid "Generic Config Module" +msgstr "" + +#: gnu/packages/perl.scm:1348 +msgid "" +"This module opens a config file and parses its contents for\n" +"you. The format of config files supported by Config::General is inspired by\n" +"the well known Apache config format and is 100% compatible with Apache\n" +"configs, but you can also just use simple name/value pairs in your config\n" +"files. In addition to the capabilities of an Apache config file it supports\n" +"some enhancements such as here-documents, C-style comments, and multiline\n" +"options." +msgstr "" + +#: gnu/packages/perl.scm:1375 +msgid "Simple .ini-file format reader and writer" +msgstr "" + +#: gnu/packages/perl.scm:1376 +msgid "" +"@code{Config::INI} is a module that facilates the reading\n" +"and writing of @code{.ini}-style configuration files." +msgstr "" + +#: gnu/packages/perl.scm:1397 +msgid "Preserve context during subroutine call" +msgstr "" + +#: gnu/packages/perl.scm:1398 +msgid "" +"This module runs code after a subroutine call, preserving\n" +"the context the subroutine would have seen if it were the last statement in\n" +"the caller." +msgstr "" + +#: gnu/packages/perl.scm:1423 +msgid "Extract data from Macintosh BinHex files" +msgstr "" + +#: gnu/packages/perl.scm:1425 +msgid "" +"BinHex is a format for transporting files safely through electronic\n" +"mail, as short-lined, 7-bit, semi-compressed data streams. Ths module\n" +"provides a means of converting those data streams back into into binary\n" +"data." +msgstr "" + +#: gnu/packages/perl.scm:1447 +msgid "Verify requirements in a CPAN::Meta object" +msgstr "" + +#: gnu/packages/perl.scm:1448 +msgid "" +"This module verifies if requirements described in a\n" +"CPAN::Meta object are present." +msgstr "" + +#: gnu/packages/perl.scm:1468 +msgid "JSON::XS for Cpanel" +msgstr "" + +#: gnu/packages/perl.scm:1469 gnu/packages/perl.scm:4193 +msgid "" +"This module converts Perl data structures to JSON and vice\n" +"versa." +msgstr "" + +#: gnu/packages/perl.scm:1487 +msgid "Random password generator" +msgstr "" + +#: gnu/packages/perl.scm:1488 +msgid "" +"Crypt::RandPasswd provides three functions that can be used\n" +"to generate random passwords, constructed from words, letters, or characters.\n" +"This code is a Perl implementation of the Automated Password Generator\n" +"standard, like the program described in \"A Random Word Generator For\n" +"Pronounceable Passwords\". This code is a re-engineering of the program\n" +"contained in Appendix A of FIPS Publication 181, \"Standard for Automated\n" +"Password Generator\"." +msgstr "" + +#: gnu/packages/perl.scm:1513 +msgid "Perl implementation of the RC4 encryption algorithm" +msgstr "" + +#: gnu/packages/perl.scm:1514 +msgid "A pure Perl implementation of the RC4 algorithm." +msgstr "" + +#: gnu/packages/perl.scm:1533 +msgid "Temporarily change working directory" +msgstr "" + +#: gnu/packages/perl.scm:1535 +msgid "" +"@code{Cwd::Guard} changes the current directory using a limited scope.\n" +"It returns to the previous working directory when the object is destroyed." +msgstr "" + +#: gnu/packages/perl.scm:1573 +msgid "Library for genomic analysis" +msgstr "" + +#: gnu/packages/perl.scm:1574 +msgid "" +"Chaolin Zhang's Perl Library (czplib) contains assorted\n" +"functions and data structures for processing and analysing genomic and\n" +"bioinformatics data." +msgstr "" + +#: gnu/packages/perl.scm:1603 gnu/packages/perl.scm:1769 +msgid "Base classes wrapping fundamental Perl data types" +msgstr "" + +#: gnu/packages/perl.scm:1604 +msgid "" +"Collection of classes that wrap fundamental data types that\n" +"exist in Perl. These classes and methods as they exist today are an attempt\n" +"to mirror functionality provided by Moose's Native Traits. One important\n" +"thing to note is all classes currently do no validation on constructor\n" +"input." +msgstr "" + +#: gnu/packages/perl.scm:1627 +msgid "Compare Perl data structures" +msgstr "" + +#: gnu/packages/perl.scm:1628 +msgid "" +"This module compares arbitrary data structures to see if\n" +"they are copies of each other." +msgstr "" + +#: gnu/packages/perl.scm:1646 +msgid "Perl extension for generating unique identifiers" +msgstr "" + +#: gnu/packages/perl.scm:1647 +msgid "" +"@code{Data::Uniqid} provides three simple routines for\n" +"generating unique ids. These ids are coded with a Base62 systen to make them\n" +"short and handy (e.g. to use it as part of a URL)." +msgstr "" + +#: gnu/packages/perl.scm:1666 +msgid "Pretty printing of data structures" +msgstr "" + +#: gnu/packages/perl.scm:1667 +msgid "" +"This module provide functions that takes a list of values as\n" +"their argument and produces a string as its result. The string contains Perl\n" +"code that, when \"eval\"ed, produces a deep copy of the original arguments." +msgstr "" + +#: gnu/packages/perl.scm:1686 +msgid "Concise data dumper" +msgstr "" + +#: gnu/packages/perl.scm:1687 +msgid "" +"Data::Dumper::Concise provides a dumper with Less\n" +"indentation and newlines plus sub deparsing." +msgstr "" + +#: gnu/packages/perl.scm:1709 +msgid "Parse and validate simple name/value option pairs" +msgstr "" + +#: gnu/packages/perl.scm:1711 +msgid "Data::OptList provides a simple syntax for name/value option pairs." +msgstr "" + +#: gnu/packages/perl.scm:1733 +msgid "Help when paging through sets of results" +msgstr "" + +#: gnu/packages/perl.scm:1734 +msgid "" +"When searching through large amounts of data, it is often\n" +"the case that a result set is returned that is larger than we want to display\n" +"on one page. This results in wanting to page through various pages of data.\n" +"The maths behind this is unfortunately fiddly, hence this module." +msgstr "" + +#: gnu/packages/perl.scm:1771 +msgid "" +"@code{Data::Perl} is a container class for the following classes:\n" +"@itemize\n" +"@item @code{Data::Perl::Collection::Hash}\n" +"@item @code{Data::Perl::Collection::Array}\n" +"@item @code{Data::Perl::String}\n" +"@item @code{Data::Perl::Number}\n" +"@item @code{Data::Perl::Counter}\n" +"@item @code{Data::Perl::Bool}\n" +"@item @code{Data::Perl::Code}\n" +"@end itemize" +msgstr "" + +#: gnu/packages/perl.scm:1802 +msgid "Colored pretty-print of Perl data structures and objects" +msgstr "" + +#: gnu/packages/perl.scm:1803 +msgid "" +"Display Perl variables and objects on screen, properly\n" +"formatted (to be inspected by a human)." +msgstr "" + +#: gnu/packages/perl.scm:1826 +msgid "Conditionally split data into records" +msgstr "" + +#: gnu/packages/perl.scm:1827 +msgid "" +"This Perl module allows you to split data into records by\n" +"not only specifying what you wish to split the data on, but also by specifying\n" +"an \"unless\" regular expression. If the text in question matches the\n" +"\"unless\" regex, it will not be split there. This allows us to do things\n" +"like split on newlines unless newlines are embedded in quotes." +msgstr "" + +#: gnu/packages/perl.scm:1850 +msgid "Structured tags datastructures" +msgstr "" + +#: gnu/packages/perl.scm:1852 +msgid "" +"This module is for manipulating data as hierarchical tag/value\n" +"pairs (Structured TAGs or Simple Tree AGgregates). These datastructures can\n" +"be represented as nested arrays, which have the advantage of being native to\n" +"Perl." +msgstr "" + +#: gnu/packages/perl.scm:1879 +msgid "N at a time iteration API" +msgstr "" + +#: gnu/packages/perl.scm:1880 +msgid "" +"This module tries to find middle ground between one at a\n" +"time and all at once processing of data sets. The purpose of this module is\n" +"to avoid the overhead of implementing an iterative api when this isn't\n" +"necessary, without breaking forward compatibility in case that becomes\n" +"necessary later on." +msgstr "" + +#: gnu/packages/perl.scm:1905 +msgid "Dynamic generation of nested combinations of variants" +msgstr "" + +#: gnu/packages/perl.scm:1906 +msgid "" +"Data::Tumbler - Dynamic generation of nested combinations of\n" +"variants." +msgstr "" + +#: gnu/packages/perl.scm:1932 +msgid "Visitor style traversal of Perl data structures" +msgstr "" + +#: gnu/packages/perl.scm:1933 +msgid "" +"This module is a simple visitor implementation for Perl\n" +"values. It has a main dispatcher method, visit, which takes a single perl\n" +"value and then calls the methods appropriate for that value. It can\n" +"recursively map (cloning as necessary) or just traverse most structures, with\n" +"support for per-object behavior, circular structures, visiting tied\n" +"structures, and all ref types (hashes, arrays, scalars, code, globs)." +msgstr "" + +#: gnu/packages/perl.scm:1958 +msgid "Gregorian calendar date calculations" +msgstr "" + +#: gnu/packages/perl.scm:1959 +msgid "" +"This package consists of a Perl module for date calculations\n" +"based on the Gregorian calendar, thereby complying with all relevant norms and\n" +"standards: ISO/R 2015-1971, DIN 1355 and, to some extent, ISO 8601 (where\n" +"applicable)." +msgstr "" + +#: gnu/packages/perl.scm:1983 +msgid "XS wrapper for Date::Calc" +msgstr "" + +#: gnu/packages/perl.scm:1984 +msgid "" +"Date::Calc::XS is an XS wrapper and C library plug-in for\n" +"Date::Calc." +msgstr "" + +#: gnu/packages/perl.scm:2008 +msgid "Date manipulation routines" +msgstr "" + +#: gnu/packages/perl.scm:2009 +msgid "" +"Date::Manip is a series of modules for common date/time\n" +"operations, such as comparing two times, determining a date a given amount of\n" +"time from another, or parsing international times." +msgstr "" + +#: gnu/packages/perl.scm:2028 +msgid "Simple date handling" +msgstr "" + +#: gnu/packages/perl.scm:2029 +msgid "" +"Dates are complex enough without times and timezones. This\n" +"module may be used to create simple date objects. It handles validation,\n" +"interval arithmetic, and day-of-week calculation. It does not deal with\n" +"hours, minutes, seconds, and time zones." +msgstr "" + +#: gnu/packages/perl.scm:2061 +msgid "Date and time object for Perl" +msgstr "" + +#: gnu/packages/perl.scm:2062 +msgid "" +"DateTime is a class for the representation of date/time\n" +"combinations. It represents the Gregorian calendar, extended backwards in\n" +"time before its creation (in 1582)." +msgstr "" + +#: gnu/packages/perl.scm:2084 +msgid "Dates in the Julian calendar" +msgstr "" + +#: gnu/packages/perl.scm:2085 +msgid "" +"This package is a companion module to @code{DateTime.pm}.\n" +"It implements the Julian calendar. It supports everything that\n" +"@code{DateTime.pm} supports and more: about one day per century more, to be\n" +"precise." +msgstr "" + +#: gnu/packages/perl.scm:2111 +msgid "DateTime set objects" +msgstr "" + +#: gnu/packages/perl.scm:2112 +msgid "" +"The DateTime::Set module provides a date/time sets\n" +"implementation. It allows, for example, the generation of groups of dates,\n" +"like \"every wednesday\", and then find all the dates matching that pattern,\n" +"within a time range." +msgstr "" + +#: gnu/packages/perl.scm:2135 +msgid "DateTime rfc2445 recurrences" +msgstr "" + +#: gnu/packages/perl.scm:2136 +msgid "" +"This module provides convenience methods that let you easily\n" +"create DateTime::Set objects for RFC 2445 style recurrences." +msgstr "" + +#: gnu/packages/perl.scm:2157 +msgid "DateTime::Set extension for basic recurrences" +msgstr "" + +#: gnu/packages/perl.scm:2158 +msgid "" +"This module provides convenience methods that let you easily\n" +"create DateTime::Set objects for various recurrences, such as \"once a month\"\n" +"or \"every day\". You can also create more complicated recurrences, such as\n" +"\"every Monday, Wednesday and Thursday at 10:00 AM and 2:00 PM\"." +msgstr "" + +#: gnu/packages/perl.scm:2183 +msgid "Create DateTime parser classes and objects" +msgstr "" + +#: gnu/packages/perl.scm:2184 +msgid "" +"DateTime::Format::Builder creates DateTime parsers. Many\n" +"string formats of dates and times are simple and just require a basic regular\n" +"expression to extract the relevant information. Builder provides a simple way\n" +"to do this without writing reams of structural code." +msgstr "" + +#: gnu/packages/perl.scm:2211 +msgid "Parse data/time strings" +msgstr "" + +#: gnu/packages/perl.scm:2212 +msgid "" +"DateTime::Format::Flexible attempts to take any string you\n" +"give it and parse it into a DateTime object." +msgstr "" + +#: gnu/packages/perl.scm:2238 +msgid "Parse and format iCal datetime and duration strings" +msgstr "" + +#: gnu/packages/perl.scm:2239 +msgid "" +"This module understands the ICal date/time and duration\n" +"formats, as defined in RFC 2445. It can be used to parse these formats in\n" +"order to create the appropriate objects." +msgstr "" + +#: gnu/packages/perl.scm:2271 +msgid "Machine-readable date/time with natural parsing" +msgstr "" + +#: gnu/packages/perl.scm:2272 +msgid "" +"DateTime::Format::Natural takes a string with a human\n" +"readable date/time and creates a machine readable one by applying natural\n" +"parsing logic." +msgstr "" + +#: gnu/packages/perl.scm:2299 +msgid "Parse and format strp and strf time patterns" +msgstr "" + +#: gnu/packages/perl.scm:2300 +msgid "" +"This module implements most of `strptime(3)`, the POSIX\n" +"function that is the reverse of `strftime(3)`, for `DateTime`. While\n" +"`strftime` takes a `DateTime` and a pattern and returns a string, `strptime`\n" +"takes a string and a pattern and returns the `DateTime` object associated." +msgstr "" + +#: gnu/packages/perl.scm:2332 +msgid "Localization support for DateTime.pm" +msgstr "" + +#: gnu/packages/perl.scm:2333 +msgid "" +"The DateTime::Locale modules provide localization data for\n" +"the DateTime.pm class." +msgstr "" + +#: gnu/packages/perl.scm:2361 +msgid "Time zone object for Perl" +msgstr "" + +#: gnu/packages/perl.scm:2362 +msgid "" +"This class is the base class for all time zone objects. A\n" +"time zone is represented internally as a set of observances, each of which\n" +"describes the offset from GMT for a given time period. Note that without the\n" +"DateTime module, this module does not do much. It's primary interface is\n" +"through a DateTime object, and most users will not need to directly use\n" +"DateTime::TimeZone methods." +msgstr "" + +#: gnu/packages/perl.scm:2392 +msgid "Parse date/time strings" +msgstr "" + +#: gnu/packages/perl.scm:2393 +msgid "" +"DateTimeX::Easy uses a variety of DateTime::Format packages\n" +"to create DateTime objects, with some custom tweaks to smooth out the rough\n" +"edges (mainly concerning timezone detection and selection)." +msgstr "" + +#: gnu/packages/perl.scm:2414 +msgid "Convert between DateTime and RFC2822/822 formats" +msgstr "" + +#: gnu/packages/perl.scm:2415 +msgid "" +"RFCs 2822 and 822 specify date formats to be used by email.\n" +"This module parses and emits such dates." +msgstr "" + +#: gnu/packages/perl.scm:2437 +msgid "Parse and format W3CDTF datetime strings" +msgstr "" + +#: gnu/packages/perl.scm:2439 +msgid "" +"This module understands the W3CDTF date/time format, an ISO 8601 profile,\n" +"defined at https://www.w3.org/TR/NOTE-datetime. This format is the native date\n" +"format of RSS 1.0. It can be used to parse these formats in order to create\n" +"the appropriate objects." +msgstr "" + +#: gnu/packages/perl.scm:2461 +msgid "Meatier version of caller" +msgstr "" + +#: gnu/packages/perl.scm:2462 +msgid "Devel::Caller provides meatier version of caller." +msgstr "" + +#: gnu/packages/perl.scm:2480 +msgid "Check that a command is available" +msgstr "" + +#: gnu/packages/perl.scm:2481 +msgid "" +"Devel::CheckBin is a perl module that checks whether a\n" +"particular command is available." +msgstr "" + +#: gnu/packages/perl.scm:2500 +msgid "Check compiler availability" +msgstr "" + +#: gnu/packages/perl.scm:2501 +msgid "" +"@code{Devel::CheckCompiler} is a tiny module to check\n" +"whether a compiler is available. It can test for a C99 compiler, or\n" +"you can tell it to compile a C source file with optional linker flags." +msgstr "" + +#: gnu/packages/perl.scm:2523 +msgid "Find memory cycles in objects" +msgstr "" + +#: gnu/packages/perl.scm:2525 +msgid "" +"@code{Devel::Cycle} This is a tool for finding circular references in\n" +"objects and other types of references. Because of Perl's reference-count\n" +"based memory management, circular references will cause memory leaks." +msgstr "" + +#: gnu/packages/perl.scm:2546 +msgid "Provides equivalent of ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls" +msgstr "" + +#: gnu/packages/perl.scm:2547 +msgid "" +"Devel::GlobalDestruction provides a function returning the\n" +"equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls." +msgstr "" + +#: gnu/packages/perl.scm:2568 +msgid "Forces the unavailability of specified Perl modules (for testing)" +msgstr "" + +#: gnu/packages/perl.scm:2569 +msgid "" +"Given a list of Perl modules/filenames, this module makes\n" +"@code{require} and @code{use} statements fail (no matter whether the specified\n" +"files/modules are installed or not)." +msgstr "" + +#: gnu/packages/perl.scm:2590 +msgid "Alias lexical variables" +msgstr "" + +#: gnu/packages/perl.scm:2591 +msgid "" +"Devel::LexAlias provides the ability to alias a lexical\n" +"variable in a subroutines scope to one of your choosing." +msgstr "" + +#: gnu/packages/perl.scm:2615 +msgid "Introspect overloaded operators" +msgstr "" + +#: gnu/packages/perl.scm:2616 +msgid "" +"Devel::OverloadInfo returns information about overloaded\n" +"operators for a given class (or object), including where in the inheritance\n" +"hierarchy the overloads are declared and where the code implementing it is." +msgstr "" + +#: gnu/packages/perl.scm:2643 +msgid "Partial dumping of data structures" +msgstr "" + +#: gnu/packages/perl.scm:2644 +msgid "" +"This module is a data dumper optimized for logging of\n" +"arbitrary parameters." +msgstr "" + +#: gnu/packages/perl.scm:2662 +msgid "Object representing a stack trace" +msgstr "" + +#: gnu/packages/perl.scm:2663 +msgid "" +"The Devel::StackTrace module contains two classes,\n" +"Devel::StackTrace and Devel::StackTrace::Frame. These objects encapsulate the\n" +"information that can be retrieved via Perl's caller() function, as well as\n" +"providing a simple interface to this data." +msgstr "" + +#: gnu/packages/perl.scm:2685 +msgid "Displays stack trace in HTML" +msgstr "" + +#: gnu/packages/perl.scm:2686 +msgid "" +"Devel::StackTrace::AsHTML adds as_html method to\n" +"Devel::StackTrace which displays the stack trace in beautiful HTML, with code\n" +"snippet context and function parameters. If you call it on an instance of\n" +"Devel::StackTrace::WithLexicals, you even get to see the lexical variables of\n" +"each stack frame." +msgstr "" + +#: gnu/packages/perl.scm:2707 +msgid "Dump symbol names or the symbol table" +msgstr "" + +#: gnu/packages/perl.scm:2708 +msgid "Devel::Symdump provides access to the perl symbol table." +msgstr "" + +#: gnu/packages/perl.scm:2725 +msgid "Keyed-Hashing for Message Authentication" +msgstr "" + +#: gnu/packages/perl.scm:2726 +msgid "" +"The Digest::HMAC module follows the common Digest::\n" +"interface for the RFC 2104 HMAC mechanism." +msgstr "" + +#: gnu/packages/perl.scm:2751 +msgid "Perl interface to the MD-5 algorithm" +msgstr "" + +#: gnu/packages/perl.scm:2753 +msgid "" +"The @code{Digest::MD5} module allows you to use the MD5 Message Digest\n" +"algorithm from within Perl programs. The algorithm takes as\n" +"input a message of arbitrary length and produces as output a\n" +"128-bit \"fingerprint\" or \"message digest\" of the input." +msgstr "" + +#: gnu/packages/perl.scm:2771 +msgid "Perl implementation of the SHA-1 message digest algorithm" +msgstr "" + +#: gnu/packages/perl.scm:2773 +msgid "" +"This package provides 'Digest::SHA1', an implementation of the NIST\n" +"SHA-1 message digest algorithm for use by Perl programs." +msgstr "" + +#: gnu/packages/perl.scm:2795 +msgid "Declare version conflicts for your dist" +msgstr "" + +#: gnu/packages/perl.scm:2796 +msgid "" +"This module allows you to specify conflicting versions of\n" +"modules separately and deal with them after the module is done installing." +msgstr "" + +#: gnu/packages/perl.scm:2816 +msgid "Detect the encoding of data" +msgstr "" + +#: gnu/packages/perl.scm:2817 +msgid "" +"This package provides a class @code{Encode::Detect} to detect\n" +"the encoding of data." +msgstr "" + +#: gnu/packages/perl.scm:2835 +msgid "ASCII mapping for eucJP encoding" +msgstr "" + +#: gnu/packages/perl.scm:2836 +msgid "" +"This package provides an ASCII mapping for the eucJP\n" +"encoding." +msgstr "" + +#: gnu/packages/perl.scm:2854 +msgid "JIS X 0212 (aka JIS 2000) encodings" +msgstr "" + +#: gnu/packages/perl.scm:2855 +msgid "" +"This package provides encodings for JIS X 0212, which is\n" +"also known as JIS 2000." +msgstr "" + +#: gnu/packages/perl.scm:2878 +msgid "Additional Chinese encodings" +msgstr "" + +#: gnu/packages/perl.scm:2879 +msgid "" +"This Perl module provides Chinese encodings that are not\n" +"part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\",\n" +"\"BIG5EXT\", \"CCCII\", \"EUC-TW\", \"CNS11643-*\", \"GB18030\", and\n" +"\"UNISYS\"." +msgstr "" + +#: gnu/packages/perl.scm:2901 +msgid "Advanced operations on path variables" +msgstr "" + +#: gnu/packages/perl.scm:2902 +msgid "" +"@code{Env::Path} presents an object-oriented interface to\n" +"path variables, defined as that subclass of environment variables which name\n" +"an ordered list of file system elements separated by a platform-standard\n" +"separator." +msgstr "" + +#: gnu/packages/perl.scm:2922 +msgid "OO-ish Error/Exception handling for Perl" +msgstr "" + +#: gnu/packages/perl.scm:2923 +msgid "" +"The Error package provides two interfaces. Firstly Error\n" +"provides a procedural interface to exception handling. Secondly Error is a\n" +"base class for errors/exceptions that can either be thrown, for subsequent\n" +"catch, or can simply be recorded." +msgstr "" + +#: gnu/packages/perl.scm:2948 +msgid "Safely and cleanly create closures via string eval" +msgstr "" + +#: gnu/packages/perl.scm:2949 +msgid "" +"String eval is often used for dynamic code generation. For\n" +"instance, Moose uses it heavily, to generate inlined versions of accessors and\n" +"constructors, which speeds code up at runtime by a significant amount. String\n" +"eval is not without its issues however - it's difficult to control the scope\n" +"it's used in (which determines which variables are in scope inside the eval),\n" +"and it's easy to miss compilation errors, since eval catches them and sticks\n" +"them in $@@ instead. This module attempts to solve these problems. It\n" +"provides an eval_closure function, which evals a string in a clean\n" +"environment, other than a fixed list of specified variables. Compilation\n" +"errors are rethrown automatically." +msgstr "" + +#: gnu/packages/perl.scm:2978 +msgid "Allows you to declare real exception classes in Perl" +msgstr "" + +#: gnu/packages/perl.scm:2979 +msgid "" +"Exception::Class allows you to declare exception hierarchies\n" +"in your modules in a \"Java-esque\" manner." +msgstr "" + +#: gnu/packages/perl.scm:2995 +msgid "Lightweight exporting of functions and variables" +msgstr "" + +#: gnu/packages/perl.scm:2997 +msgid "" +"Exporter::Lite is an alternative to Exporter, intended to provide a\n" +"lightweight subset of the most commonly-used functionality. It supports\n" +"import(), @@EXPORT and @@EXPORT_OK and not a whole lot else." +msgstr "" + +#: gnu/packages/perl.scm:3017 +msgid "Exporter with the features of Sub::Exporter but only core dependencies" +msgstr "" + +#: gnu/packages/perl.scm:3018 +msgid "" +"Exporter::Tiny supports many of Sub::Exporter's\n" +"external-facing features including renaming imported functions with the `-as`,\n" +"`-prefix` and `-suffix` options; explicit destinations with the `into` option;\n" +"and alternative installers with the `installler` option. But it's written in\n" +"only about 40% as many lines of code and with zero non-core dependencies." +msgstr "" + +#: gnu/packages/perl.scm:3041 +msgid "Build.PL install path logic made easy" +msgstr "" + +#: gnu/packages/perl.scm:3042 +msgid "" +"This module tries to make install path resolution as easy as\n" +"possible." +msgstr "" + +#: gnu/packages/perl.scm:3060 +msgid "Wrapper for perl's configuration" +msgstr "" + +#: gnu/packages/perl.scm:3061 +msgid "" +"ExtUtils::Config is an abstraction around the %Config hash.\n" +"By itself it is not a particularly interesting module by any measure, however\n" +"it ties together a family of modern toolchain modules." +msgstr "" + +#: gnu/packages/perl.scm:3081 +msgid "Easily build XS extensions that depend on XS extensions" +msgstr "" + +#: gnu/packages/perl.scm:3083 +msgid "" +"This module tries to make it easy to build Perl extensions that use\n" +"functions and typemaps provided by other perl extensions. This means that a\n" +"perl extension is treated like a shared library that provides also a C and an\n" +"XS interface besides the perl one." +msgstr "" + +#: gnu/packages/perl.scm:3103 +msgid "Various portability utilities for module builders" +msgstr "" + +#: gnu/packages/perl.scm:3104 +msgid "" +"This module provides various portable helper functions for\n" +"module building modules." +msgstr "" + +#: gnu/packages/perl.scm:3124 +msgid "Tool to build C libraries" +msgstr "" + +#: gnu/packages/perl.scm:3125 +msgid "" +"Some Perl modules need to ship C libraries together with\n" +"their Perl code. Although there are mechanisms to compile and link (or glue)\n" +"C code in your Perl programs, there isn't a clear method to compile standard,\n" +"self-contained C libraries. This module main goal is to help in that task." +msgstr "" + +#: gnu/packages/perl.scm:3146 +msgid "Simplistic interface to pkg-config" +msgstr "" + +#: gnu/packages/perl.scm:3148 +msgid "" +"@code{ExtUtils::PkgConfig} is a very simplistic interface to the\n" +"@command{pkg-config} utility, intended for use in the @file{Makefile.PL}\n" +"of perl extensions which bind libraries that @command{pkg-config} knows.\n" +"It is really just boilerplate code that you would have written yourself." +msgstr "" + +#: gnu/packages/perl.scm:3180 +msgid "Watch for changes to files" +msgstr "" + +#: gnu/packages/perl.scm:3181 +msgid "" +"This module provides a class to monitor a directory for\n" +"changes made to any file." +msgstr "" + +#: gnu/packages/perl.scm:3202 +msgid "Get directories of configuration files" +msgstr "" + +#: gnu/packages/perl.scm:3203 +msgid "" +"This module is a helper for installing, reading and finding\n" +"configuration file locations. @code{File::ConfigDir} is a module to help out\n" +"when Perl modules (especially applications) need to read and store\n" +"configuration files from more than one location." +msgstr "" + +#: gnu/packages/perl.scm:3223 +msgid "Recursively copy files and directories" +msgstr "" + +#: gnu/packages/perl.scm:3224 +msgid "" +"This module has 3 functions: one to copy files only, one to\n" +"copy directories only, and one to do either depending on the argument's\n" +"type." +msgstr "" + +#: gnu/packages/perl.scm:3246 +msgid "Alternative interface to File::Find" +msgstr "" + +#: gnu/packages/perl.scm:3247 +msgid "" +"File::Find::Rule is a friendlier interface to File::Find.\n" +"It allows you to build rules which specify the desired files and\n" +"directories." +msgstr "" + +#: gnu/packages/perl.scm:3270 +msgid "Common rules for searching for Perl things" +msgstr "" + +#: gnu/packages/perl.scm:3271 +msgid "" +"File::Find::Rule::Perl provides methods for finding various\n" +"types Perl-related files, or replicating search queries run on a distribution\n" +"in various parts of the CPAN ecosystem." +msgstr "" + +#: gnu/packages/perl.scm:3292 +msgid "Matches patterns in a series of files" +msgstr "" + +#: gnu/packages/perl.scm:3293 +msgid "" +"@code{File::Grep} provides similar functionality as perl's\n" +"builtin @code{grep}, @code{map}, and @code{foreach} commands, but iterating\n" +"over a passed filelist instead of arrays. While trivial, this module can\n" +"provide a quick dropin when such functionality is needed." +msgstr "" + +#: gnu/packages/perl.scm:3316 +msgid "Find your home and other directories on any platform" +msgstr "" + +#: gnu/packages/perl.scm:3317 +msgid "" +"File::HomeDir is a module for locating the directories that\n" +"are \"owned\" by a user (typically your user) and to solve the various issues\n" +"that arise trying to find them consistently across a wide variety of\n" +"platforms." +msgstr "" + +#: gnu/packages/perl.scm:3339 +msgid "Create or remove directory trees" +msgstr "" + +#: gnu/packages/perl.scm:3340 +msgid "" +"This module provide a convenient way to create directories\n" +"of arbitrary depth and to delete an entire directory subtree from the\n" +"file system." +msgstr "" + +#: gnu/packages/perl.scm:3363 +msgid "Change directory temporarily for a limited scope" +msgstr "" + +#: gnu/packages/perl.scm:3364 +msgid "" +"@code{File::pushd} does a temporary @code{chdir} that is\n" +"easily and automatically reverted, similar to @code{pushd} in some Unix\n" +"command shells. It works by creating an object that caches the original\n" +"working directory. When the object is destroyed, the destructor calls\n" +"@code{chdir} to revert to the original working directory. By storing the\n" +"object in a lexical variable with a limited scope, this happens automatically\n" +"at the end of the scope." +msgstr "" + +#: gnu/packages/perl.scm:3392 +msgid "" +"Perl extension for crawling directory trees and compiling\n" +"lists of files" +msgstr "" + +#: gnu/packages/perl.scm:3395 +msgid "" +"The File::List module crawls the directory tree starting at the\n" +"provided base directory and can return files (and/or directories if desired)\n" +"matching a regular expression." +msgstr "" + +#: gnu/packages/perl.scm:3414 +msgid "Remove files and directories in Perl" +msgstr "" + +#: gnu/packages/perl.scm:3415 +msgid "" +"File::Remove::remove removes files and directories. It acts\n" +"like /bin/rm, for the most part. Although \"unlink\" can be given a list of\n" +"files, it will not remove directories; this module remedies that. It also\n" +"accepts wildcards, * and ?, as arguments for file names." +msgstr "" + +#: gnu/packages/perl.scm:3439 +msgid "Locate per-dist and per-module shared files" +msgstr "" + +#: gnu/packages/perl.scm:3440 +msgid "" +"The intent of File::ShareDir is to provide a companion to\n" +"Class::Inspector and File::HomeDir. Quite often you want or need your Perl\n" +"module to have access to a large amount of read-only data that is stored on\n" +"the file-system at run-time. Once the files have been installed to the\n" +"correct directory, you can use File::ShareDir to find your files again after\n" +"the installation." +msgstr "" + +#: gnu/packages/perl.scm:3462 +msgid "Locate per-dist shared files" +msgstr "" + +#: gnu/packages/perl.scm:3463 +msgid "" +"File::ShareDir::Dist finds share directories for\n" +"distributions. It is a companion module to File::ShareDir." +msgstr "" + +#: gnu/packages/perl.scm:3483 +msgid "Install shared files" +msgstr "" + +#: gnu/packages/perl.scm:3484 +msgid "" +"File::ShareDir::Install allows you to install read-only data\n" +"files from a distribution. It is a companion module to File::ShareDir, which\n" +"allows you to locate these files after installation." +msgstr "" + +#: gnu/packages/perl.scm:3503 +msgid "Reading/Writing/Modifying of complete files" +msgstr "" + +#: gnu/packages/perl.scm:3504 +msgid "" +"File::Slurp provides subroutines to read or write entire\n" +"files with a simple call. It also has a subroutine for reading the list of\n" +"file names in a directory." +msgstr "" + +#: gnu/packages/perl.scm:3527 +msgid "Simple, sane and efficient module to slurp a file" +msgstr "" + +#: gnu/packages/perl.scm:3528 +msgid "" +"This module provides functions for fast and correct file\n" +"slurping and spewing. All functions are optionally exported." +msgstr "" + +#: gnu/packages/perl.scm:3545 +msgid "Simple file reader and writer" +msgstr "" + +#: gnu/packages/perl.scm:3547 +msgid "This module provides functions for fast reading and writing of files." +msgstr "" + +#: gnu/packages/perl.scm:3566 +msgid "Return name and handle of a temporary file safely" +msgstr "" + +#: gnu/packages/perl.scm:3567 +msgid "" +"File::Temp can be used to create and open temporary files in\n" +"a safe way." +msgstr "" + +#: gnu/packages/perl.scm:3584 +msgid "Portable implementation of the `which' utility" +msgstr "" + +#: gnu/packages/perl.scm:3586 +msgid "" +"File::Which was created to be able to get the paths to executable\n" +"programs on systems under which the `which' program wasn't implemented in the\n" +"shell." +msgstr "" + +#: gnu/packages/perl.scm:3609 +msgid "Extended Unix style glob functionality" +msgstr "" + +#: gnu/packages/perl.scm:3610 +msgid "" +"@code{File::Zglob} provides a traditional Unix @code{glob}\n" +"functionality; it returns a list of file names that match the given pattern.\n" +"For instance, it supports the @code{**/*.pm} form." +msgstr "" + +#: gnu/packages/perl.scm:3629 +msgid "Module to handle parsing command line options" +msgstr "" + +#: gnu/packages/perl.scm:3630 +msgid "" +"The @code{Getopt::Long} module implements an extended getopt\n" +"function called @code{GetOptions()}. It parses the command line from\n" +"@code{ARGV}, recognizing and removing specified options and their possible\n" +"values.\n" +"\n" +"This function adheres to the POSIX syntax for command line options, with GNU\n" +"extensions. In general, this means that options have long names instead of\n" +"single letters, and are introduced with a double dash \"--\". Support for\n" +"bundling of command line options, as was the case with the more traditional\n" +"single-letter approach, is provided but not enabled by default." +msgstr "" + +#: gnu/packages/perl.scm:3664 +msgid "Getopt::Long, but simpler and more powerful" +msgstr "" + +#: gnu/packages/perl.scm:3665 +msgid "" +"Getopt::Long::Descriptive is yet another Getopt library.\n" +"It's built atop Getopt::Long, and gets a lot of its features, but tries to\n" +"avoid making you think about its huge array of options. It also provides\n" +"usage (help) messages, data validation, and a few other useful features." +msgstr "" + +#: gnu/packages/perl.scm:3683 +msgid "Table-driven argument parsing for Perl" +msgstr "" + +#: gnu/packages/perl.scm:3685 +msgid "" +"Getopt::Tabular is a Perl 5 module for table-driven argument parsing,\n" +"vaguely inspired by John Ousterhout's Tk_ParseArgv." +msgstr "" + +#: gnu/packages/perl.scm:3707 +msgid "Graph data structures and algorithms" +msgstr "" + +#: gnu/packages/perl.scm:3708 +msgid "" +"This is @code{Graph}, a Perl module for dealing with graphs,\n" +"the abstract data structures." +msgstr "" + +#: gnu/packages/perl.scm:3725 +msgid "Safe cleanup blocks implemented as guards" +msgstr "" + +#: gnu/packages/perl.scm:3726 +msgid "" +"@code{Guard} implements so-called @dfn{guards}. A guard is\n" +"something (usually an object) that \"guards\" a resource, ensuring that it is\n" +"cleaned up when expected.\n" +"\n" +"Specifically, this module supports two different types of guards: guard\n" +"objects, which execute a given code block when destroyed, and scoped guards,\n" +"which are tied to the scope exit." +msgstr "" + +#: gnu/packages/perl.scm:3762 +msgid "Lightweight field hash for inside-out objects" +msgstr "" + +#: gnu/packages/perl.scm:3763 +msgid "" +"@code{Hash::FieldHash} provides the field hash mechanism\n" +"which supports the inside-out technique. It is an alternative to\n" +"@code{Hash::Util::FieldHash} with a simpler interface, higher performance, and\n" +"relic support." +msgstr "" + +#: gnu/packages/perl.scm:3783 +msgid "Merge arbitrarily deep hashes into a single hash" +msgstr "" + +#: gnu/packages/perl.scm:3784 +msgid "" +"Hash::Merge merges two arbitrarily deep hashes into a single\n" +"hash. That is, at any level, it will add non-conflicting key-value pairs from\n" +"one hash to the other, and follows a set of specific rules when there are key\n" +"value conflicts. The hash is followed recursively, so that deeply nested\n" +"hashes that are at the same level will be merged when the parent hashes are\n" +"merged." +msgstr "" + +#: gnu/packages/perl.scm:3806 +msgid "Store multiple values per key" +msgstr "" + +#: gnu/packages/perl.scm:3807 +msgid "" +"Hash::MultiValue is an object (and a plain hash reference)\n" +"that may contain multiple values per key, inspired by MultiDict of WebOb." +msgstr "" + +#: gnu/packages/perl.scm:3825 +msgid "Alternative but compatible interface to modules that export symbols" +msgstr "" + +#: gnu/packages/perl.scm:3826 +msgid "" +"This module acts as a layer between Exporter and modules which\n" +"consume exports. It is feature-compatible with Exporter, plus some much needed\n" +"extras. You can use this to import symbols from any exporter that follows\n" +"Exporters specification. The exporter modules themselves do not need to use or\n" +"inherit from the Exporter module, they just need to set @@EXPORT and/or other\n" +"variables." +msgstr "" + +#: gnu/packages/perl.scm:3850 +msgid "Import packages into other packages" +msgstr "" + +#: gnu/packages/perl.scm:3851 +msgid "" +"Writing exporters is a pain. Some use Exporter, some use\n" +"Sub::Exporter, some use Moose::Exporter, some use Exporter::Declare ... and\n" +"some things are pragmas. Exporting on someone else's behalf is harder. The\n" +"exporters don't provide a consistent API for this, and pragmas need to have\n" +"their import method called directly, since they effect the current unit of\n" +"compilation. Import::Into provides global methods to make this painless." +msgstr "" + +#: gnu/packages/perl.scm:3873 +msgid "Use modules in inc/ if newer than installed" +msgstr "" + +#: gnu/packages/perl.scm:3874 +msgid "" +"The inc::latest module helps bootstrap configure-time\n" +"dependencies for CPAN distributions. These dependencies get bundled into the\n" +"inc directory within a distribution and are used by Makefile.PL or Build.PL." +msgstr "" + +#: gnu/packages/perl.scm:3895 +msgid "Capture STDOUT and STDERR from Perl code, subprocesses or XS" +msgstr "" + +#: gnu/packages/perl.scm:3896 +msgid "" +"@code{IO::CaptureOutput} provides routines for capturing\n" +"@code{STDOUT} and @code{STDERR} from perl subroutines, forked system\n" +"calls (e.g. @code{system()}, @code{fork()}) and from XS or C modules.\n" +"\n" +"This module is no longer recommended by its maintainer. Users are advised to\n" +"try @code{Capture::Tiny} instead." +msgstr "" + +#: gnu/packages/perl.scm:3918 +msgid "Utilities for interactive I/O" +msgstr "" + +#: gnu/packages/perl.scm:3919 +msgid "" +"This module provides three utility subroutines that make it\n" +"easier to develop interactive applications: is_interactive(), interactive(),\n" +"and busy()." +msgstr "" + +#: gnu/packages/perl.scm:3938 +msgid "Emulate file interface for in-core strings" +msgstr "" + +#: gnu/packages/perl.scm:3939 +msgid "" +"IO::String is an IO::File (and IO::Handle) compatible class\n" +"that reads or writes data from in-core strings." +msgstr "" + +#: gnu/packages/perl.scm:3957 +msgid "IO:: interface for reading/writing an array of lines" +msgstr "" + +#: gnu/packages/perl.scm:3958 +msgid "" +"This toolkit primarily provides modules for performing both\n" +"traditional and object-oriented i/o) on things *other* than normal\n" +"filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines." +msgstr "" + +#: gnu/packages/perl.scm:3976 +msgid "Perl interface to pseudo ttys" +msgstr "" + +#: gnu/packages/perl.scm:3978 +msgid "" +"This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to\n" +"pseudo ttys." +msgstr "" + +#: gnu/packages/perl.scm:3996 +msgid "Run interactive command-line programs" +msgstr "" + +#: gnu/packages/perl.scm:3997 +msgid "" +"@code{IPC::Cmd} allows for the searching and execution of\n" +"any binary on your system. It adheres to verbosity settings and is able to\n" +"run interactively. It also has an option to capture output/error buffers." +msgstr "" + +#: gnu/packages/perl.scm:4026 +msgid "Run system() and background procs w/ piping, redirs, ptys" +msgstr "" + +#: gnu/packages/perl.scm:4027 +msgid "" +"IPC::Run allows you run and interact with child processes\n" +"using files, pipes, and pseudo-ttys. Both system()-style and scripted usages\n" +"are supported and may be mixed. Likewise, functional and OO API styles are\n" +"both supported and may be mixed." +msgstr "" + +#: gnu/packages/perl.scm:4045 +msgid "Run a subprocess with input/output redirection" +msgstr "" + +#: gnu/packages/perl.scm:4047 +msgid "" +"The IPC::Run3 module allows you to run a subprocess and redirect stdin,\n" +"stdout, and/or stderr to files and perl data structures. It aims to satisfy\n" +"99% of the need for using system, qx, and open3 with a simple, extremely\n" +"Perlish API and none of the bloat and rarely used features of IPC::Run." +msgstr "" + +#: gnu/packages/perl.scm:4071 +msgid "Lightweight interface to shared memory" +msgstr "" + +#: gnu/packages/perl.scm:4072 +msgid "" +"IPC::ShareLite provides a simple interface to shared memory,\n" +"allowing data to be efficiently communicated between processes." +msgstr "" + +#: gnu/packages/perl.scm:4090 +msgid "Run commands simply, with detailed diagnostics" +msgstr "" + +#: gnu/packages/perl.scm:4091 +msgid "" +"Calling Perl's in-built @code{system} function is easy,\n" +"determining if it was successful is hard. Let's face it, @code{$?} isn't the\n" +"nicest variable in the world to play with, and even if you do check it,\n" +"producing a well-formatted error string takes a lot of work.\n" +"\n" +"@code{IPC::System::Simple} takes the hard work out of calling external\n" +"commands." +msgstr "" + +#: gnu/packages/perl.scm:4116 +msgid "JSON encoder/decoder for Perl" +msgstr "" + +#: gnu/packages/perl.scm:4117 +msgid "" +"This module converts Perl data structures to JSON and vice\n" +"versa using either JSON::XS or JSON::PP." +msgstr "" + +#: gnu/packages/perl.scm:4142 +msgid "Wrapper for Perl JSON classes" +msgstr "" + +#: gnu/packages/perl.scm:4144 +msgid "" +"This module tries to provide a coherent API to bring together the\n" +"various JSON modules currently on CPAN. This module will allow you to code to\n" +"any JSON API and have it work regardless of which JSON module is actually\n" +"installed." +msgstr "" + +#: gnu/packages/perl.scm:4168 +msgid "Cpanel::JSON::XS with fallback" +msgstr "" + +#: gnu/packages/perl.scm:4169 +msgid "" +"This module first checks to see if either Cpanel::JSON::XS\n" +"or JSON::XS is already loaded, in which case it uses that module. Otherwise\n" +"it tries to load Cpanel::JSON::XS, then JSON::XS, then JSON::PP in order, and\n" +"either uses the first module it finds or throws an error." +msgstr "" + +#: gnu/packages/perl.scm:4192 +msgid "JSON serialising/deserialising for Perl" +msgstr "" + +#: gnu/packages/perl.scm:4211 +msgid "Bringing loggers and listeners together" +msgstr "" + +#: gnu/packages/perl.scm:4212 +msgid "" +"@code{Log::Any} provides a standard log production API for\n" +"modules. @code{Log::Any::Adapter} allows applications to choose the mechanism\n" +"for log consumption, whether screen, file or another logging mechanism like\n" +"@code{Log::Dispatch} or @code{Log::Log4perl}.\n" +"\n" +"A CPAN module uses @code{Log::Any} to get a log producer object. An\n" +"application, in turn, may choose one or more logging mechanisms via\n" +"@code{Log::Any::Adapter}, or none at all.\n" +"\n" +"@code{Log::Any} has a very tiny footprint and no dependencies beyond Perl\n" +"itself, which makes it appropriate for even small CPAN modules to use. It\n" +"defaults to 'null' logging activity, so a module can safely log without\n" +"worrying about whether the application has chosen (or will ever choose) a\n" +"logging mechanism." +msgstr "" + +#: gnu/packages/perl.scm:4248 +msgid "Log::Any adapter for Log::Log4perl" +msgstr "" + +#: gnu/packages/perl.scm:4249 +msgid "" +"@code{Log::Any::Adapter::Log4perl} provides a\n" +"@code{Log::Any} adapter using @code{Log::Log4perl} for logging." +msgstr "" + +#: gnu/packages/perl.scm:4270 +msgid "Log4j implementation for Perl" +msgstr "" + +#: gnu/packages/perl.scm:4271 +msgid "" +"@code{Log::Log4perl} lets you remote-control and fine-tune\n" +"the logging behaviour of your system from the outside. It implements the\n" +"widely popular (Java-based) Log4j logging package in pure Perl." +msgstr "" + +#: gnu/packages/perl.scm:4291 +msgid "Log::Report in the lightest form" +msgstr "" + +#: gnu/packages/perl.scm:4293 +msgid "" +"This module allows libraries to have a dependency to a small module\n" +"instead of the full Log-Report distribution. The full power of\n" +"@code{Log::Report} is only released when the main program uses that module.\n" +"In that case, the module using the 'Optional' will also use the full\n" +"@code{Log::Report}, otherwise the dressed-down @code{Log::Report::Minimal}\n" +"version." +msgstr "" + +#: gnu/packages/perl.scm:4318 +msgid "Get messages to users and logs" +msgstr "" + +#: gnu/packages/perl.scm:4320 +msgid "" +"@code{Log::Report} combines three tasks which are closely related in\n" +"one: logging, exceptions, and translations." +msgstr "" + +#: gnu/packages/perl.scm:4349 +msgid "High-level interface to Uniforum message translation" +msgstr "" + +#: gnu/packages/perl.scm:4350 +msgid "" +"This package is an internationalization library for Perl\n" +"that aims to be compatible with the Uniforum message translations system as\n" +"implemented for example in GNU gettext." +msgstr "" + +#: gnu/packages/perl.scm:4369 +msgid "Transliterate text between writing systems" +msgstr "" + +#: gnu/packages/perl.scm:4370 +msgid "" +"@code{Lingua::Translit} can be used to convert text from one\n" +"writing system to another, based on national or international transliteration\n" +"tables. Where possible a reverse transliteration is supported." +msgstr "" + +#: gnu/packages/perl.scm:4394 +msgid "Combination of List::Util and List::MoreUtils" +msgstr "" + +#: gnu/packages/perl.scm:4395 +msgid "" +"This module exports all of the functions that either\n" +"List::Util or List::MoreUtils defines, with preference to List::Util." +msgstr "" + +#: gnu/packages/perl.scm:4417 +msgid "Compare elements of two or more lists" +msgstr "" + +#: gnu/packages/perl.scm:4418 +msgid "" +"@code{List::Compare} provides a module to perform\n" +"comparative operations on two or more lists. Provided operations include\n" +"intersections, unions, unique elements, complements and many more." +msgstr "" + +#: gnu/packages/perl.scm:4453 gnu/packages/perl.scm:4504 +msgid "Provide the stuff missing in List::Util" +msgstr "" + +#: gnu/packages/perl.scm:4454 +msgid "" +"List::MoreUtils provides some trivial but commonly needed\n" +"functionality on lists which is not going to go into List::Util." +msgstr "" + +#: gnu/packages/perl.scm:4476 +msgid "Provide the stuff missing in List::Util in XS" +msgstr "" + +#: gnu/packages/perl.scm:4477 +msgid "" +"@code{List::MoreUtils::XS} provides some trivial but\n" +"commonly needed functionality on lists which is not going to go into\n" +"@code{List::Util}." +msgstr "" + +#: gnu/packages/perl.scm:4505 +msgid "" +"@code{List::SomeUtils} provides some trivial but commonly\n" +"needed functionality on lists which is not going to go into @code{List::Util}.\n" +"\n" +"All of the below functions are implementable in only a couple of lines of Perl\n" +"code. Using the functions from this module however should give slightly\n" +"better performance as everything is implemented in C. The pure-Perl\n" +"implementation of these functions only serves as a fallback in case the C\n" +"portions of this module couldn't be compiled on this machine." +msgstr "" + +#: gnu/packages/perl.scm:4534 +msgid "Bundle of ancient email modules" +msgstr "" + +#: gnu/packages/perl.scm:4535 +msgid "" +"MailTools contains the following modules:\n" +"@table @asis\n" +"@item Mail::Address\n" +"Parse email address from a header line.\n" +"@item Mail::Cap\n" +"Interpret mailcap files: mappings of file-types to applications as used by\n" +"many command-line email programs.\n" +"@item Mail::Field\n" +"Simplifies access to (some) email header fields. Used by Mail::Header.\n" +"@item Mail::Filter\n" +"Process Mail::Internet messages.\n" +"@item Mail::Header\n" +"Collection of Mail::Field objects, representing the header of a Mail::Internet\n" +"object.\n" +"@item Mail::Internet\n" +"Represents a single email message, with header and body.\n" +"@item Mail::Mailer\n" +"Send Mail::Internet emails via direct smtp or local MTA's.\n" +"@item Mail::Send\n" +"Build a Mail::Internet object, and then send it out using Mail::Mailer.\n" +"@item Mail::Util\n" +"\"Smart functions\" you should not depend on.\n" +"@end table" +msgstr "" + +#: gnu/packages/perl.scm:4574 +msgid "Expiry plug-in for Memoize that adds LRU cache expiration" +msgstr "" + +#: gnu/packages/perl.scm:4575 +msgid "" +"This module implements an expiry policy for Memoize that\n" +"follows LRU semantics, that is, the last n results, where n is specified as\n" +"the argument to the CACHESIZE parameter, will be cached." +msgstr "" + +#: gnu/packages/perl.scm:4593 +msgid "Charset information for MIME messages" +msgstr "" + +#: gnu/packages/perl.scm:4595 +msgid "" +"@code{MIME::Charset} provides information about character sets used for\n" +"MIME messages on Internet." +msgstr "" + +#: gnu/packages/perl.scm:4622 +msgid "Tools to manipulate MIME messages" +msgstr "" + +#: gnu/packages/perl.scm:4624 +msgid "" +"MIME-tools is a collection of Perl5 MIME:: modules for parsing,\n" +"decoding, and generating single- or multipart (even nested multipart) MIME\n" +"messages." +msgstr "" + +#: gnu/packages/perl.scm:4643 +msgid "Definition of MIME types" +msgstr "" + +#: gnu/packages/perl.scm:4644 +msgid "" +"This module provides a list of known mime-types, combined\n" +"from various sources. For instance, it contains all IANA types and the\n" +"knowledge of Apache." +msgstr "" + +#: gnu/packages/perl.scm:4666 +msgid "Write your linewise code for handles; this does the rest" +msgstr "" + +#: gnu/packages/perl.scm:4667 +msgid "" +"It's boring to deal with opening files for IO, converting\n" +"strings to handle-like objects, and all that. With\n" +"@code{Mixin::Linewise::Readers} and @code{Mixin::Linewise::Writers}, you can\n" +"just write a method to handle handles, and methods for handling strings and\n" +"file names are added for you." +msgstr "" + +#: gnu/packages/perl.scm:4693 +msgid "Enable all of the features of Modern Perl with one import" +msgstr "" + +#: gnu/packages/perl.scm:4694 +msgid "" +"@code{Modern::Perl} provides a simple way to enable\n" +"multiple, by now, standard libraries in a Perl program." +msgstr "" + +#: gnu/packages/perl.scm:4722 +msgid "Tiny replacement for Module::Build" +msgstr "" + +#: gnu/packages/perl.scm:4723 +msgid "" +"Many Perl distributions use a Build.PL file instead of a\n" +"Makefile.PL file to drive distribution configuration, build, test and\n" +"installation. Traditionally, Build.PL uses Module::Build as the underlying\n" +"build system. This module provides a simple, lightweight, drop-in\n" +"replacement. Whereas Module::Build has over 6,700 lines of code; this module\n" +"has less than 120, yet supports the features needed by most distributions." +msgstr "" + +#: gnu/packages/perl.scm:4751 +msgid "Module::Build class for building XS modules" +msgstr "" + +#: gnu/packages/perl.scm:4753 +msgid "" +"@code{Module::Build::XSUtil} is subclass of @code{Module::Build}\n" +"for support building XS modules.\n" +"\n" +"This is a list of a new parameters in the @code{Module::Build::new} method:\n" +"\n" +"@enumerate\n" +"@item @code{needs_compiler_c99}: This option checks C99 compiler availability.\n" +"@item @code{needs_compiler_cpp}: This option checks C++ compiler availability.\n" +"Can also pass @code{extra_compiler_flags} and @code{extra_linker_flags} for C++.\n" +"@item @code{generate_ppport_h}: Generate @file{ppport.h} by @code{Devel::PPPort}.\n" +"@item @code{generate_xshelper_h}: Generate @file{xshelper.h} which is a helper\n" +"header file to include @file{EXTERN.h}, @file{perl.h}, @file{XSUB.h} and\n" +"@file{ppport.h}, and defines some portability stuff which are not supported by\n" +"@file{ppport.h}.\n" +"\n" +"It is ported from @code{Module::Install::XSUtil}.\n" +"@item @code{cc_warnings}: Toggle compiler warnings. Enabled by default.\n" +"@item @code{-g options}: Invoke @file{Build.PL} with @code{-g} to enable\n" +"debug options.\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/perl.scm:4789 +msgid "Find and use installed modules in a (sub)category" +msgstr "" + +#: gnu/packages/perl.scm:4790 +msgid "" +"Module::Find lets you find and use modules in categories.\n" +"This can be useful for auto-detecting driver or plugin modules. You can\n" +"differentiate between looking in the category itself or in all\n" +"subcategories." +msgstr "" + +#: gnu/packages/perl.scm:4816 +msgid "Loads alternate underlying implementations for a module" +msgstr "" + +#: gnu/packages/perl.scm:4817 +msgid "" +"This module abstracts out the process of choosing one of\n" +"several underlying implementations for a module. This can be used to provide\n" +"XS and pure Perl implementations of a module, or it could be used to load an\n" +"implementation for a given OS or any other case of needing to provide multiple\n" +"implementations." +msgstr "" + +#: gnu/packages/perl.scm:4855 +msgid "Standalone, extensible Perl module installer" +msgstr "" + +#: gnu/packages/perl.scm:4856 +msgid "" +"Module::Install is a package for writing installers for\n" +"CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a\n" +"strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl\n" +"installation version 5.005 or newer." +msgstr "" + +#: gnu/packages/perl.scm:4877 +msgid "Give your Perl module the ability to have plugins" +msgstr "" + +#: gnu/packages/perl.scm:4878 +msgid "" +"This module provides a simple but extensible way of having\n" +"'plugins' for your Perl module." +msgstr "" + +#: gnu/packages/perl.scm:4897 +msgid "Perl runtime module handling" +msgstr "" + +#: gnu/packages/perl.scm:4898 +msgid "" +"The functions exported by this module deal with runtime\n" +"handling of Perl modules, which are normally handled at compile time." +msgstr "" + +#: gnu/packages/perl.scm:4921 +msgid "Provide information on conflicts for Module::Runtime" +msgstr "" + +#: gnu/packages/perl.scm:4922 +msgid "" +"This module provides conflicts checking for Module::Runtime,\n" +"which had a recent release that broke some versions of Moose. It is called\n" +"from Moose::Conflicts and moose-outdated." +msgstr "" + +#: gnu/packages/perl.scm:4943 +msgid "Recursively scan Perl code for dependencies" +msgstr "" + +#: gnu/packages/perl.scm:4944 +msgid "" +"Module::ScanDeps is a module to recursively scan Perl\n" +"programs for dependencies." +msgstr "" + +#: gnu/packages/perl.scm:4964 +msgid "Module name tools and transformations" +msgstr "" + +#: gnu/packages/perl.scm:4965 +msgid "" +"This module provides a few useful functions for manipulating\n" +"module names. Its main aim is to centralise some of the functions commonly\n" +"used by modules that manipulate other modules in some way, like converting\n" +"module names to relative paths." +msgstr "" + +#: gnu/packages/perl.scm:4995 +msgid "Minimalist Object Orientation (with Moose compatibility)" +msgstr "" + +#: gnu/packages/perl.scm:4996 +msgid "" +"Moo is an extremely light-weight Object Orientation system.\n" +"It allows one to concisely define objects and roles with a convenient syntax\n" +"that avoids the details of Perl's object system. Moo contains a subset of\n" +"Moose and is optimised for rapid startup." +msgstr "" + +#: gnu/packages/perl.scm:5072 +msgid "Postmodern object system for Perl 5" +msgstr "" + +#: gnu/packages/perl.scm:5074 +msgid "" +"Moose is a complete object system for Perl 5. It provides keywords for\n" +"attribute declaration, object construction, inheritance, and maybe more. With\n" +"Moose, you define your class declaratively, without needing to know about\n" +"blessed hashrefs, accessor methods, and so on. You can concentrate on the\n" +"logical structure of your classes, focusing on \"what\" rather than \"how\".\n" +"A class definition with Moose reads like a list of very concise English\n" +"sentences." +msgstr "" + +#: gnu/packages/perl.scm:5103 +msgid "Emulate Class::Accessor::Fast behavior using Moose attributes" +msgstr "" + +#: gnu/packages/perl.scm:5104 +msgid "" +"This module attempts to emulate the behavior of\n" +"Class::Accessor::Fast as accurately as possible using the Moose attribute\n" +"system. The public API of Class::Accessor::Fast is wholly supported, but the\n" +"private methods are not." +msgstr "" + +#: gnu/packages/perl.scm:5136 +msgid "Moose role for processing command line options" +msgstr "" + +#: gnu/packages/perl.scm:5137 +msgid "" +"This is a Moose role which provides an alternate constructor\n" +"for creating objects using parameters passed in from the command line." +msgstr "" + +#: gnu/packages/perl.scm:5158 +msgid "Mark overload code symbols as methods" +msgstr "" + +#: gnu/packages/perl.scm:5159 +msgid "" +"MooseX::MarkAsMethods allows one to easily mark certain\n" +"functions as Moose methods. This will allow other packages such as\n" +"namespace::autoclean to operate without blowing away your overloads. After\n" +"using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as\n" +"being methods, and class extension as well as composition from roles with\n" +"overloads will \"just work\"." +msgstr "" + +#: gnu/packages/perl.scm:5189 +msgid "Code attribute introspection" +msgstr "" + +#: gnu/packages/perl.scm:5190 +msgid "" +"This module allows code attributes of methods to be\n" +"introspected using Moose meta method objects." +msgstr "" + +#: gnu/packages/perl.scm:5216 +msgid "Subclassing of non-Moose classes" +msgstr "" + +#: gnu/packages/perl.scm:5217 +msgid "" +"MooseX::NonMoose allows for easily subclassing non-Moose\n" +"classes with Moose, taking care of the details connected with doing this, such\n" +"as setting up proper inheritance from Moose::Object and installing (and\n" +"inlining, at make_immutable time) a constructor that makes sure things like\n" +"BUILD methods are called. It tries to be as non-intrusive as possible." +msgstr "" + +#: gnu/packages/perl.scm:5246 +msgid "Extension of Params::Validate using Moose's types" +msgstr "" + +#: gnu/packages/perl.scm:5247 +msgid "" +"This module fills a gap in Moose by adding method parameter\n" +"validation to Moose." +msgstr "" + +#: gnu/packages/perl.scm:5268 +msgid "Apply roles to a related Perl class" +msgstr "" + +#: gnu/packages/perl.scm:5269 +msgid "" +"This module applies roles to make a subclass instead of\n" +"manually setting up a subclass." +msgstr "" + +#: gnu/packages/perl.scm:5296 +msgid "Moose roles with composition parameters" +msgstr "" + +#: gnu/packages/perl.scm:5297 +msgid "" +"Because Moose roles serve many different masters, they\n" +"usually provide only the least common denominator of functionality. To\n" +"empower roles further, more configurability than -alias and -excludes is\n" +"required. Perhaps your role needs to know which method to call when it is\n" +"done processing, or what default value to use for its url attribute.\n" +"Parameterized roles offer a solution to these (and other) kinds of problems." +msgstr "" + +#: gnu/packages/perl.scm:5323 +msgid "Roles which support overloading" +msgstr "" + +#: gnu/packages/perl.scm:5324 +msgid "" +"MooseX::Role::WithOverloading allows you to write a\n" +"Moose::Role which defines overloaded operators and allows those overload\n" +"methods to be composed into the classes/roles/instances it's compiled to,\n" +"where plain Moose::Roles would lose the overloading." +msgstr "" + +#: gnu/packages/perl.scm:5346 +msgid "Name your accessors foo() and set_foo()" +msgstr "" + +#: gnu/packages/perl.scm:5347 +msgid "" +"This module does not provide any methods. Simply loading it\n" +"changes the default naming policy for the loading class so that accessors are\n" +"separated into get and set methods. The get methods have the same name as the\n" +"accessor, while set methods are prefixed with \"_set_\"." +msgstr "" + +#: gnu/packages/perl.scm:5373 +msgid "Strict object constructors for Moose" +msgstr "" + +#: gnu/packages/perl.scm:5374 +msgid "" +"Simply loading this module makes your constructors\n" +"\"strict\". If your constructor is called with an attribute init argument\n" +"that your class does not declare, then it calls Moose->throw_error()." +msgstr "" + +#: gnu/packages/perl.scm:5402 +msgid "Trait loading and resolution for Moose" +msgstr "" + +#: gnu/packages/perl.scm:5403 +msgid "" +"Adds support on top of MooseX::Traits for class precedence\n" +"search for traits and some extra attributes." +msgstr "" + +#: gnu/packages/perl.scm:5429 +msgid "Organise your Moose types in libraries" +msgstr "" + +#: gnu/packages/perl.scm:5430 +msgid "" +"This package lets you declare types using short names, but\n" +"behind the scenes it namespaces all your type declarations, effectively\n" +"prevent name clashes between packages." +msgstr "" + +#: gnu/packages/perl.scm:5461 +msgid "DateTime related constraints and coercions for Moose" +msgstr "" + +#: gnu/packages/perl.scm:5462 +msgid "" +"This module packages several Moose::Util::TypeConstraints\n" +"with coercions, designed to work with the DateTime suite of objects." +msgstr "" + +#: gnu/packages/perl.scm:5494 +msgid "Extensions to MooseX::Types::DateTime" +msgstr "" + +#: gnu/packages/perl.scm:5495 +msgid "" +"This module builds on MooseX::Types::DateTime to add\n" +"additional custom types and coercions. Since it builds on an existing type,\n" +"all coercions and constraints are inherited." +msgstr "" + +#: gnu/packages/perl.scm:5524 +msgid "ClassName type constraints for Moose" +msgstr "" + +#: gnu/packages/perl.scm:5525 +msgid "" +"MooseX::Types::LoadableClass provides a ClassName type\n" +"constraint with coercion to load the class." +msgstr "" + +#: gnu/packages/perl.scm:5551 +msgid "Using Moo and MooX:: packages the most lazy way" +msgstr "" + +#: gnu/packages/perl.scm:5552 +msgid "Contains the MooX and MooX::Role packages." +msgstr "" + +#: gnu/packages/perl.scm:5579 +msgid "Giving an easy Moo style way to make command organized CLI apps" +msgstr "" + +#: gnu/packages/perl.scm:5580 +msgid "" +"This package eases the writing of command line utilities,\n" +"accepting commands and subcommands and so on. These commands can form a tree,\n" +"which is mirrored in the package structure. On invocation, each command along\n" +"the path through the tree (starting from the top-level command through to the\n" +"most specific one) is instantiated." +msgstr "" + +#: gnu/packages/perl.scm:5613 +msgid "Moo eXtension for initializing objects from config file" +msgstr "" + +#: gnu/packages/perl.scm:5614 +msgid "" +"This module is intended to easily load initialization values\n" +"for attributes on object construction from an appropriate config file. The\n" +"building is done in @code{MooX::ConfigFromFile::Role}---using\n" +"@code{MooX::ConfigFromFile} ensures that the role is applied." +msgstr "" + +#: gnu/packages/perl.scm:5638 +msgid "Moo eXtension for @code{File::ConfigDir}" +msgstr "" + +#: gnu/packages/perl.scm:5639 +msgid "" +"This module is a helper for easily finding configuration\n" +"file locations. This information can be used to find a suitable place for\n" +"installing configuration files or for finding any piece of settings." +msgstr "" + +#: gnu/packages/perl.scm:5674 +msgid "NativeTrait-like behavior for Moo" +msgstr "" + +#: gnu/packages/perl.scm:5676 +msgid "" +"@code{MooX::HandlesVia} is an extension of Moo's @code{handles}\n" +"attribute functionality. It provides a means of proxying functionality from\n" +"an external class to the given atttribute." +msgstr "" + +#: gnu/packages/perl.scm:5707 +msgid "Easily translate Moose code to Moo" +msgstr "" + +#: gnu/packages/perl.scm:5709 +msgid "" +"MooX::late does the following:\n" +"@enumerate\n" +"@item Supports isa => $stringytype\n" +"@item Supports does => $rolename\n" +"@item Supports lazy_build => 1\n" +"@item Exports blessed and confess functions to your namespace.\n" +"@item Handles certain attribute traits\n" +"Currently Hash, Array and Code are supported. This feature requires\n" +"MooX::HandlesVia.\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/perl.scm:5764 +msgid "Explicit Options eXtension for Object Class" +msgstr "" + +#: gnu/packages/perl.scm:5765 +msgid "" +"Create a command line tool with your Mo, Moo, Moose objects.\n" +"You have an @code{option} keyword to replace the usual @code{has} to\n" +"explicitly use your attribute on the command line. The @code{option} keyword\n" +"takes additional parameters and uses @code{Getopt::Long::Descriptive} to\n" +"generate a command line tool." +msgstr "" + +#: gnu/packages/perl.scm:5792 +msgid "Moosish types and type builder" +msgstr "" + +#: gnu/packages/perl.scm:5793 +msgid "" +"MooX::Types::MooseLike provides a possibility to build your\n" +"own set of Moose-like types. These custom types can then be used to describe\n" +"fields in Moo-based classes." +msgstr "" + +#: gnu/packages/perl.scm:5822 +msgid "Fast Moose-compatible object system for perl5" +msgstr "" + +#: gnu/packages/perl.scm:5824 +msgid "" +"Mouse is a @code{Moose} compatible object system that implements a\n" +"subset of the functionality for reduced startup time." +msgstr "" + +#: gnu/packages/perl.scm:5847 +msgid "Extend attribute interfaces for Mouse" +msgstr "" + +#: gnu/packages/perl.scm:5849 +msgid "" +"While @code{Mouse} attributes provide a way to name your accessors,\n" +"readers, writers, clearers and predicates, @code{MouseX::NativeTraits}\n" +"provides commonly used attribute helper methods for more specific types\n" +"of data." +msgstr "" + +#: gnu/packages/perl.scm:5869 +msgid "Mozilla's CA cert bundle in PEM format" +msgstr "" + +#: gnu/packages/perl.scm:5870 +msgid "" +"@code{Mozilla::CA} provides a copy of Mozilla's bundle of\n" +"Certificate Authority certificates in a form that can be consumed by modules\n" +"and libraries based on OpenSSL." +msgstr "" + +#: gnu/packages/perl.scm:5889 +msgid "MRO interface compatibility for Perls < 5.9.5" +msgstr "" + +#: gnu/packages/perl.scm:5890 +msgid "" +"The \"mro\" namespace provides several utilities for dealing\n" +"with method resolution order and method caching in general in Perl 5.9.5 and\n" +"higher. This module provides those interfaces for earlier versions of\n" +"Perl (back to 5.6.0)." +msgstr "" + +#: gnu/packages/perl.scm:5917 +msgid "Keep imports out of your namespace" +msgstr "" + +#: gnu/packages/perl.scm:5918 +msgid "" +"The namespace::autoclean pragma will remove all imported\n" +"symbols at the end of the current package's compile cycle. Functions called\n" +"in the package itself will still be bound by their name, but they won't show\n" +"up as methods on your class or instances. It is very similar to\n" +"namespace::clean, except it will clean all imported functions, no matter if\n" +"you imported them before or after you used the pragma. It will also not touch\n" +"anything that looks like a method." +msgstr "" + +#: gnu/packages/perl.scm:5944 +msgid "Keep imports and functions out of your namespace" +msgstr "" + +#: gnu/packages/perl.scm:5945 +msgid "" +"The namespace::clean pragma will remove all previously\n" +"declared or imported symbols at the end of the current package's compile\n" +"cycle. Functions called in the package itself will still be bound by their\n" +"name, but they won't show up as methods on your class or instances." +msgstr "" + +#: gnu/packages/perl.scm:5972 +msgid "Internationalizing Domain Names in Applications (IDNA)" +msgstr "" + +#: gnu/packages/perl.scm:5974 +msgid "" +"Internationalized Domain Names (IDNs) use characters drawn from a large\n" +"repertoire (Unicode), but IDNA allows the non-ASCII characters to be\n" +"represented using only the ASCII characters already allowed in so-called host\n" +"names today (letter-digit-hyphen, /[A-Z0-9-]/i).\n" +"\n" +"Use this module if you just want to convert domain names (or email addresses),\n" +"using whatever IDNA standard is the best choice at the moment." +msgstr "" + +#: gnu/packages/perl.scm:6000 +msgid "Perl client for Etsy's statsd daemon" +msgstr "" + +#: gnu/packages/perl.scm:6001 +msgid "" +"This module implement a UDP client for the statsd statistics\n" +"collector daemon in use at Etsy.com." +msgstr "" + +#: gnu/packages/perl.scm:6019 +msgid "Numeric comparisons" +msgstr "" + +#: gnu/packages/perl.scm:6020 +msgid "" +"Number::Compare compiles a simple comparison to an anonymous\n" +"subroutine, which you can call with a value to be tested against." +msgstr "" + +#: gnu/packages/perl.scm:6040 +msgid "Generate cryptographic signatures for objects" +msgstr "" + +#: gnu/packages/perl.scm:6041 +msgid "" +"Object::Signature is an abstract base class that you can\n" +"inherit from in order to allow your objects to generate unique cryptographic\n" +"signatures." +msgstr "" + +#: gnu/packages/perl.scm:6062 +msgid "Read and write OLE storage files" +msgstr "" + +#: gnu/packages/perl.scm:6063 +msgid "" +"This module allows you to read and write\n" +"an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a\n" +"technology to store hierarchical information such as links to other\n" +"documents within a single file." +msgstr "" + +#: gnu/packages/perl.scm:6086 +msgid "Anonymous packages" +msgstr "" + +#: gnu/packages/perl.scm:6087 +msgid "" +"This module allows for anonymous packages that are\n" +"independent of the main namespace and only available through an object\n" +"instance, not by name." +msgstr "" + +#: gnu/packages/perl.scm:6115 +msgid "Manage deprecation warnings for your distribution" +msgstr "" + +#: gnu/packages/perl.scm:6116 +msgid "" +"This module allows you to manage a set of deprecations for\n" +"one or more modules." +msgstr "" + +#: gnu/packages/perl.scm:6143 +msgid "Routines for manipulating stashes" +msgstr "" + +#: gnu/packages/perl.scm:6144 +msgid "" +"Manipulating stashes (Perl's symbol tables) is occasionally\n" +"necessary, but incredibly messy, and easy to get wrong. This module hides all\n" +"of that behind a simple API." +msgstr "" + +#: gnu/packages/perl.scm:6167 +msgid "Faster implementation of the Package::Stash API" +msgstr "" + +#: gnu/packages/perl.scm:6168 +msgid "" +"This is a backend for Package::Stash, which provides the\n" +"functionality in a way that's less buggy and much faster. It will be used by\n" +"default if it's installed, and should be preferred in all environments with a\n" +"compiler." +msgstr "" + +#: gnu/packages/perl.scm:6188 +msgid "Play with other peoples' lexical variables" +msgstr "" + +#: gnu/packages/perl.scm:6189 +msgid "" +"PadWalker is a module which allows you to inspect (and even\n" +"change) lexical variables in any subroutine which called you. It will only\n" +"show those variables which are in scope at the point of the call. PadWalker\n" +"is particularly useful for debugging." +msgstr "" + +#: gnu/packages/perl.scm:6213 +msgid "Simple parallel processing fork manager" +msgstr "" + +#: gnu/packages/perl.scm:6214 +msgid "" +"@code{Parallel::ForkManager} is intended for use in\n" +"operations that can be done in parallel where the number of\n" +"processes to be forked off should be limited." +msgstr "" + +#: gnu/packages/perl.scm:6234 +msgid "Simple, compact and correct param-checking functions" +msgstr "" + +#: gnu/packages/perl.scm:6236 +msgid "" +"Params::Util provides a basic set of importable functions that makes\n" +"checking parameters easier." +msgstr "" + +#: gnu/packages/perl.scm:6260 +msgid "Validate method/function parameters" +msgstr "" + +#: gnu/packages/perl.scm:6261 +msgid "" +"The Params::Validate module allows you to validate method or\n" +"function call parameters to an arbitrary level of specificity." +msgstr "" + +#: gnu/packages/perl.scm:6287 +msgid "Build an optimized subroutine parameter validator" +msgstr "" + +#: gnu/packages/perl.scm:6288 +msgid "" +"This module creates a customized, highly efficient\n" +"parameter checking subroutine. It can handle named or positional\n" +"parameters, and can return the parameters as key/value pairs or a list\n" +"of values. In addition to type checks, it also supports parameter\n" +"defaults, optional parameters, and extra \"slurpy\" parameters." +msgstr "" + +#: gnu/packages/perl.scm:6309 +msgid "Create and manipulate PAR distributions" +msgstr "" + +#: gnu/packages/perl.scm:6310 +msgid "" +"PAR::Dist is a toolkit to create and manipulate PAR\n" +"distributions." +msgstr "" + +#: gnu/packages/perl.scm:6329 +msgid "" +"Allows you to both load one or more modules, while setting\n" +"up inheritance from those modules at the same time." +msgstr "" + +#: gnu/packages/perl.scm:6348 +msgid "Path specification manipulation" +msgstr "" + +#: gnu/packages/perl.scm:6349 +msgid "" +"Path::Class is a module for manipulation of file and\n" +"directory specifications in a cross-platform manner." +msgstr "" + +#: gnu/packages/perl.scm:6373 +msgid "File path utility" +msgstr "" + +#: gnu/packages/perl.scm:6374 +msgid "" +"This module provides a small, fast utility for working\n" +"with file paths." +msgstr "" + +#: gnu/packages/perl.scm:6395 +msgid "Fast and correct UTF-8 IO" +msgstr "" + +#: gnu/packages/perl.scm:6396 +msgid "" +"@code{PerlIO::utf8_strict} provides a fast and correct UTF-8\n" +"PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input\n" +"for correctness." +msgstr "" + +#: gnu/packages/perl.scm:6417 +msgid "Check for comprehensive documentation of a module" +msgstr "" + +#: gnu/packages/perl.scm:6418 +msgid "" +"This module provides a mechanism for determining if the pod\n" +"for a given module is comprehensive." +msgstr "" + +#: gnu/packages/perl.scm:6435 +msgid "Parsing library for text in Pod format" +msgstr "" + +#: gnu/packages/perl.scm:6436 +msgid "" +"Pod::Simple is a Perl library for parsing text in\n" +"the Pod (plain old documentation) markup language that is typically\n" +"used for writing documentation for Perl and for Perl modules." +msgstr "" + +#: gnu/packages/perl.scm:6457 +msgid "GNU C library compatible strftime for loggers and servers" +msgstr "" + +#: gnu/packages/perl.scm:6458 +msgid "" +"POSIX::strftime::Compiler provides GNU C library compatible\n" +"strftime(3). But this module is not affected by the system locale. This\n" +"feature is useful when you want to write loggers, servers, and portable\n" +"applications." +msgstr "" + +#: gnu/packages/perl.scm:6476 +msgid "Information about the currently running perl" +msgstr "" + +#: gnu/packages/perl.scm:6478 +msgid "" +"Probe::Perl provides methods for obtaining information about the\n" +"currently running perl interpreter. It originally began life as code in the\n" +"Module::Build project, but has been externalized here for general use." +msgstr "" + +#: gnu/packages/perl.scm:6506 +msgid "Interface to external editor from Perl" +msgstr "" + +#: gnu/packages/perl.scm:6507 +msgid "" +"This module provides the ability to supply some text to an\n" +"external text editor, have it edited by the user, and retrieve the results." +msgstr "" + +#: gnu/packages/perl.scm:6526 +msgid "Create read-only scalars, arrays, hashes" +msgstr "" + +#: gnu/packages/perl.scm:6527 +msgid "" +"This module provides a facility for creating non-modifiable\n" +"variables in Perl. This is useful for configuration files, headers, etc. It\n" +"can also be useful as a development and debugging tool for catching updates to\n" +"variables that should not be changed." +msgstr "" + +#: gnu/packages/perl.scm:6547 +msgid "XS implementation for Ref::Util" +msgstr "" + +#: gnu/packages/perl.scm:6548 +msgid "" +"@code{Ref::Util::XS} is the XS implementation of\n" +"@code{Ref::Util}, which provides several functions to help identify references\n" +"in a more convenient way than the usual approach of examining the return value\n" +"of @code{ref}." +msgstr "" + +#: gnu/packages/perl.scm:6566 +msgid "Provide commonly requested regular expressions" +msgstr "" + +#: gnu/packages/perl.scm:6568 +msgid "" +"This module exports a single hash (`%RE') that stores or generates\n" +"commonly needed regular expressions. Patterns currently provided include:\n" +"balanced parentheses and brackets, delimited text (with escapes), integers and\n" +"floating-point numbers in any base (up to 36), comments in 44 languages,\n" +"offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip\n" +"codes." +msgstr "" + +#: gnu/packages/perl.scm:6593 +msgid "Selection of general-utility regexp subroutines" +msgstr "" + +#: gnu/packages/perl.scm:6594 +msgid "" +"This package provides a selection of regular expression\n" +"subroutines including @code{is_regexp}, @code{regexp_seen_evals},\n" +"@code{regexp_is_foreign}, @code{regexp_is_anchored}, @code{serialize_regexp},\n" +"and @code{deserialize_regexp}." +msgstr "" + +#: gnu/packages/perl.scm:6619 +msgid "Roles, as a slice of Moose" +msgstr "" + +#: gnu/packages/perl.scm:6620 +msgid "Role::Tiny is a minimalist role composition tool." +msgstr "" + +#: gnu/packages/perl.scm:6637 +msgid "Call isa, can, does, and DOES safely" +msgstr "" + +#: gnu/packages/perl.scm:6638 +msgid "" +"This module allows you to call isa, can, does, and DOES\n" +"safely on things that may not be objects." +msgstr "" + +#: gnu/packages/perl.scm:6656 +msgid "Lexically-scoped resource management" +msgstr "" + +#: gnu/packages/perl.scm:6657 +msgid "" +"This module provides a convenient way to perform cleanup or\n" +"other forms of resource management at the end of a scope. It is particularly\n" +"useful when dealing with exceptions: the Scope::Guard constructor takes a\n" +"reference to a subroutine that is guaranteed to be called even if the thread\n" +"of execution is aborted prematurely. This effectively allows lexically-scoped\n" +"\"promises\" to be made that are automatically honoured by perl's garbage\n" +"collector." +msgstr "" + +#: gnu/packages/perl.scm:6680 +msgid "Infinite sets" +msgstr "" + +#: gnu/packages/perl.scm:6681 +msgid "Set::Infinite is a set theory module for infinite sets." +msgstr "" + +#: gnu/packages/perl.scm:6701 +msgid "Unordered collections of Perl Objects" +msgstr "" + +#: gnu/packages/perl.scm:6702 +msgid "" +"Set::Object provides efficient sets, unordered collections\n" +"of Perl objects without duplicates for scalars and references." +msgstr "" + +#: gnu/packages/perl.scm:6720 +msgid "Set operations for Perl" +msgstr "" + +#: gnu/packages/perl.scm:6721 +msgid "" +"The first priority of Set::Scalar is to be a convenient\n" +"interface to sets (as in: unordered collections of Perl scalars). While not\n" +"designed to be slow or big, neither has it been designed to be fast or\n" +"compact." +msgstr "" + +#: gnu/packages/perl.scm:6741 +msgid "Sort arrays by one or multiple calculated keys" +msgstr "" + +#: gnu/packages/perl.scm:6742 +msgid "" +"This Perl module provides various functions to quickly sort\n" +"arrays by one or multiple calculated keys." +msgstr "" + +#: gnu/packages/perl.scm:6760 +msgid "Sort lexically, but sort numeral parts numerically" +msgstr "" + +#: gnu/packages/perl.scm:6761 +msgid "" +"This module exports two functions, @code{nsort} and\n" +"@code{ncmp}; they are used in implementing a \"natural sorting\" algorithm.\n" +"Under natural sorting, numeric substrings are compared numerically, and other\n" +"word-characters are compared lexically." +msgstr "" + +#: gnu/packages/perl.scm:6789 +msgid "Classes for representing type constraints and coercion" +msgstr "" + +#: gnu/packages/perl.scm:6790 +msgid "" +"The Specio distribution provides classes for representing type\n" +"constraints and coercion, along with syntax sugar for declaring them. Note that\n" +"this is not a proper type system for Perl. Nothing in this distribution will\n" +"magically make the Perl interpreter start checking a value's type on assignment\n" +"to a variable. In fact, there's no built-in way to apply a type to a variable at\n" +"all. Instead, you can explicitly check a value against a type, and optionally\n" +"coerce values to that type." +msgstr "" + +#: gnu/packages/perl.scm:6813 +msgid "Spiffy Perl Interface Framework For You" +msgstr "" + +#: gnu/packages/perl.scm:6814 +msgid "" +"Spiffy is a framework and methodology for doing object\n" +"oriented (OO) programming in Perl. Spiffy combines the best parts of\n" +"Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class.\n" +"It attempts to fix all the nits and warts of traditional Perl OO, in a clean,\n" +"straightforward and (perhaps someday) standard way. Spiffy borrows ideas from\n" +"other OO languages like Python, Ruby, Java and Perl 6." +msgstr "" + +#: gnu/packages/perl.scm:6836 +msgid "Temporary buffer to save bytes" +msgstr "" + +#: gnu/packages/perl.scm:6837 +msgid "" +"Stream::Buffered is a buffer class to store arbitrary length\n" +"of byte strings and then get a seekable filehandle once everything is\n" +"buffered. It uses PerlIO and/or temporary file to save the buffer depending\n" +"on the length of the size." +msgstr "" + +#: gnu/packages/perl.scm:6857 +msgid "Turn on strict and make all warnings fatal" +msgstr "" + +#: gnu/packages/perl.scm:6858 +msgid "" +"Strictures turns on strict and make all warnings fatal when\n" +"run from within a source-controlled directory." +msgstr "" + +#: gnu/packages/perl.scm:6886 +msgid "Camelcase and de-camelcase" +msgstr "" + +#: gnu/packages/perl.scm:6887 +msgid "" +"This module may be used to convert from under_score text to\n" +"CamelCase and back again." +msgstr "" + +#: gnu/packages/perl.scm:6907 +msgid "Rewrite strings based on a set of known prefixes" +msgstr "" + +#: gnu/packages/perl.scm:6908 +msgid "" +"This module allows you to rewrite strings based on a set of\n" +"known prefixes." +msgstr "" + +#: gnu/packages/perl.scm:6927 +msgid "String printing alternatives to printf" +msgstr "" + +#: gnu/packages/perl.scm:6929 +msgid "" +"This module inserts values into (translated) strings. It provides\n" +"@code{printf} and @code{sprintf} alternatives via both an object-oriented and\n" +"a functional interface." +msgstr "" + +#: gnu/packages/perl.scm:6952 +msgid "Sophisticated exporter for custom-built routines" +msgstr "" + +#: gnu/packages/perl.scm:6954 +msgid "" +"Sub::Exporter provides a sophisticated alternative to Exporter.pm for\n" +"custom-built routines." +msgstr "" + +#: gnu/packages/perl.scm:6973 +msgid "Only use Sub::Exporter if you need it" +msgstr "" + +#: gnu/packages/perl.scm:6974 +msgid "" +"Sub::Exporter is an incredibly powerful module, but with\n" +"that power comes great responsibility, as well as some runtime penalties.\n" +"This module is a \"Sub::Exporter\" wrapper that will let your users just use\n" +"Exporter if all they are doing is picking exports, but use \"Sub::Exporter\"\n" +"if your users try to use \"Sub::Exporter\"'s more advanced features, like\n" +"renaming exports, if they try to use them." +msgstr "" + +#: gnu/packages/perl.scm:6996 +msgid "Retrieve names of code references" +msgstr "" + +#: gnu/packages/perl.scm:6997 +msgid "" +"Sub::Identify allows you to retrieve the real name of code\n" +"references." +msgstr "" + +#: gnu/packages/perl.scm:7017 +msgid "Tool to inspect subroutines" +msgstr "" + +#: gnu/packages/perl.scm:7018 +msgid "" +"This package provides tools for inspecting subroutines\n" +"in Perl." +msgstr "" + +#: gnu/packages/perl.scm:7037 +msgid "Install subroutines into packages easily" +msgstr "" + +#: gnu/packages/perl.scm:7039 +msgid "" +"Sub::Install makes it easy to install subroutines into packages without\n" +"the unsightly mess of C<no strict> or typeglobs lying about where just anyone\n" +"can see them." +msgstr "" + +#: gnu/packages/perl.scm:7060 +msgid "(Re)name a sub" +msgstr "" + +#: gnu/packages/perl.scm:7061 +msgid "" +"Assigns a new name to referenced sub. If package\n" +"specification is omitted in the name, then the current package is used. The\n" +"return value is the sub." +msgstr "" + +#: gnu/packages/perl.scm:7080 +msgid "Apparently run a function in a higher stack frame" +msgstr "" + +#: gnu/packages/perl.scm:7081 +msgid "" +"Like Tcl's uplevel() function, but not quite so dangerous.\n" +"The idea is just to fool caller(). All the really naughty bits of Tcl's\n" +"uplevel() are avoided." +msgstr "" + +#: gnu/packages/perl.scm:7100 +msgid "Perl extension for generating SVG documents" +msgstr "" + +#: gnu/packages/perl.scm:7101 +msgid "" +"SVG is a Perl module which generates a nested data structure\n" +"containing the DOM representation of an SVG (Scalable Vector Graphics) image.\n" +"Using SVG, you can generate SVG objects, embed other SVG instances into it,\n" +"access the DOM object, create and access Javascript, and generate SMIL\n" +"animation content." +msgstr "" + +#: gnu/packages/perl.scm:7122 +msgid "Switch statement for Perl" +msgstr "" + +#: gnu/packages/perl.scm:7123 +msgid "" +"Switch is a Perl module which implements a generalized case\n" +"mechanism. The module augments the standard Perl syntax with two new\n" +"statements: @code{switch} and @code{case}." +msgstr "" + +#: gnu/packages/perl.scm:7169 +msgid "Perl extension for getting CPU information" +msgstr "" + +#: gnu/packages/perl.scm:7171 +msgid "" +"Sys::CPU is a module for counting the number of CPUs on a system, and\n" +"determining their type and clock speed." +msgstr "" + +#: gnu/packages/perl.scm:7192 +msgid "Get full hostname in Perl" +msgstr "" + +#: gnu/packages/perl.scm:7193 +msgid "" +"Sys::Hostname::Long tries very hard to get the full hostname\n" +"of a system." +msgstr "" + +#: gnu/packages/perl.scm:7220 +msgid "Ensure that a platform has weaken support" +msgstr "" + +#: gnu/packages/perl.scm:7221 +msgid "" +"One recurring problem in modules that use Scalar::Util's\n" +"weaken function is that it is not present in the pure-perl variant. If\n" +"Scalar::Util is not available at all, it will issue a normal dependency on the\n" +"module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the\n" +"module does not have weaken, the install will bail out altogether with a long\n" +"error encouraging the user to seek support." +msgstr "" + +#: gnu/packages/perl.scm:7246 +msgid "Template processing system for Perl" +msgstr "" + +#: gnu/packages/perl.scm:7247 +msgid "" +"The Template Toolkit is a collection of modules which\n" +"implement an extensible template processing system. It was originally\n" +"designed and remains primarily useful for generating dynamic web content, but\n" +"it can be used equally well for processing any other kind of text based\n" +"documents: HTML, XML, POD, PostScript, LaTeX, and so on." +msgstr "" + +#: gnu/packages/perl.scm:7270 +msgid "Profiling for Template Toolkit" +msgstr "" + +#: gnu/packages/perl.scm:7271 +msgid "" +"Template::Timer provides inline profiling of the template\n" +"processing in Perl code." +msgstr "" + +#: gnu/packages/perl.scm:7291 +msgid "Detect encoding of the current terminal" +msgstr "" + +#: gnu/packages/perl.scm:7292 +msgid "" +"Term::Encoding is a simple module to detect the encoding of\n" +"the current terminal expects in various ways." +msgstr "" + +#: gnu/packages/perl.scm:7316 +msgid "Progress meter on a standard terminal" +msgstr "" + +#: gnu/packages/perl.scm:7317 +msgid "" +"Term::ProgressBar provides a simple progress bar on the\n" +"terminal, to let the user know that something is happening, roughly how much\n" +"stuff has been done, and maybe an estimate at how long remains." +msgstr "" + +#: gnu/packages/perl.scm:7340 +msgid "Progress meter if run interactively" +msgstr "" + +#: gnu/packages/perl.scm:7341 +msgid "" +"Term::ProgressBar is a wonderful module for showing progress\n" +"bars on the terminal. This module acts very much like that module when it is\n" +"run interactively. However, when it is not run interactively (for example, as\n" +"a cron job) then it does not show the progress bar." +msgstr "" + +#: gnu/packages/perl.scm:7363 +msgid "Simple progress bars" +msgstr "" + +#: gnu/packages/perl.scm:7364 +msgid "" +"Term::ProgressBar::Simple tells you how much work has been\n" +"done, how much is left to do, and estimate how long it will take." +msgstr "" + +#: gnu/packages/perl.scm:7382 +msgid "Simple terminal control" +msgstr "" + +#: gnu/packages/perl.scm:7383 +msgid "" +"This module, ReadKey, provides ioctl control for terminals\n" +"so the input modes can be changed (thus allowing reads of a single character\n" +"at a time), and also provides non-blocking reads of stdin, as well as several\n" +"other terminal related features, including retrieval/modification of the\n" +"screen size, and retrieval/modification of the control characters." +msgstr "" + +#: gnu/packages/perl.scm:7408 +msgid "Retrieve terminal size" +msgstr "" + +#: gnu/packages/perl.scm:7409 +msgid "" +"This is a unified interface to retrieve terminal size. It\n" +"loads one module of a list of known alternatives, each implementing some way\n" +"to get the desired terminal information. This loaded module will actually do\n" +"the job on behalf of @code{Term::Size::Any}." +msgstr "" + +#: gnu/packages/perl.scm:7429 +msgid "Perl extension for retrieving terminal size (Perl version)" +msgstr "" + +#: gnu/packages/perl.scm:7430 +msgid "" +"This is yet another implementation of @code{Term::Size}.\n" +"Now in pure Perl, with the exception of a C probe run at build time." +msgstr "" + +#: gnu/packages/perl.scm:7450 +msgid "Format a header and rows into a table" +msgstr "" + +#: gnu/packages/perl.scm:7451 +msgid "" +"This module is able to generically format rows of data\n" +"into tables." +msgstr "" + +#: gnu/packages/perl.scm:7470 +msgid "Align text" +msgstr "" + +#: gnu/packages/perl.scm:7471 +msgid "" +"Text::Aligner exports a single function, align(), which is\n" +"used to justify strings to various alignment styles." +msgstr "" + +#: gnu/packages/perl.scm:7489 +msgid "Extract delimited text sequences from strings" +msgstr "" + +#: gnu/packages/perl.scm:7490 +msgid "" +"The Text::Balanced module can be used to extract delimited\n" +"text sequences from strings." +msgstr "" + +#: gnu/packages/perl.scm:7508 +msgid "Manipulate comma-separated values" +msgstr "" + +#: gnu/packages/perl.scm:7509 +msgid "" +"Text::CSV provides facilities for the composition and\n" +"decomposition of comma-separated values. An instance of the Text::CSV class\n" +"can combine fields into a CSV string and parse a CSV string into fields." +msgstr "" + +#: gnu/packages/perl.scm:7528 +msgid "Rountines for manipulating CSV files" +msgstr "" + +#: gnu/packages/perl.scm:7529 +msgid "" +"@code{Text::CSV_XS} provides facilities for the composition\n" +"and decomposition of comma-separated values. An instance of the\n" +"@code{Text::CSV_XS} class will combine fields into a CSV string and parse a\n" +"CSV string into fields. The module accepts either strings or files as input\n" +"and support the use of user-specified characters for delimiters, separators,\n" +"and escapes." +msgstr "" + +#: gnu/packages/perl.scm:7553 +msgid "Perform diffs on files and record sets" +msgstr "" + +#: gnu/packages/perl.scm:7554 +msgid "" +"Text::Diff provides a basic set of services akin to the GNU\n" +"diff utility. It is not anywhere near as feature complete as GNU diff, but it\n" +"is better integrated with Perl and available on all platforms. It is often\n" +"faster than shelling out to a system's diff executable for small files, and\n" +"generally slower on larger files." +msgstr "" + +#: gnu/packages/perl.scm:7576 +msgid "Match globbing patterns against text" +msgstr "" + +#: gnu/packages/perl.scm:7577 +msgid "" +"Text::Glob implements glob(3) style matching that can be\n" +"used to match against text, rather than fetching names from a file system. If\n" +"you want to do full file globbing use the File::Glob module instead." +msgstr "" + +#: gnu/packages/perl.scm:7600 +msgid "Fast, middleweight template engine" +msgstr "" + +#: gnu/packages/perl.scm:7602 +msgid "" +"Text::NeatTemplate provides a simple, middleweight but fast\n" +"template engine, for when you need speed rather than complex features,\n" +"yet need more features than simple variable substitution." +msgstr "" + +#: gnu/packages/perl.scm:7621 +msgid "Convert between Roman and Arabic algorisms" +msgstr "" + +#: gnu/packages/perl.scm:7622 +msgid "" +"This package provides functions to convert between Roman and\n" +"Arabic algorisms. It supports both conventional Roman algorisms (which range\n" +"from 1 to 3999) and Milhar Romans, a variation which uses a bar across the\n" +"algorism to indicate multiplication by 1000." +msgstr "" + +#: gnu/packages/perl.scm:7642 +msgid "Simple ASCII tables" +msgstr "" + +#: gnu/packages/perl.scm:7643 +msgid "Text::SimpleTable draws simple ASCII tables." +msgstr "" + +#: gnu/packages/perl.scm:7664 +msgid "Organize Data in Tables" +msgstr "" + +#: gnu/packages/perl.scm:7665 +msgid "Text::Table renders plaintext tables." +msgstr "" + +#: gnu/packages/perl.scm:7686 +msgid "Expand template text with embedded Perl" +msgstr "" + +#: gnu/packages/perl.scm:7688 +msgid "" +"This is a library for generating letters, building HTML pages, or\n" +"filling in templates generally. A template is a piece of text that has little\n" +"Perl programs embedded in it here and there. When you fill in a template, you\n" +"evaluate the little programs and replace them with their values." +msgstr "" + +#: gnu/packages/perl.scm:7708 +msgid "Provide plain ASCII transliterations of Unicode text" +msgstr "" + +#: gnu/packages/perl.scm:7709 +msgid "" +"Text::Unidecode provides a function, unidecode(...) that\n" +"takes Unicode data and tries to represent it in US-ASCII characters (i.e., the\n" +"universally displayable characters between 0x00 and 0x7F). The representation\n" +"is almost always an attempt at transliteration-- i.e., conveying, in Roman\n" +"letters, the pronunciation expressed by the text in some other writing\n" +"system." +msgstr "" + +#: gnu/packages/perl.scm:7737 +msgid "Role for classes that can be thrown" +msgstr "" + +#: gnu/packages/perl.scm:7738 +msgid "" +"Throwable is a role for classes that are meant to be thrown\n" +"as exceptions to standard program flow." +msgstr "" + +#: gnu/packages/perl.scm:7755 +msgid "Perl script tidier" +msgstr "" + +#: gnu/packages/perl.scm:7756 +msgid "" +"This package contains a Perl script which indents and\n" +"reformats Perl scripts to make them easier to read. The formatting can be\n" +"controlled with command line parameters. The default parameter settings\n" +"approximately follow the suggestions in the Perl Style Guide." +msgstr "" + +#: gnu/packages/perl.scm:7776 +msgid "Cycle through a list of values" +msgstr "" + +#: gnu/packages/perl.scm:7777 +msgid "" +"You use @code{Tie::Cycle} to go through a list over and over\n" +"again. Once you get to the end of the list, you go back to the beginning." +msgstr "" + +#: gnu/packages/perl.scm:7796 +msgid "Ordered associative arrays for Perl" +msgstr "" + +#: gnu/packages/perl.scm:7797 +msgid "" +"This Perl module implements Perl hashes that preserve the\n" +"order in which the hash elements were added. The order is not affected when\n" +"values corresponding to existing keys in the IxHash are changed. The elements\n" +"can also be set to any arbitrary supplied order. The familiar perl array\n" +"operations can also be performed on the IxHash." +msgstr "" + +#: gnu/packages/perl.scm:7820 +msgid "Tie to an existing Perl object" +msgstr "" + +#: gnu/packages/perl.scm:7821 +msgid "" +"This class provides a tie constructor that returns the\n" +"object it was given as it's first argument. This way side effects of calling\n" +"$object->TIEHASH are avoided." +msgstr "" + +#: gnu/packages/perl.scm:7844 +msgid "English expression of durations" +msgstr "" + +#: gnu/packages/perl.scm:7845 +msgid "" +"This module provides functions for expressing durations in\n" +"rounded or exact terms." +msgstr "" + +#: gnu/packages/perl.scm:7867 +msgid "Parse time duration strings" +msgstr "" + +#: gnu/packages/perl.scm:7868 +msgid "" +"Time::Duration::Parse is a module to parse human readable\n" +"duration strings like \"2 minutes\" and \"3 seconds\" to seconds." +msgstr "" + +#: gnu/packages/perl.scm:7886 +msgid "Efficiently compute time from local and GMT time" +msgstr "" + +#: gnu/packages/perl.scm:7887 +msgid "" +"This module provides functions that are the inverse of\n" +"built-in perl functions localtime() and gmtime(). They accept a date as a\n" +"six-element array, and return the corresponding time(2) value in seconds since\n" +"the system epoch." +msgstr "" + +#: gnu/packages/perl.scm:7907 +msgid "Date parsing/formatting subroutines" +msgstr "" + +#: gnu/packages/perl.scm:7908 +msgid "" +"This module provides routines for parsing date string into\n" +"time values and formatting dates into ASCII strings." +msgstr "" + +#: gnu/packages/perl.scm:7930 +msgid "Shift and scale time" +msgstr "" + +#: gnu/packages/perl.scm:7931 +msgid "" +"This module allows you to speed up your sleep(), alarm(),\n" +"and time() calls." +msgstr "" + +#: gnu/packages/perl.scm:7954 +msgid "Simple tree object" +msgstr "" + +#: gnu/packages/perl.scm:7955 +msgid "" +"This module in a fully object-oriented implementation of a\n" +"simple n-ary tree." +msgstr "" + +#: gnu/packages/perl.scm:7979 +msgid "Factory object for dispensing Visitor objects" +msgstr "" + +#: gnu/packages/perl.scm:7980 +msgid "" +"This module is a factory for dispensing\n" +"Tree::Simple::Visitor::* objects." +msgstr "" + +#: gnu/packages/perl.scm:7998 +msgid "Minimal try/catch with proper preservation of $@@" +msgstr "" + +#: gnu/packages/perl.scm:7999 +msgid "" +"This module provides bare bones try/catch/finally statements\n" +"that are designed to minimize common mistakes with eval blocks, and nothing\n" +"else." +msgstr "" + +#: gnu/packages/perl.scm:8024 +msgid "Tie a variable to a type constraint" +msgstr "" + +#: gnu/packages/perl.scm:8025 +msgid "" +"This module exports a single function: @code{ttie}. It ties\n" +"a variable to a type constraint, ensuring that whatever values stored in the\n" +"variable will conform to the type constraint. If the type constraint has\n" +"coercions, these will be used if necessary to ensure values assigned to the\n" +"variable conform." +msgstr "" + +#: gnu/packages/perl.scm:8058 +msgid "Tiny, yet Moo(se)-compatible type constraint" +msgstr "" + +#: gnu/packages/perl.scm:8059 +msgid "" +"@code{Type::Tiny} is a small class for writing type\n" +"constraints, inspired by Moose's type constraint API. It has only one\n" +"non-core dependency (and even that is simply a module that was previously\n" +"distributed as part of @code{Type::Tiny} but has since been spun off), and can\n" +"be used with Moose, Mouse and Moo (or none of the above)." +msgstr "" + +#: gnu/packages/perl.scm:8080 +msgid "Provides an XS boost for some of Type::Tiny's built-in type constraints" +msgstr "" + +#: gnu/packages/perl.scm:8081 +msgid "" +"This module is optionally used by @code{Type::Tiny} to\n" +"provide faster, C-based implementations of some type constraints. This\n" +"package has only core dependencies, and does not depend on @code{Type::Tiny},\n" +"so other data validation frameworks might also consider using it." +msgstr "" + +#: gnu/packages/perl.scm:8106 +msgid "Types and coercions for Moose and Moo" +msgstr "" + +#: gnu/packages/perl.scm:8107 +msgid "" +"This module provides @code{Path::Tiny} types for Moose, Moo,\n" +"etc. It handles two important types of coercion: coercing objects with\n" +"overloaded stringification, and coercing to absolute paths. It also can check\n" +"to ensure that files or directories exist." +msgstr "" + +#: gnu/packages/perl.scm:8129 +msgid "Data types for common serialisation formats" +msgstr "" + +#: gnu/packages/perl.scm:8130 +msgid "" +"This module provides some extra datatypes that are used by\n" +"common serialisation formats such as JSON or CBOR." +msgstr "" + +#: gnu/packages/perl.scm:8157 +msgid "Unicode normalization forms" +msgstr "" + +#: gnu/packages/perl.scm:8158 +msgid "This Perl module provides Unicode normalization forms." +msgstr "" + +#: gnu/packages/perl.scm:8187 +msgid "Unicode collation algorithm" +msgstr "" + +#: gnu/packages/perl.scm:8188 +msgid "" +"This package provides tools for sorting and comparing\n" +"Unicode data." +msgstr "" + +#: gnu/packages/perl.scm:8209 +msgid "Unicode line breaking algorithm" +msgstr "" + +#: gnu/packages/perl.scm:8211 +msgid "" +"@code{Unicode::LineBreak} implements the line breaking algorithm\n" +"described in Unicode Standard Annex #14. The @code{East_Asian_Width} property\n" +"defined by Annex #11 is used to determine breaking positions." +msgstr "" + +#: gnu/packages/perl.scm:8234 +msgid "Encoding and decoding of UTF-8 encoding form" +msgstr "" + +#: gnu/packages/perl.scm:8236 +msgid "" +"This module provides functions to encode and decode UTF-8 encoding form\n" +"as specified by Unicode and ISO/IEC 10646:2011." +msgstr "" + +#: gnu/packages/perl.scm:8254 +msgid "UNIVERSAL::can() reimplementation" +msgstr "" + +#: gnu/packages/perl.scm:8255 +msgid "" +"This module attempts to work around people calling\n" +"UNIVERSAL::can() as a function, which it is not." +msgstr "" + +#: gnu/packages/perl.scm:8275 +msgid "UNIVERSAL::isa() reimplementation" +msgstr "" + +#: gnu/packages/perl.scm:8276 +msgid "" +"This module attempts to recover from people calling\n" +"UNIVERSAL::isa as a function." +msgstr "" + +#: gnu/packages/perl.scm:8294 +msgid "Associate user-defined magic to variables from Perl" +msgstr "" + +#: gnu/packages/perl.scm:8295 +msgid "" +"Magic is Perl's way of enhancing variables. This mechanism\n" +"lets the user add extra data to any variable and hook syntactical\n" +"operations (such as access, assignment or destruction) that can be applied to\n" +"it. With this module, you can add your own magic to any variable without\n" +"having to write a single line of XS." +msgstr "" + +#: gnu/packages/perl.scm:8318 +msgid "Easily generate well-formed, namespace-aware XML" +msgstr "" + +#: gnu/packages/perl.scm:8319 +msgid "" +"@code{XML::Writer} is a simple Perl module for writing XML\n" +"documents: it takes care of constructing markup and escaping data correctly.\n" +"By default, it also performs a significant amount of well-formedness checking\n" +"on the output to make certain (for example) that start and end tags match,\n" +"that there is exactly one document element, and that there are not duplicate\n" +"attribute names." +msgstr "" + +#: gnu/packages/perl.scm:8346 +msgid "Opaque, extensible XS pointer backed objects using sv_magic" +msgstr "" + +#: gnu/packages/perl.scm:8348 +msgid "" +"This way of associating structs with Perl space objects is designed to\n" +"supersede Perl's builtin @code{T_PTROBJ} with something that is extensible\n" +"(structs can be associated with any data type) and opaque (the C pointer is\n" +"neither visible nor modifiable from Perl space)." +msgstr "" + +#: gnu/packages/perl.scm:8370 +msgid "YAML for Perl" +msgstr "" + +#: gnu/packages/perl.scm:8371 +msgid "" +"The YAML.pm module implements a YAML Loader and Dumper based\n" +"on the YAML 1.0 specification." +msgstr "" + +#: gnu/packages/perl.scm:8393 +msgid "Perl YAML Serialization using XS and libyaml" +msgstr "" + +#: gnu/packages/perl.scm:8395 +msgid "" +"@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the\n" +"best YAML support to date." +msgstr "" + +#: gnu/packages/perl.scm:8418 +msgid "Read/Write YAML files" +msgstr "" + +#: gnu/packages/perl.scm:8419 +msgid "" +"YAML::Tiny is a perl class for reading and writing\n" +"YAML-style files, written with as little code as possible, reducing load time\n" +"and memory overhead." +msgstr "" + +#: gnu/packages/perl.scm:8443 +msgid "Generate recursive-descent parsers" +msgstr "" + +#: gnu/packages/perl.scm:8445 +msgid "" +"@code{Parse::RecDescent} can incrementally generate top-down\n" +"recursive-descent text parsers from simple yacc-like grammar specifications." +msgstr "" + +#: gnu/packages/perl.scm:8465 +msgid "Generate and use LALR parsers" +msgstr "" + +#: gnu/packages/perl.scm:8466 +msgid "" +"This package compiles yacc-like @dfn{Look Ahead LR} (LALR)\n" +"grammars to generate Perl object oriented parser modules." +msgstr "" + +#: gnu/packages/perl.scm:8492 +msgid "Distribution metadata for a CPAN dist" +msgstr "" + +#: gnu/packages/perl.scm:8493 +msgid "" +"Software distributions released to the CPAN include a\n" +"META.json or, for older distributions, META.yml, which describes the\n" +"distribution, its contents, and the requirements for building and installing\n" +"the distribution. The data structure stored in the META.json file is\n" +"described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to\n" +"represent this distribution metadata (or distmeta), along with some helpful\n" +"methods for interrogating that data." +msgstr "" + +#: gnu/packages/perl.scm:8516 +msgid "Set of version requirements for a CPAN dist" +msgstr "" + +#: gnu/packages/perl.scm:8517 +msgid "" +"A CPAN::Meta::Requirements object models a set of version\n" +"constraints like those specified in the META.yml or META.json files in CPAN\n" +"distributions, and as defined by CPAN::Meta::Spec. It can be built up by\n" +"adding more and more constraints, and will reduce them to the simplest\n" +"representation." +msgstr "" + +#: gnu/packages/perl.scm:8540 +msgid "Read and write a subset of YAML for CPAN Meta files" +msgstr "" + +#: gnu/packages/perl.scm:8541 +msgid "" +"This module implements a subset of the YAML specification\n" +"for use in reading and writing CPAN metadata files like META.yml and\n" +"MYMETA.yml." +msgstr "" + +#: gnu/packages/perl.scm:8562 +msgid "Build and install Perl modules" +msgstr "" + +#: gnu/packages/perl.scm:8563 +msgid "" +"@code{Module::Build} is a system for building, testing, and\n" +"installing Perl modules; it used to be part of Perl itself until version 5.22,\n" +"which dropped it. It is meant to be an alternative to\n" +"@code{ExtUtils::MakeMaker}. Developers may alter the behavior of the module\n" +"through subclassing in a much more straightforward way than with\n" +"@code{MakeMaker}. It also does not require a @command{make} on your\n" +"system---most of the @code{Module::Build} code is pure-Perl." +msgstr "" + +#: gnu/packages/perl.scm:8589 +msgid "Parse META.yml and META.json CPAN metadata files" +msgstr "" + +#: gnu/packages/perl.scm:8590 +msgid "" +"Parse::CPAN::Meta is a parser for META.json and META.yml\n" +"files, using JSON::PP and/or CPAN::Meta::YAML." +msgstr "" + +#: gnu/packages/perl.scm:8608 +msgid "Common Scalar and List utility subroutines" +msgstr "" + +#: gnu/packages/perl.scm:8609 +msgid "" +"This package contains a selection of subroutines that people\n" +"have expressed would be nice to have in the perl core, but the usage would not\n" +"really be high enough to warrant the use of a keyword, and the size so small\n" +"such that being individual extensions would be wasteful." +msgstr "" + +#: gnu/packages/perl.scm:8633 +msgid "Cross-platform functions emulating common shell commands" +msgstr "" + +#: gnu/packages/perl.scm:8635 +msgid "Shell::Command is a thin wrapper around ExtUtils::Command." +msgstr "" + +#: gnu/packages/perl.scm:8662 +msgid "Object-oriented File::Find replacement in Perl" +msgstr "" + +#: gnu/packages/perl.scm:8663 +msgid "" +"File::Find::Object is an object-oriented\n" +"File::Find replacement in Perl." +msgstr "" + +#: gnu/packages/perl.scm:8692 +msgid "Alternative interface to File::Find::Object" +msgstr "" + +#: gnu/packages/perl.scm:8693 +msgid "" +"File::Find::Object::Rule is an alternative Perl\n" +"interface to File::Find::Object." +msgstr "" + +#: gnu/packages/perl.scm:8723 +msgid "Collection of Perl modules for time/date manipulation" +msgstr "" + +#: gnu/packages/perl.scm:8724 +msgid "" +"Provides several perl modules for date/time manipulation:\n" +"@code{Time::CTime.pm}, @code{Time::JulianDay.pm}, @code{Time::ParseDate.pm},\n" +"@code{Time::Timezone.pm}, and @code{Time::DaysInMonth.pm}." +msgstr "" + +#: gnu/packages/perl.scm:8753 +msgid "Perl library for testing if a time() is in a specific period" +msgstr "" + +#: gnu/packages/perl.scm:8754 +msgid "" +"This Perl library provides a function which tells whether a\n" +"specific time falls within a specified time period. Its syntax for specifying\n" +"time periods allows you to test for conditions like \"Monday to Friday, 9am\n" +"till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and\n" +"4:15pm\" and \"in the first half of each minute\" and \"in January of\n" +"1998\"." +msgstr "" + +#: gnu/packages/photo.scm:78 +msgid "Raw image decoder" +msgstr "" + +#: gnu/packages/photo.scm:80 +msgid "" +"LibRaw is a library for reading RAW files obtained from digital photo\n" +"cameras (CRW/CR2, NEF, RAF, DNG, and others)." +msgstr "" + +#: gnu/packages/photo.scm:97 +msgid "Read and manipulate EXIF data in digital photographs" +msgstr "" + +#: gnu/packages/photo.scm:99 +msgid "" +"The libexif C library allows applications to read, edit, and save EXIF\n" +"data as produced by digital cameras." +msgstr "" + +#: gnu/packages/photo.scm:125 +msgid "Accessing digital cameras" +msgstr "" + +#: gnu/packages/photo.scm:127 +msgid "" +"This is the library backend for gphoto2. It contains the code for PTP,\n" +"MTP, and other vendor specific protocols for controlling and transferring data\n" +"from digital cameras." +msgstr "" + +#: gnu/packages/photo.scm:169 +msgid "Command-line tools to access digital cameras" +msgstr "" + +#: gnu/packages/photo.scm:171 +msgid "" +"Gphoto2 is a set of command line utilities for manipulating a large\n" +"number of different digital cameras. Through libgphoto2, it supports PTP,\n" +"MTP, and much more." +msgstr "" + +#: gnu/packages/photo.scm:204 +msgid "Program and Perl library to manipulate EXIF and other metadata" +msgstr "" + +#: gnu/packages/photo.scm:205 +msgid "" +"This package provides the @code{exiftool} command and the\n" +"@code{Image::ExifTool} Perl library to manipulate EXIF tags of digital images\n" +"and a wide variety of other metadata." +msgstr "" + +#: gnu/packages/photo.scm:229 +msgid "Library for panoramic images" +msgstr "" + +#: gnu/packages/photo.scm:231 +msgid "" +"The libpano13 package contains the backend library written by the\n" +"Panorama Tools project for building panoramic images from a set of\n" +"overlapping images, as well as some command line tools." +msgstr "" + +#: gnu/packages/photo.scm:275 +msgid "Tools for combining and blending images" +msgstr "" + +#: gnu/packages/photo.scm:277 +msgid "" +"Enblend blends away the seams in a panoramic image mosaic using a\n" +"multi-resolution spline. Enfuse merges different exposures of the same\n" +"scene to produce an image that looks much like a tone-mapped image." +msgstr "" + +#: gnu/packages/photo.scm:308 +msgid "Library to correct optical lens defects with a lens database" +msgstr "" + +#: gnu/packages/photo.scm:309 +msgid "" +"Digital photographs are not ideal. Of course, the better is\n" +"your camera, the better the results will be, but in any case if you look\n" +"carefully at shots taken even by the most expensive cameras equipped with the\n" +"most expensive lenses you will see various artifacts. It is very hard to make\n" +"ideal cameras, because there are a lot of factors that affect the final image\n" +"quality, and at some point camera and lens designers have to trade one factor\n" +"for another to achieve the optimal image quality, within the given design\n" +"restrictions and budget. But we all want ideal shots, don't we? So that's\n" +"what's Lensfun is all about: rectifying the defects introduced by your\n" +"photographic equipment." +msgstr "" + +#: gnu/packages/photo.scm:385 +msgid "Virtual lighttable and darkroom for photographers" +msgstr "" + +#: gnu/packages/photo.scm:386 +msgid "" +"Darktable is a photography workflow application and RAW\n" +"developer. It manages your digital negatives in a database, lets you view\n" +"them through a zoomable lighttable and enables you to develop raw images\n" +"and enhance them." +msgstr "" + +#: gnu/packages/photo.scm:457 +msgid "Panorama photo stitcher" +msgstr "" + +#: gnu/packages/photo.scm:459 +msgid "" +"Hugin is an easy to use panoramic imaging toolchain with a graphical\n" +"user interface. It can be used to assemble a mosaic of photographs into\n" +"a complete panorama and stitch any series of overlapping pictures." +msgstr "" + +#: gnu/packages/ratpoison.scm:86 +msgid "Simple mouse-free tiling window manager" +msgstr "" + +#: gnu/packages/ratpoison.scm:88 +msgid "" +"Ratpoison is a simple window manager with no fat library\n" +"dependencies, no fancy graphics, no window decorations, and no\n" +"rodent dependence. It is largely modelled after GNU Screen which\n" +"has done wonders in the virtual terminal market.\n" +"\n" +"The screen can be split into non-overlapping frames. All windows\n" +"are kept maximized inside their frames to take full advantage of\n" +"your precious screen real estate.\n" +"\n" +"All interaction with the window manager is done through keystrokes.\n" +"Ratpoison has a prefix map to minimize the key clobbering that\n" +"cripples Emacs and other quality pieces of software." +msgstr "" + +#: gnu/packages/readline.scm:82 +msgid "Edit command lines while typing, with history support" +msgstr "" + +#: gnu/packages/readline.scm:84 +msgid "" +"The GNU readline library allows users to edit command lines as they\n" +"are typed in. It can maintain a searchable history of previously entered\n" +"commands, letting you easily recall, edit and re-enter past commands. It\n" +"features both Emacs-like and vi-like keybindings, making its usage\n" +"comfortable for anyone." +msgstr "" + +#: gnu/packages/readline.scm:121 +msgid "Wrapper to allow the editing of keyboard commands" +msgstr "" + +#: gnu/packages/readline.scm:123 +msgid "" +"Rlwrap is a 'readline wrapper', a small utility that uses the GNU\n" +"readline library to allow the editing of keyboard input for any command. You\n" +"should consider rlwrap especially when you need user-defined completion (by way\n" +"of completion word lists) and persistent history, or if you want to program\n" +"'special effects' using the filter mechanism." +msgstr "" + +#: gnu/packages/scanner.scm:87 +msgid "Raster image scanner library and drivers, without scanner support" +msgstr "" + +#: gnu/packages/scanner.scm:88 +msgid "" +"SANE stands for \"Scanner Access Now Easy\" and is an API\n" +"proving access to any raster image scanner hardware (flatbed scanner,\n" +"hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The\n" +"package contains the library, but no drivers." +msgstr "" + +#: gnu/packages/scanner.scm:126 +msgid "Raster image scanner library and drivers, with scanner support" +msgstr "" + +#: gnu/packages/scanner.scm:127 +msgid "" +"SANE stands for \"Scanner Access Now Easy\" and is an API\n" +"proving access to any raster image scanner hardware (flatbed scanner,\n" +"hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The\n" +"package contains the library and drivers." +msgstr "" + +#: gnu/packages/scheme.scm:191 +msgid "A Scheme implementation with integrated editor and debugger" +msgstr "" + +#: gnu/packages/scheme.scm:193 +msgid "" +"GNU/MIT Scheme is an implementation of the Scheme programming\n" +"language. It provides an interpreter, a compiler and a debugger. It also\n" +"features an integrated Emacs-like editor and a large runtime library." +msgstr "" + +#: gnu/packages/scheme.scm:276 +msgid "Efficient Scheme compiler" +msgstr "" + +#: gnu/packages/scheme.scm:278 +msgid "" +"Bigloo is a Scheme implementation devoted to one goal: enabling\n" +"Scheme based programming style where C(++) is usually\n" +"required. Bigloo attempts to make Scheme practical by offering\n" +"features usually presented by traditional programming languages\n" +"but not offered by Scheme and functional programming. Bigloo\n" +"compiles Scheme modules. It delivers small and fast stand alone\n" +"binary executables. Bigloo enables full connections between\n" +"Scheme and C programs and between Scheme and Java programs." +msgstr "" + +#: gnu/packages/scheme.scm:327 +msgid "Multi-tier programming language for the Web 2.0" +msgstr "" + +#: gnu/packages/scheme.scm:329 +msgid "" +"HOP is a multi-tier programming language for the Web 2.0 and the\n" +"so-called diffuse Web. It is designed for programming interactive web\n" +"applications in many fields such as multimedia (web galleries, music players,\n" +"...), ubiquitous and house automation (SmartPhones, personal appliance),\n" +"mashups, office (web agendas, mail clients, ...), etc." +msgstr "" + +#: gnu/packages/scheme.scm:373 +msgid "R5RS Scheme implementation that compiles native code via C" +msgstr "" + +#: gnu/packages/scheme.scm:375 +msgid "" +"CHICKEN is a compiler for the Scheme programming language. CHICKEN\n" +"produces portable and efficient C, supports almost all of the R5RS Scheme\n" +"language standard, and includes many enhancements and extensions." +msgstr "" + +#: gnu/packages/scheme.scm:394 +msgid "Scheme implementation using a bytecode interpreter" +msgstr "" + +#: gnu/packages/scheme.scm:396 +msgid "" +"Scheme 48 is an implementation of Scheme based on a byte-code\n" +"interpreter and is designed to be used as a testbed for experiments in\n" +"implementation techniques and as an expository tool." +msgstr "" + +#: gnu/packages/scheme.scm:509 +msgid "Implementation of Scheme and related languages" +msgstr "" + +#: gnu/packages/scheme.scm:511 +msgid "" +"Racket is an implementation of the Scheme programming language (R5RS and\n" +"R6RS) and related languages, such as Typed Racket. It features a compiler and\n" +"a virtual machine with just-in-time native compilation, as well as a large set\n" +"of libraries." +msgstr "" + +#: gnu/packages/scheme.scm:549 +msgid "Efficient Scheme interpreter and compiler" +msgstr "" + +#: gnu/packages/scheme.scm:551 +msgid "" +"Gambit consists of two main programs: gsi, the Gambit Scheme\n" +"interpreter, and gsc, the Gambit Scheme compiler. The interpreter contains\n" +"the complete execution and debugging environment. The compiler is the\n" +"interpreter extended with the capability of generating executable files. The\n" +"compiler can produce standalone executables or compiled modules which can be\n" +"loaded at run time. Interpreted code and compiled code can be freely\n" +"mixed." +msgstr "" + +#: gnu/packages/scheme.scm:585 +msgid "Small embeddable Scheme implementation" +msgstr "" + +#: gnu/packages/scheme.scm:587 +msgid "" +"Chibi-Scheme is a very small library with no external dependencies\n" +"intended for use as an extension and scripting language in C programs. In\n" +"addition to support for lightweight VM-based threads, each VM itself runs in\n" +"an isolated heap allowing multiple VMs to run simultaneously in different OS\n" +"threads." +msgstr "" + +#: gnu/packages/scheme.scm:757 +msgid "Scmutils library for MIT Scheme" +msgstr "" + +#: gnu/packages/scheme.scm:758 +msgid "" +"The Scmutils system is an integrated library of\n" +"procedures, embedded in the programming language Scheme, and intended to\n" +"support teaching and research in mathematical physics and electrical\n" +"engineering." +msgstr "" + +#: gnu/packages/scheme.scm:808 +msgid "Structure and Interpretation of Computer Programs" +msgstr "" + +#: gnu/packages/scheme.scm:809 +msgid "" +"Structure and Interpretation of Computer Programs (SICP) is\n" +"a textbook aiming to teach the principles of computer programming.\n" +"\n" +"Using Scheme, a dialect of the Lisp programming language, the book explains\n" +"core computer science concepts such as abstraction in programming,\n" +"metalinguistic abstraction, recursion, interpreters, and modular programming." +msgstr "" + +#: gnu/packages/scheme.scm:850 +msgid "SRE String pattern-matching library for scheme48" +msgstr "" + +#: gnu/packages/scheme.scm:852 +msgid "" +"String pattern-matching library for scheme48 based on the SRE\n" +"regular-expression notation." +msgstr "" + +#: gnu/packages/scheme.scm:884 +msgid "Compatibility and utility library for Scheme" +msgstr "" + +#: gnu/packages/scheme.scm:885 +msgid "" +"SLIB is a portable Scheme library providing compatibility and\n" +"utility functions for all standard Scheme implementations." +msgstr "" + +#: gnu/packages/scheme.scm:946 +msgid "Scheme implementation conforming to R5RS and IEEE P1178" +msgstr "" + +#: gnu/packages/scheme.scm:947 +msgid "" +"GNU SCM is an implementation of Scheme. This\n" +"implementation includes Hobbit, a Scheme-to-C compiler, which can\n" +"generate C files whose binaries can be dynamically or statically\n" +"linked with a SCM executable." +msgstr "" + +#: gnu/packages/search.scm:66 +msgid "Search Engine Library" +msgstr "" + +#: gnu/packages/search.scm:68 +msgid "" +"Xapian is a highly adaptable toolkit which allows developers to easily\n" +"add advanced indexing and search facilities to their own applications. It\n" +"supports the Probabilistic Information Retrieval model and also supports a\n" +"rich set of boolean query operators." +msgstr "" + +#: gnu/packages/search.scm:98 +msgid "Python bindings for the Xapian search engine library" +msgstr "" + +#: gnu/packages/search.scm:137 +msgid "Tool for Obsessive Compulsive Classifiers" +msgstr "" + +#: gnu/packages/search.scm:139 +msgid "" +"libtocc is the engine of the Tocc project, a tag-based file management\n" +"system. The goal of Tocc is to provide a better system for classifying files\n" +"that is more flexible than classic file systems that are based on a tree of\n" +"files and directories." +msgstr "" + +#: gnu/packages/search.scm:161 +msgid "Command-line interface to libtocc" +msgstr "" + +#: gnu/packages/search.scm:163 +msgid "" +"Tocc is a tag-based file management system. This package contains the\n" +"command line tool for interacting with libtocc." +msgstr "" + +#: gnu/packages/search.scm:181 +msgid "Finding text and HTML files that match boolean expressions" +msgstr "" + +#: gnu/packages/search.scm:183 +msgid "" +"GNU Bool is a utility to perform text searches on files using Boolean\n" +"expressions. For example, a search for \"hello AND world\" would return a\n" +"file containing the phrase \"Hello, world!\". It supports both AND and OR\n" +"statements, as well as the NEAR statement to search for the occurrence of\n" +"words in close proximity to each other. It handles context gracefully,\n" +"accounting for new lines and paragraph changes. It also has robust support\n" +"for parsing HTML files." +msgstr "" + +#: gnu/packages/search.scm:213 +msgid "Full-text search system" +msgstr "" + +#: gnu/packages/search.scm:214 +msgid "" +"Hyper Estraier can be used to integrate full-text\n" +"search into applications, using either the provided command line and CGI\n" +"interfaces, or a C API." +msgstr "" + +#: gnu/packages/search.scm:232 +msgid "Locate files on the file system" +msgstr "" + +#: gnu/packages/search.scm:234 +msgid "" +"mlocate is a locate/updatedb implementation. The 'm' stands for\n" +"\"merging\": @code{updatedb} reuses the existing database to avoid rereading\n" +"most of the file system, which makes it faster and does not trash the system\n" +"caches as much. The locate(1) utility is intended to be completely compatible\n" +"with slocate, and attempts to be compatible to GNU locate when it does not\n" +"conflict with slocate compatibility." +msgstr "" + +#: gnu/packages/search.scm:299 +msgid "Web indexing system" +msgstr "" + +#: gnu/packages/search.scm:301 +msgid "" +"Swish-e is Simple Web Indexing System for Humans - Enhanced. Swish-e\n" +"can quickly and easily index directories of files or remote web sites and\n" +"search the generated indexes." +msgstr "" + +#: gnu/packages/serveez.scm:52 +msgid "Framework for implementing IP-based servers" +msgstr "" + +#: gnu/packages/serveez.scm:54 +msgid "" +"GNU Serveez is a server framework providing the routines necessary to\n" +"easily implement IP-based servers in your application. It\n" +"demonstrates aspects of network programming in a portable manner,\n" +"making it convenient for both simplifying the process of adding a\n" +"server to your application or for learning about how network services\n" +"work. Several example servers are provided already, such as an HTTP\n" +"server and an IRC server." +msgstr "" + +#: gnu/packages/shells.scm:79 +msgid "POSIX-compliant shell optimised for size" +msgstr "" + +#: gnu/packages/shells.scm:81 +msgid "" +"dash is a POSIX-compliant @command{/bin/sh} implementation that aims to be\n" +"as small as possible, often without sacrificing speed. It is faster than the\n" +"GNU Bourne-Again Shell (@command{bash}) at most scripted tasks. dash is a\n" +"direct descendant of NetBSD's Almquist Shell (@command{ash})." +msgstr "" + +#: gnu/packages/shells.scm:136 +msgid "The friendly interactive shell" +msgstr "" + +#: gnu/packages/shells.scm:138 +msgid "" +"Fish (friendly interactive shell) is a shell focused on interactive use,\n" +"discoverability, and friendliness. Fish has very user-friendly and powerful\n" +"tab-completion, including descriptions of every completion, completion of\n" +"strings with wildcards, and many completions for specific commands. It also\n" +"has extensive and discoverable help. A special help command gives access to\n" +"all the fish documentation in your web browser. Other features include smart\n" +"terminal handling based on terminfo, an easy to search history, and syntax\n" +"highlighting." +msgstr "" + +#: gnu/packages/shells.scm:170 +msgid "Fish completions for Guix" +msgstr "" + +#: gnu/packages/shells.scm:172 +msgid "Fish-guix provides completions for Guix for users of the fish shell." +msgstr "" + +#: gnu/packages/shells.scm:213 +msgid "Alternative implementation of the rc shell by Byron Rakitzis" +msgstr "" + +#: gnu/packages/shells.scm:215 +msgid "" +"This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It\n" +"has a small feature set similar to a traditional Bourne shell." +msgstr "" + +#: gnu/packages/shells.scm:246 +msgid "Extensible shell with higher-order functions" +msgstr "" + +#: gnu/packages/shells.scm:248 +msgid "" +"Es is an extensible shell. The language was derived from the Plan 9\n" +"shell, rc, and was influenced by functional programming languages, such as\n" +"Scheme, and the Tcl embeddable programming language. This implementation is\n" +"derived from Byron Rakitzis's public domain implementation of rc, and was\n" +"written by Paul Haahr and Byron Rakitzis." +msgstr "" + +#: gnu/packages/shells.scm:308 +msgid "Unix shell based on csh" +msgstr "" + +#: gnu/packages/shells.scm:310 +msgid "" +"Tcsh is an enhanced, but completely compatible version of the Berkeley\n" +"UNIX C shell (csh). It is a command language interpreter usable both as an\n" +"interactive login shell and a shell script command processor. It includes a\n" +"command-line editor, programmable word completion, spelling correction, a\n" +"history mechanism, job control and a C-like syntax." +msgstr "" + +#: gnu/packages/shells.scm:359 +msgid "Powerful shell for interactive use and scripting" +msgstr "" + +#: gnu/packages/shells.scm:360 +msgid "" +"The Z shell (zsh) is a Unix shell that can be used\n" +"as an interactive login shell and as a powerful command interpreter\n" +"for shell scripting. Zsh can be thought of as an extended Bourne shell\n" +"with a large number of improvements, including some features of bash,\n" +"ksh, and tcsh." +msgstr "" + +#: gnu/packages/shells.scm:399 +msgid "Python-ish shell" +msgstr "" + +#: gnu/packages/shells.scm:401 +msgid "" +"Xonsh is a Python-ish, BASHwards-looking shell language and command\n" +"prompt. The language is a superset of Python 3.4+ with additional shell\n" +"primitives that you are used to from Bash and IPython. It works on all major\n" +"systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily\n" +"use of experts and novices alike." +msgstr "" + +#: gnu/packages/shells.scm:448 +msgid "Unix shell embedded in Scheme" +msgstr "" + +#: gnu/packages/shells.scm:450 +msgid "" +"Scsh is a Unix shell embedded in Scheme. Scsh has two main\n" +"components: a process notation for running programs and setting up pipelines\n" +"and redirections, and a complete syscall library for low-level access to the\n" +"operating system." +msgstr "" + +#: gnu/packages/shells.scm:489 +msgid "Minimal zero-config readline replacement" +msgstr "" + +#: gnu/packages/shells.scm:491 +msgid "" +"Linenoise is a minimal, zero-config, readline replacement.\n" +"Its features include:\n" +"\n" +"@enumerate\n" +"@item Single and multi line editing mode with the usual key bindings\n" +"@item History handling\n" +"@item Completion\n" +"@item Hints (suggestions at the right of the prompt as you type)\n" +"@item A subset of VT100 escapes, ANSI.SYS compatible\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/shells.scm:551 +msgid "Extremely minimal shell with the simplest syntax possible" +msgstr "" + +#: gnu/packages/shells.scm:553 +msgid "" +"S is a new shell that aims to be extremely simple.\n" +"S does not implemnt the POSIX shell standard.\n" +"There are no globs or \"splatting\" where a variable $FOO turns into multiple\n" +"command line arguments. One token stays one token forever.\n" +"This is a \"no surprises\" straightforward approach.\n" +"\n" +"There are no redirection operators > in the shell language, they are added as\n" +"extra programs. > is just another unix command, < is essentially cat(1).\n" +"A @code{andglob} program is also provided along with s." +msgstr "" + +#: gnu/packages/shells.scm:581 +msgid "Port of OpenBSD Korn Shell" +msgstr "" + +#: gnu/packages/shells.scm:583 +msgid "" +"Oksh is a port of the OpenBSD Korn Shell.\n" +"The OpenBSD Korn Shell is a cleaned up and enhanced ksh." +msgstr "" + +#: gnu/packages/shells.scm:615 +msgid "Korn Shell from OpenBSD" +msgstr "" + +#: gnu/packages/shells.scm:617 +msgid "" +"loksh is a Linux port of OpenBSD's @command{ksh}. It is a small,\n" +"interactive POSIX shell targeted at resource-constrained systems." +msgstr "" + +#: gnu/packages/shells.scm:655 +msgid "Korn Shell from MirBSD" +msgstr "" + +#: gnu/packages/shells.scm:656 +msgid "" +"mksh is an actively developed free implementation of the\n" +"Korn Shell programming language and a successor to the Public Domain Korn\n" +"Shell (pdksh)." +msgstr "" + +#: gnu/packages/telephony.scm:66 +msgid "(u)Common C++ framework for threaded applications" +msgstr "" + +#: gnu/packages/telephony.scm:67 +msgid "" +"GNU Common C++ is an portable, optimized class framework for\n" +"threaded applications, supporting concurrent synchronization, inter-process\n" +"communications via sockets, and various methods for data handling, such as\n" +"serialization and XML parsing. It includes the uCommon C++ library, a smaller\n" +"reimplementation." +msgstr "" + +#: gnu/packages/telephony.scm:87 +msgid "Common C++ framework for threaded applications" +msgstr "" + +#: gnu/packages/telephony.scm:88 +msgid "" +"GNU uCommon C++ is meant as a very light-weight C++ library\n" +"to facilitate using C++ design patterns even for very deeply embedded\n" +"applications, such as for systems using uclibc along with posix threading\n" +"support." +msgstr "" + +#: gnu/packages/telephony.scm:110 +msgid "Implementation of RTP (real-time transport protocol)" +msgstr "" + +#: gnu/packages/telephony.scm:111 +msgid "" +"GNU ccRTP is an implementation of RTP, the real-time transport\n" +"protocol from the IETF. It is suitable both for high capacity servers and\n" +"personal client applications. It is flexible in its design, allowing it to\n" +"function as a framework for the framework, rather than just being a\n" +"packet-manipulation library." +msgstr "" + +#: gnu/packages/telephony.scm:133 +msgid "Library implementing SIP (RFC-3261)" +msgstr "" + +#: gnu/packages/telephony.scm:134 +msgid "" +"GNU oSIP is an implementation of the SIP protocol. It is\n" +"used to provide multimedia and telecom software developers with an interface\n" +"to initiate and control SIP sessions." +msgstr "" + +#: gnu/packages/telephony.scm:153 +msgid "Sip abstraction library" +msgstr "" + +#: gnu/packages/telephony.scm:154 +msgid "" +"EXosip is a library that hides the complexity of using the\n" +"SIP protocol for multimedia session establishment. This protocol is mainly to\n" +"be used by VoIP telephony applications (endpoints or conference server) but\n" +"might be also useful for any application that wish to establish sessions like\n" +"multiplayer games." +msgstr "" + +#: gnu/packages/telephony.scm:197 +msgid "Secure peer-to-peer VoIP server for the SIP protocol" +msgstr "" + +#: gnu/packages/telephony.scm:198 +msgid "" +"GNU SIP Witch is a peer-to-peer Voice-over-IP server that\n" +"uses the SIP protocol. Calls can be made from behind NAT firewalls and\n" +"without the need for a service provider. Its peer-to-peer design ensures that\n" +"there is no central point for media intercept or capture and thus it can be\n" +"used to construct a secure telephone system that operates over the public\n" +"internet." +msgstr "" + +#: gnu/packages/telephony.scm:243 +msgid "Secure RTP (SRTP) Reference Implementation" +msgstr "" + +#: gnu/packages/telephony.scm:244 +msgid "" +"This package provides an implementation of the Secure\n" +"Real-time Transport Protocol (SRTP), the Universal Security Transform (UST),\n" +"and a supporting cryptographic kernel." +msgstr "" + +#: gnu/packages/telephony.scm:279 +msgid "Inter-Asterisk-Protocol library" +msgstr "" + +#: gnu/packages/telephony.scm:280 +msgid "" +"LibIAX2 implements the Inter-Asterisk-Protocol for relaying\n" +"Voice-over-IP (VoIP) communications." +msgstr "" + +#: gnu/packages/telephony.scm:311 +msgid "Simple VoIP program to create conferences from the terminal" +msgstr "" + +#: gnu/packages/telephony.scm:313 +msgid "" +"Seren is a simple VoIP program based on the Opus codec that allows you\n" +"to create a voice conference from the terminal, with up to 10 participants,\n" +"without having to register accounts, exchange emails, or add people to contact\n" +"lists. All you need to join an existing conference is the host name or IP\n" +"address of one of the participants." +msgstr "" + +#: gnu/packages/telephony.scm:425 +msgid "Low-latency, high quality voice chat software" +msgstr "" + +#: gnu/packages/telephony.scm:427 +msgid "" +"Mumble is an low-latency, high quality voice chat\n" +"software primarily intended for use while gaming.\n" +"Mumble consists of two applications for separate usage:\n" +"@code{mumble} for the client, and @code{murmur} for the server." +msgstr "" + +#: gnu/packages/tex.scm:192 gnu/packages/tex.scm:3844 +#: gnu/packages/tex.scm:3906 +msgid "TeX Live, a package of the TeX typesetting system" +msgstr "" + +#: gnu/packages/tex.scm:194 +msgid "" +"TeX Live provides a comprehensive TeX document production system.\n" +"It includes all the major TeX-related programs, macro packages, and fonts\n" +"that are free software, including support for many languages around the\n" +"world.\n" +"\n" +"This package contains the binaries." +msgstr "" + +#: gnu/packages/tex.scm:259 +msgid "DVI to PostScript drivers" +msgstr "" + +#: gnu/packages/tex.scm:260 +msgid "" +"This package provides files needed for converting DVI files\n" +"to PostScript." +msgstr "" + +#: gnu/packages/tex.scm:293 +msgid "Unicode data and loaders for TeX" +msgstr "" + +#: gnu/packages/tex.scm:294 +msgid "" +"This bundle provides generic access to Unicode Consortium\n" +"data for TeX use. It contains a set of text files provided by the Unicode\n" +"Consortium which are currently all from Unicode 8.0.0, with the exception of\n" +"@code{MathClass.txt} which is not currently part of the Unicode Character\n" +"Database. Accompanying these source data are generic TeX loader files\n" +"allowing this data to be used as part of TeX runs, in particular in building\n" +"format files. Currently there are two loader files: one for general character\n" +"set up and one for initializing XeTeX character classes as has been carried\n" +"out to date by @code{unicode-letters.tex}. " +msgstr "" + +#: gnu/packages/tex.scm:331 +msgid "Hyphenation patterns for German" +msgstr "" + +#: gnu/packages/tex.scm:332 +msgid "" +"The package provides experimental hyphenation patterns for\n" +"the German language, covering both traditional and reformed orthography. The\n" +"patterns can be used with packages Babel and hyphsubst from the Oberdiek\n" +"bundle." +msgstr "" + +#: gnu/packages/tex.scm:366 +msgid "Files for creating TeX formats" +msgstr "" + +#: gnu/packages/tex.scm:367 +msgid "" +"This bundle provides a collection of model \".ini\" files\n" +"for creating TeX formats. These files are commonly used to introduced\n" +"distribution-dependent variations in formats. They are also used to\n" +"allow existing format source files to be used with newer engines, for example\n" +"to adapt the plain e-TeX source file to work with XeTeX and LuaTeX." +msgstr "" + +#: gnu/packages/tex.scm:400 +msgid "Hyphenation patterns expressed in UTF-8" +msgstr "" + +#: gnu/packages/tex.scm:401 +msgid "" +"Modern native UTF-8 engines such as XeTeX and LuaTeX need\n" +"hyphenation patterns in UTF-8 format, whereas older systems require\n" +"hyphenation patterns in the 8-bit encoding of the font in use (such encodings\n" +"are codified in the LaTeX scheme with names like OT1, T2A, TS1, OML, LY1,\n" +"etc). The present package offers a collection of conversions of existing\n" +"patterns to UTF-8 format, together with converters for use with 8-bit fonts in\n" +"older systems. Since hyphenation patterns for Knuthian-style TeX systems are\n" +"only read at iniTeX time, it is hoped that the UTF-8 patterns, with their\n" +"converters, will completely supplant the older patterns." +msgstr "" + +#: gnu/packages/tex.scm:476 +msgid "Metafont base files" +msgstr "" + +#: gnu/packages/tex.scm:477 +msgid "" +"This package provides the Metafont base files needed to\n" +"build fonts using the Metafont system." +msgstr "" + +#: gnu/packages/tex.scm:508 +msgid "Scheme for naming fonts in TeX" +msgstr "" + +#: gnu/packages/tex.scm:509 +msgid "" +"This is Fontname, a naming scheme for (the base part of)\n" +"external TeX font filenames. This makes at most eight-character names\n" +"from (almost) arbitrarily complex font names, thus helping portability of TeX\n" +"documents." +msgstr "" + +#: gnu/packages/tex.scm:576 +msgid "Computer Modern fonts for TeX" +msgstr "" + +#: gnu/packages/tex.scm:577 +msgid "" +"This package provides the Computer Modern fonts by Donald\n" +"Knuth. The Computer Modern font family is a large collection of text,\n" +"display, and mathematical fonts in a range of styles, based on Monotype Modern\n" +"8A." +msgstr "" + +#: gnu/packages/tex.scm:640 +msgid "Small library of METAFONT sources" +msgstr "" + +#: gnu/packages/tex.scm:641 +msgid "" +"This is a collection of core TeX and METAFONT macro files\n" +"from Donald Knuth, including the plain format, plain base, and the MF logo\n" +"fonts." +msgstr "" + +#: gnu/packages/tex.scm:713 +msgid "Collection of fonts used in LaTeX distributions" +msgstr "" + +#: gnu/packages/tex.scm:714 +msgid "" +"This is a collection of fonts for use with standard LaTeX\n" +"packages and classes. It includes invisible fonts (for use with the slides\n" +"class), line and circle fonts (for use in the picture environment) and LaTeX\n" +"symbol fonts." +msgstr "" + +#: gnu/packages/tex.scm:791 gnu/packages/tex.scm:821 +msgid "TeX fonts from the American Mathematical Society" +msgstr "" + +#: gnu/packages/tex.scm:793 +msgid "" +"This package provides an extended set of fonts for use in mathematics,\n" +"including: extra mathematical symbols; blackboard bold letters (uppercase\n" +"only); fraktur letters; subscript sizes of bold math italic and bold Greek\n" +"letters; subscript sizes of large symbols such as sum and product; added sizes\n" +"of the Computer Modern small caps font; cyrillic fonts (from the University of\n" +"Washington); Euler mathematical fonts. All fonts are provided as Adobe Type 1\n" +"files, and all except the Euler fonts are provided as Metafont source. The\n" +"distribution also includes the canonical Type 1 versions of the Computer\n" +"Modern family of fonts. The Euler fonts are supported by separate packages;\n" +"details can be found in the documentation." +msgstr "" + +#: gnu/packages/tex.scm:823 +msgid "" +"This package provides basic LaTeX support for the symbol fonts provides\n" +"by the amsfonts package. It provides @code{amsfonts.sty}, with names of\n" +"individual symbols defined in @code{amssymb.sty}." +msgstr "" + +#: gnu/packages/tex.scm:856 +msgid "Plain TeX format and supporting files" +msgstr "" + +#: gnu/packages/tex.scm:858 +msgid "" +"Contains files used to build the Plain TeX format, as described in the\n" +"TeXbook, together with various supporting files (some also discussed in the\n" +"book)." +msgstr "" + +#: gnu/packages/tex.scm:1004 +msgid "Base sources of LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1006 +msgid "" +"This bundle comprises the source of LaTeX itself, together with several\n" +"packages which are considered \"part of the kernel\". This bundle, together\n" +"with the required packages, constitutes what every LaTeX distribution should\n" +"contain." +msgstr "" + +#: gnu/packages/tex.scm:1025 +msgid "Extended filecontents and filecontents* environments" +msgstr "" + +#: gnu/packages/tex.scm:1027 +msgid "" +"LaTeX2e's @code{filecontents} and @code{filecontents*} environments\n" +"enable a LaTeX source file to generate external files as it runs through\n" +"LaTeX. However, there are two limitations of these environments: they refuse\n" +"to overwrite existing files, and they can only be used in the preamble of a\n" +"document. The filecontents package removes these limitations, letting you\n" +"overwrite existing files and letting you use @code{filecontents} /\n" +"@code{filecontents*} anywhere." +msgstr "" + +#: gnu/packages/tex.scm:1053 +msgid "Am I running under XeTeX?" +msgstr "" + +#: gnu/packages/tex.scm:1055 +msgid "" +"This is a simple package which provides an @code{\\ifxetex} conditional,\n" +"so that other code can determine that it is running under XeTeX. The package\n" +"requires the e-TeX extensions to the TeX primitive set." +msgstr "" + +#: gnu/packages/tex.scm:1086 +msgid "Simple macros for EPS inclusion" +msgstr "" + +#: gnu/packages/tex.scm:1088 +msgid "" +"This package provides the original (and now obsolescent) graphics\n" +"inclusion macros for use with dvips, still widely used by Plain TeX users (in\n" +"particular). For LaTeX users, the package is nowadays (rather strongly)\n" +"deprecated in favour of the more sophisticated standard LaTeX latex-graphics\n" +"bundle of packages. (The latex-graphics bundle is also available to Plain TeX\n" +"users, via its Plain TeX version.)" +msgstr "" + +#: gnu/packages/tex.scm:1113 +msgid "Sophisticated verbatim text" +msgstr "" + +#: gnu/packages/tex.scm:1115 +msgid "" +"This package provides tools for the flexible handling of verbatim text\n" +"including: verbatim commands in footnotes; a variety of verbatim environments\n" +"with many parameters; ability to define new customized verbatim environments;\n" +"save and restore verbatim text and environments; write and read files in\n" +"verbatim mode; build \"example\" environments (showing both result and\n" +"verbatim source)." +msgstr "" + +#: gnu/packages/tex.scm:1177 +msgid "LaTeX standard graphics bundle" +msgstr "" + +#: gnu/packages/tex.scm:1179 +msgid "" +"This is a collection of LaTeX packages for producing color, including\n" +"graphics (e.g. PostScript) files, and rotation and scaling of text in LaTeX\n" +"documents. It comprises the packages color, graphics, graphicx, trig, epsfig,\n" +"keyval, and lscape." +msgstr "" + +#: gnu/packages/tex.scm:1200 +msgid "Driver-independent color extensions for LaTeX and pdfLaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1202 +msgid "" +"The package starts from the basic facilities of the colorcolor package,\n" +"and provides easy driver-independent access to several kinds of color tints,\n" +"shades, tones, and mixes of arbitrary colors. It allows a user to select a\n" +"document-wide target color model and offers complete tools for conversion\n" +"between eight color models. Additionally, there is a command for alternating\n" +"row colors plus repeated non-aligned material (like horizontal lines) in\n" +"tables." +msgstr "" + +#: gnu/packages/tex.scm:1228 +msgid "Extensive support for hypertext in LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1230 +msgid "" +"The @code{hyperref} package is used to handle cross-referencing commands\n" +"in LaTeX to produce hypertext links in the document. The package provides\n" +"backends for the @code{\\special} set defined for HyperTeX DVI processors; for\n" +"embedded @code{pdfmark} commands for processing by Acrobat\n" +"Distiller (@code{dvips} and Y&Y's @code{dvipsone}); for Y&Y's @code{dviwindo};\n" +"for PDF control within pdfTeX and @code{dvipdfm}; for TeX4ht; and for VTeX's\n" +"pdf and HTML backends. The package is distributed with the @code{backref} and\n" +"@code{nameref} packages, which make use of the facilities of @code{hyperref}." +msgstr "" + +#: gnu/packages/tex.scm:1263 +msgid "Bundle of packages submitted by Heiko Oberdiek" +msgstr "" + +#: gnu/packages/tex.scm:1265 +msgid "" +"The bundle comprises various LaTeX packages, providing among others:\n" +"better accessibility support for PDF files; extensible chemists reaction\n" +"arrows; record information about document class(es) used; and many more." +msgstr "" + +#: gnu/packages/tex.scm:1285 +msgid "LaTeX standard tools bundle" +msgstr "" + +#: gnu/packages/tex.scm:1287 +msgid "" +"This package is a collection of (variously) simple tools provided as\n" +"part of the LaTeX required tools distribution, comprising the following\n" +"packages: afterpage, array, bm, calc, dcolumn, delarray, enumerate, fileerr,\n" +"fontsmpl, ftnright, hhline, indentfirst, layout, longtable, multicol,\n" +"rawfonts, showkeys, somedefs, tabularx, theorem, trace, varioref, verbatim,\n" +"xr, and xspace." +msgstr "" + +#: gnu/packages/tex.scm:1321 +msgid "Verbatim with URL-sensitive line breaks" +msgstr "" + +#: gnu/packages/tex.scm:1322 +msgid "" +"The command @code{\\url} is a form of verbatim command that\n" +"allows linebreaks at certain characters or combinations of characters, accepts\n" +"reconfiguration, and can usually be used in the argument to another command.\n" +"The command is intended for email addresses, hypertext links,\n" +"directories/paths, etc., which normally have no spaces, so by default the\n" +"package ignores spaces in its argument. However, a package option allows\n" +"spaces, which is useful for operating systems where spaces are a common part\n" +"of file names." +msgstr "" + +#: gnu/packages/tex.scm:1348 +msgid "LaTeX3 programmers’ interface" +msgstr "" + +#: gnu/packages/tex.scm:1350 +msgid "" +"The l3kernel bundle provides an implementation of the LaTeX3\n" +"programmers’ interface, as a set of packages that run under LaTeX 2e. The\n" +"interface provides the foundation on which the LaTeX3 kernel and other future\n" +"code are built: it is an API for TeX programmers. The packages are set up so\n" +"that the LaTeX3 conventions can be used with regular LaTeX 2e packages." +msgstr "" + +#: gnu/packages/tex.scm:1387 +msgid "High-level LaTeX3 concepts" +msgstr "" + +#: gnu/packages/tex.scm:1389 +msgid "" +"This bundle holds prototype implementations of concepts for a LaTeX\n" +"designer interface, to be used with the experimental LaTeX kernel as\n" +"programming tools and kernel support. Packages provided in this release are:\n" +"\n" +"@enumerate\n" +"@item l3keys2e, which makes the facilities of the kernel module l3keys\n" +" available for use by LaTeX 2e packages;\n" +"@item xfrac, which provides flexible splitlevel fractions;\n" +"@item xparse, which provides a high-level interface for declaring document\n" +" commands; and\n" +"@item xtemplate, which provides a means of defining generic functions using a\n" +" key-value syntax.\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/tex.scm:1421 +msgid "Advanced font selection in XeLaTeX and LuaLaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1423 +msgid "" +"Fontspec is a package for XeLaTeX and LuaLaTeX. It provides an\n" +"automatic and unified interface to feature-rich AAT and OpenType fonts through\n" +"the NFSS in LaTeX running on XeTeX or LuaTeX engines. The package requires\n" +"the l3kernel and xparse bundles from the LaTeX 3 development team." +msgstr "" + +#: gnu/packages/tex.scm:1458 +msgid "Lua modules for general programming (in the (La)TeX world)" +msgstr "" + +#: gnu/packages/tex.scm:1460 +msgid "" +"Lualibs is a collection of Lua modules useful for general programming.\n" +"The bundle is based on Lua modules shipped with ConTeXt, and made available in\n" +"this bundle for use independent of ConTeXt." +msgstr "" + +#: gnu/packages/tex.scm:1479 +msgid "AMS mathematical facilities for LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1481 +msgid "" +"This is the principal package in the AMS-LaTeX distribution. It adapts\n" +"for use in LaTeX most of the mathematical features found in AMS-TeX; it is\n" +"highly recommended as an adjunct to serious mathematical typesetting in LaTeX.\n" +"When amsmath is loaded, AMS-LaTeX packages @code{amsbsyamsbsy} (for bold\n" +"symbols), @code{amsopnamsopn} (for operator names) and\n" +"@code{amstextamstext} (for text embedded in mathematics) are also loaded.\n" +"This package is part of the LaTeX required distribution; however, several\n" +"contributed packages add still further to its appeal; examples are\n" +"@code{empheqempheq}, which provides functions for decorating and highlighting\n" +"mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar)\n" +"definitions." +msgstr "" + +#: gnu/packages/tex.scm:1508 +msgid "AMS document classes for LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1510 +msgid "" +"This bundle contains three AMS classes: @code{amsartamsart} (for writing\n" +"articles for the AMS), @code{amsbookamsbook} (for books) and\n" +"@code{amsprocamsproc} (for proceedings), together with some supporting\n" +"material. The material is made available as part of the AMS-LaTeX\n" +"distribution." +msgstr "" + +#: gnu/packages/tex.scm:1540 +msgid "Multilingual support for Plain TeX or LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1542 +msgid "" +"The package manages culturally-determined typographical (and other)\n" +"rules, and hyphenation patterns for a wide range of languages. A document may\n" +"select a single language to be supported, or it may select several, in which\n" +"case the document may switch from one language to another in a variety of\n" +"ways. Babel uses contributed configuration files that provide the detail of\n" +"what has to be done for each language. Users of XeTeX are advised to use the\n" +"polyglossia package rather than Babel." +msgstr "" + +#: gnu/packages/tex.scm:1565 +msgid "Babel support for English" +msgstr "" + +#: gnu/packages/tex.scm:1567 +msgid "" +"This package provides the language definition file for support of\n" +"English in @code{babel}. Care is taken to select British hyphenation patterns\n" +"for British English and Australian text, and default (\"american\") patterns\n" +"for Canadian and USA text." +msgstr "" + +#: gnu/packages/tex.scm:1587 +msgid "Support for Cyrillic fonts in LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1589 +msgid "" +"This bundle of macros files provides macro support (including font\n" +"encoding macros) for the use of Cyrillic characters in fonts encoded under the\n" +"T2* and X2 encodings. These encodings cover (between them) pretty much every\n" +"language that is written in a Cyrillic alphabet." +msgstr "" + +#: gnu/packages/tex.scm:1608 +msgid "Font support for common PostScript fonts" +msgstr "" + +#: gnu/packages/tex.scm:1610 +msgid "" +"The PSNFSS collection includes a set of files that provide a complete\n" +"working setup of the LaTeX font selection scheme (NFSS2) for use with common\n" +"PostScript fonts. It covers the so-called \"Base\" fonts (which are built\n" +"into any Level 2 PostScript printing device and the Ghostscript interpreter)\n" +"and a number of free fonts. It provides font definition files, macros and\n" +"font metrics. The bundle as a whole is part of the LaTeX required set of\n" +"packages." +msgstr "" + +#: gnu/packages/tex.scm:1695 +msgid "Union of TeX Live packages" +msgstr "" + +#: gnu/packages/tex.scm:1696 +msgid "" +"This package provides a subset of the TeX Live\n" +"distribution." +msgstr "" + +#: gnu/packages/tex.scm:1711 +msgid "" +"This is a very limited subset of the TeX Live distribution.\n" +"It includes little more than the required set of LaTeX packages." +msgstr "" + +#: gnu/packages/tex.scm:1728 +msgid "LaTeX-based replacement for BibTeX" +msgstr "" + +#: gnu/packages/tex.scm:1730 +msgid "" +"Amsrefs is a LaTeX package for bibliographies that provides an archival\n" +"data format similar to the format of BibTeX database files, but adapted to\n" +"make direct processing by LaTeX easier. The package can be used either in\n" +"conjunction with BibTeX or as a replacement for BibTeX." +msgstr "" + +#: gnu/packages/tex.scm:1757 +msgid "Footnotes for critical editions" +msgstr "" + +#: gnu/packages/tex.scm:1759 +msgid "" +"This package aims to provide a one-stop solution to requirements for\n" +"footnotes. It offers: Multiple footnote apparatus superior to that of\n" +"@code{manyfoot}. Footnotes can be formatted in separate paragraphs, or be run\n" +"into a single paragraph (this choice may be selected per footnote series);\n" +"Things you might have expected (such as @code{\\verb}-like material in\n" +"footnotes, and color selections over page breaks) now work. Note that the\n" +"majority of the bigfoot package's interface is identical to that of\n" +"@code{manyfoot}; users should seek information from that package's\n" +"documentation. The bigfoot bundle also provides the @code{perpage} and\n" +"@code{suffix} packages." +msgstr "" + +#: gnu/packages/tex.scm:1785 +msgid "Producing 'blind' text for testing" +msgstr "" + +#: gnu/packages/tex.scm:1787 +msgid "" +"The package provides the commands @code{\\blindtext} and\n" +"@code{\\Blindtext} for creating \"blind\" text useful in testing new classes\n" +"and packages, and @code{\\blinddocument}, @code{\\Blinddocument} for creating\n" +"an entire random document with sections, lists, mathematics, etc. The package\n" +"supports three languages, @code{english}, @code{(n)german} and @code{latin};\n" +"the @code{latin} option provides a short \"lorem ipsum\" (for a fuller \"lorem\n" +"ipsum\" text, see the @code{lipsum} package)." +msgstr "" + +#: gnu/packages/tex.scm:1817 +msgid "German letter DIN style" +msgstr "" + +#: gnu/packages/tex.scm:1819 +msgid "" +"This package implements a document layout for writing letters according\n" +"to the rules of DIN (Deutsches Institut für Normung, German standardisation\n" +"institute). A style file for LaTeX 2.09 (with limited support of the\n" +"features) is part of the package. Since the letter layout is based on a\n" +"German standard, the user guide is written in German, but most macros have\n" +"English names from which the user can recognize what they are used for. In\n" +"addition there are example files showing how letters may be created with the\n" +"package." +msgstr "" + +#: gnu/packages/tex.scm:1843 +msgid "Put a grey textual watermark on document pages" +msgstr "" + +#: gnu/packages/tex.scm:1845 +msgid "" +"This package provides a means to add a textual, light grey watermark on\n" +"every page or on the first page of a document. Typical usage may consist in\n" +"writing words such as DRAFT or CONFIDENTIAL across document pages. The\n" +"package performs a similar function to that of @code{draftcopy}, but its\n" +"implementation is output device independent, and made very simple by relying\n" +"on everypage." +msgstr "" + +#: gnu/packages/tex.scm:1867 +msgid "New interface for environments in LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:1869 +msgid "" +"This package provides the @code{\\collect@@body} command (as in\n" +"@code{amsmath}), as well as a @code{\\long} version @code{\\Collect@@Body},\n" +"for collecting the body text of an environment. These commands are used to\n" +"define a new author interface to creating new environments." +msgstr "" + +#: gnu/packages/tex.scm:1889 +msgid "Create equal-widthed parboxes" +msgstr "" + +#: gnu/packages/tex.scm:1891 +msgid "" +"LaTeX users sometimes need to ensure that two or more blocks of text\n" +"occupy the same amount of horizontal space on the page. To that end, the\n" +"@code{eqparbox} package defines a new command, @code{\\eqparbox}, which works\n" +"just like @code{\\parbox}, except that instead of specifying a width, one\n" +"specifies a tag. All @code{eqparbox}es with the same tag---regardless of\n" +"where they are in the document---will stretch to fit the widest\n" +"@code{eqparbox} with that tag. This simple, equal-width mechanism can be used\n" +"for a variety of alignment purposes, as is evidenced by the examples in\n" +"@code{eqparbox}'s documentation. Various derivatives of @code{\\eqparbox} are\n" +"also provided." +msgstr "" + +#: gnu/packages/tex.scm:1925 +msgid "Expanded description environments" +msgstr "" + +#: gnu/packages/tex.scm:1927 +msgid "" +"The package provides additional features for the LaTeX\n" +"@code{description} environment, including adjustable left margin. The package\n" +"also allows the user to \"break\" a list (for example, to interpose a comment)\n" +"without affecting the structure of the list (this works for @code{itemize} and\n" +"@code{enumerate} lists, and numbered lists remain in sequence)." +msgstr "" + +#: gnu/packages/tex.scm:1960 +msgid "Provide file modification times, and compare them" +msgstr "" + +#: gnu/packages/tex.scm:1962 +msgid "" +"This package provides macros to read and compare the modification dates\n" +"of files. The files may be @code{.tex} files, images or other files (as long\n" +"as they can be found by LaTeX). It uses the @code{\\pdffilemoddate} primitive\n" +"of pdfLaTeX to find the file modification date as PDF date string, parses the\n" +"string and returns the value to the user. The package will also work for DVI\n" +"output with recent versions of the LaTeX compiler which uses pdfLaTeX in DVI\n" +"mode. The functionality is provided by purely expandable macros or by faster\n" +"but non-expandable ones." +msgstr "" + +#: gnu/packages/tex.scm:1986 +msgid "Conditionals to test which platform is being used" +msgstr "" + +#: gnu/packages/tex.scm:1988 +msgid "" +"This package uses the (La)TeX extension @code{-shell-escape} to\n" +"establish whether the document is being processed on a Windows or on a\n" +"Unix-like system, or on Cygwin (Unix environment over a Windows system).\n" +"Booleans provided are: @code{\\ifwindows}, @code{\\iflinux}, @code{\\ifmacosx}\n" +"and @code{\\ifcygwin}. The package also preserves the output of @code{uname}\n" +"on a Unix-like system, which may be used to distinguish between various\n" +"classes of systems." +msgstr "" + +#: gnu/packages/tex.scm:2010 +msgid "Flexible bibliography support" +msgstr "" + +#: gnu/packages/tex.scm:2012 +msgid "" +"This bundle provides a package that implements both author-year and\n" +"numbered references, as well as much detailed of support for other\n" +"bibliography use. Also provided are versions of the standard BibTeX styles\n" +"that are compatible with @code{natbib}: @code{plainnat}, @code{unsrtnat},\n" +"@code{abbrnat}. The bibliography styles produced by @code{custom-bib} are\n" +"designed from the start to be compatible with @code{natbib}." +msgstr "" + +#: gnu/packages/tex.scm:2034 +msgid "Replace strings in encapsulated PostScript figures" +msgstr "" + +#: gnu/packages/tex.scm:2036 +msgid "" +"This package allows LaTeX constructions (equations, picture\n" +"environments, etc.) to be precisely superimposed over Encapsulated PostScript\n" +"figures, using your own favorite drawing tool to create an EPS figure and\n" +"placing simple text \"tags\" where each replacement is to be placed, with\n" +"PSfrag automatically removing these tags from the figure and replacing them\n" +"with a user specified LaTeX construction, properly aligned, scaled, and/or\n" +"rotated." +msgstr "" + +#: gnu/packages/tex.scm:2072 +msgid "Process PostScript graphisc within pdfLaTeX documents" +msgstr "" + +#: gnu/packages/tex.scm:2074 +msgid "" +"This is a package for processing PostScript graphics with @code{psfrag}\n" +"labels within pdfLaTeX documents. Every graphic is compiled individually,\n" +"drastically speeding up compilation time when only a single figure needs\n" +"re-processing." +msgstr "" + +#: gnu/packages/tex.scm:2097 +msgid "Make overhead slides" +msgstr "" + +#: gnu/packages/tex.scm:2100 +msgid "" +"This package provides a class that produces overhead\n" +"slides (transparencies), with many facilities. Seminar is not nowadays\n" +"reckoned a good basis for a presentation — users are advised to use more\n" +"recent classes such as powerdot or beamer, both of which are tuned to\n" +"21st-century presentation styles." +msgstr "" + +#: gnu/packages/tex.scm:2132 +msgid "Trim spaces around an argument or within a macro" +msgstr "" + +#: gnu/packages/tex.scm:2134 +msgid "" +"This very short package allows you to expandably remove spaces around a\n" +"token list (commands are provided to remove spaces before, spaces after, or\n" +"both); or to remove surrounding spaces within a macro definition, or to define\n" +"space-stripped macros." +msgstr "" + +#: gnu/packages/tex.scm:2167 +msgid "Captions on more than floats" +msgstr "" + +#: gnu/packages/tex.scm:2169 +msgid "" +"This package defines a command @code{\\captionof} for putting a caption\n" +"to something that's not a float." +msgstr "" + +#: gnu/packages/tex.scm:2200 +msgid "e-TeX tools for LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:2202 +msgid "" +"This package is a toolbox of programming facilities geared primarily\n" +"towards LaTeX class and package authors. It provides LaTeX frontends to some\n" +"of the new primitives provided by e-TeX as well as some generic tools which\n" +"are not strictly related to e-TeX but match the profile of this package. The\n" +"package provides functions that seem to offer alternative ways of implementing\n" +"some LaTeX kernel commands; nevertheless, the package will not modify any part\n" +"of the LaTeX kernel." +msgstr "" + +#: gnu/packages/tex.scm:2238 +msgid "Seven predefined chapter heading styles" +msgstr "" + +#: gnu/packages/tex.scm:2240 +msgid "" +"This package provides seven predefined chapter heading styles. Each\n" +"style can be modified using a set of simple commands. Optionally one can\n" +"modify the formatting routines in order to create additional chapter\n" +"headings." +msgstr "" + +#: gnu/packages/tex.scm:2273 +msgid "Framed or shaded regions that can break across pages" +msgstr "" + +#: gnu/packages/tex.scm:2275 +msgid "" +"The package creates three environments: @code{framed}, which puts an\n" +"ordinary frame box around the region, @code{shaded}, which shades the region,\n" +"and @code{leftbar}, which places a line at the left side. The environments\n" +"allow a break at their start (the @code{\\FrameCommand} enables creation of a\n" +"title that is “attached” to the environment); breaks are also allowed in the\n" +"course of the framed/shaded matter. There is also a command\n" +"@code{\\MakeFramed} to make your own framed-style environments." +msgstr "" + +#: gnu/packages/tex.scm:2307 +msgid "Letter document class" +msgstr "" + +#: gnu/packages/tex.scm:2309 +msgid "" +"This package is designed for formatting formless letters in German; it\n" +"can also be used for English (by those who can read the documentation). There\n" +"are LaTeX 2.09 @code{documentstyle} and LaTeX 2e class files for both an\n" +"\"old\" and a \"new\" version of g-brief." +msgstr "" + +#: gnu/packages/tex.scm:2329 +msgid "Typeset Galois connections" +msgstr "" + +#: gnu/packages/tex.scm:2331 +msgid "" +"The package deals with connections in two-dimensional style, optionally\n" +"in colour." +msgstr "" + +#: gnu/packages/tex.scm:2349 +msgid "Citations in a reader-friendly style" +msgstr "" + +#: gnu/packages/tex.scm:2351 +msgid "" +"The package allows citations in the German style, which is considered by\n" +"many to be particularly reader-friendly. The citation provides a small amount\n" +"of bibliographic information in a footnote on the page where each citation is\n" +"made. It combines a desire to eliminate unnecessary page-turning with the\n" +"look-up efficiency afforded by numeric citations. The package makes use of\n" +"BibLaTeX, and is considered experimental." +msgstr "" + +#: gnu/packages/tex.scm:2373 +msgid "Flexible and complete interface to document dimensions" +msgstr "" + +#: gnu/packages/tex.scm:2375 +msgid "" +"This package provides an easy and flexible user interface to customize\n" +"page layout, implementing auto-centering and auto-balancing mechanisms so that\n" +"the users have only to give the least description for the page layout. The\n" +"package knows about all the standard paper sizes, so that the user need not\n" +"know what the nominal \"real\" dimensions of the paper are, just its standard\n" +"name (such as a4, letter, etc.). An important feature is the package's\n" +"ability to communicate the paper size it's set up to the output." +msgstr "" + +#: gnu/packages/tex.scm:2398 +msgid "Miscellaneous tools by Mark Wooding" +msgstr "" + +#: gnu/packages/tex.scm:2400 +msgid "" +"This collection of tools includes: @code{atsupport} for short commands\n" +"starting with @code{@@}, macros to sanitize the OT1 encoding of the\n" +"@code{cmtt} fonts; a @code{doafter} command; improved @code{footnote} support;\n" +"@code{mathenv} for various alignment in maths; list handling; @code{mdwmath}\n" +"which adds some minor changes to LaTeX maths; a rewrite of LaTeX's tabular and\n" +"array environments; verbatim handling; and syntax diagrams." +msgstr "" + +#: gnu/packages/tex.scm:2422 +msgid "Alternative to babel for XeLaTeX and LuaLaTeX" +msgstr "" + +#: gnu/packages/tex.scm:2424 +msgid "" +"This package provides a complete Babel replacement for users of LuaLaTeX\n" +"and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least." +msgstr "" + +#: gnu/packages/tex.scm:2442 +msgid "Multi-page tables package" +msgstr "" + +#: gnu/packages/tex.scm:2444 +msgid "" +"This package was a predecessor of @code{longtable}; the newer\n" +"package (designed on quite different principles) is easier to use and more\n" +"flexible, in many cases, but supertabular retains its usefulness in a few\n" +"situations where longtable has problems." +msgstr "" + +#: gnu/packages/tex.scm:2476 +msgid "TeX macros to handle Texinfo files" +msgstr "" + +#: gnu/packages/tex.scm:2478 +msgid "" +"Texinfo is the preferred format for documentation in the GNU project;\n" +"the format may be used to produce online or printed output from a single\n" +"source. The Texinfo macros may be used to produce printable output using TeX;\n" +"other programs in the distribution offer online interactive use (with\n" +"hypertext linkages in some cases)." +msgstr "" + +#: gnu/packages/tex.scm:2499 +msgid "Show \"realistic\" quotes in verbatim" +msgstr "" + +#: gnu/packages/tex.scm:2501 +msgid "" +"Typewriter-style fonts are best for program listings, but Computer\n" +"Modern Typewriter prints @code{`} and @code{'} as bent opening and closing\n" +"single quotes. Other fonts, and most programming languages, print @code{`} as\n" +"a grave accent and @code{'} upright; @code{'} is used both to open and to\n" +"close quoted strings. The package switches the typewriter font to Computer\n" +"Modern Typewriter in OT1 encoding, and modifies the behaviour of\n" +"@code{verbatim}, @code{verbatim*}, @code{\\verb}, and @code{\\verb*} to print\n" +"in the expected way. It does this regardless of other fonts or encodings in\n" +"use, so long as the package is loaded after the other fonts were. The package\n" +"does not affect @code{\\tt}, @code{\\texttt}, etc." +msgstr "" + +#: gnu/packages/tex.scm:2539 +msgid "Simple package to set up document margins" +msgstr "" + +#: gnu/packages/tex.scm:2541 +msgid "" +"This is a simple package to set up document margins. This package is\n" +"considered obsolete; alternatives are the @code{typearea} package from the\n" +"@code{koma-script} bundle, or the @code{geometry} package." +msgstr "" + +#: gnu/packages/tex.scm:2559 +msgid "Extra control of appendices" +msgstr "" + +#: gnu/packages/tex.scm:2561 +msgid "" +"The appendix package provides various ways of formatting the titles of\n" +"appendices. Also (sub)appendices environments are provided that can be used,\n" +"for example, for per chapter/section appendices. An @code{appendices}\n" +"environment is provided which can be used instead of the @code{\\appendix}\n" +"command." +msgstr "" + +#: gnu/packages/tex.scm:2581 +msgid "Generate changebars in LaTeX documents" +msgstr "" + +#: gnu/packages/tex.scm:2583 +msgid "" +"Identify areas of text to be marked with changebars with the\n" +"@code{\\cbstart} and @code{\\cbend} commands; the bars may be coloured. The\n" +"package uses 'drivers' to place the bars; the available drivers can work with\n" +"@code{dvitoln03}, @code{dvitops}, @code{dvips}, the emTeX and TeXtures DVI\n" +"drivers, and VTeX and pdfTeX." +msgstr "" + +#: gnu/packages/tex.scm:2618 +msgid "CMap support for PDF files" +msgstr "" + +#: gnu/packages/tex.scm:2620 +msgid "" +"This package embeds CMap tables into PDF files to make search and\n" +"copy-and-paste functions work properly." +msgstr "" + +#: gnu/packages/tex.scm:2637 +msgid "Add colour to LaTeX tables" +msgstr "" + +#: gnu/packages/tex.scm:2639 +msgid "" +"This package allows rows, columns, and even individual cells in LaTeX\n" +"tables to be coloured." +msgstr "" + +#: gnu/packages/tex.scm:2669 +msgid "Variants of \\fbox and other games with boxes" +msgstr "" + +#: gnu/packages/tex.scm:2671 +msgid "" +"This package provides variants of @code{\\fbox}: @code{\\shadowbox},\n" +"@code{\\doublebox}, @code{\\ovalbox}, @code{\\Ovalbox}, with helpful tools for\n" +"using box macros and flexible verbatim macros. You can box mathematics,\n" +"floats, center, flushleft, and flushright, lists, and pages." +msgstr "" + +#: gnu/packages/tex.scm:2703 +msgid "Extensive control of page headers and footers in LaTeX2e" +msgstr "" + +#: gnu/packages/tex.scm:2705 +msgid "" +"The package provides extensive facilities, both for constructing headers\n" +"and footers, and for controlling their use (for example, at times when LaTeX\n" +"would automatically change the heading style in use)." +msgstr "" + +#: gnu/packages/tex.scm:2723 +msgid "Improved interface for floating objects" +msgstr "" + +#: gnu/packages/tex.scm:2725 +msgid "" +"This package improves the interface for defining floating objects such\n" +"as figures and tables. It introduces the boxed float, the ruled float and the\n" +"plaintop float. You can define your own floats and improve the behaviour of\n" +"the old ones. The package also provides the @code{H} float modifier option of\n" +"the obsolete @code{here} package. You can select this as automatic default\n" +"with @code{\\floatplacement{figure}{H}}." +msgstr "" + +#: gnu/packages/tex.scm:2746 +msgid "Range of footnote options" +msgstr "" + +#: gnu/packages/tex.scm:2748 +msgid "" +"This is a collection of ways to change the typesetting of footnotes.\n" +"The package provides means of changing the layout of the footnotes themselves,\n" +"a way to number footnotes per page, to make footnotes disappear in a\n" +"\"moving\" argument, and to deal with multiple references to footnotes from\n" +"the same place. The package also has a range of techniques for labelling\n" +"footnotes with symbols rather than numbers." +msgstr "" + +#: gnu/packages/tex.scm:2771 +msgid "Typeset source code listings using LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:2773 +msgid "" +"The package enables the user to typeset programs (programming code)\n" +"within LaTeX; the source code is read directly by TeX---no front-end processor\n" +"is needed. Keywords, comments and strings can be typeset using different\n" +"styles. Support for @code{hyperref} is provided." +msgstr "" + +#: gnu/packages/tex.scm:2805 +msgid "Miscellaneous packages by Joerg Knappen" +msgstr "" + +#: gnu/packages/tex.scm:2807 +msgid "" +"This package provides miscellaneous macros by Joerg Knappen, including:\n" +"represent counters in greek; Maxwell's non-commutative division;\n" +"@code{latin1jk}, @code{latin2jk} and @code{latin3jk}, which are\n" +"@code{inputenc} definition files that allow verbatim input in the respective\n" +"ISO Latin codes; blackboard bold fonts in maths; use of RSFS fonts in maths;\n" +"extra alignments for @code{\\parboxes}; swap Roman and Sans fonts;\n" +"transliterate semitic languages; patches to make (La)TeX formulae embeddable\n" +"in SGML; use maths minus in text as appropriate; simple Young tableaux." +msgstr "" + +#: gnu/packages/tex.scm:2880 +msgid "Computer modern fonts in T1 and TS1 encodings" +msgstr "" + +#: gnu/packages/tex.scm:2882 +msgid "" +"The EC fonts are European Computer Modern Fonts, supporting the complete\n" +"LaTeX T1 encoding defined at the 1990 TUG conference hold at Cork/Ireland.\n" +"These fonts are intended to be stable with no changes being made to the tfm\n" +"files. The set also contains a Text Companion Symbol font, called @code{tc},\n" +"featuring many useful characters needed in text typesetting, for example\n" +"oldstyle digits, currency symbols (including the newly created Euro symbol),\n" +"the permille sign, copyright, trade mark and servicemark as well as a copyleft\n" +"sign, and many others. Recent releases of LaTeX2e support the EC fonts. The\n" +"EC fonts supersede the preliminary version released as the DC fonts. The\n" +"fonts are available in (traced) Adobe Type 1 format, as part of the\n" +"@code{cm-super} bundle. The other Computer Modern-style T1-encoded Type 1\n" +"set, Latin Modern, is not actually a direct development of the EC set, and\n" +"differs from the EC in a number of particulars." +msgstr "" + +#: gnu/packages/tex.scm:2961 +msgid "Ralph Smith's Formal Script font" +msgstr "" + +#: gnu/packages/tex.scm:2963 +msgid "" +"The fonts provide uppercase formal script letters for use as symbols in\n" +"scientific and mathematical typesetting (in contrast to the informal script\n" +"fonts such as that used for the calligraphic symbols in the TeX maths symbol\n" +"font). The fonts are provided as Metafont source, and as derived Adobe Type 1\n" +"format. LaTeX support, for using these fonts in mathematics, is available via\n" +"one of the packages @code{calrsfs} and @code{mathrsfs}." +msgstr "" + +#: gnu/packages/tex.scm:2984 +msgid "Add picture commands (or backgrounds) to every page" +msgstr "" + +#: gnu/packages/tex.scm:2986 +msgid "" +"The package adds one or more user commands to LaTeX's @code{shipout}\n" +"routine, which may be used to place the output at fixed positions. The\n" +"@code{grid} option may be used to find the correct places." +msgstr "" + +#: gnu/packages/tex.scm:3017 +msgid "Extensions to epic and the LaTeX drawing tools" +msgstr "" + +#: gnu/packages/tex.scm:3019 +msgid "" +"Extensions to @code{epic} and the LaTeX picture drawing environment,\n" +"include the drawing of lines at any slope, the drawing of circles in any\n" +"radii, and the drawing of dotted and dashed lines much faster with much less\n" +"TeX memory, and providing several new commands for drawing ellipses, arcs,\n" +"splines, and filled circles and ellipses. The package uses @code{tpic}\n" +"@code{\\special} commands." +msgstr "" + +#: gnu/packages/tex.scm:3054 +msgid "Customize basic list environments" +msgstr "" + +#: gnu/packages/tex.scm:3056 +msgid "" +"This package is intended to ease customizing the three basic list\n" +"environments: @code{enumerate}, @code{itemize} and @code{description}. It\n" +"extends their syntax to allow an optional argument where a set of parameters\n" +"in the form @code{key=value} are available, for example:\n" +"@code{\\begin{itemize}[itemsep=1ex,leftmargin=1cm]}." +msgstr "" + +#: gnu/packages/tex.scm:3076 +msgid "Create tabular cells spanning multiple rows" +msgstr "" + +#: gnu/packages/tex.scm:3078 +msgid "" +"The package provides tools for creating tabular cells spanning multiple\n" +"rows. It has a lot of flexibility, including an option for specifying an\n" +"entry at the \"natural\" width of its text." +msgstr "" + +#: gnu/packages/tex.scm:3109 +msgid "Combine LaTeX commands over included graphics" +msgstr "" + +#: gnu/packages/tex.scm:3111 +msgid "" +"The @code{overpic} environment is a cross between the LaTeX\n" +"@code{picture} environment and the @code{\\includegraphics} command of\n" +"@code{graphicx}. The resulting picture environment has the same dimensions as\n" +"the included graphic. LaTeX commands can be placed on the graphic at defined\n" +"positions; a grid for orientation is available." +msgstr "" + +#: gnu/packages/tex.scm:3145 +msgid "Layout with zero \\parindent, non-zero \\parskip" +msgstr "" + +#: gnu/packages/tex.scm:3147 +msgid "" +"Simply changing @code{\\parskip} and @code{\\parindent} leaves a layout\n" +"that is untidy; this package (though it is no substitute for a properly\n" +"designed class) helps alleviate this untidiness." +msgstr "" + +#: gnu/packages/tex.scm:3165 +msgid "Include PDF documents in LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:3167 +msgid "" +"This package simplifies the inclusion of external multi-page PDF\n" +"documents in LaTeX documents. Pages may be freely selected and it is possible\n" +"to put several logical pages onto each sheet of paper. Furthermore a lot of\n" +"hypertext features like hyperlinks and article threads are provided. The\n" +"package supports pdfTeX (pdfLaTeX) and VTeX. With VTeX it is even possible to\n" +"use this package to insert PostScript files, in addition to PDF files." +msgstr "" + +#: gnu/packages/tex.scm:3198 +msgid "St Mary Road symbols for theoretical computer science" +msgstr "" + +#: gnu/packages/tex.scm:3200 +msgid "" +"The fonts were originally distributed as Metafont sources only, but\n" +"Adobe Type 1 versions are also now available. Macro support is provided for\n" +"use under LaTeX; the package supports the @code{only} option (provided by the\n" +"@code{somedefs} package) to restrict what is loaded, for those who don't need\n" +"the whole font." +msgstr "" + +#: gnu/packages/tex.scm:3220 +msgid "Figures divided into subfigures" +msgstr "" + +#: gnu/packages/tex.scm:3222 +msgid "" +"This (deprecated) package provides support for the manipulation and\n" +"reference of small or \"sub\" figures and tables within a single figure or\n" +"table environment. It is convenient to use this package when your subfigures\n" +"are to be separately captioned, referenced, or are to be included in the\n" +"List-of-Figures. A new @code{\\subfigure} command is introduced which can be\n" +"used inside a figure environment for each subfigure. An optional first\n" +"argument is used as the caption for that subfigure. The package is now\n" +"considered obsolete: it was superseded by @code{subfig}, but users may find\n" +"the more recent @code{subcaption} package more satisfactory." +msgstr "" + +#: gnu/packages/tex.scm:3247 +msgid "Tabular with variable width columns balanced" +msgstr "" + +#: gnu/packages/tex.scm:3249 +msgid "" +"The package defines a @code{tabular*}-like environment, @code{tabulary},\n" +"taking a \"total width\" argument as well as the column specifications. The\n" +"environment uses column types @code{L}, @code{C}, @code{R} and @code{J} for\n" +"variable width columns (@code{\\raggedright}, @code{\\centering},\n" +"@code{\\raggedleft}, and normally justified). In contrast to\n" +"@code{tabularx}'s @code{X} columns, the width of each column is weighted\n" +"according to the natural width of the widest cell in the column." +msgstr "" + +#: gnu/packages/tex.scm:3284 +msgid "Tables with captions and notes all the same width" +msgstr "" + +#: gnu/packages/tex.scm:3286 +msgid "" +"This package facilitates tables with titles (captions) and notes. The\n" +"title and notes are given a width equal to the body of the table (a\n" +"@code{tabular} environment). By itself, a @code{threeparttable} does not\n" +"float, but you can put it in a @code{table} or a @code{table*} or some other\n" +"environment." +msgstr "" + +#: gnu/packages/tex.scm:3407 +msgid "Times-like fonts in support of mathematics" +msgstr "" + +#: gnu/packages/tex.scm:3409 +msgid "" +"Txfonts supplies virtual text roman fonts using Adobe Times (or URW\n" +"NimbusRomNo9L) with some modified and additional text symbols in the OT1, T1,\n" +"and TS1 encodings; maths alphabets using Times/URW Nimbus; maths fonts\n" +"providing all the symbols of the Computer Modern and AMS fonts, including all\n" +"the Greek capital letters from CMR; and additional maths fonts of various\n" +"other symbols.\n" +"\n" +"The set is complemented by a sans-serif set of text fonts, based on\n" +"Helvetica/NimbusSanL, and a monospace set.\n" +"\n" +"All the fonts are in Type 1 format (AFM and PFB files), and are supported by\n" +"TeX metrics (VF and TFM files) and macros for use with LaTeX." +msgstr "" + +#: gnu/packages/tex.scm:3450 +msgid "Select alternative section titles" +msgstr "" + +#: gnu/packages/tex.scm:3452 +msgid "" +"This package provides an interface to sectioning commands for selection\n" +"from various title styles, e.g. for marginal titles and to change the font of\n" +"all headings with a single command, also providing simple one-step page\n" +"styles. It also includes a package to change the page styles when there are\n" +"floats in a page. You may assign headers/footers to individual floats, too." +msgstr "" + +#: gnu/packages/tex.scm:3473 +msgid "Arbitrary size font selection in LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:3475 +msgid "" +"LaTeX, by default, restricts the sizes at which you can use its default\n" +"computer modern fonts, to a fixed set of discrete sizes (effectively, a set\n" +"specified by Knuth). The @code{type1cm} package removes this restriction;\n" +"this is particularly useful when using scalable versions of the CM\n" +"fonts (Bakoma, or the versions from BSR/Y&Y, or True Type versions from Kinch,\n" +"PCTeX, etc.). In fact, since modern distributions will automatically generate\n" +"any bitmap font you might need, @code{type1cm} has wider application than just\n" +"those using scaleable versions of the fonts. Note that the LaTeX distribution\n" +"now contains a package @code{fix-cm},f which performs the task of\n" +"@code{type1cm}, as well as doing the same job for T1- and TS1-encoded\n" +"@code{ec} fonts." +msgstr "" + +#: gnu/packages/tex.scm:3501 +msgid "Cyrillic fonts that support LaTeX standard encodings" +msgstr "" + +#: gnu/packages/tex.scm:3503 +msgid "" +"The LH fonts address the problem of the wide variety of alphabets that\n" +"are written with Cyrillic-style characters. The fonts are the original basis\n" +"of the set of T2* and X2 encodings that are now used when LaTeX users need to\n" +"write in Cyrillic languages. Macro support in standard LaTeX encodings is\n" +"offered through the latex-cyrillic and t2 bundles, and the package itself\n" +"offers support for other (more traditional) encodings. The fonts, in the\n" +"standard T2* and X2 encodings are available in Adobe Type 1 format, in the\n" +"CM-Super family of fonts. The package also offers its own LaTeX support for\n" +"OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts." +msgstr "" + +#: gnu/packages/tex.scm:3540 +msgid "Create scalable illustrations" +msgstr "" + +#: gnu/packages/tex.scm:3542 +msgid "" +"MetaPost uses a language based on that of Metafont to produce precise\n" +"technical illustrations. Its output is scalable PostScript or SVG, rather\n" +"than the bitmaps Metafont creates." +msgstr "" + +#: gnu/packages/tex.scm:3561 +msgid "Class for typesetting publications of ACM" +msgstr "" + +#: gnu/packages/tex.scm:3563 +msgid "" +"This package provides a class for typesetting publications of the\n" +"Association for Computing Machinery (ACM)." +msgstr "" + +#: gnu/packages/tex.scm:3594 +msgid "Variable-width minipage" +msgstr "" + +#: gnu/packages/tex.scm:3596 +msgid "" +"The @code{varwidth} environment is superficially similar to\n" +"@code{minipage}, but the specified width is just a maximum value — the box may\n" +"get a narrower “natural” width." +msgstr "" + +#: gnu/packages/tex.scm:3614 +msgid "LaTeX support file to use the WASY2 fonts" +msgstr "" + +#: gnu/packages/tex.scm:3616 +msgid "" +"The wasy2WASY2 (Waldi Symbol) font by Roland Waldi provides many glyphs\n" +"like male and female symbols and astronomical symbols, as well as the complete\n" +"lasy font set and other odds and ends. The wasysym package implements an easy\n" +"to use interface for these symbols." +msgstr "" + +#: gnu/packages/tex.scm:3649 +msgid "Produces figures which text can flow around" +msgstr "" + +#: gnu/packages/tex.scm:3651 +msgid "" +"This package allows figures or tables to have text wrapped around them.\n" +"It does not work in combination with list environments, but can be used in a\n" +"@code{parbox} or @code{minipage}, and in two-column format." +msgstr "" + +#: gnu/packages/tex.scm:3683 +msgid "Extended UTF-8 input encoding support for LaTeX" +msgstr "" + +#: gnu/packages/tex.scm:3685 +msgid "" +"The bundle provides the @code{ucs} package, and @code{utf8x.def},\n" +"together with a large number of support files. The @code{utf8x.def}\n" +"definition file for use with @code{inputenc} covers a wider range of Unicode\n" +"characters than does @code{utf8.def} in the LaTeX distribution. The package\n" +"provides facilities for efficient use of its large sets of Unicode characters.\n" +"Glyph production may be controlled by various options, which permits use of\n" +"non-ASCII characters when coding mathematical formulae. Note that the bundle\n" +"previously had an alias “unicode”; that alias has now been withdrawn, and no\n" +"package of that name now exists." +msgstr "" + +#: gnu/packages/tex.scm:3717 +msgid "Extract bits of a LaTeX source for output" +msgstr "" + +#: gnu/packages/tex.scm:3719 +msgid "" +"The main purpose of the preview package is the extraction of selected\n" +"elements from a LaTeX source, like formulas or graphics, into separate\n" +"pages of a DVI file. A flexible and convenient interface allows it to\n" +"specify what commands and constructs should be extracted. This works\n" +"with DVI files postprocessed by either Dvips and Ghostscript or\n" +"dvipng, but it also works when you are using PDFTeX for generating PDF\n" +"files." +msgstr "" + +#: gnu/packages/tex.scm:3742 +msgid "Expand acronyms at least once" +msgstr "" + +#: gnu/packages/tex.scm:3744 +msgid "" +"This package ensures that all acronyms used in the text are spelled out\n" +"in full at least once. It also provides an environment to build a list of\n" +"acronyms used. The package is compatible with PDF bookmarks. The package\n" +"requires the suffix package, which in turn requires that it runs under\n" +"e-TeX." +msgstr "" + +#: gnu/packages/tex.scm:3777 +msgid "TeX extension for direct creation of PDF" +msgstr "" + +#: gnu/packages/tex.scm:3779 +msgid "" +"This package provides an extension of TeX which can be configured to\n" +"directly generate PDF documents instead of DVI." +msgstr "" + +#: gnu/packages/tex.scm:3846 +msgid "" +"TeX Live provides a comprehensive TeX document production system.\n" +"It includes all the major TeX-related programs, macro packages, and fonts\n" +"that are free software, including support for many languages around the\n" +"world.\n" +"\n" +"This package contains the complete tree of texmf-dist data." +msgstr "" + +#: gnu/packages/tex.scm:3908 +msgid "" +"TeX Live provides a comprehensive TeX document production system.\n" +"It includes all the major TeX-related programs, macro packages, and fonts\n" +"that are free software, including support for many languages around the\n" +"world.\n" +"\n" +"This package contains the complete TeX Live distribution." +msgstr "" + +#: gnu/packages/tex.scm:3951 +msgid "Interface to read and parse BibTeX files" +msgstr "" + +#: gnu/packages/tex.scm:3952 +msgid "" +"@code{Text::BibTeX} is a Perl library for reading, parsing,\n" +"and processing BibTeX files. @code{Text::BibTeX} gives you access to the data\n" +"at many different levels: you may work with BibTeX entries as simple field to\n" +"string mappings, or get at the original form of the data as a list of simple\n" +"values (strings, macros, or numbers) pasted together." +msgstr "" + +#: gnu/packages/tex.scm:4034 +msgid "Backend for the BibLaTeX citation management tool" +msgstr "" + +#: gnu/packages/tex.scm:4035 +msgid "" +"Biber is a BibTeX replacement for users of biblatex. Among\n" +"other things it comes with full Unicode support." +msgstr "" + +#: gnu/packages/tex.scm:4059 +msgid "Wrapper for LaTeX and friends" +msgstr "" + +#: gnu/packages/tex.scm:4061 +msgid "" +"Rubber is a program whose purpose is to handle all tasks related to the\n" +"compilation of LaTeX documents. This includes compiling the document itself,\n" +"of course, enough times so that all references are defined, and running BibTeX\n" +"to manage bibliographic references. Automatic execution of dvips to produce\n" +"PostScript documents is also included, as well as usage of pdfLaTeX to produce\n" +"PDF documents." +msgstr "" + +#: gnu/packages/tex.scm:4103 +msgid "LaTeX editor" +msgstr "" + +#: gnu/packages/tex.scm:4104 +msgid "" +"Texmaker is a program that integrates many tools needed to\n" +"develop documents with LaTeX, in a single application." +msgstr "" + +#: gnu/packages/tex.scm:4143 +msgid "Book on TeX, plain TeX and Eplain" +msgstr "" + +#: gnu/packages/tex.scm:4144 +msgid "" +"@i{TeX for the Impatient} is a ~350 page book on TeX,\n" +"plain TeX, and Eplain, originally written by Paul Abrahams, Kathryn Hargreaves,\n" +"and Karl Berry." +msgstr "" + +#: gnu/packages/texinfo.scm:56 +msgid "The GNU documentation format" +msgstr "" + +#: gnu/packages/texinfo.scm:58 +msgid "" +"Texinfo is the official documentation format of the GNU project. It\n" +"uses a single source file using explicit commands to produce a final document\n" +"in any of several supported output formats, such as HTML or PDF. This\n" +"package includes both the tools necessary to produce Info documents from\n" +"their source and the command-line Info reader. The emphasis of the language\n" +"is on expressing the content semantically, avoiding physical markup commands." +msgstr "" + +#: gnu/packages/texinfo.scm:139 +msgid "Standalone Info documentation reader" +msgstr "" + +#: gnu/packages/texinfo.scm:169 +msgid "Convert Texinfo to HTML" +msgstr "" + +#: gnu/packages/texinfo.scm:171 +msgid "" +"Texi2HTML is a Perl script which converts Texinfo source files to HTML\n" +"output. It now supports many advanced features, such as internationalization\n" +"and extremely configurable output formats.\n" +"\n" +"Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it\n" +"was meant to replace the makeinfo implementation in GNU Texinfo. The route\n" +"forward for authors is, in most cases, to alter manuals and build processes as\n" +"necessary to use the new features of the makeinfo/texi2any implementation of\n" +"GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author\n" +"of the GNU Texinfo implementation) do not intend to make further releases of\n" +"Texi2HTML." +msgstr "" + +#: gnu/packages/textutils.scm:76 +msgid "DOS/Mac to Unix and vice versa text file format converter" +msgstr "" + +#: gnu/packages/textutils.scm:78 +msgid "" +"dos2unix is a tool to convert line breaks in a text file from Unix format\n" +"to DOS format and vice versa." +msgstr "" + +#: gnu/packages/textutils.scm:111 +msgid "Text encoding converter" +msgstr "" + +#: gnu/packages/textutils.scm:112 +msgid "" +"The Recode library converts files between character sets and\n" +"usages. It recognises or produces over 200 different character sets (or about\n" +"300 if combined with an iconv library) and transliterates files between almost\n" +"any pair. When exact transliteration are not possible, it gets rid of\n" +"offending characters or falls back on approximations. The recode program is a\n" +"handy front-end to the library." +msgstr "" + +#: gnu/packages/textutils.scm:140 +msgid "Text encoding detection tool" +msgstr "" + +#: gnu/packages/textutils.scm:141 +msgid "" +"Enca (Extremely Naive Charset Analyser) consists of libenca,\n" +"an encoding detection library, and enca, a command line frontend, integrating\n" +"libenca and several charset conversion libraries and tools." +msgstr "" + +#: gnu/packages/textutils.scm:191 +msgid "C library for processing UTF-8 Unicode data" +msgstr "" + +#: gnu/packages/textutils.scm:192 +msgid "" +"utf8proc is a small C library that provides Unicode\n" +"normalization, case-folding, and other operations for data in the UTF-8\n" +"encoding, supporting Unicode version 9.0.0." +msgstr "" + +#: gnu/packages/textutils.scm:220 +msgid "Gordon's text utils library" +msgstr "" + +#: gnu/packages/textutils.scm:222 +msgid "" +"libgtextutils is a text utilities library used by the fastx toolkit from\n" +"the Hannon Lab." +msgstr "" + +#: gnu/packages/textutils.scm:254 +msgid "C++ hash functions for strings" +msgstr "" + +#: gnu/packages/textutils.scm:256 +msgid "" +"CityHash provides hash functions for strings. The functions mix the\n" +"input bits thoroughly but are not suitable for cryptography." +msgstr "" + +#: gnu/packages/textutils.scm:294 +msgid "String library with very low memory overhead" +msgstr "" + +#: gnu/packages/textutils.scm:296 +msgid "Ustr is a string library for C with very low memory overhead." +msgstr "" + +#: gnu/packages/textutils.scm:317 +msgid "C/C++ configuration file library" +msgstr "" + +#: gnu/packages/textutils.scm:319 +msgid "" +"Libconfig is a simple library for manipulating structured configuration\n" +"files. This file format is more compact and more readable than XML. And\n" +"unlike XML, it is type-aware, so it is not necessary to do string parsing in\n" +"application code." +msgstr "" + +#: gnu/packages/textutils.scm:339 +msgid "Probabilistic fast file fingerprinting tool" +msgstr "" + +#: gnu/packages/textutils.scm:341 +msgid "" +"pfff is a tool for calculating a compact digital fingerprint of a file\n" +"by sampling randomly from the file instead of reading it in full.\n" +"Consequently, the computation has a flat performance characteristic,\n" +"correlated with data variation rather than file size. pfff can be as reliable\n" +"as existing hashing techniques, with provably negligible risk of collisions." +msgstr "" + +#: gnu/packages/textutils.scm:362 +msgid "Regular expression library" +msgstr "" + +#: gnu/packages/textutils.scm:363 +msgid "" +"Oniguruma is a regular expressions library. The special\n" +"characteristic of this library is that different character encoding for every\n" +"regular expression object can be specified." +msgstr "" + +#: gnu/packages/textutils.scm:396 +msgid "Microsoft Word document reader" +msgstr "" + +#: gnu/packages/textutils.scm:397 +msgid "" +"Antiword is an application for displaying Microsoft Word\n" +"documents. It can also convert the document to PostScript or XML. Only\n" +"documents made by MS Word version 2 and version 6 or later are supported. The\n" +"name comes from: \"The antidote against people who send Microsoft Word files\n" +"to everybody, because they believe that everybody runs Windows and therefore\n" +"runs Word\"." +msgstr "" + +#: gnu/packages/textutils.scm:430 +msgid "MS-Word to TeX or plain text converter" +msgstr "" + +#: gnu/packages/textutils.scm:431 +msgid "" +"@command{catdoc} extracts text from MS-Word files, trying to\n" +"preserve as many special printable characters as possible. It supports\n" +"everything up to Word-97. Also supported are MS Write documents and RTF files.\n" +"\n" +"@command{catdoc} does not preserve complex word formatting, but it can\n" +"translate some non-ASCII characters into TeX escape codes. It's goal is to\n" +"extract plain text and allow you to read it and, probably, reformat with TeX,\n" +"according to TeXnical rules.\n" +"\n" +"This package also provides @command{xls2csv}, which extracts data from Excel\n" +"spreadsheets and outputs it in comma-separated-value format, and\n" +"@command{catppt}, which extracts data from PowerPoint presentations." +msgstr "" + +#: gnu/packages/textutils.scm:479 +msgid "Portable C++ library for handling UTF-8" +msgstr "" + +#: gnu/packages/textutils.scm:480 +msgid "" +"UTF8-CPP is a C++ library for handling UTF-8 encoded text\n" +"in a portable way." +msgstr "" + +#: gnu/packages/textutils.scm:546 +msgid "Bayesian text and email classifier" +msgstr "" + +#: gnu/packages/textutils.scm:548 +msgid "" +"dbacl is a fast Bayesian text and email classifier. It builds a variety\n" +"of language models using maximum entropy (minimum divergence) principles, and\n" +"these can then be used to categorize input data automatically among multiple\n" +"categories." +msgstr "" + +#: gnu/packages/textutils.scm:590 +msgid "Configuration file parser library" +msgstr "" + +#: gnu/packages/textutils.scm:592 +msgid "C library for creating and parsing configuration files." +msgstr "" + +#: gnu/packages/textutils.scm:620 +msgid "Syntax highlighting text component for Java Swing" +msgstr "" + +#: gnu/packages/textutils.scm:621 +msgid "" +"RSyntaxTextArea is a syntax highlighting, code folding text\n" +"component for Java Swing. It extends @code{JTextComponent} so it integrates\n" +"completely with the standard @code{javax.swing.text} package. It is fast and\n" +"efficient, and can be used in any application that needs to edit or view\n" +"source code." +msgstr "" + +#: gnu/packages/textutils.scm:658 +msgid "Fast implementation of the edit distance (Levenshtein distance)" +msgstr "" + +#: gnu/packages/textutils.scm:660 +msgid "" +"This library simply implements Levenshtein distance algorithm with C++\n" +"and Cython." +msgstr "" + +#: gnu/packages/version-control.scm:121 +msgid "Version control system supporting both distributed and centralized workflows" +msgstr "" + +#: gnu/packages/version-control.scm:123 +msgid "" +"GNU Bazaar is a version control system that allows you to record\n" +"changes to project files over time. It supports both a distributed workflow\n" +"as well as the classic centralized workflow." +msgstr "" + +#: gnu/packages/version-control.scm:354 +msgid "Distributed version control system" +msgstr "" + +#: gnu/packages/version-control.scm:356 +msgid "" +"Git is a free distributed version control system designed to handle\n" +"everything from small to very large projects with speed and efficiency." +msgstr "" + +#: gnu/packages/version-control.scm:402 +msgid "Library providing Git core methods" +msgstr "" + +#: gnu/packages/version-control.scm:404 +msgid "" +"Libgit2 is a portable, pure C implementation of the Git core methods\n" +"provided as a re-entrant linkable library with a solid API, allowing you to\n" +"write native speed custom Git applications in any language with bindings." +msgstr "" + +#: gnu/packages/version-control.scm:440 +msgid "Transparent encryption of files in a git repository" +msgstr "" + +#: gnu/packages/version-control.scm:441 +msgid "" +"git-crypt enables transparent encryption and decryption of\n" +"files in a git repository. Files which you choose to protect are encrypted when\n" +"committed, and decrypted when checked out. git-crypt lets you freely share a\n" +"repository containing a mix of public and private content. git-crypt gracefully\n" +"degrades, so developers without the secret key can still clone and commit to a\n" +"repository with encrypted files. This lets you store your secret material (such\n" +"as keys or passwords) in the same repository as your code, without requiring you\n" +"to lock down your entire repository." +msgstr "" + +#: gnu/packages/version-control.scm:476 +msgid "Whole remote repository encryption" +msgstr "" + +#: gnu/packages/version-control.scm:477 +msgid "" +"git-remote-gcrypt is a Git remote helper to push and pull from\n" +"repositories encrypted with GnuPG. It works with the standard Git transports,\n" +"including repository hosting services like GitLab.\n" +"\n" +"Remote helper programs are invoked by Git to handle network transport. This\n" +"helper handles @code{gcrypt:} URLs that access a remote repository encrypted\n" +"with GPG, using our custom format.\n" +"\n" +"Supported locations are local, @code{rsync://} and @code{sftp://}, where the\n" +"repository is stored as a set of files, or instead any Git URL where gcrypt\n" +"will store the same representation in a Git repository, bridged over arbitrary\n" +"Git transport.\n" +"\n" +"The aim is to provide confidential, authenticated Git storage and\n" +"collaboration using typical untrusted file hosts or services." +msgstr "" + +#: gnu/packages/version-control.scm:556 +msgid "Web frontend for git repositories" +msgstr "" + +#: gnu/packages/version-control.scm:558 +msgid "" +"CGit is an attempt to create a fast web interface for the Git SCM, using\n" +"a built-in cache to decrease server I/O pressure." +msgstr "" + +#: gnu/packages/version-control.scm:587 +msgid "Copy directory to the gh-pages branch" +msgstr "" + +#: gnu/packages/version-control.scm:588 +msgid "" +"Script that copies a directory to the gh-pages branch (by\n" +"default) of the repository." +msgstr "" + +#: gnu/packages/version-control.scm:633 +msgid "Command-line flags library for shell scripts" +msgstr "" + +#: gnu/packages/version-control.scm:635 +msgid "" +"Shell Flags (shFlags) is a library written to greatly simplify the\n" +"handling of command-line flags in Bourne based Unix shell scripts (bash, dash,\n" +"ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the\n" +"different versions of getopt on various OSes make writing portable shell\n" +"scripts difficult. shFlags instead provides an API that doesn't change across\n" +"shell and OS versions so the script writer can be confident that the script\n" +"will work." +msgstr "" + +#: gnu/packages/version-control.scm:678 +msgid "Git extensions for Vincent Driessen's branching model" +msgstr "" + +#: gnu/packages/version-control.scm:680 +msgid "" +"Vincent Driessen's branching model is a git branching and release\n" +"management strategy that helps developers keep track of features, hotfixes,\n" +"and releases in bigger software projects. The git-flow library of git\n" +"subcommands helps automate some parts of the flow to make working with it a\n" +"lot easier." +msgstr "" + +#: gnu/packages/version-control.scm:713 +msgid "Stacked Git" +msgstr "" + +#: gnu/packages/version-control.scm:715 +msgid "" +"StGit is a command-line application that provides functionality similar\n" +"to Quilt (i.e., pushing/popping patches to/from a stack), but using Git\n" +"instead of @command{diff} and @command{patch}. StGit stores its patches in a\n" +"Git repository as normal Git commits, and provides a number of commands to\n" +"manipulate them in various ways." +msgstr "" + +#: gnu/packages/version-control.scm:751 +msgid "Version control system for @code{$HOME}" +msgstr "" + +#: gnu/packages/version-control.scm:753 +msgid "" +"vcsh version-controls configuration files in several Git repositories,\n" +"all in one single directory. They all maintain their working trees without\n" +"clobbering each other or interfering otherwise. By default, all Git\n" +"repositories maintained via vcsh store the actual files in @code{$HOME},\n" +"though this can be overridden." +msgstr "" + +#: gnu/packages/version-control.scm:788 +msgid "Run a command over a sequence of commits" +msgstr "" + +#: gnu/packages/version-control.scm:790 +msgid "" +"git-test-sequence is similar to an automated git bisect except it’s\n" +"linear. It will test every change between two points in the DAG. It will\n" +"also walk each side of a merge and test those changes individually." +msgstr "" + +#: gnu/packages/version-control.scm:851 +msgid "Git access control layer" +msgstr "" + +#: gnu/packages/version-control.scm:853 +msgid "" +"Gitolite is an access control layer on top of Git, providing fine access\n" +"control to Git repositories." +msgstr "" + +#: gnu/packages/version-control.scm:877 +msgid "Decentralized version control system" +msgstr "" + +#: gnu/packages/version-control.scm:879 +msgid "" +"Mercurial is a free, distributed source control management tool.\n" +"It efficiently handles projects of any size\n" +"and offers an easy and intuitive interface." +msgstr "" + +#: gnu/packages/version-control.scm:913 +msgid "HTTP and WebDAV client library" +msgstr "" + +#: gnu/packages/version-control.scm:915 +msgid "" +"Neon is an HTTP and WebDAV client library, with a C interface and the\n" +"following features:\n" +"@enumerate\n" +"@item High-level wrappers for common HTTP and WebDAV operations (GET, MOVE,\n" +" DELETE, etc.);\n" +"@item low-level interface to the HTTP request/response engine, allowing the use\n" +" of arbitrary HTTP methods, headers, etc.;\n" +"@item authentication support including Basic and Digest support, along with\n" +" GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on Win32;\n" +"@item SSL/TLS support using OpenSSL or GnuTLS, exposing an abstraction layer for\n" +" verifying server certificates, handling client certificates, and examining\n" +" certificate properties, smartcard-based client certificates are also\n" +" supported via a PKCS#11 wrapper interface;\n" +"@item abstract interface to parsing XML using libxml2 or expat, and wrappers for\n" +" simplifying handling XML HTTP response bodies;\n" +"@item WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify\n" +" property manipulation.\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/version-control.scm:999 +msgid "Revision control system" +msgstr "" + +#: gnu/packages/version-control.scm:1001 +msgid "" +"Subversion exists to be universally recognized and adopted as a\n" +"centralized version control system characterized by its\n" +"reliability as a safe haven for valuable data; the simplicity of its model and\n" +"usage; and its ability to support the needs of a wide variety of users and\n" +"projects, from individuals to large-scale enterprise operations." +msgstr "" + +#: gnu/packages/version-control.scm:1023 +msgid "Per-file local revision control system" +msgstr "" + +#: gnu/packages/version-control.scm:1025 +msgid "" +"RCS is the original Revision Control System. It works on a\n" +"file-by-file basis, in contrast to subsequent version control systems such as\n" +"CVS, Subversion, and Git. This can make it suitable for system\n" +"administration files, for example, which are often inherently local to one\n" +"machine." +msgstr "" + +#: gnu/packages/version-control.scm:1053 +msgid "Historical centralized version control system" +msgstr "" + +#: gnu/packages/version-control.scm:1055 +msgid "" +"CVS is a version control system, an important component of Source\n" +"Configuration Management (SCM). Using it, you can record the history of\n" +"sources files, and documents. It fills a similar role to the free software\n" +"RCS, PRCS, and Aegis packages." +msgstr "" + +#: gnu/packages/version-control.scm:1096 +msgid "Export an RCS or CVS history as a fast-import stream" +msgstr "" + +#: gnu/packages/version-control.scm:1097 +msgid "" +"This program analyzes a collection of RCS files in a CVS\n" +"repository (or outside of one) and, when possible, emits an equivalent history\n" +"in the form of a fast-import stream. Not all possible histories can be\n" +"rendered this way; the program tries to emit useful warnings when it can't.\n" +"\n" +"The program can also produce a visualization of the resulting commit directed\n" +"acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,\n" +"Graphviz}. The package also includes @command{cvssync}, a tool for mirroring\n" +"masters from remote CVS hosts." +msgstr "" + +#: gnu/packages/version-control.scm:1124 +msgid "Version-control-agnostic ChangeLog diff and commit tool" +msgstr "" + +#: gnu/packages/version-control.scm:1126 +msgid "" +"The vc-dwim package contains two tools, \"vc-dwim\" and \"vc-chlog\".\n" +"vc-dwim is a tool that simplifies the task of maintaining a ChangeLog and\n" +"using version control at the same time, for example by printing a reminder\n" +"when a file change has been described in the ChangeLog but the file has not\n" +"been added to the VC. vc-chlog scans changed files and generates\n" +"standards-compliant ChangeLog entries based on the changes that it detects." +msgstr "" + +#: gnu/packages/version-control.scm:1151 +msgid "Make histograms from the output of @command{diff}" +msgstr "" + +#: gnu/packages/version-control.scm:1153 +msgid "" +"Diffstat reads the output of @command{diff} and displays a histogram of\n" +"the insertions, deletions, and modifications per file. It is useful for\n" +"reviewing large, complex patch files." +msgstr "" + +#: gnu/packages/version-control.scm:1192 +msgid "File-based version control like SCCS" +msgstr "" + +#: gnu/packages/version-control.scm:1193 +msgid "" +"GNU CSSC provides a replacement for the legacy Unix source\n" +"code control system SCCS. This allows old code still under that system to be\n" +"accessed and migrated on modern systems." +msgstr "" + +#: gnu/packages/version-control.scm:1272 +msgid "Project change supervisor" +msgstr "" + +#: gnu/packages/version-control.scm:1273 +msgid "" +"Aegis is a project change supervisor, and performs some of\n" +"the Software Configuration Management needed in a CASE environment. Aegis\n" +"provides a framework within which a team of developers may work on many\n" +"changes to a program independently, and Aegis coordinates integrating these\n" +"changes back into the master source of the program, with as little disruption\n" +"as possible. Resolution of contention for source files, a major headache for\n" +"any project with more than one developer, is one of Aegis's major functions." +msgstr "" + +#: gnu/packages/version-control.scm:1322 +msgid "Edit version-control repository history" +msgstr "" + +#: gnu/packages/version-control.scm:1323 +msgid "" +"Reposurgeon enables risky operations that version-control\n" +"systems don't want to let you do, such as editing past comments and metadata\n" +"and removing commits. It works with any version control system that can\n" +"export and import Git fast-import streams, including Git, Mercurial, Fossil,\n" +"Bazaar, CVS, RCS, and Src. It can also read Subversion dump files directly\n" +"and can thus be used to script production of very high-quality conversions\n" +"from Subversion to any supported Distributed Version Control System (DVCS)." +msgstr "" + +#: gnu/packages/version-control.scm:1362 +msgid "Ncurses-based text user interface for Git" +msgstr "" + +#: gnu/packages/version-control.scm:1364 +msgid "" +"Tig is an ncurses text user interface for Git, primarily intended as\n" +"a history browser. It can also stage hunks for commit, or colorize the\n" +"output of the 'git' command." +msgstr "" + +#: gnu/packages/version-control.scm:1390 +msgid "Print the modification time of the latest file" +msgstr "" + +#: gnu/packages/version-control.scm:1392 +msgid "" +"Recursively find the newest file in a file tree and print its\n" +"modification time." +msgstr "" + +#: gnu/packages/version-control.scm:1417 +msgid "Multiple repository management tool" +msgstr "" + +#: gnu/packages/version-control.scm:1419 +msgid "" +"Myrepos provides the @code{mr} command, which maps an operation (e.g.,\n" +"fetching updates) over a collection of version control repositories. It\n" +"supports a large number of version control systems: Git, Subversion,\n" +"Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity." +msgstr "" + +#: gnu/packages/version-control.scm:1449 +msgid "Use hubic as a git-annex remote" +msgstr "" + +#: gnu/packages/version-control.scm:1451 +msgid "" +"This package allows you to use your hubic account as a \"special\n" +"repository\" with git-annex." +msgstr "" + +#: gnu/packages/version-control.scm:1503 +msgid "Software configuration management system" +msgstr "" + +#: gnu/packages/version-control.scm:1505 +msgid "" +"Fossil is a distributed source control management system which supports\n" +"access and administration over HTTP CGI or via a built-in HTTP server. It has\n" +"a built-in wiki, built-in file browsing, built-in tickets system, etc." +msgstr "" + +#: gnu/packages/version-control.scm:1533 +msgid "Static git page generator" +msgstr "" + +#: gnu/packages/version-control.scm:1534 +msgid "" +"Stagit creates static pages for git repositories, the results can\n" +"be served with a HTTP file server of your choice." +msgstr "" + +#: gnu/packages/version-control.scm:1622 +msgid "Distributed Revision Control System" +msgstr "" + +#: gnu/packages/version-control.scm:1624 +msgid "" +"Darcs is a revision control system. It is:\n" +"\n" +"@enumerate\n" +"@item Distributed: Every user has access to the full command set, removing boundaries\n" +"between server and client or committer and non-committers.\n" +"@item Interactive: Darcs is easy to learn and efficient to use because it asks you\n" +"questions in response to simple commands, giving you choices in your work flow.\n" +"You can choose to record one change in a file, while ignoring another. As you update\n" +"from upstream, you can review each patch name, even the full diff for interesting\n" +"patches.\n" +"@item Smart: Originally developed by physicist David Roundy, darcs is based on a\n" +"unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.\n" +"@end enumerate" +msgstr "" + +#: gnu/packages/version-control.scm:1676 +msgid "Java library implementing the Git version control system" +msgstr "" + +#: gnu/packages/version-control.scm:1677 +msgid "" +"JGit is a lightweight, pure Java library implementing the\n" +"Git version control system, providing repository access routines, support for\n" +"network protocols, and core version control algorithms." +msgstr "" + +#: gnu/packages/virtualization.scm:177 +msgid "Machine emulator and virtualizer" +msgstr "" + +#: gnu/packages/virtualization.scm:179 +msgid "" +"QEMU is a generic machine emulator and virtualizer.\n" +"\n" +"When used as a machine emulator, QEMU can run OSes and programs made for one\n" +"machine (e.g. an ARM board) on a different machine---e.g., your own PC. By\n" +"using dynamic translation, it achieves very good performance.\n" +"\n" +"When used as a virtualizer, QEMU achieves near native performances by\n" +"executing the guest code directly on the host CPU. QEMU supports\n" +"virtualization when executing under the Xen hypervisor or using\n" +"the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,\n" +"server and embedded PowerPC, and S390 guests." +msgstr "" + +#: gnu/packages/virtualization.scm:201 +msgid "Machine emulator and virtualizer (without GUI)" +msgstr "" + +#: gnu/packages/virtualization.scm:268 +msgid "Operating system information database" +msgstr "" + +#: gnu/packages/virtualization.scm:269 +msgid "" +"libosinfo is a GObject based library API for managing\n" +"information about operating systems, hypervisors and the (virtual) hardware\n" +"devices they can support. It includes a database containing device metadata\n" +"and provides APIs to match/identify optimal devices for deploying an operating\n" +"system on a hypervisor. Via GObject Introspection, the API is available in\n" +"all common programming languages. Vala bindings are also provided." +msgstr "" + +#: gnu/packages/virtualization.scm:317 +msgid "Linux container tools" +msgstr "" + +#: gnu/packages/virtualization.scm:320 +msgid "" +"LXC is a userspace interface for the Linux kernel containment features.\n" +"Through a powerful API and simple tools, it lets Linux users easily create and\n" +"manage system or application containers." +msgstr "" + +#: gnu/packages/virtualization.scm:404 +msgid "Simple API for virtualization" +msgstr "" + +#: gnu/packages/virtualization.scm:405 +msgid "" +"Libvirt is a C toolkit to interact with the virtualization\n" +"capabilities of recent versions of Linux. The library aims at providing long\n" +"term stable C API initially for the Xen paravirtualization but should be able\n" +"to integrate other virtualization mechanisms if needed." +msgstr "" + +#: gnu/packages/virtualization.scm:446 +msgid "GLib wrapper around libvirt" +msgstr "" + +#: gnu/packages/virtualization.scm:447 +msgid "" +"libvirt-glib wraps the libvirt library to provide a\n" +"high-level object-oriented API better suited for glib-based applications, via\n" +"three libraries:\n" +"\n" +"@enumerate\n" +"@item libvirt-glib - GLib main loop integration & misc helper APIs\n" +"@item libvirt-gconfig - GObjects for manipulating libvirt XML documents\n" +"@item libvirt-gobject - GObjects for managing libvirt objects\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/virtualization.scm:489 +msgid "Python bindings to libvirt" +msgstr "" + +#: gnu/packages/virtualization.scm:490 +msgid "" +"This package provides Python bindings to the libvirt\n" +"virtualization library." +msgstr "" + +#: gnu/packages/virtualization.scm:585 +msgid "Manage virtual machines" +msgstr "" + +#: gnu/packages/virtualization.scm:587 +msgid "" +"The virt-manager application is a desktop user interface for managing\n" +"virtual machines through libvirt. It primarily targets KVM VMs, but also\n" +"manages Xen and LXC (Linux containers). It presents a summary view of running\n" +"domains, their live performance and resource utilization statistics." +msgstr "" + +#: gnu/packages/virtualization.scm:677 +msgid "Checkpoint and restore in user space" +msgstr "" + +#: gnu/packages/virtualization.scm:678 +msgid "" +"Using this tool, you can freeze a running application (or\n" +"part of it) and checkpoint it to a hard drive as a collection of files. You\n" +"can then use the files to restore and run the application from the point it\n" +"was frozen at. The distinctive feature of the CRIU project is that it is\n" +"mainly implemented in user space." +msgstr "" + +#: gnu/packages/webkit.scm:134 +msgid "Web content engine for GTK+" +msgstr "" + +#: gnu/packages/webkit.scm:136 +msgid "" +"WebKitGTK+ is a full-featured port of the WebKit rendering engine,\n" +"suitable for projects requiring any kind of web integration, from hybrid\n" +"HTML/CSS applications to full-fledged web browsers." +msgstr "" + +#: gnu/packages/web.scm:136 +msgid "Featureful HTTP server" +msgstr "" + +#: gnu/packages/web.scm:138 +msgid "" +"The Apache HTTP Server Project is a collaborative software development\n" +"effort aimed at creating a robust, commercial-grade, featureful, and\n" +"freely-available source code implementation of an HTTP (Web) server. The\n" +"project is jointly managed by a group of volunteers located around the world,\n" +"using the Internet and the Web to communicate, plan, and develop the server\n" +"and its related documentation." +msgstr "" + +#: gnu/packages/web.scm:226 +msgid "HTTP and reverse proxy server" +msgstr "" + +#: gnu/packages/web.scm:228 +msgid "" +"Nginx (\"engine X\") is a high-performance web and reverse proxy server\n" +"created by Igor Sysoev. It can be used both as a standalone web server\n" +"and as a proxy to reduce the load on back-end HTTP or mail servers." +msgstr "" + +#: gnu/packages/web.scm:273 +msgid "XSLScript with NGinx specific modifications" +msgstr "" + +#: gnu/packages/web.scm:275 +msgid "" +"XSLScript is a terse notation for writing complex XSLT stylesheets.\n" +"This is modified version, specifically intended for use with the NGinx\n" +"documentation." +msgstr "" + +#: gnu/packages/web.scm:328 +msgid "Documentation for nginx web server" +msgstr "" + +#: gnu/packages/web.scm:330 +msgid "This package provides HTML documentation for the nginx web server." +msgstr "" + +#: gnu/packages/web.scm:353 +msgid "Language-independent, high-performant extension to CGI" +msgstr "" + +#: gnu/packages/web.scm:354 +msgid "" +"FastCGI is a language-independent, scalable extension to CGI\n" +"that provides high performance without the limitations of server specific\n" +"APIs." +msgstr "" + +#: gnu/packages/web.scm:390 +msgid "Simple server for running CGI applications over FastCGI" +msgstr "" + +#: gnu/packages/web.scm:391 +msgid "" +"Fcgiwrap is a simple server for running CGI applications\n" +"over FastCGI. It hopes to provide clean CGI support to Nginx (and other web\n" +"servers that may need it)." +msgstr "" + +#: gnu/packages/web.scm:422 +msgid "PSGI/Plack web server" +msgstr "" + +#: gnu/packages/web.scm:423 +msgid "" +"Starman is a PSGI perl web server that has unique features\n" +"such as high performance, preforking, signal support, superdaemon awareness,\n" +"and UNIX socket support." +msgstr "" + +#: gnu/packages/web.scm:455 +msgid "Java Web Start" +msgstr "" + +#: gnu/packages/web.scm:457 +msgid "" +"IcedTea-Web is an implementation of the @dfn{Java Network Launching\n" +"Protocol}, also known as Java Web Start. This package provides tools and\n" +"libraries for working with JNLP applets." +msgstr "" + +#: gnu/packages/web.scm:478 +msgid "JSON C library" +msgstr "" + +#: gnu/packages/web.scm:480 +msgid "" +"Jansson is a C library for encoding, decoding and manipulating JSON\n" +"data." +msgstr "" + +#: gnu/packages/web.scm:512 +msgid "JSON implementation in C" +msgstr "" + +#: gnu/packages/web.scm:514 +msgid "" +"JSON-C implements a reference counting object model that allows you to\n" +"easily construct JSON objects in C, output them as JSON formatted strings and\n" +"parse JSON formatted strings back into the C representation of JSON objects." +msgstr "" + +#: gnu/packages/web.scm:552 +msgid "Library that maps JSON data to QVariant objects" +msgstr "" + +#: gnu/packages/web.scm:553 +msgid "" +"QJson is a Qt-based library that maps JSON data to\n" +"@code{QVariant} objects. JSON arrays will be mapped to @code{QVariantList}\n" +"instances, while JSON's objects will be mapped to @code{QVariantMap}." +msgstr "" + +#: gnu/packages/web.scm:637 +msgid "Hierarchical data exploration with zoomable HTML5 pie charts" +msgstr "" + +#: gnu/packages/web.scm:639 +msgid "" +"Krona is a flexible tool for exploring the relative proportions of\n" +"hierarchical data, such as metagenomic classifications, using a radial,\n" +"space-filling display. It is implemented using HTML5 and JavaScript, allowing\n" +"charts to be explored locally or served over the Internet, requiring only a\n" +"current version of any major web browser." +msgstr "" + +#: gnu/packages/web.scm:672 +msgid "JSON parser/generator for C++ with both SAX/DOM style API" +msgstr "" + +#: gnu/packages/web.scm:674 +msgid "" +"RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM\n" +"style API." +msgstr "" + +#: gnu/packages/web.scm:692 +msgid "C library for parsing JSON" +msgstr "" + +#: gnu/packages/web.scm:694 +msgid "" +"Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON\n" +"parser written in ANSI C and a small validating JSON generator." +msgstr "" + +#: gnu/packages/web.scm:724 +msgid "WebSockets library written in C" +msgstr "" + +#: gnu/packages/web.scm:726 +msgid "" +"Libwebsockets is a library that allows C programs to establish client\n" +"and server WebSockets connections---a protocol layered above HTTP that allows\n" +"for efficient socket-like bidirectional reliable communication channels." +msgstr "" + +#: gnu/packages/web.scm:754 +msgid "C library for the Publix Suffix List" +msgstr "" + +#: gnu/packages/web.scm:756 +msgid "" +"A \"public suffix\" is a domain name under which Internet users can\n" +"directly register own names.\n" +"\n" +"Browsers and other web clients can use it to avoid privacy-leaking\n" +"\"supercookies\", avoid privacy-leaking \"super domain\" certificates, domain\n" +"highlighting parts of the domain in a user interface, and sorting domain lists\n" +"by site.\n" +"\n" +"Libpsl has built-in PSL data for fast access, allows to load PSL data from\n" +"files, checks if a given domain is a public suffix, provides immediate cookie\n" +"domain verification, finds the longest public part of a given domain, finds\n" +"the shortest private part of a given domain, works with international\n" +"domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008\n" +"UTS#46." +msgstr "" + +#: gnu/packages/web.scm:801 +msgid "HTML validator and tidier" +msgstr "" + +#: gnu/packages/web.scm:802 +msgid "" +"HTML Tidy is a command-line tool and C library that can be\n" +"used to validate and fix HTML data." +msgstr "" + +#: gnu/packages/web.scm:837 +msgid "Light-weight HTTP/HTTPS proxy daemon" +msgstr "" + +#: gnu/packages/web.scm:838 +msgid "" +"Tinyproxy is a light-weight HTTP/HTTPS proxy\n" +"daemon. Designed from the ground up to be fast and yet small, it is an ideal\n" +"solution for use cases such as embedded deployments where a full featured HTTP\n" +"proxy is required, but the system resources for a larger proxy are\n" +"unavailable." +msgstr "" + +#: gnu/packages/web.scm:871 +msgid "Small caching web proxy" +msgstr "" + +#: gnu/packages/web.scm:873 +msgid "" +"Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy\n" +"server). It was primarily designed to be used by one person or a small group\n" +"of people." +msgstr "" + +#: gnu/packages/web.scm:900 +msgid "WebSockets support for any application/server" +msgstr "" + +#: gnu/packages/web.scm:901 +msgid "" +"Websockify translates WebSockets traffic to normal socket\n" +"traffic. Websockify accepts the WebSockets handshake, parses it, and then\n" +"begins forwarding traffic between the client and the target in both\n" +"directions." +msgstr "" + +#: gnu/packages/web.scm:927 +msgid "Caching web proxy optimized for intermittent internet links" +msgstr "" + +#: gnu/packages/web.scm:928 +msgid "" +"WWWOFFLE is a proxy web server that is especially good for\n" +"intermittent internet links. It can cache HTTP, HTTPS, FTP, and finger\n" +"protocols, and supports browsing and requesting pages while offline, indexing,\n" +"modifying pages and incoming and outgoing headers, monitoring pages for\n" +"changes, and much more." +msgstr "" + +#: gnu/packages/web.scm:953 +msgid "C library implementing the OAuth API" +msgstr "" + +#: gnu/packages/web.scm:955 +msgid "" +"liboauth is a collection of C functions implementing the OAuth API.\n" +"liboauth provides functions to escape and encode strings according to OAuth\n" +"specifications and offers high-level functionality built on top to sign\n" +"requests or verify signatures using either NSS or OpenSSL for calculating the\n" +"hash/signatures." +msgstr "" + +#: gnu/packages/web.scm:979 +msgid "YAML 1.1 parser and emitter written in C" +msgstr "" + +#: gnu/packages/web.scm:981 +msgid "LibYAML is a YAML 1.1 parser and emitter written in C." +msgstr "" + +#: gnu/packages/web.scm:998 gnu/packages/web.scm:1032 +#: gnu/packages/web.scm:1055 +msgid "Media stream URL parser" +msgstr "" + +#: gnu/packages/web.scm:999 +msgid "" +"This package contains support scripts called by libquvi to\n" +"parse media stream properties." +msgstr "" + +#: gnu/packages/web.scm:1033 +msgid "" +"libquvi is a library with a C API for parsing media stream\n" +"URLs and extracting their actual media files." +msgstr "" + +#: gnu/packages/web.scm:1056 +msgid "" +"quvi is a command-line-tool suite to extract media files\n" +"from streaming URLs. It is a command-line wrapper for the libquvi library." +msgstr "" + +#: gnu/packages/web.scm:1146 +msgid "High-performance asynchronous HTTP client library" +msgstr "" + +#: gnu/packages/web.scm:1148 +msgid "" +"serf is a C-based HTTP client library built upon the Apache Portable\n" +"Runtime (APR) library. It multiplexes connections, running the read/write\n" +"communication asynchronously. Memory copies and transformations are kept to a\n" +"minimum to provide high performance operation." +msgstr "" + +#: gnu/packages/web.scm:1202 +msgid "CSS pre-processor" +msgstr "" + +#: gnu/packages/web.scm:1203 +msgid "" +"SassC is a compiler written in C for the CSS pre-processor\n" +"language known as SASS." +msgstr "" + +#: gnu/packages/web.scm:1232 +msgid "Compile a log format string to perl-code" +msgstr "" + +#: gnu/packages/web.scm:1233 +msgid "" +"This module provides methods to compile a log format string\n" +"to perl-code, for faster generation of access_log lines." +msgstr "" + +#: gnu/packages/web.scm:1261 +msgid "SASL authentication framework" +msgstr "" + +#: gnu/packages/web.scm:1262 +msgid "Authen::SASL provides an SASL authentication framework." +msgstr "" + +#: gnu/packages/web.scm:1287 +msgid "Sensible default Catalyst action" +msgstr "" + +#: gnu/packages/web.scm:1288 +msgid "" +"This Catalyst action implements a sensible default end\n" +"action, which will forward to the first available view." +msgstr "" + +#: gnu/packages/web.scm:1320 +msgid "Automated REST Method Dispatching" +msgstr "" + +#: gnu/packages/web.scm:1321 +msgid "" +"This Action handles doing automatic method dispatching for\n" +"REST requests. It takes a normal Catalyst action, and changes the dispatch to\n" +"append an underscore and method name. First it will try dispatching to an\n" +"action with the generated name, and failing that it will try to dispatch to a\n" +"regular method." +msgstr "" + +#: gnu/packages/web.scm:1358 +msgid "Storage class for Catalyst authentication using DBIx::Class" +msgstr "" + +#: gnu/packages/web.scm:1359 +msgid "" +"The Catalyst::Authentication::Store::DBIx::Class class\n" +"provides access to authentication information stored in a database via\n" +"DBIx::Class." +msgstr "" + +#: gnu/packages/web.scm:1385 +msgid "Create only one instance of Moose component per context" +msgstr "" + +#: gnu/packages/web.scm:1386 +msgid "" +"Catalyst::Component::InstancePerContext returns a new\n" +"instance of a component on each request." +msgstr "" + +#: gnu/packages/web.scm:1423 +msgid "Catalyst Development Tools" +msgstr "" + +#: gnu/packages/web.scm:1424 +msgid "" +"The Catalyst-Devel distribution includes a variety of\n" +"modules useful for the development of Catalyst applications, but not required\n" +"to run them. Catalyst-Devel includes the Catalyst::Helper system, which\n" +"autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install\n" +"extension for Catalyst; and requirements for a variety of development-related\n" +"modules." +msgstr "" + +#: gnu/packages/web.scm:1453 +msgid "Regex DispatchType for Catalyst" +msgstr "" + +#: gnu/packages/web.scm:1454 +msgid "" +"Dispatch type managing path-matching behaviour using\n" +"regexes. Regex dispatch types have been deprecated and removed from Catalyst\n" +"core. It is recommend that you use Chained methods or other techniques\n" +"instead. As part of the refactoring, the dispatch priority of Regex vs Regexp\n" +"vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by\n" +"when the dispatch type is first seen in your application." +msgstr "" + +#: gnu/packages/web.scm:1503 +msgid "DBIx::Class::Schema Model Class" +msgstr "" + +#: gnu/packages/web.scm:1504 +msgid "" +"This is a Catalyst Model for DBIx::Class::Schema-based\n" +"Models." +msgstr "" + +#: gnu/packages/web.scm:1527 +msgid "Request logging from within Catalyst" +msgstr "" + +#: gnu/packages/web.scm:1528 +msgid "" +"This Catalyst plugin enables you to create \"access logs\"\n" +"from within a Catalyst application instead of requiring a webserver to do it\n" +"for you. It will work even with Catalyst debug logging turned off." +msgstr "" + +#: gnu/packages/web.scm:1562 +msgid "Infrastructure plugin for the Catalyst authentication framework" +msgstr "" + +#: gnu/packages/web.scm:1563 +msgid "" +"The authentication plugin provides generic user support for\n" +"Catalyst apps. It is the basis for both authentication (checking the user is\n" +"who they claim to be), and authorization (allowing the user to do what the\n" +"system authorises them to do)." +msgstr "" + +#: gnu/packages/web.scm:1594 +msgid "Role-based authorization for Catalyst" +msgstr "" + +#: gnu/packages/web.scm:1595 +msgid "" +"Catalyst::Plugin::Authorization::Roles provides role-based\n" +"authorization for Catalyst based on Catalyst::Plugin::Authentication." +msgstr "" + +#: gnu/packages/web.scm:1618 +msgid "Captchas for Catalyst" +msgstr "" + +#: gnu/packages/web.scm:1619 +msgid "" +"This plugin creates and validates Captcha images for\n" +"Catalyst." +msgstr "" + +#: gnu/packages/web.scm:1646 +msgid "Load config files of various types" +msgstr "" + +#: gnu/packages/web.scm:1647 +msgid "" +"This module will attempt to load find and load configuration\n" +"files of various types. Currently it supports YAML, JSON, XML, INI and Perl\n" +"formats." +msgstr "" + +#: gnu/packages/web.scm:1679 +msgid "Catalyst generic session plugin" +msgstr "" + +#: gnu/packages/web.scm:1680 +msgid "" +"This plugin links the two pieces required for session\n" +"management in web applications together: the state, and the store." +msgstr "" + +#: gnu/packages/web.scm:1708 +msgid "Maintain session IDs using cookies" +msgstr "" + +#: gnu/packages/web.scm:1709 +msgid "" +"In order for Catalyst::Plugin::Session to work, the session\n" +"ID needs to be stored on the client, and the session data needs to be stored\n" +"on the server. This plugin stores the session ID on the client using the\n" +"cookie mechanism." +msgstr "" + +#: gnu/packages/web.scm:1739 +msgid "FastMmap session storage backend" +msgstr "" + +#: gnu/packages/web.scm:1740 +msgid "" +"Catalyst::Plugin::Session::Store::FastMmap is a fast session\n" +"storage plugin for Catalyst that uses an mmap'ed file to act as a shared\n" +"memory interprocess cache. It is based on Cache::FastMmap." +msgstr "" + +#: gnu/packages/web.scm:1765 +msgid "Stack trace on the Catalyst debug screen" +msgstr "" + +#: gnu/packages/web.scm:1766 +msgid "" +"This plugin enhances the standard Catalyst debug screen by\n" +"including a stack trace of your application up to the point where the error\n" +"occurred. Each stack frame is displayed along with the package name, line\n" +"number, file name, and code context surrounding the line number." +msgstr "" + +#: gnu/packages/web.scm:1794 +msgid "Simple serving of static pages" +msgstr "" + +#: gnu/packages/web.scm:1795 +msgid "" +"The Static::Simple plugin is designed to make serving static\n" +"content in your application during development quick and easy, without\n" +"requiring a single line of code from you. This plugin detects static files by\n" +"looking at the file extension in the URL (such as .css or .png or .js). The\n" +"plugin uses the lightweight MIME::Types module to map file extensions to\n" +"IANA-registered MIME types, and will serve your static files with the correct\n" +"MIME type directly to the browser, without being processed through Catalyst." +msgstr "" + +#: gnu/packages/web.scm:1863 +msgid "The Catalyst Framework Runtime" +msgstr "" + +#: gnu/packages/web.scm:1864 +msgid "" +"Catalyst is a modern framework for making web applications.\n" +"It is designed to make it easy to manage the various tasks you need to do to\n" +"run an application on the web, either by doing them itself, or by letting you\n" +"\"plug in\" existing Perl modules that do what you need." +msgstr "" + +#: gnu/packages/web.scm:1895 +msgid "Replace request base with value passed by HTTP proxy" +msgstr "" + +#: gnu/packages/web.scm:1896 +msgid "" +"This module is a Moose::Role which allows you more\n" +"flexibility in your application's deployment configurations when deployed\n" +"behind a proxy. Using this module, the request base ($c->req->base) is\n" +"replaced with the contents of the X-Request-Base header." +msgstr "" + +#: gnu/packages/web.scm:1923 +msgid "Download data in many formats" +msgstr "" + +#: gnu/packages/web.scm:1924 +msgid "" +"The purpose of this module is to provide a method for\n" +"downloading data into many supportable formats. For example, downloading a\n" +"table based report in a variety of formats (CSV, HTML, etc.)." +msgstr "" + +#: gnu/packages/web.scm:1950 +msgid "Catalyst JSON view" +msgstr "" + +#: gnu/packages/web.scm:1951 +msgid "" +"Catalyst::View::JSON is a Catalyst View handler that returns\n" +"stash data in JSON format." +msgstr "" + +#: gnu/packages/web.scm:1977 +msgid "Template View Class" +msgstr "" + +#: gnu/packages/web.scm:1978 +msgid "" +"This module is a Catalyst view class for the Template\n" +"Toolkit." +msgstr "" + +#: gnu/packages/web.scm:2007 +msgid "Trait Loading and Resolution for Catalyst Components" +msgstr "" + +#: gnu/packages/web.scm:2008 +msgid "" +"Adds a \"COMPONENT\" in Catalyst::Component method to your\n" +"Catalyst component base class that reads the optional \"traits\" parameter\n" +"from app and component config and instantiates the component subclass with\n" +"those traits using \"new_with_traits\" in MooseX::Traits from\n" +"MooseX::Traits::Pluggable." +msgstr "" + +#: gnu/packages/web.scm:2033 +msgid "Apply roles to Catalyst classes" +msgstr "" + +#: gnu/packages/web.scm:2034 +msgid "" +"CatalystX::RoleApplicator applies roles to Catalyst\n" +"application classes." +msgstr "" + +#: gnu/packages/web.scm:2061 +msgid "Catalyst development server with Starman" +msgstr "" + +#: gnu/packages/web.scm:2062 +msgid "" +"This module provides a Catalyst extension to replace the\n" +"development server with Starman." +msgstr "" + +#: gnu/packages/web.scm:2086 +msgid "Handle Common Gateway Interface requests and responses" +msgstr "" + +#: gnu/packages/web.scm:2087 +msgid "" +"CGI.pm is a stable, complete and mature solution for\n" +"processing and preparing HTTP requests and responses. Major features include\n" +"processing form submissions, file uploads, reading and writing cookies, query\n" +"string generation and manipulation, and processing and preparing HTTP\n" +"headers." +msgstr "" + +#: gnu/packages/web.scm:2115 +msgid "Persistent session data in CGI applications" +msgstr "" + +#: gnu/packages/web.scm:2117 +msgid "" +"@code{CGI::Session} provides modular session management system across\n" +"HTTP requests." +msgstr "" + +#: gnu/packages/web.scm:2138 +msgid "CGI interface that is CGI.pm compliant" +msgstr "" + +#: gnu/packages/web.scm:2139 +msgid "" +"CGI::Simple provides a relatively lightweight drop in\n" +"replacement for CGI.pm. It shares an identical OO interface to CGI.pm for\n" +"parameter parsing, file upload, cookie handling and header generation." +msgstr "" + +#: gnu/packages/web.scm:2160 +msgid "Build structures from CGI data" +msgstr "" + +#: gnu/packages/web.scm:2161 +msgid "" +"This is a module for building structured data from CGI\n" +"inputs, in a manner reminiscent of how PHP does." +msgstr "" + +#: gnu/packages/web.scm:2184 +msgid "Date conversion routines" +msgstr "" + +#: gnu/packages/web.scm:2185 +msgid "" +"This module provides functions that deal with the date\n" +"formats used by the HTTP protocol." +msgstr "" + +#: gnu/packages/web.scm:2205 +msgid "MD5 sums for files and urls" +msgstr "" + +#: gnu/packages/web.scm:2206 +msgid "" +"Digest::MD5::File is a Perl extension for getting MD5 sums\n" +"for files and urls." +msgstr "" + +#: gnu/packages/web.scm:2224 +msgid "Perl locale encoding determination" +msgstr "" + +#: gnu/packages/web.scm:2226 +msgid "" +"The POSIX locale system is used to specify both the language\n" +"conventions requested by the user and the preferred character set to\n" +"consume and output. The Encode::Locale module looks up the charset and\n" +"encoding (called a CODESET in the locale jargon) and arranges for the\n" +"Encode module to know this encoding under the name \"locale\". It means\n" +"bytes obtained from the environment can be converted to Unicode strings\n" +"by calling Encode::encode(locale => $bytes) and converted back again\n" +"with Encode::decode(locale => $string)." +msgstr "" + +#: gnu/packages/web.scm:2261 +msgid "Syndication feed auto-discovery" +msgstr "" + +#: gnu/packages/web.scm:2262 +msgid "" +"@code{Feed::Find} implements feed auto-discovery for finding\n" +"syndication feeds, given a URI. It will discover the following feed formats:\n" +"RSS 0.91, RSS 1.0, RSS 2.0, Atom." +msgstr "" + +#: gnu/packages/web.scm:2283 +msgid "Perl directory listing parser" +msgstr "" + +#: gnu/packages/web.scm:2285 +msgid "" +"The File::Listing module exports a single function called parse_dir(),\n" +"which can be used to parse directory listings." +msgstr "" + +#: gnu/packages/web.scm:2317 +msgid "Stock and mutual fund quotes" +msgstr "" + +#: gnu/packages/web.scm:2319 +msgid "" +"Finance::Quote gets stock quotes from various internet sources, including\n" +"Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange." +msgstr "" + +#: gnu/packages/web.scm:2341 +msgid "Perl extension providing access to the GSSAPIv2 library" +msgstr "" + +#: gnu/packages/web.scm:2342 +msgid "" +"This is a Perl extension for using GSSAPI C bindings as\n" +"described in RFC 2744." +msgstr "" + +#: gnu/packages/web.scm:2362 +msgid "Manipulate tables of HTML::Element" +msgstr "" + +#: gnu/packages/web.scm:2364 +msgid "" +"HTML::Element::Extended is a Perl extension for manipulating a table\n" +"composed of HTML::Element style components." +msgstr "" + +#: gnu/packages/web.scm:2388 +msgid "Perl class representing an HTML form element" +msgstr "" + +#: gnu/packages/web.scm:2389 +msgid "" +"Objects of the HTML::Form class represents a single HTML\n" +"<form> ... </form> instance." +msgstr "" + +#: gnu/packages/web.scm:2419 +msgid "Perl extension for scrubbing/sanitizing html" +msgstr "" + +#: gnu/packages/web.scm:2421 +msgid "@code{HTML::Scrubber} Perl extension for scrubbing/sanitizing HTML." +msgstr "" + +#: gnu/packages/web.scm:2442 +msgid "Check for HTML errors in a string or file" +msgstr "" + +#: gnu/packages/web.scm:2443 +msgid "" +"HTML::Lint is a pure-Perl HTML parser and checker for\n" +"syntactic legitmacy." +msgstr "" + +#: gnu/packages/web.scm:2464 +msgid "Extract contents from HTML tables" +msgstr "" + +#: gnu/packages/web.scm:2466 +msgid "" +"HTML::TableExtract is a Perl module for extracting the content contained\n" +"in tables within an HTML document, either as text or encoded element trees." +msgstr "" + +#: gnu/packages/web.scm:2491 +msgid "Work with HTML in a DOM-like tree structure" +msgstr "" + +#: gnu/packages/web.scm:2492 +msgid "" +"This distribution contains a suite of modules for\n" +"representing, creating, and extracting information from HTML syntax trees." +msgstr "" + +#: gnu/packages/web.scm:2513 +msgid "Perl HTML parser class" +msgstr "" + +#: gnu/packages/web.scm:2515 +msgid "" +"Objects of the HTML::Parser class will recognize markup and separate\n" +"it from plain text (alias data content) in HTML documents. As different\n" +"kinds of markup and text are recognized, the corresponding event handlers\n" +"are invoked." +msgstr "" + +#: gnu/packages/web.scm:2535 +msgid "Perl data tables useful in parsing HTML" +msgstr "" + +#: gnu/packages/web.scm:2537 +msgid "" +"The HTML::Tagset module contains several data tables useful in various\n" +"kinds of HTML parsing operations." +msgstr "" + +#: gnu/packages/web.scm:2556 +msgid "HTML-like templates" +msgstr "" + +#: gnu/packages/web.scm:2558 +msgid "" +"This module attempts to make using HTML templates simple and natural.\n" +"It extends standard HTML with a few new HTML-esque tags: @code{<TMPL_VAR>},\n" +"@code{<TMPL_LOOP>}, @code{<TMPL_INCLUDE>}, @code{<TMPL_IF>},\n" +"@code{<TMPL_ELSE>} and @code{<TMPL_UNLESS>}. The file written with HTML and\n" +"these new tags is called a template. Using this module you fill in the values\n" +"for the variables, loops and branches declared in the template. This allows\n" +"you to separate design from the data." +msgstr "" + +#: gnu/packages/web.scm:2586 +msgid "HTTP Body Parser" +msgstr "" + +#: gnu/packages/web.scm:2587 +msgid "" +"HTTP::Body parses chunks of HTTP POST data and supports\n" +"application/octet-stream, application/json, application/x-www-form-urlencoded,\n" +"and multipart/form-data." +msgstr "" + +#: gnu/packages/web.scm:2614 +msgid "Minimalist HTTP user agent cookie jar" +msgstr "" + +#: gnu/packages/web.scm:2615 +msgid "" +"This module implements a minimalist HTTP user agent cookie\n" +"jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>." +msgstr "" + +#: gnu/packages/web.scm:2635 +msgid "Perl HTTP cookie jars" +msgstr "" + +#: gnu/packages/web.scm:2637 +msgid "" +"The HTTP::Cookies class is for objects that represent a cookie jar,\n" +"that is, a database of all the HTTP cookies that a given LWP::UserAgent\n" +"object knows about." +msgstr "" + +#: gnu/packages/web.scm:2659 +msgid "Perl simple http server class" +msgstr "" + +#: gnu/packages/web.scm:2661 +msgid "" +"Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen\n" +"on a socket for incoming requests. The HTTP::Daemon is a subclass of\n" +"IO::Socket::INET, so you can perform socket operations directly on it too." +msgstr "" + +#: gnu/packages/web.scm:2680 +msgid "Perl date conversion routines" +msgstr "" + +#: gnu/packages/web.scm:2682 +msgid "" +"The HTTP::Date module provides functions that deal with date formats\n" +"used by the HTTP protocol (and then some more)." +msgstr "" + +#: gnu/packages/web.scm:2706 +msgid "Perl HTTP style message" +msgstr "" + +#: gnu/packages/web.scm:2708 +msgid "An HTTP::Message object contains some headers and a content body." +msgstr "" + +#: gnu/packages/web.scm:2727 +msgid "Perl http content negotiation" +msgstr "" + +#: gnu/packages/web.scm:2729 +msgid "" +"The HTTP::Negotiate module provides a complete implementation of the\n" +"HTTP content negotiation algorithm specified in\n" +"draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for\n" +"the selection of a preferred content representation based upon attributes\n" +"of the negotiable variants and the value of the various Accept* header\n" +"fields in the request." +msgstr "" + +#: gnu/packages/web.scm:2754 +msgid "Parse HTTP/1.1 requests" +msgstr "" + +#: gnu/packages/web.scm:2755 +msgid "" +"This is an HTTP request parser. It takes chunks of text as\n" +"received and returns a 'hint' as to what is required, or returns the\n" +"HTTP::Request when a complete request has been read. HTTP/1.1 chunking is\n" +"supported." +msgstr "" + +#: gnu/packages/web.scm:2777 +msgid "Fast HTTP request parser" +msgstr "" + +#: gnu/packages/web.scm:2778 +msgid "" +"HTTP::Parser::XS is a fast, primitive HTTP request/response\n" +"parser." +msgstr "" + +#: gnu/packages/web.scm:2799 +msgid "Set up a CGI environment from an HTTP::Request" +msgstr "" + +#: gnu/packages/web.scm:2800 +msgid "" +"This module provides a convenient way to set up a CGI\n" +"environment from an HTTP::Request." +msgstr "" + +#: gnu/packages/web.scm:2833 +msgid "Lightweight HTTP server" +msgstr "" + +#: gnu/packages/web.scm:2834 +msgid "" +"HTTP::Server::Simple is a simple standalone HTTP daemon with\n" +"no non-core module dependencies. It can be used for building a standalone\n" +"http-based UI to your existing tools." +msgstr "" + +#: gnu/packages/web.scm:2859 +msgid "HTTP/1.1 client" +msgstr "" + +#: gnu/packages/web.scm:2860 +msgid "" +"This is a very simple HTTP/1.1 client, designed for doing\n" +"simple requests without the overhead of a large framework like LWP::UserAgent.\n" +"It supports proxies and redirection. It also correctly resumes after EINTR." +msgstr "" + +#: gnu/packages/web.scm:2879 +msgid "Perl module to open an HTML file with automatic charset detection" +msgstr "" + +#: gnu/packages/web.scm:2881 +msgid "" +"IO::HTML provides an easy way to open a file containing HTML while\n" +"automatically determining its encoding. It uses the HTML5 encoding sniffing\n" +"algorithm specified in section 8.2.2.1 of the draft standard." +msgstr "" + +#: gnu/packages/web.scm:2901 +msgid "Family-neutral IP socket supporting both IPv4 and IPv6" +msgstr "" + +#: gnu/packages/web.scm:2902 +msgid "" +"This module provides a protocol-independent way to use IPv4\n" +"and IPv6 sockets, intended as a replacement for IO::Socket::INET." +msgstr "" + +#: gnu/packages/web.scm:2924 +msgid "Nearly transparent SSL encapsulation for IO::Socket::INET" +msgstr "" + +#: gnu/packages/web.scm:2926 +msgid "" +"IO::Socket::SSL makes using SSL/TLS much easier by wrapping the\n" +"necessary functionality into the familiar IO::Socket interface and providing\n" +"secure defaults whenever possible. This way existing applications can be made\n" +"SSL-aware without much effort, at least if you do blocking I/O and don't use\n" +"select or poll." +msgstr "" + +#: gnu/packages/web.scm:2960 +msgid "Perl modules for the WWW" +msgstr "用于万维网的 Perl 模块" + +#: gnu/packages/web.scm:2962 +msgid "" +"The libwww-perl collection is a set of Perl modules which provides a\n" +"simple and consistent application programming interface to the\n" +"World-Wide Web. The main focus of the library is to provide classes\n" +"and functions that allow you to write WWW clients. The library also\n" +"contains modules that are of more general use and even classes that\n" +"help you implement simple HTTP servers." +msgstr "" + +#: gnu/packages/web.scm:2990 +msgid "Checks whether your process has access to the web" +msgstr "" + +#: gnu/packages/web.scm:2991 +msgid "" +"This module attempts to answer, as accurately as it can, one\n" +"of the nastiest technical questions there is: am I on the internet?\n" +"\n" +"A host of networking and security issues make this problem very difficult.\n" +"There are firewalls, proxies (both well behaved and badly behaved). We might\n" +"not have DNS. We might not have a network card at all!" +msgstr "" + +#: gnu/packages/web.scm:3013 +msgid "Perl module to guess the media type for a file or a URL" +msgstr "" + +#: gnu/packages/web.scm:3015 +#, scheme-format +msgid "" +"The LWP::MediaTypes module provides functions for handling media (also\n" +"known as MIME) types and encodings. The mapping from file extensions to\n" +"media types is defined by the media.types file. If the ~/.media.types file\n" +"exists it is used instead." +msgstr "" + +#: gnu/packages/web.scm:3041 +msgid "HTTPS support for LWP::UserAgent" +msgstr "" + +#: gnu/packages/web.scm:3042 +msgid "" +"The LWP::Protocol::https module provides support for using\n" +"https schemed URLs with LWP." +msgstr "" + +#: gnu/packages/web.scm:3062 +msgid "Virtual browser that retries errors" +msgstr "" + +#: gnu/packages/web.scm:3063 +msgid "" +"LWP::UserAgent::Determined works just like LWP::UserAgent,\n" +"except that when you use it to get a web page but run into a\n" +"possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds\n" +"and retry a few times." +msgstr "" + +#: gnu/packages/web.scm:3108 +msgid "Perl interface to Amazon S3" +msgstr "" + +#: gnu/packages/web.scm:3109 +msgid "This module provides a Perlish interface to Amazon S3." +msgstr "" + +#: gnu/packages/web.scm:3129 +msgid "Perl low-level HTTP connection (client)" +msgstr "" + +#: gnu/packages/web.scm:3131 +msgid "" +"The Net::HTTP class is a low-level HTTP client. An instance of the\n" +"Net::HTTP class represents a connection to an HTTP server. The HTTP protocol\n" +"is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and\n" +"HTTP/1.1." +msgstr "" + +#: gnu/packages/web.scm:3151 +msgid "Extensible Perl server engine" +msgstr "" + +#: gnu/packages/web.scm:3152 +msgid "" +"Net::Server is an extensible, generic Perl server engine.\n" +"It attempts to be a generic server as in Net::Daemon and NetServer::Generic.\n" +"It includes with it the ability to run as an inetd\n" +"process (Net::Server::INET), a single connection server (Net::Server or\n" +"Net::Server::Single), a forking server (Net::Server::Fork), a preforking\n" +"server which maintains a constant number of preforked\n" +"children (Net::Server::PreForkSimple), or as a managed preforking server which\n" +"maintains the number of children based on server load (Net::Server::PreFork).\n" +"In all but the inetd type, the server provides the ability to connect to one\n" +"or to multiple server ports." +msgstr "" + +#: gnu/packages/web.scm:3180 +msgid "SSL support for Net::SMTP" +msgstr "" + +#: gnu/packages/web.scm:3181 +msgid "SSL support for Net::SMTP." +msgstr "" + +#: gnu/packages/web.scm:3215 +msgid "Perl Superglue for Web frameworks and servers (PSGI toolkit)" +msgstr "" + +#: gnu/packages/web.scm:3216 +msgid "" +"Plack is a set of tools for using the PSGI stack. It\n" +"contains middleware components, a reference server, and utilities for Web\n" +"application frameworks. Plack is like Ruby's Rack or Python's Paste for\n" +"WSGI." +msgstr "" + +#: gnu/packages/web.scm:3242 +msgid "Plack::Middleware which sets body for redirect response" +msgstr "" + +#: gnu/packages/web.scm:3243 +msgid "" +"This module sets the body in redirect response, if it's not\n" +"already set." +msgstr "" + +#: gnu/packages/web.scm:3266 +msgid "Override REST methods to Plack apps via POST" +msgstr "" + +#: gnu/packages/web.scm:3267 +msgid "" +"This middleware allows for POST requests that pretend to be\n" +"something else: by adding either a header named X-HTTP-Method-Override to the\n" +"request, or a query parameter named x-tunneled-method to the URI, the client\n" +"can say what method it actually meant." +msgstr "" + +#: gnu/packages/web.scm:3291 +msgid "Plack::Middleware which removes body for HTTP response" +msgstr "" + +#: gnu/packages/web.scm:3292 +msgid "" +"This module removes the body in an HTTP response if it's not\n" +"required." +msgstr "" + +#: gnu/packages/web.scm:3315 +msgid "Supports app to run as a reverse proxy backend" +msgstr "" + +#: gnu/packages/web.scm:3316 +msgid "" +"Plack::Middleware::ReverseProxy resets some HTTP headers,\n" +"which are changed by reverse-proxy. You can specify the reverse proxy address\n" +"and stop fake requests using 'enable_if' directive in your app.psgi." +msgstr "" + +#: gnu/packages/web.scm:3337 +msgid "Run HTTP tests on external live servers" +msgstr "" + +#: gnu/packages/web.scm:3338 +msgid "" +"This module allows your to run your Plack::Test tests\n" +"against an external server instead of just against a local application through\n" +"either mocked HTTP or a locally spawned server." +msgstr "" + +#: gnu/packages/web.scm:3360 +msgid "Testing TCP programs" +msgstr "测试 TCP 程序" + +#: gnu/packages/web.scm:3361 +msgid "Test::TCP is test utilities for TCP/IP programs." +msgstr "" + +#: gnu/packages/web.scm:3391 +msgid "Testing-specific WWW::Mechanize subclass" +msgstr "" + +#: gnu/packages/web.scm:3392 +msgid "" +"Test::WWW::Mechanize is a subclass of the Perl module\n" +"WWW::Mechanize that incorporates features for web application testing." +msgstr "" + +#: gnu/packages/web.scm:3426 +msgid "Test::WWW::Mechanize for Catalyst" +msgstr "" + +#: gnu/packages/web.scm:3427 +msgid "" +"The Test::WWW::Mechanize::Catalyst module meshes the\n" +"Test::WWW:Mechanize module and the Catalyst web application framework to allow\n" +"testing of Catalyst applications without needing to start up a web server." +msgstr "" + +#: gnu/packages/web.scm:3451 +msgid "Test PSGI programs using WWW::Mechanize" +msgstr "" + +#: gnu/packages/web.scm:3452 +msgid "" +"PSGI is a specification to decouple web server environments\n" +"from web application framework code. Test::WWW::Mechanize is a subclass of\n" +"WWW::Mechanize that incorporates features for web application testing. The\n" +"Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI\n" +"applications." +msgstr "" + +#: gnu/packages/web.scm:3472 +msgid "Perl Uniform Resource Identifiers (absolute and relative)" +msgstr "" + +#: gnu/packages/web.scm:3474 +msgid "" +"The URI module implements the URI class. Objects of this class\n" +"represent \"Uniform Resource Identifier references\" as specified in RFC 2396\n" +"and updated by RFC 2732." +msgstr "" + +#: gnu/packages/web.scm:3498 +msgid "Smart URI fetching/caching" +msgstr "" + +#: gnu/packages/web.scm:3499 +msgid "" +"@code{URI::Fetch} is a smart client for fetching HTTP pages,\n" +"notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-\n" +"and time-saving way." +msgstr "" + +#: gnu/packages/web.scm:3522 +msgid "Find URIs in arbitrary text" +msgstr "" + +#: gnu/packages/web.scm:3523 +msgid "" +"This module finds URIs and URLs (according to what URI.pm\n" +"considers a URI) in plain text. It only finds URIs which include a\n" +"scheme (http:// or the like), for something a bit less strict, consider\n" +"URI::Find::Schemeless. For a command-line interface, urifind is provided." +msgstr "" + +#: gnu/packages/web.scm:3545 +msgid "WebSocket support for URI package" +msgstr "" + +#: gnu/packages/web.scm:3546 +msgid "" +"With this module, the URI package provides the same set of\n" +"methods for WebSocket URIs as it does for HTTP URIs." +msgstr "" + +#: gnu/packages/web.scm:3570 +msgid "Object for handling URI templates" +msgstr "" + +#: gnu/packages/web.scm:3571 +msgid "" +"This perl module provides a wrapper around URI templates as described in\n" +"RFC 6570." +msgstr "" + +#: gnu/packages/web.scm:3603 +msgid "Perl extension interface for libcurl" +msgstr "" + +#: gnu/packages/web.scm:3605 +msgid "" +"This is a Perl extension interface for the libcurl file downloading\n" +"library." +msgstr "" + +#: gnu/packages/web.scm:3639 +msgid "Web browsing in a Perl object" +msgstr "" + +#: gnu/packages/web.scm:3640 +msgid "" +"WWW::Mechanize is a Perl module for stateful programmatic\n" +"web browsing, used for automating interaction with websites." +msgstr "" + +#: gnu/packages/web.scm:3676 +msgid "Search A9 OpenSearch compatible engines" +msgstr "" + +#: gnu/packages/web.scm:3678 +msgid "" +"@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,\n" +"http://opensearch.a9.com} compatible search engines." +msgstr "" + +#: gnu/packages/web.scm:3698 +msgid "Perl database of robots.txt-derived permissions" +msgstr "" + +#: gnu/packages/web.scm:3700 +msgid "" +"The WWW::RobotRules module parses /robots.txt files as specified in\n" +"\"A Standard for Robot Exclusion\", at\n" +"<http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the\n" +"/robots.txt file to forbid conforming robots from accessing parts of\n" +"their web site." +msgstr "" + +#: gnu/packages/web.scm:3723 +msgid "Parse feeds in Python" +msgstr "" + +#: gnu/packages/web.scm:3725 +msgid "" +"Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,\n" +"CDF, Atom 0.3, and Atom 1.0 feeds." +msgstr "" + +#: gnu/packages/web.scm:3746 +msgid "HTTP and WebSocket server library for R" +msgstr "" + +#: gnu/packages/web.scm:3748 +msgid "" +"The httpuv package provides low-level socket and protocol support for\n" +"handling HTTP and WebSocket requests directly from within R. It is primarily\n" +"intended as a building block for other packages, rather than making it\n" +"particularly easy to create complete web applications using httpuv alone." +msgstr "" + +#: gnu/packages/web.scm:3769 +msgid "Robust, high performance JSON parser and generator for R" +msgstr "" + +#: gnu/packages/web.scm:3771 +msgid "" +"The jsonlite package provides a fast JSON parser and generator optimized\n" +"for statistical data and the web. It offers flexible, robust, high\n" +"performance tools for working with JSON in R and is particularly powerful for\n" +"building pipelines and interacting with a web API. In addition to converting\n" +"JSON data from/to R objects, jsonlite contains functions to stream, validate,\n" +"and prettify JSON data. The unit tests included with the package verify that\n" +"all edge cases are encoded and decoded consistently for use with dynamic data\n" +"in systems and applications." +msgstr "" + +#: gnu/packages/web.scm:3799 +msgid "Simple HTTP server to serve static files or dynamic documents" +msgstr "" + +#: gnu/packages/web.scm:3801 +msgid "" +"Servr provides an HTTP server in R to serve static files, or dynamic\n" +"documents that can be converted to HTML files (e.g., R Markdown) under a given\n" +"directory." +msgstr "" + +#: gnu/packages/web.scm:3835 +msgid "R tools for HTML" +msgstr "" + +#: gnu/packages/web.scm:3837 +msgid "This package provides tools for HTML generation and output in R." +msgstr "" + +#: gnu/packages/web.scm:3856 +msgid "HTML Widgets for R" +msgstr "" + +#: gnu/packages/web.scm:3858 +msgid "" +"HTML widgets is a framework for creating HTML widgets that render in\n" +"various contexts including the R console, R Markdown documents, and Shiny web\n" +"applications." +msgstr "" + +#: gnu/packages/web.scm:3883 +msgid "Advanced tables for Markdown/HTML" +msgstr "" + +#: gnu/packages/web.scm:3885 +msgid "" +"This package provides functions to build tables with advanced layout\n" +"elements such as row spanners, column spanners, table spanners, zebra\n" +"striping, and more. While allowing advanced layout, the underlying\n" +"CSS-structure is simple in order to maximize compatibility with word\n" +"processors such as LibreOffice. The package also contains a few text\n" +"formatting functions that help outputting text compatible with HTML or\n" +"LaTeX." +msgstr "" + +#: gnu/packages/web.scm:3922 +msgid "HTTP client for R" +msgstr "R 的 HTTP 客户端" + +#: gnu/packages/web.scm:3924 +msgid "" +"The @code{curl()} and @code{curl_download()} functions provide highly\n" +"configurable drop-in replacements for base @code{url()} and\n" +"@code{download.file()} with better performance, support for encryption, gzip\n" +"compression, authentication, and other @code{libcurl} goodies. The core of\n" +"the package implements a framework for performing fully customized requests\n" +"where data can be processed either in memory, on disk, or streaming via the\n" +"callback or connection interfaces." +msgstr "" + +#: gnu/packages/web.scm:3946 +msgid "Output R objects in HTML format" +msgstr "" + +#: gnu/packages/web.scm:3948 +msgid "" +"This package provides easy-to-use and versatile functions to output R\n" +"objects in HTML format." +msgstr "" + +#: gnu/packages/web.scm:3965 +msgid "JSON library for R" +msgstr "" + +#: gnu/packages/web.scm:3967 +msgid "" +"This package provides functions to convert R objects into JSON objects\n" +"and vice-versa." +msgstr "" + +#: gnu/packages/web.scm:3996 +msgid "HTML5 parsing library" +msgstr "" + +#: gnu/packages/web.scm:3998 +msgid "" +"Gumbo is an implementation of the HTML5 parsing algorithm implemented as\n" +"a pure C99 library." +msgstr "" + +#: gnu/packages/web.scm:4069 +msgid "Application container server" +msgstr "" + +#: gnu/packages/web.scm:4071 +msgid "" +"uWSGI presents a complete stack for networked/clustered web applications,\n" +"implementing message/object passing, caching, RPC and process management.\n" +"It uses the uwsgi protocol for all the networking/interprocess communications." +msgstr "" + +#: gnu/packages/web.scm:4101 +msgid "Command-line JSON processor" +msgstr "" + +#: gnu/packages/web.scm:4102 +msgid "" +"jq is like sed for JSON data – you can use it to slice and\n" +"filter and map and transform structured data with the same ease that sed, awk,\n" +"grep and friends let you play with text. It is written in portable C. jq can\n" +"mangle the data format that you have into the one that you want with very\n" +"little effort, and the program to do so is often shorter and simpler than\n" +"you'd expect." +msgstr "" + +#: gnu/packages/web.scm:4141 +msgid "Library for mocking web service APIs which use HTTP or HTTPS" +msgstr "" + +#: gnu/packages/web.scm:4143 +msgid "" +"Uhttpmock is a project for mocking web service APIs which use HTTP or\n" +"HTTPS. It provides a library, libuhttpmock, which implements recording and\n" +"playback of HTTP request/response traces." +msgstr "" + +#: gnu/packages/web.scm:4178 +msgid "Single file web server" +msgstr "" + +#: gnu/packages/web.scm:4179 +msgid "" +"Woof (Web Offer One File) is a small simple web server that\n" +"can easily be invoked on a single file. Your partner can access the file with\n" +"tools they trust (e.g. wget)." +msgstr "" + +#: gnu/packages/web.scm:4205 +msgid "Build system for the Netsurf project" +msgstr "" + +#: gnu/packages/web.scm:4207 +msgid "" +"This package provides the shared build system for Netsurf project\n" +"libraries." +msgstr "" + +#: gnu/packages/web.scm:4242 +msgid "Parser building library" +msgstr "" + +#: gnu/packages/web.scm:4244 +msgid "" +"LibParserUtils is a library for building efficient parsers, written in\n" +"C. It is developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4272 +msgid "HTML5 compliant parsing library" +msgstr "兼容 HTML5 的解析库" + +#: gnu/packages/web.scm:4274 +msgid "" +"Hubbub is an HTML5 compliant parsing library, written in C, which can\n" +"parse both valid and invalid web content. It is developed as part of the\n" +"NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4349 +msgid "Wiki compiler, capable of generating HTML" +msgstr "" + +#: gnu/packages/web.scm:4351 +msgid "" +"Ikiwiki is a wiki compiler, capable of generating a static set of web\n" +"pages, but also incorporating dynamic features like a web based editor and\n" +"commenting." +msgstr "" + +#: gnu/packages/web.scm:4375 +msgid "String internment library" +msgstr "" + +#: gnu/packages/web.scm:4377 +msgid "" +"LibWapcaplet provides a reference counted string internment system\n" +"designed to store small strings and allow rapid comparison of them. It is\n" +"developed as part of the Netsurf project." +msgstr "" + +#: gnu/packages/web.scm:4404 +msgid "CSS parser and selection library" +msgstr "" + +#: gnu/packages/web.scm:4406 +msgid "" +"LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,\n" +"written in C. It is developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4440 +msgid "Implementation of the W3C DOM" +msgstr "" + +#: gnu/packages/web.scm:4442 +msgid "" +"LibDOM is an implementation of the W3C DOM, written in C. It is\n" +"developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4469 +msgid "Library for parsing SVG files" +msgstr "" + +#: gnu/packages/web.scm:4471 +msgid "" +"Libsvgtiny takes some SVG as input and returns a list of paths and texts\n" +"which can be rendered easily, as defined in\n" +"@url{http://www.w3.org/TR/SVGMobile/}. It is developed as part of the NetSurf\n" +"project." +msgstr "" + +#: gnu/packages/web.scm:4494 +msgid "Decoding library for BMP and ICO files" +msgstr "" + +#: gnu/packages/web.scm:4496 +msgid "" +"Libnsbmp is a decoding library for BMP and ICO image file formats,\n" +"written in C. It is developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4517 +msgid "Decoding library for GIF files" +msgstr "" + +#: gnu/packages/web.scm:4519 +msgid "" +"Libnsgif is a decoding library for the GIF image file format, written in\n" +"C. It is developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4540 +msgid "Utility library for NetSurf" +msgstr "" + +#: gnu/packages/web.scm:4542 +msgid "" +"Libnsutils provides a small number of useful utility routines. It is\n" +"developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4563 +msgid "Library to generate a static Public Suffix List" +msgstr "" + +#: gnu/packages/web.scm:4565 +msgid "" +"Libnspsl is a library to generate a static code representation of the\n" +"Public Suffix List. It is developed as part of the NetSurf project." +msgstr "" + +#: gnu/packages/web.scm:4591 +msgid "Generate JavaScript to DOM bindings" +msgstr "" + +#: gnu/packages/web.scm:4593 +msgid "" +"@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from\n" +"w3c webidl files and a binding configuration file." +msgstr "" + +#: gnu/packages/web.scm:4704 +msgid "Web browser" +msgstr "网页浏览器" + +#: gnu/packages/web.scm:4706 +msgid "" +"NetSurf is a lightweight web browser that has its own layout and\n" +"rendering engine entirely written from scratch. It is small and capable of\n" +"handling many of the web standards in use today." +msgstr "" + +#: gnu/packages/web.scm:4739 +msgid "Unix command line interface to the www" +msgstr "" + +#: gnu/packages/web.scm:4740 +msgid "" +"Surfraw (Shell Users' Revolutionary Front Rage Against the Web)\n" +"provides a unix command line interface to a variety of popular www search engines\n" +"and similar services." +msgstr "" + +#: gnu/packages/web.scm:4771 +msgid "Simple static web server" +msgstr "" + +#: gnu/packages/web.scm:4772 +msgid "" +"darkhttpd is a simple static web server. It is\n" +"standalone and does not need inetd or ucspi-tcp. It does not need any\n" +"config files---you only have to specify the www root." +msgstr "" + +#: gnu/packages/web.scm:4802 +msgid "Analyze Web server logs in real time" +msgstr "" + +#: gnu/packages/web.scm:4804 +msgid "" +"GoAccess is a real-time web log analyzer and interactive viewer that\n" +"runs in a terminal or through your browser. It provides fast and valuable\n" +"HTTP statistics for system administrators that require a visual server report\n" +"on the fly." +msgstr "" + +#: gnu/packages/web.scm:4839 +msgid "Tunnel data connections through HTTP requests" +msgstr "" + +#: gnu/packages/web.scm:4840 +msgid "" +"httptunnel creates a bidirectional virtual data connection\n" +"tunnelled through HTTP (HyperText Transfer Protocol) requests. This can be\n" +"useful for users behind restrictive firewalls. As long as Web traffic is\n" +"allowed, even through a HTTP-only proxy, httptunnel can be combined with other\n" +"tools like SSH (Secure Shell) to reach the outside world." +msgstr "" + +#: gnu/packages/web.scm:4865 +msgid "TLS proxy for clients or servers" +msgstr "" + +#: gnu/packages/web.scm:4866 +msgid "" +"Stunnel is a proxy designed to add TLS encryption\n" +"functionality to existing clients and servers without any changes in the\n" +"programs' code. Its architecture is optimized for security, portability, and\n" +"scalability (including load-balancing), making it suitable for large\n" +"deployments." +msgstr "" + +#: gnu/packages/web.scm:4890 +msgid "Internet services daemon" +msgstr "" + +#: gnu/packages/web.scm:4891 +msgid "" +"@code{xinetd}, a more secure replacement for @code{inetd},\n" +"listens for incoming requests over a network and launches the appropriate\n" +"service for that request. Requests are made using port numbers as identifiers\n" +"and xinetd usually launches another daemon to handle the request. It can be\n" +"used to start services with both privileged and non-privileged port numbers." +msgstr "" + +#: gnu/packages/web.scm:4935 +msgid "HTML Tidy with HTML5 support" +msgstr "" + +#: gnu/packages/web.scm:4937 +msgid "" +"Tidy is a console application which corrects and cleans up\n" +"HTML and XML documents by fixing markup errors and upgrading\n" +"legacy code to modern standards.\n" +"\n" +"Tidy also provides @code{libtidy}, a C static and dynamic library that\n" +"developers can integrate into their applications to make use of the\n" +"functions of Tidy." +msgstr "" + +#: gnu/packages/web.scm:4993 +msgid "Webserver with focus on security" +msgstr "" + +#: gnu/packages/web.scm:4995 +msgid "" +"Hiawatha has been written with security in mind.\n" +"Features include the ability to stop SQL injections, XSS and CSRF attacks and\n" +"exploit attempts." +msgstr "" + +#: gnu/packages/web.scm:5019 +msgid "HTTP request and response service" +msgstr "" + +#: gnu/packages/web.scm:5020 +msgid "" +"Testing an HTTP Library can become difficult sometimes.\n" +"@code{RequestBin} is fantastic for testing POST requests, but doesn't let you control the\n" +"response. This exists to cover all kinds of HTTP scenarios. All endpoint responses are\n" +"JSON-encoded." +msgstr "" + +#: gnu/packages/web.scm:5048 +msgid "Test your HTTP library against a local copy of httpbin" +msgstr "" + +#: gnu/packages/web.scm:5050 +msgid "" +"@code{Pytest-httpbin} creates a @code{pytest} fixture that is dependency-injected\n" +"into your tests. It automatically starts up a HTTP server in a separate thread running\n" +"@code{httpbin} and provides your test with the URL in the fixture." +msgstr "" + +#: gnu/packages/web.scm:5081 +msgid "HTTP request/response parser for C" +msgstr "" + +#: gnu/packages/web.scm:5082 +msgid "" +"This is a parser for HTTP messages written in C. It parses\n" +"both requests and responses. The parser is designed to be used in\n" +"high-performance HTTP applications. It does not make any syscalls nor\n" +"allocations, it does not buffer data, it can be interrupted at anytime.\n" +"Depending on your architecture, it only requires about 40 bytes of data per\n" +"message stream (in a web server that is per connection)." +msgstr "" + +#: gnu/packages/web.scm:5134 +msgid "HTTP client mock for Python" +msgstr "" + +#: gnu/packages/web.scm:5135 +msgid "" +"@code{httpretty} is a helper for faking web requests,\n" +"inspired by Ruby's @code{fakeweb}." +msgstr "" + +#: gnu/packages/web.scm:5153 +msgid "Output JSON from a shell" +msgstr "" + +#: gnu/packages/web.scm:5154 +msgid "" +"jo is a command-line utility to create JSON objects or\n" +"arrays. It creates a JSON string on stdout from words provided as\n" +"command-line arguments or read from stdin." +msgstr "" + +#: gnu/packages/web.scm:5203 +msgid "Command-line interface to archive.org" +msgstr "" + +#: gnu/packages/web.scm:5204 +msgid "" +"@code{ia} is a command-line tool for using\n" +"@url{archive.org} from the command-line. It also emplements the\n" +"internetarchive python module for programatic access to archive.org." +msgstr "" + +#: gnu/packages/web.scm:5259 +msgid "Search code snippets on @url{https://commandlinefu.com}" +msgstr "" + +#: gnu/packages/web.scm:5260 +msgid "" +"@code{clf} is a command line tool for searching code\n" +"snippets on @url{https://commandlinefu.com}." +msgstr "" + +#: gnu/packages/web.scm:5362 +msgid "Easy interactive web applications with R" +msgstr "" + +#: gnu/packages/web.scm:5364 +msgid "" +"Makes it incredibly easy to build interactive web applications\n" +"with R. Automatic \"reactive\" binding between inputs and outputs and\n" +"extensive prebuilt widgets make it possible to build beautiful,\n" +"responsive, and powerful applications with minimal effort." +msgstr "" + +#: gnu/packages/web.scm:5390 +msgid "Inter-widget interactivity for HTML widgets" +msgstr "" + +#: gnu/packages/web.scm:5392 +msgid "" +"This package provides building blocks for allowing HTML widgets to\n" +"communicate with each other, with Shiny or without (i.e. static @code{.html}\n" +"files). It currently supports linked brushing and filtering." +msgstr "" + +#: gnu/packages/web.scm:5412 +msgid "Web server interface for R" +msgstr "R 的网页服务器界面" + +#: gnu/packages/web.scm:5414 +msgid "" +"This package contains the Rook specification and convenience software\n" +"for building and running Rook applications. A Rook application is an R\n" +"reference class object that implements a @code{call} method or an R closure\n" +"that takes exactly one argument, an environment, and returns a list with three\n" +"named elements: the @code{status}, the @code{headers}, and the @code{body}." +msgstr "" + +#: gnu/packages/web.scm:5454 +msgid "Generate Atom feeds for social networking websites" +msgstr "" + +#: gnu/packages/web.scm:5455 +msgid "" +"rss-bridge generates Atom feeds for social networking\n" +"websites lacking feeds. Supported websites include Facebook, Twitter,\n" +"Instagram and YouTube." +msgstr "" + +#: gnu/packages/web.scm:5487 +msgid "Check websites for broken links" +msgstr "" + +#: gnu/packages/web.scm:5488 +msgid "" +"LinkChecker is a website validator. It checks for broken\n" +"links in websites. It is recursive and multithreaded providing output in\n" +"colored or normal text, HTML, SQL, CSV, XML or as a sitemap graph. It\n" +"supports checking HTTP/1.1, HTTPS, FTP, mailto, news, nntp, telnet and local\n" +"file links." +msgstr "" + +#: gnu/packages/web.scm:5529 +msgid "Command-line WebDAV client" +msgstr "" + +#: gnu/packages/web.scm:5531 +msgid "" +"Cadaver is a command-line WebDAV client for Unix. It supports\n" +"file upload, download, on-screen display, namespace operations (move/copy),\n" +"collection creation and deletion, and locking operations." +msgstr "" + +#: gnu/packages/web.scm:5549 +msgid "Universal Binary JSON encoder/decoder" +msgstr "" + +#: gnu/packages/web.scm:5551 +msgid "" +"Py-ubjson is a Python module providing an Universal Binary JSON\n" +"encoder/decoder based on the draft-12 specification for UBJSON." +msgstr "" + +#: gnu/packages/web.scm:5599 +msgid "" +"Java Servlet, JavaServer Pages, Java Expression Language and Java\n" +"WebSocket" +msgstr "" + +#: gnu/packages/web.scm:5601 +msgid "" +"Apache Tomcat is a free implementation of the Java\n" +"Servlet, JavaServer Pages, Java Expression Language and Java WebSocket\n" +"technologies." +msgstr "" + +#: gnu/packages/web.scm:5651 +msgid "Helper classes for jetty tests" +msgstr "" + +#: gnu/packages/web.scm:5652 +msgid "" +"This packages contains helper classes for testing the Jetty\n" +"Web Server." +msgstr "" + +#: gnu/packages/web.scm:5714 +msgid "Utility classes for Jetty" +msgstr "" + +#: gnu/packages/web.scm:5715 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides utility classes." +msgstr "" + +#: gnu/packages/web.scm:5786 +msgid "Jetty :: IO Utility" +msgstr "" + +#: gnu/packages/web.scm:5787 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides IO-related utility classes." +msgstr "" + +#: gnu/packages/web.scm:5830 +msgid "Jetty :: Http Utility" +msgstr "" + +#: gnu/packages/web.scm:5831 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides HTTP-related utility classes." +msgstr "" + +#: gnu/packages/web.scm:5864 +msgid "Jetty :: JMX Management" +msgstr "" + +#: gnu/packages/web.scm:5865 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides the JMX management." +msgstr "" + +#: gnu/packages/web.scm:5951 +msgid "Core jetty server artifact" +msgstr "" + +#: gnu/packages/web.scm:5952 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides the core jetty server\n" +"artifact." +msgstr "" + +#: gnu/packages/web.scm:5995 +msgid "Jetty security infrastructure" +msgstr "" + +#: gnu/packages/web.scm:5996 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides the core jetty security\n" +"infrastructure" +msgstr "" + +#: gnu/packages/web.scm:6039 +msgid "Jetty Servlet Container" +msgstr "" + +#: gnu/packages/web.scm:6040 +msgid "" +"The Jetty Web Server provides an HTTP server and Servlet\n" +"container capable of serving static and dynamic content either from a standalone\n" +"or embedded instantiation. This package provides the core jetty servlet\n" +"container." +msgstr "" + +#: gnu/packages/web.scm:6087 +msgid "Validate HTML" +msgstr "" + +#: gnu/packages/web.scm:6088 +msgid "" +"Tidyp is a program that can validate your HTML, as well as\n" +"modify it to be more clean and standard. tidyp does not validate HTML 5.\n" +"\n" +"libtidyp is the library on which the program is based. It can be used by any\n" +"other program that can interface to it. The Perl module @code{HTML::Tidy} is\n" +"based on this library, allowing Perl programmers to easily validate HTML." +msgstr "" + +#: gnu/packages/web.scm:6129 +msgid "(X)HTML validation in a Perl object" +msgstr "" + +#: gnu/packages/web.scm:6130 +msgid "" +"@code{HTML::Tidy} is an HTML checker in a handy dandy\n" +"object. It's meant as a replacement for @code{HTML::Lint}, which is written\n" +"in Perl but is not nearly as capable as @code{HTML::Tidy}." +msgstr "" + +#: gnu/packages/wordnet.scm:86 +msgid "Lexical database for the English language" +msgstr "" + +#: gnu/packages/wordnet.scm:88 +msgid "" +"WordNet is a large lexical database of English. Nouns, verbs,\n" +"adjectives and adverbs are grouped into sets of cognitive synonyms (synsets),\n" +"each expressing a distinct concept. Synsets are interlinked by means of\n" +"conceptual-semantic and lexical relations. The resulting network of\n" +"meaningfully related words and concepts can be navigated with the browser.\n" +"WordNet is also freely and publicly available for download. WordNet's\n" +"structure makes it a useful tool for computational linguistics and natural\n" +"language processing." +msgstr "" + +#: gnu/packages/xiph.scm:68 +msgid "Library for manipulating the ogg multimedia format" +msgstr "" + +#: gnu/packages/xiph.scm:70 +msgid "" +"The libogg library allows to manipulate the ogg multimedia container\n" +"format, which encapsulates raw compressed data and allows the interleaving of\n" +"audio and video data. In addition to encapsulation and interleaving of\n" +"multiple data streams, ogg provides packet framing, error detection, and\n" +"periodic timestamps for seeking." +msgstr "" + +#: gnu/packages/xiph.scm:94 +msgid "Library implementing the vorbis audio format" +msgstr "" + +#: gnu/packages/xiph.scm:96 +msgid "" +"The libvorbis library implements the ogg vorbis audio format,\n" +"a fully open, non-proprietary, patent-and-royalty-free, general-purpose\n" +"compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,\n" +"polyphonic) audio and music at fixed and variable bitrates from 16 to\n" +"128 kbps/channel." +msgstr "" + +#: gnu/packages/xiph.scm:121 +msgid "Library implementing the Theora video format" +msgstr "" + +#: gnu/packages/xiph.scm:123 +msgid "" +"The libtheora library implements the ogg theora video format,\n" +"a fully open, non-proprietary, patent-and-royalty-free, general-purpose\n" +"compressed video format." +msgstr "" + +#: gnu/packages/xiph.scm:148 +msgid "Library for patent-free audio compression format" +msgstr "" + +#: gnu/packages/xiph.scm:150 +msgid "" +"GNU Speex is a patent-free audio compression codec specially designed\n" +"for speech. It is well-adapted to internet applications, such as VoIP. It\n" +"features compression of different bands in the same bitstream, intensity\n" +"stereo encoding, and voice activity detection." +msgstr "" + +#: gnu/packages/xiph.scm:176 +msgid "Speex processing library" +msgstr "" + +#: gnu/packages/xiph.scm:178 +msgid "" +"SpeexDSP is a @dfn{DSP} (Digital Signal Processing) library based on\n" +"work from the @code{speex} codec." +msgstr "" + +#: gnu/packages/xiph.scm:205 +msgid "Cross platform audio library" +msgstr "" + +#: gnu/packages/xiph.scm:207 +msgid "" +"Libao is a cross-platform audio library that allows programs to\n" +"output audio using a simple API on a wide variety of platforms.\n" +"It currently supports:\n" +"@enumerate\n" +"@item Null output (handy for testing without a sound device),\n" +"@item WAV files,\n" +"@item AU files,\n" +"@item RAW files,\n" +"@item OSS (Open Sound System, used on Linux and FreeBSD),\n" +"@item ALSA (Advanced Linux Sound Architecture),\n" +"@item aRts (Analog RealTime Synth, used by KDE),\n" +"@item PulseAudio (next generation GNOME sound server),\n" +"@item esd (EsounD or Enlightened Sound Daemon),\n" +"@item Mac OS X,\n" +"@item Windows (98 and later),\n" +"@item AIX,\n" +"@item Sun/NetBSD/OpenBSD,\n" +"@item IRIX,\n" +"@item NAS (Network Audio Server),\n" +"@item RoarAudio (Modern, multi-OS, networked Sound System),\n" +"@item OpenBSD's sndio.\n" +"@end enumerate\n" +msgstr "" + +#: gnu/packages/xiph.scm:249 +msgid "Free lossless audio codec" +msgstr "" + +#: gnu/packages/xiph.scm:251 +msgid "" +"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,\n" +"meaning that audio is compressed in FLAC without any loss in quality." +msgstr "" + +#: gnu/packages/xiph.scm:277 +msgid "Karaoke and text codec for embedding in ogg" +msgstr "" + +#: gnu/packages/xiph.scm:279 +msgid "" +"Kate is an overlay codec, originally designed for karaoke and text,\n" +"that can be multiplixed in Ogg. Text and images can be carried by a Kate\n" +"stream, and animated. Most of the time, this would be multiplexed with\n" +"audio/video to carry subtitles, song lyrics (with or without karaoke data),\n" +"etc., but doesn't have to be.\n" +"\n" +"Series of curves (splines, segments, etc.) may be attached to various\n" +"properties (text position, font size, etc.) to create animated overlays.\n" +"This allows scrolling or fading text to be defined. This can even be used\n" +"to draw arbitrary shapes, so hand drawing can also be represented by a\n" +"Kate stream." +msgstr "" + +#: gnu/packages/xiph.scm:317 +msgid "Ogg vorbis tools" +msgstr "" + +#: gnu/packages/xiph.scm:319 +msgid "" +"Ogg vorbis is a non-proprietary, patent-and-royalty-free,\n" +"general-purpose compressed audio format.\n" +"\n" +"The package vorbis-tools contains\n" +"ogg123, an ogg vorbis command line audio player;\n" +"oggenc, the ogg vorbis encoder;\n" +"oggdec, a simple, portable command line decoder (to wav and raw);\n" +"ogginfo, to obtain information (tags, bitrate, length, etc.) about\n" +" an ogg vorbis file." +msgstr "" + +#: gnu/packages/xiph.scm:343 gnu/packages/xiph.scm:406 +msgid "Versatile audio codec" +msgstr "" + +#: gnu/packages/xiph.scm:345 +msgid "" +"Opus is a totally open, royalty-free, highly versatile audio codec. Opus\n" +"is unmatched for interactive speech and music transmission over the Internet,\n" +"but is also intended for storage and streaming applications. It is\n" +"standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which\n" +"incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec." +msgstr "" + +#: gnu/packages/xiph.scm:379 +msgid "Command line utilities to encode, inspect, and decode .opus files" +msgstr "" + +#: gnu/packages/xiph.scm:380 +msgid "" +"Opus is a royalty-free, highly versatile audio codec.\n" +"Opus-tools provide command line utilities for creating, inspecting and\n" +"decoding .opus files." +msgstr "" + +#: gnu/packages/xiph.scm:408 +msgid "" +"The opusfile library provides seeking, decode, and playback of Opus\n" +"streams in the Ogg container (.opus files) including over http(s) on posix and\n" +"windows systems." +msgstr "" + +#: gnu/packages/xiph.scm:438 +msgid "Streaming media server" +msgstr "" + +#: gnu/packages/xiph.scm:439 +msgid "" +"Icecast is a streaming media server which currently supports\n" +"Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams. It can be used to\n" +"create an Internet radio station or a privately running jukebox and many\n" +"things in between." +msgstr "" + +#: gnu/packages/xiph.scm:467 +msgid "Audio streaming library for icecast encoders" +msgstr "" + +#: gnu/packages/xiph.scm:469 +msgid "" +"Libshout is a library for communicating with and sending data to an\n" +"icecast server. It handles the socket connection, the timing of the data,\n" +"and prevents bad data from getting to the icecast server." +msgstr "" + +#: gnu/services/base.scm:212 +msgid "" +"Populate the @file{/etc/fstab} based on the given file\n" +"system objects." +msgstr "" + +#: gnu/services/base.scm:356 +msgid "" +"Provide Shepherd services to mount and unmount the given\n" +"file systems, as well as corresponding @file{/etc/fstab} entries." +msgstr "" + +#: gnu/services/base.scm:555 +msgid "" +"Seed the @file{/dev/urandom} pseudo-random number\n" +"generator (RNG) with the value recorded when the system was last shut\n" +"down." +msgstr "" + +#: gnu/services/base.scm:694 +msgid "" +"Install the given fonts on the specified ttys (fonts are per\n" +"virtual console on GNU/Linux). The value of this service is a list of\n" +"tty/font pairs like:\n" +"\n" +"@example\n" +"'((\"tty1\" . \"LatGrkCyr-8x16\"))\n" +"@end example\n" +msgstr "" + +#: gnu/services/base.scm:737 +msgid "" +"Provide a console log-in service as specified by its\n" +"configuration value, a @code{login-configuration} object." +msgstr "" + +#: gnu/services/base.scm:956 +msgid "" +"Provide console login using the @command{agetty}\n" +"program." +msgstr "" + +#: gnu/services/base.scm:1010 +msgid "" +"Provide console login using the @command{mingetty}\n" +"program." +msgstr "" + +#: gnu/services/base.scm:1182 +msgid "" +"Runs libc's @dfn{name service cache daemon} (nscd) with the\n" +"given configuration---an @code{<nscd-configuration>} object. @xref{Name\n" +"Service Switch}, for an example." +msgstr "" + +#: gnu/services/base.scm:1282 +msgid "" +"Install the specified resource usage limits by populating\n" +"@file{/etc/security/limits.conf} and using the @code{pam_limits}\n" +"authentication module." +msgstr "" + +#: gnu/services/base.scm:1458 +msgid "Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}." +msgstr "" + +#: gnu/services/base.scm:1558 +msgid "" +"Add a Shepherd service running @command{guix publish}, a\n" +"command that allows you to share pre-built binaries with others over HTTP." +msgstr "" + +#: gnu/services/base.scm:1749 +msgid "" +"Run @command{udev}, which populates the @file{/dev}\n" +"directory dynamically. Get extra rules from the packages listed in the\n" +"@code{rules} field of its value, @code{udev-configuration} object." +msgstr "" + +#: gnu/services/base.scm:1824 +msgid "" +"Run GPM, the general-purpose mouse daemon, with the given\n" +"command-line options. GPM allows users to use the mouse in the console,\n" +"notably to select, copy, and paste text. The default options use the\n" +"@code{ps2} protocol, which works for both USB and PS/2 mice." +msgstr "" + +#: gnu/services/networking.scm:258 +msgid "" +"Turn up the specified network interfaces upon startup,\n" +"with the given IP address, gateway, netmask, and so on. The value for\n" +"services of this type is a list of @code{static-networking} objects, one per\n" +"network interface." +msgstr "" + +#: gnu/services/networking.scm:432 +msgid "" +"Run the @command{ntpd}, the Network Time Protocol (NTP)\n" +"daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon\n" +"will keep the system clock synchronized with that of the given servers." +msgstr "" + +#: gnu/services/networking.scm:534 +msgid "" +"Start @command{inetd}, the @dfn{Internet superserver}. It is responsible\n" +"for listening on Internet sockets and spawning the corresponding services on\n" +"demand." +msgstr "" + +#: gnu/services/networking.scm:689 +msgid "" +"Run the @uref{https://torproject.org, Tor} anonymous\n" +"networking daemon." +msgstr "" + +#: gnu/services/networking.scm:712 +msgid "Define a new Tor @dfn{hidden service}." +msgstr "" + +#: gnu/services/networking.scm:821 +msgid "" +"Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as\n" +"a gateway between IRC and chat networks." +msgstr "" + +#: gnu/services/networking.scm:888 +msgid "" +"Run @url{https://launchpad.net/wicd,Wicd}, a network\n" +"management daemon that aims to simplify wired and wireless networking." +msgstr "" + +#: gnu/services/networking.scm:977 +msgid "" +"Run @uref{https://wiki.gnome.org/Projects/NetworkManager,\n" +"NetworkManager}, a network management daemon that aims to simplify wired and\n" +"wireless networking." +msgstr "" + +#: gnu/services/networking.scm:1035 +msgid "" +"Run @url{https://01.org/connman,Connman},\n" +"a network connection manager." +msgstr "" + +#: gnu/services/networking.scm:1124 +msgid "" +"Run @uref{http://www.openvswitch.org, Open vSwitch}, a multilayer virtual\n" +"switch designed to enable massive network automation through programmatic\n" +"extension." +msgstr "" diff --git a/tests/glob.scm b/tests/glob.scm new file mode 100644 index 0000000000..033eeb10fe --- /dev/null +++ b/tests/glob.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; +;;; 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 (test-glob) + #:use-module (guix glob) + #:use-module (srfi srfi-64)) + + +(test-begin "glob") + +(test-equal "compile-glob-pattern, no wildcards" + "foo" + (compile-glob-pattern "foo")) + +(test-equal "compile-glob-pattern, Kleene star" + '("foo" * "bar") + (compile-glob-pattern "foo*bar")) + +(test-equal "compile-glob-pattern, question mark" + '(? "foo" *) + (compile-glob-pattern "?foo*")) + +(test-assert "literal match" + (let ((pattern (compile-glob-pattern "foo"))) + (and (glob-match? pattern "foo") + (not (glob-match? pattern "foobar")) + (not (glob-match? pattern "barfoo"))))) + +(test-assert "trailing star" + (let ((pattern (compile-glob-pattern "foo*"))) + (and (glob-match? pattern "foo") + (glob-match? pattern "foobar") + (not (glob-match? pattern "xfoo"))))) + +(test-assert "question marks" + (let ((pattern (compile-glob-pattern "foo??bar"))) + (and (glob-match? pattern "fooxxbar") + (glob-match? pattern "fooZZbar") + (not (glob-match? pattern "foobar")) + (not (glob-match? pattern "fooxxxbar")) + (not (glob-match? pattern "fooxxbarzz"))))) + +(test-end "glob") diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 004a40dee2..b84723fa43 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -184,7 +184,7 @@ test "`guix build superseded -d`" = "`guix build bar -d`" # Parsing package names and versions. guix build -n time # PASS -guix build -n time@1.8 # PASS, version found +guix build -n time@1.9 # PASS, version found if guix build -n time@3.2; # FAIL, version not found then false; else true; fi if guix build -n something-that-will-never-exist; # FAIL diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh index d7c1b7057e..a2da9a0773 100644 --- a/tests/guix-environment-container.sh +++ b/tests/guix-environment-container.sh @@ -97,6 +97,31 @@ grep -e "$NIX_STORE_DIR/.*-bash" $tmpdir/mounts # bootstrap bash rm $tmpdir/mounts +# Make sure 'GUIX_ENVIRONMENT' is linked to '~/.guix-profile' when requested +# within a container. +( + linktest='(exit (string=? (getenv "GUIX_ENVIRONMENT") +(readlink (string-append (getenv "HOME") "/.guix-profile"))))' + + cd "$tmpdir" \ + && guix environment --bootstrap --container --link-profile \ + --ad-hoc guile-bootstrap --pure \ + -- guile -c "$linktest" +) + +# Test that user can be mocked. +usertest='(exit (and (string=? (getenv "HOME") "/home/foognu") + (string=? (passwd:name (getpwuid 0)) "foognu") + (file-exists? "/home/foognu/umock")))' +touch "$tmpdir/umock" +HOME="$tmpdir" guix environment --bootstrap --container --user=foognu \ + --ad-hoc guile-bootstrap --pure \ + --share="$tmpdir/umock" \ + -- guile -c "$usertest" + + +# Check the exit code. + abnormal_exit_code=" (use-modules (system foreign)) ;; Purposely make Guile crash with a segfault. :) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index ffc8c64e24..760a2e4c9b 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> # Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> # # This file is part of GNU Guix. @@ -118,6 +118,22 @@ grep '^name: gnubg' "$tmpfile" rm -f "$tmpfile" +# Make sure deprecated packages don't show up: <https://bugs.gnu.org/30566>. +mkdir "$module_dir" +cat > "$module_dir/foo.scm"<<EOF +(define-module (foo) + #:use-module (guix packages) + #:use-module (gnu packages base)) + +(define-public deprecated + (deprecated-package "fileutils" coreutils)) +EOF + +guix build -L "$module_dir" -e '(@ (foo) deprecated)' -n +test "`guix package -L "$module_dir" -s ^fileutils$ | grep ^name:`" = "" + +rm -rf "$module_dir" + # Make sure `--search' can display all the packages. guix package --search="" > /dev/null diff --git a/tests/hash.scm b/tests/hash.scm index b189e435c8..da87616eec 100644 --- a/tests/hash.scm +++ b/tests/hash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,16 +37,17 @@ (base16-string->bytevector "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9")) -(define (supports-unbuffered-cbip?) - "Return #t if unbuffered custom binary input ports (CBIPs) are supported. -In Guile <= 2.0.9, CBIPs were always fully buffered, so the -'open-sha256-input-port' does not work there." - (false-if-exception - (setvbuf (make-custom-binary-input-port "foo" pk #f #f #f) _IONBF))) - (test-begin "hash") +(test-equal "sha1, empty" + (base16-string->bytevector "da39a3ee5e6b4b0d3255bfef95601890afd80709") + (sha1 #vu8())) + +(test-equal "sha1, hello" + (base16-string->bytevector "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed") + (sha1 (string->utf8 "hello world"))) + (test-equal "sha256, empty" %empty-sha256 (sha256 #vu8())) @@ -77,8 +78,6 @@ In Guile <= 2.0.9, CBIPs were always fully buffered, so the (equal? (sha256 contents) (call-with-input-file file port-sha256)))) -(test-skip (if (supports-unbuffered-cbip?) 0 4)) - (test-equal "open-sha256-input-port, empty" `("" ,%empty-sha256) (let-values (((port get) diff --git a/tests/packages.scm b/tests/packages.scm index 930374dabf..b2fa21a874 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -557,6 +557,24 @@ (let ((p (pk 'drv d (derivation->output-path d)))) (eq? 'hello (call-with-input-file p read)))))) +(test-assert "trivial with #:allowed-references" + (let* ((p (package + (inherit (dummy-package "trivial")) + (build-system trivial-build-system) + (arguments + `(#:guile ,%bootstrap-guile + #:allowed-references (,%bootstrap-guile) + #:builder + (begin + (mkdir %output) + ;; The reference to itself isn't allowed so building it + ;; should fail. + (symlink %output (string-append %output "/self"))))))) + (d (package-derivation %store p))) + (guard (c ((nix-protocol-error? c) #t)) + (build-derivations %store (list d)) + #f))) + (test-assert "search paths" (let* ((p (make-prompt-tag "return-search-paths")) (s (build-system diff --git a/tests/profiles.scm b/tests/profiles.scm index 469dde2652..92eb08cb9e 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -148,6 +148,11 @@ (_ #f)) (equal? m3 m4)))) +(test-equal "manifest-add removes duplicates" ;<https://bugs.gnu.org/30569> + (list guile-2.0.9) + (manifest-entries (manifest-add (manifest '()) + (list guile-2.0.9 guile-2.0.9)))) + (test-assert "manifest-perform-transaction" (let* ((m0 (manifest (list guile-2.0.9 guile-2.0.9:debug))) (t1 (manifest-transaction |