me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2018-03-01 18:04:12 +01:00
commit 86990eeda2
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
97 changed files with 5394 additions and 2039 deletions

2
README
View File

@ -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.

View File

@ -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).])

View File

@ -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.

View File

@ -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,55 +18543,930 @@ 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.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} nginx-server-configuration-list nginx
NGINX configuration.
@end deftypevr
@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).
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.
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.
Defaults to @samp{"/share/cgit/cgit.png"}.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} string logo-link
URL loaded when clicking on the cgit logo image.
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 repos 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
(cgit-configuration
(config-file (local-file "./my-cgitrc.conf"))))
(opaque-cgit-configuration
(cgitrc "")))
@end example
@item @code{package} (default: @code{cgit})
The Cgit package to use.
@end table
@end deftp
@deftp {Data Type} cgit-configuration-file
Data type representing the configuration options for Cgit.
This type has the following parameters:
@table @asis
@item @code{css} (default: @code{"/share/cgit/cgit.css"})
URL which specifies the css document to include in all Cgit pages.
@item @code{logo} (default: @code{"/share/cgit/cgit.png"})
URL which specifies the source of an image which will be used as a logo
on all Cgit pages.
@item @code{virtual-root} (default: @code{"/"})
URL which, if specified, will be used as root for all Cgit links.
@item @code{repository-directory} (default: @code{"/srv/git"})
Name of the directory to scan for repositories.
@item @code{robots} (default: @code{(list "noindex" "nofollow")})
Text used as content for the ``robots'' meta-tag.
@end table
@end deftp
@node Setuid Programs
@subsection Setuid Programs

View File

@ -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)))))))

View File

@ -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 \

View File

@ -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="

View File

@ -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))))

View File

@ -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/")

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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+)))

View File

@ -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)

View File

@ -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 _

View File

@ -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

View File

@ -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")))

View File

@ -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

View File

@ -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
;;

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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)))

View File

@ -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)

View File

@ -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))

View File

@ -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+)))

View File

@ -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")

View File

@ -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

View File

@ -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?

View File

@ -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+

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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)

View File

@ -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))

View File

@ -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))

View File

@ -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)))

View File

@ -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))

View File

@ -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")

View File

@ -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 ids 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 ids 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

View File

@ -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

View File

@ -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)))

View File

@ -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%

View File

@ -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)

View File

@ -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>

View File

@ -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'){

View File

@ -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

View File

@ -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):

View File

@ -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)) {

View File

@ -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))

View File

@ -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")

View File

@ -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+)))

View File

@ -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+)))

View File

@ -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+

View File

@ -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

View File

@ -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 Pythons 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))

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)))

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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.

View File

@ -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 repos 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))

View File

@ -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))
@ -172,107 +152,6 @@ The optional @var{config} argument should be a
access to exported repositories under @file{/srv/git}."
(service git-daemon-service-type config))
;;;
;;; 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

View File

@ -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)

View File

@ -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)))

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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"))))

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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))

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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