diff options
97 files changed, 5374 insertions, 2019 deletions
@@ -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..d409ce0117 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -132,16 +132,11 @@ if test "x$guix_build_daemon" = "xyes"; then 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..24db167618 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -45,7 +45,8 @@ 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 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -601,7 +602,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 @@ -18542,54 +18543,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. + +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. -@item @code{logo} (default: @code{"/share/cgit/cgit.png"}) +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 diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 5ca7bf8e38..115a17c64e 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. @@ -180,10 +180,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,16 +196,20 @@ 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))))))) diff --git a/gnu/local.mk b/gnu/local.mk index 8151f7c9b0..c3f28da6dd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -4,7 +4,7 @@ # 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> @@ -52,6 +52,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/acl.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 \ @@ -453,6 +454,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 \ @@ -608,7 +610,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 +618,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 \ @@ -971,7 +971,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 \ @@ -1030,13 +1029,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 \ @@ -1142,6 +1141,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 \ @@ -1160,6 +1160,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/xcb-proto-python3-print.patch \ %D%/packages/patches/xcb-proto-python3-whitespace.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index cf9524eb5f..80cf8c391c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2373,7 +2373,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 +2381,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 +2389,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 +2398,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=" 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/audio.scm b/gnu/packages/audio.scm index b1a15ed34d..1cf6441df0 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 \"\"")) @@ -2377,7 +2378,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 @@ -2536,7 +2538,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) @@ -2544,7 +2546,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 355e66f42a..846e318aa1 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> @@ -315,6 +315,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") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/automake/automake-" + version ".tar.xz")) + (sha256 + (base32 + "12jvcmkcmd5p14b41w9f7ixd3sca97pymd6lqbkwnl8qn6bjv3zr")) + (patches + (search-patches "automake-skip-amhello-tests.patch")))))) + (define-public libtool (package (name "libtool") diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 48d4b08af6..2fafa2c4a6 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -547,7 +547,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/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..50b4afcaf0 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -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 b5cfa7f1ab..a559a4011d 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -187,8 +187,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))) @@ -200,7 +200,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/commencement.scm b/gnu/packages/commencement.scm index 7286e954c5..c38f40f618 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -66,6 +66,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 diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 29b6ca1698..56984af6e2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2240,17 +2240,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 @@ -2261,10 +2265,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 diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 3864cc884b..0b447b5176 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -36,16 +36,19 @@ (define-public python-django (package (name "python-django") - (version "1.10.8") + (version "1.11.10") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "1fwqqh2zbcy9dy0lnvk338s11llnnfz2k56bf84w0wv56ayq7vyl")))) + "1ndc7axr7cz8jwhr4mz16fvwd0jcd6i81q2wi9nl172s71kkaf12")))) (build-system python-build-system) (arguments - '(#:phases + '(#:modules ((srfi srfi-1) + (guix build python-build-system) + (guix build utils)) + #:phases (modify-phases %standard-phases (add-before 'check 'set-tzdir (lambda* (#:key inputs #:allow-other-keys) @@ -56,9 +59,19 @@ "/share/zoneinfo")) #t)) (replace 'check - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH"))) + (substitute* "tests/admin_scripts/tests.py" + (("python_path = \\[") + (string-append "python_path = ['" + (find (lambda (entry) + (string-prefix? + (assoc-ref inputs "python-pytz") + entry)) + (string-split (getenv "PYTHONPATH") + #\:)) + "', "))) (zero? (system* "python" "tests/runtests.py"))))))) ;; TODO: Install extras/django_bash_completion. (native-inputs @@ -75,10 +88,11 @@ ("python-numpy" ,python-numpy) ("python-pillow" ,python-pillow) ("python-pyyaml" ,python-pyyaml) - ("python-pytz" ,python-pytz) ;; optional for tests: ("python-selenium" ,python-selenium) ("python-sqlparse" ,python-sqlparse) ("python-tblib" ,python-tblib))) + (propagated-inputs + `(("python-pytz" ,python-pytz))) (home-page "http://www.djangoproject.com/") (synopsis "High-level Python Web framework") (description diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index ed1e60a7a3..d56dc49198 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -176,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/" @@ -184,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..67bbb153fb 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> @@ -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") @@ -4492,14 +4492,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 +4519,7 @@ reproducible research.") (package-version emacs-org) ".tar")) (sha256 (base32 - "164i2asqh34p1g3iqsn7rziyxbi1ys8fwdmn7nsw5xph8qszv9zj")))) + "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) 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/fontutils.scm b/gnu/packages/fontutils.scm index a04441a005..a5e8c79371 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 a70398f678..4ad6bcbf1b 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -173,7 +173,7 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.12.0") + (version "0.12.1") (source (origin (method url-fetch) @@ -181,7 +181,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 ffc3522919..3025a68ec1 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> @@ -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))) @@ -1056,7 +1064,7 @@ games.") (define-public godot (package (name "godot") - (version "3.0") + (version "3.0.1") (source (origin (method url-fetch) (uri @@ -1065,7 +1073,7 @@ games.") (file-name (string-append name "-" version)) (sha256 (base32 - "1jhp269n1a7c663v2555444icbjwzscj4r8cq4rrrap7r7dr4hyc")))) + "0k8c12nzhl98i9il9s3awbwdamkrwxk0s47jr7n8a3z93rpszd2p")))) (build-system scons-build-system) (arguments `(#:scons ,scons-python2 @@ -1108,16 +1116,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/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 0561387931..6d2dd4c008 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 d32472b85e..a64407a36f 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 @@ -461,7 +462,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 @@ -622,6 +623,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") @@ -662,7 +690,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 c4fb3398f4..c876dbb6a9 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 @@ -2324,7 +2324,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 @@ -2830,7 +2830,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 @@ -2966,7 +2966,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, @@ -5729,7 +5729,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 "/" @@ -5737,16 +5737,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))) @@ -5756,7 +5757,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/golang.scm b/gnu/packages/golang.scm index f11cc76d9c..e201ac8e4c 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 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 f045eae350..60f2013614 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) @@ -1237,6 +1239,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/haskell-web.scm b/gnu/packages/haskell-web.scm index a24ee4b7c0..f1b50b29bd 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -866,3 +866,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..dbb9ebc808 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -5755,6 +5755,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) @@ -7358,6 +7360,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) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index ff34da9f4a..a3887ee22d 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.24") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -67,7 +67,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "1hw9xhhmm404ircmd7aw9n51n23wzjxzmav272ldk1pxb2jk3hcn")))) + "148qbxkk5m7i3cxymnfwi7aikqjyfxr306dlqm9ndp6x932js5wq")))) (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 93114d8e07..e3e3a3ccc7 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -7,9 +7,8 @@ ;;; 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 Efraim Flashner <efraim@flashner.co.il> +;;; 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> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> @@ -633,7 +632,7 @@ compose, and analyze GIF images.") (define-public imlib2 (package (name "imlib2") - (version "1.4.10") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append @@ -641,7 +640,7 @@ compose, and analyze GIF images.") "/imlib2-" version ".tar.bz2")) (sha256 (base32 - "0wm2q2xlkbm71k7mw2jyzbxgzylrkcj5yh6nq58w5gybhp98qs9z")))) + "0kg28b5wp886hiy12v7abdybrvlymb7g3nvg0ysn2y8h883s5w8m")))) (build-system gnu-build-system) (native-inputs `(("pkgconfig" ,pkg-config))) @@ -1230,3 +1229,24 @@ 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+))) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 97b3225a77..cc03f8fc2d 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-36") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "09c8298v7112y579mfp0bgsa3gsmcx2l5zbgfkwply4ihszprh0i")))) + "1nhv3cmg4npqibhchp3qgm9pld3n94xwwzv5hgn2s7lqz0zc0vd8")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 47220fc75c..0f8c04e8ba 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2018,6 +2018,72 @@ 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-classpathx-servletapi (package (name "java-classpathx-servletapi") @@ -2483,7 +2549,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") @@ -2660,6 +2726,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") @@ -5188,7 +5666,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) @@ -5199,7 +5676,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (base32 "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")))) (arguments - `(#:jar-name (string-append ,name "-" ,version ".jar") + `(#:jar-name (string-append "antlr3-" ,version ".jar") #:source-dir "src:runtime/Java/src" #:tests? #f #:phases @@ -5231,12 +5708,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" @@ -6959,7 +7437,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 @@ -6968,7 +7446,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 @@ -7033,54 +7511,55 @@ 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))) + (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 @@ -7175,8 +7654,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 @@ -7216,7 +7696,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") @@ -7246,7 +7727,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))) @@ -7277,7 +7759,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))) @@ -7904,26 +8387,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) @@ -7960,14 +8440,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/" @@ -7980,7 +8460,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))))) @@ -7988,8 +8467,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 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 dab2a7c692..ad66a846d4 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 @@ -165,7 +165,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) @@ -177,7 +177,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl")))) + "1c3g18n2vwhgcfz3dka1pmw58bnv2ram7xjvizfiykb3sgi9zfwp")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -202,7 +202,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) @@ -214,7 +214,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd")))) + "0adafwsawxssj3nilkql447v0l4a2584rdpmy5rfjmznh91lykgh")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -241,20 +241,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)) @@ -267,7 +267,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")) @@ -318,7 +317,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"))) @@ -420,7 +419,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/libffi.scm b/gnu/packages/libffi.scm index 948dabb41e..dd6b2237f9 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -79,13 +80,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 +122,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 +132,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 +153,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..78f849d02d 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,7 +36,7 @@ version ".tar.bz2")) (sha256 (base32 - "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0")))) + "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc")))) (build-system cmake-build-system) (propagated-inputs `(("libusb" ,libusb))) ; required by libftdi1.pc diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9b60c06a8d..316602adbc 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/linux.scm b/gnu/packages/linux.scm index 09c84e2e10..c33b473ca9 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.6") +(define %linux-libre-hash "13mv6wrhwjw2wll918c1r9l872wzzanvyi8rk6gv0k6cg0f56jal") (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.22") +(define %linux-libre-4.14-hash "1lhswcvgl077kzsln3nxmrdbnlc3b8mphjjmkqz0f2663wa6rhcv") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -402,14 +402,14 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.83" - "09mw2r2fbn0g6xfhyxk0n54c7sg0vk9nlp7k2ca3v0v24n7lrfza" + (make-linux-libre "4.9.84" + "08bgdcysva2igz4rc55slyz7nbzwz5skakh5c2iahsklg343pwbw" %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.118" + "0di91awl8ii1fxrfyqbpfpn134apcc98fas7yisjg87f16bn4azl" %intel-compatible-systems #:configuration-file kernel-config)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 020abc7494..a506566a05 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)) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6e8f9a74ae..8d3544f908 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. @@ -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))) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 07ac93686a..779b7ef5aa 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -197,6 +197,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 @@ -209,17 +221,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)))) @@ -530,6 +532,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" @@ -555,7 +564,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/maths.scm b/gnu/packages/maths.scm index 25e1d5a312..8d0c10697f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8,7 +8,7 @@ ;;; 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> @@ -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") @@ -2489,7 +2489,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "17.10.1") + (version "18.02.0") (source (origin (method url-fetch) @@ -2498,12 +2498,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 +2512,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/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 32a7a30e7a..6ec70b12fe 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -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/password-utils.scm b/gnu/packages/password-utils.scm index f83c05a25b..96a51f0dd4 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.0") (source (origin (method url-fetch) @@ -98,10 +101,17 @@ human.") version "-src.tar.xz")) (sha256 (base32 - "1pfkq1m5vb90kx67vyw70s1hc4ivjsvq2535vm6wdwwsncna6bz5")))) + "1v6v59fnbbsssbwy4is6hh2l4qqwy3ddb6dp2jk8clx0xbd5hn7c")))) (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) @@ -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/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/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/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/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/perl.scm b/gnu/packages/perl.scm index cef42847c6..556d8d31b4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -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))) @@ -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) @@ -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))) @@ -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))) @@ -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) @@ -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/") @@ -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 e41131fcda..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) @@ -67,14 +69,14 @@ (define-public libraw (package (name "libraw") - (version "0.18.7") + (version "0.18.8") (source (origin (method url-fetch) (uri (string-append "https://www.libraw.org/data/LibRaw-" version ".tar.gz")) (sha256 (base32 - "0wap67mb03fl2himbs20yncnnrr71mszsfm2v4spks58c714gqw7")))) + "1qi0fkw2zmd0yplrf79z7lgpz0hxl45dj5rdgpaj7283jzys9b2n")))) (build-system gnu-build-system) (home-page "https://www.libraw.org") (synopsis "Raw image decoder") @@ -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/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/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 9cfbe54b46..2721c231c3 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -220,7 +220,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+ diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 219b7f9fe2..47fc5cd63a 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -165,14 +165,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) @@ -241,13 +241,13 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.") (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 diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d2c2c0b266..ce56e72847 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -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 @@ -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 @@ -5835,21 +5834,59 @@ 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) + (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 +5916,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 @@ -8072,21 +8109,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") @@ -11093,14 +11131,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 +11151,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 +11540,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") @@ -12841,3 +12928,25 @@ 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)) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 5ea7858a89..10b26c0ce9 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -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/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/textutils.scm b/gnu/packages/textutils.scm index 3284be243e..1417bea4e5 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, diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index a54524087f..59414f6d7c 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -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 9e06e675f4..45f5255665 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -125,7 +125,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) @@ -133,7 +133,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))) @@ -797,7 +797,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/version-control.scm b/gnu/packages/version-control.scm index 91698b5f7f..6c05ab59db 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.2") (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")))) + "0kc6qi5gavziqlwnzpy7v4ah7yw860v3i8pyna6way0cfr0qnpr2")))) (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") @@ -1389,7 +1491,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 +1499,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 +1512,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/") @@ -1768,7 +1870,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 @@ -1776,7 +1878,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 287d142958..549380cda1 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) @@ -1157,7 +1158,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.02.11") + (version "2018.02.26") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1165,7 +1166,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0zg34spkfiwjq55jrk417ifdcyvrj80gdbc338rdpfw2s6ibggv8")))) + "0ijjnx8qjxk07v5dbz3n5z3cvz8dlkmh7jkyvgng7inl74c29zq5")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1311,6 +1312,59 @@ 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 ((bin-dir (string-append (assoc-ref outputs "out") + "/bin/")) + (perl-path (getenv "PERL5LIB"))) + (for-each (cut wrap-program <> + `("PERL5LIB" ":" prefix (,perl-path))) + (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") @@ -2475,7 +2529,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 @@ -2483,7 +2537,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 diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index d7f5dc6597..952f12ce55 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. @@ -272,14 +272,14 @@ traversing network address translators (NATs) and firewalls.") (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/web.scm b/gnu/packages/web.scm index ea302aa469..04cebcff73 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) @@ -796,7 +799,7 @@ for efficient socket-like bidirectional reliable communication channels.") (define-public libpsl (package (name "libpsl") - (version "0.19.1") + (version "0.20.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/rockdaboot/libpsl/" @@ -804,7 +807,7 @@ for efficient socket-like bidirectional reliable communication channels.") "/libpsl-" version ".tar.gz")) (sha256 (base32 - "0ydwi9m39qv6k7zagqx2kzxzf59ipxj9r0c71xmwngdx3fslclbk")))) + "0rsjm6mb71nnj6ikr2dq5qmny314v3j7m07zz1i7m6v8hxxm98i7")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2848,7 +2851,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) @@ -2856,7 +2859,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))) @@ -3208,7 +3211,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) @@ -3216,7 +3219,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))) @@ -3780,13 +3783,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") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3")))) + "1nzbcw1dm4l5qc9156kz95rdb8bwnpdr57wfc87w8arv7m0i40bc")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/rstudio/httpuv") @@ -6346,3 +6349,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.30.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nghttp2/nghttp2/" + "releases/download/v" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1b2j7il0wp8hi4jl3cah7fkshmg29cchdski9cw74gx5496gp6h8")))) + (build-system gnu-build-system) + (outputs (list "out" + "lib")) ; only libnghttp2 + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; Required by tests. + ("cunit" ,cunit) + ("tzdata" ,tzdata))) + (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/xdisorg.scm b/gnu/packages/xdisorg.scm index e04ada8b0d..444c3ea39b 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -406,7 +406,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 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 cc5e19af27..add374c899 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -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))) @@ -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") @@ -1109,7 +1109,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 +1118,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") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c16e5ecb13..4de93d2161 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4771,14 +4771,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. @@ -5813,7 +5813,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 @@ -5821,7 +5821,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. 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/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/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/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/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/hash.scm b/guix/hash.scm index 44e4472580..773b9d4777 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. ;;; @@ -159,7 +159,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/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/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/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/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..b4cf2b61d6 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,13 +37,6 @@ (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") @@ -77,8 +70,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 |