Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-10-30 14:32:53 +01:00
commit 998e6cdcd2
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
78 changed files with 3991 additions and 4914 deletions

View file

@ -269,7 +269,7 @@ online}, together with
@uref{https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/,
videos of the lectures by the authors}. The book is available in Texinfo
format as the @code{sicp} Guix package. Go ahead, run @code{guix install
sicp} and start reading with @code{info sicp} (or with the Emacs Info reader).
sicp} and start reading with @code{info sicp} (@pxref{,,, sicp, Structure and Interpretation of Computer Programs}).
An @uref{https://sarabander.github.io/sicp/, unofficial ebook is also
available}.
@ -331,6 +331,7 @@ It does not assume much knowledge of the Guix system nor of the Lisp language.
The reader is only expected to be familiar with the command line and to have some
basic programming knowledge.
@node A "Hello World" package
@subsection A "Hello World" package
The “Defining Packages” section of the manual introduces the basics of Guix
@ -521,8 +522,785 @@ We've gone as far as we could without any knowledge of Scheme. Before moving
on to more complex packages, now is the right time to brush up on your Scheme
knowledge. @pxref{A Scheme Crash Course} to get up to speed.
@c TODO: Continue the tutorial
@node Setup
@subsection Setup
In the rest of this chapter we will rely on some basic Scheme
programming knowledge. Now let's detail the different possible setups
for working on Guix packages.
There are several ways to set up a Guix packaging environment.
We recommend you work directly on the Guix source checkout since it makes it
easier for everyone to contribute to the project.
But first, let's look at other possibilities.
@node Local file
@subsubsection Local file
This is what we previously did with @samp{my-hello}. With the Scheme basics we've
covered, we are now able to explain the leading chunks. As stated in @code{guix
package --help}:
@example
-f, --install-from-file=FILE
install the package that the code within FILE
evaluates to
@end example
Thus the last expression @emph{must} return a package, which is the case in our
earlier example.
The @code{use-modules} expression tells which of the modules we need in the file.
Modules are a collection of values and procedures. They are commonly called
"libraries" or "packages" in other programming languages.
@node @samp{GUIX_PACKAGE_PATH}
@subsubsection @samp{GUIX_PACKAGE_PATH}
@emph{Note: Starting from Guix 0.16, the more flexible Guix "channels" are the
preferred way and supersede @samp{GUIX_PACKAGE_PATH}. See next section.}
It can be tedious to specify the file from the command line instead of simply
calling @code{guix package --install my-hello} as you would do with the official
packages.
Guix makes it possible to streamline the process by adding as many "package
declaration paths" as you want.
Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
environment variable:
@example
$ mkdir ~/guix-packages
$ export GUIX_PACKAGE_PATH=~/guix-packages
@end example
To add several directories, separate them with a colon (@code{:}).
Our previous @samp{my-hello} needs some adjustments though:
@example
(define-module (my-hello)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix download))
(define-public my-hello
(package
(name "my-hello")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system gnu-build-system)
(synopsis "Hello, Guix world: An example custom Guix package")
(description
"GNU Hello prints the message \"Hello, world!\" and then exits. It
serves as an example of standard GNU coding practices. As such, it supports
command-line arguments, multiple languages, and so on.")
(home-page "https://www.gnu.org/software/hello/")
(license gpl3+)))
@end example
Note that we have assigned the package value to an exported variable name with
@code{define-public}. This is effectively assigning the package to the @code{my-hello}
variable so that it can be referenced, among other as dependency of other
packages.
If you use @code{guix package --install-from-file=my-hello.scm} on the above file, it
will fail because the last expression, @code{define-public}, does not return a
package. If you want to use @code{define-public} in this use-case nonetheless, make
sure the file ends with an evaluation of @code{my-hello}:
@example
; ...
(define-public my-hello
; ...
)
my-hello
@end example
This last example is not very typical.
Now @samp{my-hello} should be part of the package collection like all other official
packages. You can verify this with:
@example
$ guix package --show=my-hello
@end example
@node Guix channels
@subsubsection Guix channels
Guix 0.16 features channels, which is very similar to @samp{GUIX_PACKAGE_PATH} but
provides better integration and provenance tracking. Channels are not
necessarily local, they can be maintained as a public Git repository for
instance. Of course, several channels can be used at the same time.
@xref{Channels,,, guix, GNU Guix Reference Manual} for setup details.
@node Direct checkout hacking
@subsubsection Direct checkout hacking
Working directly on the Guix project is recommended: it reduces the friction
when the time comes to submit your changes upstream to let the community benefit
from your hard work!
Unlike most software distributions, the Guix repository holds in one place both
the tooling (including the package manager) and the package definitions. This
choice was made so that it would give developers the flexibility to modify the
API without breakage by updating all packages at the same time. This reduces
development inertia.
Check out the official @uref{https://git-scm.com/, Git} repository:
@example
$ git clone https://git.savannah.gnu.org/git/guix.git
@end example
In the rest of this article, we use @samp{$GUIX_CHECKOUT} to refer to the location of
the checkout.
Follow the instruction in the manual (@pxref{Contributing,,, guix, GNU Guix
Reference Manual}) to set up the repository environment.
Once ready, you should be able to use the package definitions from the
repository environment.
Feel free to edit package definitions found in @samp{$GUIX_CHECKOUT/gnu/packages}.
The @samp{$GUIX_CHECKOUT/pre-inst-env} script lets you use @samp{guix} over the package
collection of the repository.
@itemize
@item
Search packages, such as Ruby:
@example
$ cd $GUIX_CHECKOUT
$ ./pre-inst-env guix package --list-available=ruby
ruby 1.8.7-p374 out gnu/packages/ruby.scm:119:2
ruby 2.1.6 out gnu/packages/ruby.scm:91:2
ruby 2.2.2 out gnu/packages/ruby.scm:39:2
@end example
@item
Build a package, here Ruby version 2.1:
@example
$ ./pre-inst-env guix build --keep-failed ruby@@2.1
/gnu/store/c13v73jxmj2nir2xjqaz5259zywsa9zi-ruby-2.1.6
@end example
@item
Install it to your user profile:
@example
$ ./pre-inst-env guix package --install ruby@@2.1
@end example
@item
Check for common mistakes:
@example
$ ./pre-inst-env guix lint ruby@@2.1
@end example
@end itemize
Guix strives at maintaining a high packaging standard; when contributing to the
Guix project, remember to
@itemize
@item
follow the coding style (@pxref{Coding Style,,, guix, GNU Guix Reference Manual}),
@item
and review the check list from the manual (@pxref{Submitting Patches,,, guix, GNU Guix Reference Manual}).
@end itemize
Once you are happy with the result, you are welcome to send your contribution to
make it part of Guix. This process is also detailed in the manual. (@pxref{Contributing,,, guix, GNU Guix Reference Manual})
It's a community effort so the more join in, the better Guix becomes!
@node Extended example
@subsection Extended example
The above "Hello World" example is as simple as it goes. Packages can be more
complex than that and Guix can handle more advanced scenarios. Let's look at
another, more sophisticated package (slightly modified from the source):
@example
(define-module (gnu packages version-control)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages ssh)
#:use-module (gnu packages web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages compression)
#:use-module (gnu packages tls))
(define-public my-libgit2
(let ((commit "e98d0a37c93574d2c6107bf7f31140b548c6a7bf")
(revision "1"))
(package
(name "my-libgit2")
(version (git-version "0.26.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libgit2/libgit2/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3"))
(patches (search-patches "libgit2-mtime-0.patch"))
(modules '((guix build utils)))
(snippet '(begin
;; Remove bundled software.
(delete-file-recursively "deps")
#t))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
`(#:tests? #t ; Run the test suite (this is the default)
#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-hardcoded-paths
(lambda _
(substitute* "tests/repo/init.c"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
(substitute* "tests/clar/fs.h"
(("/bin/cp") (which "cp"))
(("/bin/rm") (which "rm")))
#t))
;; Run checks more verbosely.
(replace 'check
(lambda _ (invoke "./libgit2_clar" "-v" "-Q")))
(add-after 'unpack 'make-files-writable-for-tests
(lambda _ (for-each make-file-writable (find-files "." ".*")))))))
(inputs
`(("libssh2" ,libssh2)
("http-parser" ,http-parser)
("python" ,python-wrapper)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; These two libraries are in 'Requires.private' in libgit2.pc.
`(("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://libgit2.github.com/")
(synopsis "Library providing Git core methods")
(description
"Libgit2 is a portable, pure C implementation of the Git core methods
provided as a re-entrant linkable library with a solid API, allowing you to
write native speed custom Git applications in any language with bindings.")
;; GPLv2 with linking exception
(license license:gpl2))))
@end example
(In those cases were you only want to tweak a few fields from a package
definition, you should rely on inheritance instead of copy-pasting everything.
See below.)
Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
a Git repository and a commit. The commit can be any Git reference such as
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}.
To ensure that the source code from the Git repository is stored in a unique
directory with a readable name we use @code{(file-name (git-file-name name
version))}.
Note that there is also a @code{git-version} procedure that can be used to derive the
version when packaging programs for a specific commit.
@subsubsection Snippets
Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching
the source. They are a Guix-y alternative to the traditional @samp{.patch} files.
Because of the quote, the code in only evaluated when passed to the Guix daemon
for building.
There can be as many snippet as needed.
Snippets might need additional Guile modules which can be imported from the
@code{modules} field.
@subsubsection Inputs
First, a syntactic comment: See the quasi-quote / comma syntax?
@example
(native-inputs
`(("pkg-config" ,pkg-config)))
@end example
is equivalent to
@example
(native-inputs
(list (list "pkg-config" pkg-config)))
@end example
You'll mostly see the former because it's shorter.
There are 3 different input types. In short:
@table @asis
@item native-inputs
Required for building but not runtime -- installing a package
through a substitute won't install these inputs.
@item inputs
Installed in the store but not in the profile, as well as being
present at build time.
@item propagated-inputs
Installed in the store and in the profile, as well as
being present at build time.
@end table
@xref{Package Reference,,, guix, GNU Guix Reference Manual} for more details.
The distinction between the various inputs is important: if a dependency can be
handled as an @emph{input} instead of a @emph{propagated input}, it should be done so, or
else it "pollutes" the user profile for no good reason.
For instance, a user installing a graphical program that depends on a
command line tool might only be interested in the graphical part, so there is no
need to force the command line tool into the user profile. The dependency is a
concern to the package, not to the user. @emph{Inputs} make it possible to handle
dependencies without bugging the user by adding undesired executable files (or
libraries) to their profile.
Same goes for @emph{native-inputs}: once the program is installed, build-time
dependencies can be safely garbage-collected.
It also matters when a substitute is available, in which case only the @emph{inputs}
and @emph{propagated inputs} will be fetched: the @emph{native inputs} are not required to
install a package from a substitute.
@subsubsection Outputs
Just like how a package can have multiple inputs, it can also produce multiple
outputs.
Each output corresponds to a separate directory in the store.
The user can choose which output to install; this is useful to save space or
to avoid polluting the user profile with unwanted executables or libraries.
Output separation is optional. When the @code{outputs} field is left out, the
default and only output (the complete package) is referred to as @code{"out"}.
Typical separate output names include @code{debug} and @code{doc}.
It's advised to separate outputs only when you've shown it's worth it: if the
output size is significant (compare with @code{guix size}) or in case the package is
modular.
@subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build process.
The simplest argument @code{#:tests?} can be used to disable the test suite when
building the package. This is mostly useful when the package does not feature
any test suite. It's strongly recommended to keep the test suite on if there is
one.
Another common argument is @code{:make-flags}, which specifies a list of flags to
append when running make, as you would from the command line. For instance, the
following flags
@example
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
"CC=gcc")
@end example
translate into
@example
$ make CC=gcc prefix=/gnu/store/...-<out>
@end example
This sets the C compiler to @code{gcc} and the @code{prefix} variable (the installation
directory in Make parlance) to @code{(assoc-ref %outputs "out")}, which is a build-stage
global variable pointing to the destination directory in the store (something like
@samp{/gnu/store/...-my-libgit2-20180408}).
Similarly, it's possible to set the "configure" flags.
@example
#:configure-flags '("-DUSE_SHA1DC=ON")
@end example
The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build system. Typically
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@example
(define %standard-phases
;; Standard build phases, as a list of symbol/procedure pairs.
(let-syntax ((phases (syntax-rules ()
((_ p ...) `((p . ,p) ...)))))
(phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack
bootstrap
patch-usr-bin-file
patch-source-shebangs configure patch-generated-file-shebangs
build check install
patch-shebangs strip
validate-runpath
validate-documentation-location
delete-info-dir-file
patch-dot-desktop-files
install-license-files
reset-gzip-timestamps
compress-documentation)))
@end example
Or from the REPL:
@example
> (add-to-load-path "/path/to/guix/checkout")
> ,module (guix build gnu-build-system)
> (map first %standard-phases)
(set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)
@end example
If you want to know more about what happens during those phases, consult the
associated procedures.
For instance, as of this writing the definition of @code{unpack} for the GNU build
system is
@example
(define* (unpack #:key source #:allow-other-keys)
"Unpack SOURCE in the working directory, and change directory within the
source. When SOURCE is a directory, copy it in a sub-directory of the current
working directory."
(if (file-is-directory? source)
(begin
(mkdir "source")
(chdir "source")
;; Preserve timestamps (set to the Epoch) on the copied tree so that
;; things work deterministically.
(copy-recursively source "."
#:keep-mtime? #t))
(begin
(if (string-suffix? ".zip" source)
(invoke "unzip" source)
(invoke "tar" "xvf" source))
(chdir (first-subdirectory "."))))
#t)
@end example
Note the @code{chdir} call: it changes the working directory to where the source was
unpacked.
Thus every phase following the @code{unpack} will use the source as a working
directory, which is why we can directly work on the source files.
That is to say, unless a later phase changes the working directory to something
else.
We modify the list of @code{%standard-phases} of the build system with the
@code{modify-phases} macro as per the list of specified modifications, which may have
the following forms:
@itemize
@item
@code{(add-before PHASE NEW-PHASE PROCEDURE)}: Run @code{PROCEDURE} named @code{NEW-PHASE} before @code{PHASE}.
@item
@code{(add-after PHASE NEW-PHASE PROCEDURE)}: Same, but afterwards.
@item
@code{(replace PHASE PROCEDURE)}.
@item
@code{(delete PHASE)}.
@end itemize
The @code{PROCEDURE} supports the keyword arguments @code{inputs} and @code{outputs}. Each
input (whether @emph{native}, @emph{propagated} or not) and output directory is referenced
by their name in those variables. Thus @code{(assoc-ref outputs "out")} is the store
directory of the main output of the package. A phase procedure may look like
this:
@example
(lambda* (#:key inputs outputs #:allow-other-keys)
(let (((bash-directory (assoc-ref inputs "bash"))
(output-directory (assoc-ref outputs "out"))
(doc-directory (assoc-ref outputs "doc"))
; ...
#t)
@end example
The procedure must return @code{#t} on success. It's brittle to rely on the return
value of the last expression used to tweak the phase because there is no
guarantee it would be a @code{#t}. Hence the trailing @code{#t} to ensure the right value
is returned on success.
@subsubsection Code staging
The astute reader may have noticed the quasi-quote and comma syntax in the
argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@subsubsection "Utils" functions
When customizing @code{phases}, we often need to write code that mimics the
equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during
regular "Unix-style" installations.
Some like @code{chmod} are native to Guile.
@xref{,,, guile, Guile reference manual} for a complete list.
Guix provides additional helper functions which prove especially handy in the
context of package management.
Some of those functions can be found in
@samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}. Most of them mirror the behaviour
of the traditional Unix system commands:
@table @asis
@item which
Like the @samp{which} system command.
@item find-files
Akin to the @samp{find} system command.
@item mkdir-p
Like @samp{mkdir -p}, which creates all parents as needed.
@item install-file
Similar to @samp{install} when installing a file to a (possibly
non-existing) directory. Guile has @code{copy-file} which works
like @samp{cp}.
@item copy-recursively
Like @samp{cp -r}.
@item delete-file-recursively
Like @samp{rm -rf}.
@item invoke
Run an executable. This should be used instead of @code{system*}.
@item with-directory-excursion
Run the body in a different working directory,
then restore the previous working directory.
@item substitute*
A "sed-like" function.
@end table
@subsubsection Module prefix
The license in our last example needs a prefix: this is because of how the
@code{license} module was imported in the package, as @code{#:use-module ((guix licenses)
#:prefix license:)}. The Guile module import mechanism
(@pxref{Using Guile Modules,,, guile, Guile reference manual})
gives the user full control over namespacing: this is needed to avoid
clashes between, say, the
@samp{zlib} variable from @samp{licenses.scm} (a @emph{license} value) and the @samp{zlib} variable
from @samp{compression.scm} (a @emph{package} value).
@node Other build systems
@subsection Other build systems
What we've seen so far covers the majority of packages using a build system
other than the @code{trivial-build-system}. The latter does not automate anything
and leaves you to build everything manually. This can be more demanding and we
won't cover it here for now, but thankfully it is rarely necessary to fall back
on this system.
For the other build systems, such as ASDF, Emacs, Perl, Ruby and many more, the
process is very similar to the GNU build system except for a few specialized
arguments.
Learn more about build systems in
@itemize
@item
@uref{https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html#Build-Systems, the manual, section 4.2 Build systems},
@item
the source code in the @samp{$GUIX_CHECKOUT/guix/build} and
@samp{$GUIX_CHECKOUT/guix/build-system} directories.
@end itemize
@node Programmable and automated package definition
@subsection Programmable and automated package definition
We can't repeat it enough: having a full-fledged programming language at hand
empowers us in ways that reach far beyond traditional package management.
Let's illustrate this with some awesome features of Guix!
@node Recursive importers
@subsubsection Recursive importers
You might find some build systems good enough that there is little to do at all
to write a package, to the point that it becomes repetitive and tedious after a
while. A @emph{raison d'être} of computers is to replace human beings at those
boring tasks. So let's tell Guix to do this for us and create the package
definition of an R package from CRAN (the output is trimmed for conciseness):
@example
$ guix import cran --recursive walrus
(define-public r-mc2d
; ...
(license gpl2+)))
(define-public r-jmvcore
; ...
(license gpl2+)))
(define-public r-wrs2
; ...
(license gpl3)))
(define-public r-walrus
(package
(name "r-walrus")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "walrus" version))
(sha256
(base32
"1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-jmvcore" ,r-jmvcore)
("r-r6" ,r-r6)
("r-wrs2" ,r-wrs2)))
(home-page "https://github.com/jamovi/walrus")
(synopsis "Robust Statistical Methods")
(description
"This package provides a toolbox of common robust statistical
tests, including robust descriptives, robust t-tests, and robust ANOVA.
It is also available as a module for 'jamovi' (see
<https://www.jamovi.org> for more information). Walrus is based on the
WRS2 package by Patrick Mair, which is in turn based on the scripts and
work of Rand Wilcox. These analyses are described in depth in the book
'Introduction to Robust Estimation & Hypothesis Testing'.")
(license gpl3)))
@end example
The recursive importer won't import packages for which Guix already has package
definitions, except for the very first.
Not all applications can be packaged this way, only those relying on a select
number of supported systems. Read about the full list of importers in
the guix import section of the manual
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
@node Automatic update
@subsubsection Automatic update
Guix can be smart enough to check for updates on systems it knows. It can
report outdated package definitions with
@example
$ guix refresh hello
@end example
In most cases, updating a package to a newer version requires little more than
changing the version number and the checksum. Guix can do that automatically as
well:
@example
$ guix refresh hello --update
@end example
@node Inheritance
@subsubsection Inheritance
If you've started browsing the existing package definitions, you might have
noticed that a significant number of them have a @code{inherit} field:
@example
(define-public adwaita-icon-theme
(package (inherit gnome-icon-theme)
(name "adwaita-icon-theme")
(version "3.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8"))))
(native-inputs
`(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
@end example
All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source,
version or compilation options.
@node Getting help
@subsection Getting help
Sadly, some applications can be tough to package. Sometimes they need a patch to
work with the non-standard filesystem hierarchy enforced by the store.
Sometimes the tests won't run properly. (They can be skipped but this is not
recommended.) Other times the resulting package won't be reproducible.
Should you be stuck, unable to figure out how to fix any sort of packaging
issue, don't hesitate to ask the community for help.
See the @uref{https://www.gnu.org/software/guix/contact/, Guix homepage} for information on the mailing lists, IRC, etc.
@node Conclusion
@subsection Conclusion
This tutorial was a showcase of the sophisticated package management that Guix
boasts. At this point we have mostly restricted this introduction to the
@code{gnu-build-system} which is a core abstraction layer on which more advanced
abstractions are based.
Where do we go from here? Next we ought to dissect the innards of the build
system by removing all abstractions, using the @code{trivial-build-system}: this
should give us a thorough understanding of the process before investigating some
more advanced packaging techniques and edge cases.
Other features worth exploring are the interactive editing and debugging
capabilities of Guix provided by the Guile REPL@.
Those fancy features are completely optional and can wait; now is a good time
to take a well-deserved break. With what we've introduced here you should be
well armed to package lots of programs. You can get started right away and
hopefully we will see your contributions soon!
@node References
@subsection References
@itemize
@item
The @uref{https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
@item
@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, "GNU Guix: Package without a scheme!"}, by Andreas Enge
@end itemize
@c *********************************************************************
@node System Configuration
@ -801,7 +1579,7 @@ reference.
Guix provides a very useful feature that may be quite foreign to newcomers:
@emph{profiles}. They are a way to group package installations together and all users
on a same system are free to use as many profiles as they want.
on the same system are free to use as many profiles as they want.
Whether you're a developer or not, you may find that multiple profiles bring you
great power and flexibility. While they shift the paradigm somewhat compared to
@ -830,7 +1608,7 @@ shells, each of them running different profiles.
@item
Isolation: Programs from one profile will not use programs from the other, and
they user can even install different versions of the same programs to the two
the user can even install different versions of the same programs to the two
profiles without conflict.
@item
@ -840,8 +1618,10 @@ This makes multiple profiles storage-efficient.
@item
Reproducible: when used with declarative manifests, a profile can be fully
specified by the Guix commit that was active when it was set up. This means
that the exact same profile can be @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, set up anywhere, anytime}, with just the
commit information. See the section on @ref{Reproducible profiles}.
that the exact same profile can be
@uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/,
set up anywhere and anytime}, with just the commit information. See the
section on @ref{Reproducible profiles}.
@item
Easier upgrades and maintenance: Multiple profiles make it easy to keep
@ -994,6 +1774,14 @@ You can roll-back to any generation of a given profile:
guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --switch-generations=17
@end example
Finally, if you want to switch to a profile without inheriting from the
current environment, you can activate it from an empty shell:
@example
env -i $(which bash) --login --noprofile --norc
. my-project/etc/profile
@end example
@node Required packages
@subsection Required packages
@ -1012,7 +1800,7 @@ the profile is loaded, you've got two options:
@item
Either export the variable manually, e.g.
@example
export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH"
export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH
@end example
@item

View file

@ -3666,6 +3666,21 @@ descriptions, and deploys it. Source code is downloaded from a
@uref{https://git-scm.com, Git} repository, by default the official
GNU@tie{}Guix repository, though this can be customized.
Specifically, @command{guix pull} downloads code from the @dfn{channels}
(@pxref{Channels}) specified by one of the followings, in this order:
@enumerate
@item
the @option{--channels} option;
@item
the user's @file{~/.config/guix/channels.scm} file;
@item
the system-wide @file{/etc/guix/channels.scm} file;
@item
the built-in default channels specified in the @code{%default-channels}
variable.
@end enumerate
On completion, @command{guix package} will use packages and package
versions from this just-retrieved copy of Guix. Not only that, but all
the Guix commands and Scheme modules will also be taken from that latest
@ -3763,7 +3778,8 @@ configuration in the @file{~/.config/guix/channels.scm} file or using the
@item --channels=@var{file}
@itemx -C @var{file}
Read the list of channels from @var{file} instead of
@file{~/.config/guix/channels.scm}. @var{file} must contain Scheme code that
@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
@var{file} must contain Scheme code that
evaluates to a list of channel objects. @xref{Channels}, for more
information.
@ -22378,9 +22394,69 @@ The port to run mpd on.
The address that mpd will bind to. To use a Unix domain socket,
an absolute path can be specified here.
@item @code{outputs} (default: @code{"(list (mpd-output))"})
The audio outputs that MPD can use. By default this is a single output using pulseaudio.
@end table
@end deftp
@deftp {Data Type} mpd-output
Data type representing an @command{mpd} audio output.
@table @asis
@item @code{name} (default: @code{"MPD"})
The name of the audio output.
@item @code{type} (default: @code{"pulse"})
The type of audio output.
@item @code{enabled?} (default: @code{#t})
Specifies whether this audio output is enabled when MPD is started. By
default, all audio outputs are enabled. This is just the default
setting when there is no state file; with a state file, the previous
state is restored.
@item @code{tags?} (default: @code{#t})
If set to @code{#f}, then MPD will not send tags to this output. This
is only useful for output plugins that can receive tags, for example the
@code{httpd} output plugin.
@item @code{always-on?} (default: @code{#f})
If set to @code{#t}, then MPD attempts to keep this audio output always
open. This may be useful for streaming servers, when you dont want to
disconnect all listeners even when playback is accidentally stopped.
@item @code{mixer-type}
This field accepts a symbol that specifies which mixer should be used
for this audio output: the @code{hardware} mixer, the @code{software}
mixer, the @code{null} mixer (allows setting the volume, but with no
effect; this can be used as a trick to implement an external mixer
External Mixer) or no mixer (@code{none}).
@item @code{extra-options} (default: @code{'()"})
An association list of option symbols to string values to be appended to
the audio output configuration.
@end table
@end deftp
The following example shows a configuration of @code{mpd} that provides
an HTTP audio streaming output.
@lisp
(service mpd-service-type
(mpd-configuration
(outputs
(list (mpd-output
(name "streaming")
(type "httpd")
(mixer-type 'null)
(extra-options
`((encoder . "vorbis")
(port . "8080"))))))))
@end lisp
@node Virtualization Services
@subsection Virtualization services

View file

@ -9,6 +9,22 @@
(channel-news
(version 0)
(entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
(title (en "@command{guix pull} now honors
@file{/etc/guix/channels.scm}")
(fr "@command{guix pull} lit maintenant
@file{/etc/guix/channels.scm}"))
(body
(en "The @command{guix pull} command will now read the
@file{/etc/guix/channels.scm} file if it exists and if the per-user
@file{~/.config/guix/channels.scm} is not present. This allows administrators
of multi-user systems to define site-wide defaults.")
(fr "La commande @command{guix pull} lira maintenant le fichier
@file{/etc/guix/channels.scm} s'il existe et si le fichier
@file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent.
Cela permet aux personnes administrant des systèmes multi-utilisateurs de
définir les canaux par défaut.")))
(entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
(title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
(de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")

View file

@ -974,9 +974,8 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-gnuzilla-fixes.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-default-search-ddg.patch \
%D%/packages/patches/icecat-disable-sync.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
@ -1066,7 +1065,6 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-boost.patch \
%D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libreoffice-glm.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
@ -1448,9 +1446,7 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \
%D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch
%D%/packages/patches/xinetd-CVE-2013-4342.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in

View file

@ -1128,7 +1128,7 @@ (define-public rottlog
(define-public sudo
(package
(name "sudo")
(version "1.8.28p1")
(version "1.8.29")
(source (origin
(method url-fetch)
(uri
@ -1138,7 +1138,7 @@ (define-public sudo
version ".tar.gz")))
(sha256
(base32
"09xhx2k7j6wlqs9bl7snamd4k6lkyv9ycjwdspgbbqrimy25mfi3"))
"0z4wyadh9cks17gdpfgx4kvbrlnyb6nai2sd6chk7qh4jsngylyf"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1184,6 +1184,12 @@ (define-public sudo
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy"))
;; Checking existing [/etc/]sudoers file for syntax errors is
;; not the task of the build system, and fails.
(substitute* "plugins/sudoers/Makefile.in"
(("^pre-install:" match)
(string-append match "\ndisabled-" match)))
#t)))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but

View file

@ -483,7 +483,7 @@ (define-public flint
(define-public arb
(package
(name "arb")
(version "2.16.0")
(version "2.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -492,7 +492,7 @@ (define-public arb
(file-name (git-file-name name version))
(sha256
(base32
"0478671wfwy3gl26sbxh1jq1ih36z4k72waa8y2y2lvn649gb7cd"))))
"05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
@ -508,8 +508,8 @@ (define-public arb
(flint (assoc-ref inputs "flint"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
;; Do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail.
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
@ -522,7 +522,7 @@ (define-public arb
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
(license license:lgpl2.1+)
(home-page "http://fredrikj.net/arb/")))
(home-page "http://arblib.org")))
(define-public python-flint
(package

View file

@ -1107,7 +1107,7 @@ (define-public g2reverb
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.0.7")
(version "2.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1116,7 +1116,7 @@ (define-public fluidsynth
(file-name (git-file-name name version))
(sha256
(base32
"1h1dj3wmjwzny2hgr41k3p67w4kxvzn365kkqwyfd6yk0v3rahic"))))
"1s32c0jxjica2agy0mp36vgvpgj2vl5i5zvacd6igmbam0x4gs7c"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target

View file

@ -416,7 +416,7 @@ (define-public libtorrent-rasterbar
(define-public qbittorrent
(package
(name "qbittorrent")
(version "4.1.8")
(version "4.1.9")
(source
(origin
(method git-fetch)
@ -425,7 +425,7 @@ (define-public qbittorrent
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w"))))
(base32 "044r3y3vvm2rqagmwlqlhvb4kkyqpkmpnlhv68hzkl3w5bvf8zl8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View file

@ -33,6 +33,7 @@ (define-module (gnu packages bootstrap)
#:use-module ((guix derivations)
#:select (derivation derivation-input derivation->output-path))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
#:use-module ((guix gexp) #:select (lower-object))
#:use-module (guix memoization)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
@ -167,19 +168,22 @@ (define %bootstrap-patch-inputs
("patch" ,%bootstrap-coreutils&co)))
(let ((orig-method (origin-method source)))
(origin (inherit source)
(method (cond ((eq? orig-method url-fetch)
(boot url-fetch))
(else orig-method)))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs)
(if (or (not (null? (origin-patches source)))
(origin-snippet source))
(origin (inherit source)
(method (if (eq? orig-method url-fetch)
(boot url-fetch)
orig-method))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs)
;; Patches can be origins as well, so process them.
(patches (map (match-lambda
((? origin? patch)
(bootstrap-origin patch))
(patch patch))
(origin-patches source))))))
;; Patches can be origins as well, so process them.
(patches (map (match-lambda
((? origin? patch)
(bootstrap-origin patch))
(patch patch))
(origin-patches source))))
source)))
(define* (package-from-tarball name source program-to-test description
#:key snippet)
@ -345,8 +349,8 @@ (define* (raw-build store name inputs
#:allow-other-keys)
(define (->store file)
(run-with-store store
(origin->derivation (bootstrap-executable file system)
system)))
(lower-object (bootstrap-executable file system)
system)))
(let* ((tar (->store "tar"))
(xz (->store "xz"))

View file

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@ -155,17 +155,14 @@ (define-public libcdio-paranoia
(define-public xorriso
(package
(name "xorriso")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))
(patches
(search-patches "xorriso-no-partition-table-in-inner-efi.patch"
"xorriso-no-mbr-in-inner-efi.patch"))))
"1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -815,14 +812,14 @@ (define-public libburn
(define-public libisofs
(package
(name "libisofs")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "http://files.libburnia-project.org/releases/"
"libisofs-" version ".tar.gz"))
(sha256
(base32
"001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys"))))
"002mcyqwg625a8hqvsrmgm26mhhfwj0j7rahfhsqirmk02b16npg"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -47,8 +47,8 @@ (define-module (gnu packages ci)
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "80b6e89a7b2e9a6f9dee26dcf22277970930039f")
(revision "25"))
(let ((commit "e20ff86d97f7dd92dad140b5919e3cbdf2fb1ce6")
(revision "26"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -60,7 +60,7 @@ (define-public cuirass
(file-name (string-append name "-" version))
(sha256
(base32
"0m7g7wqa1l8gab8pcyi43a6w6rxhaqbpsrwlnadwsds1b95x9bka"))))
"1c3rcfmx7vm13x3nid9xbl18rrqljh5vb71qxps4yqid75br4hrb"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View file

@ -9556,14 +9556,13 @@ (define-public r-colorramps
(define-public r-tidytree
(package
(name "r-tidytree")
(version "0.2.8")
(version "0.2.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidytree" version))
(sha256
(base32
"1hkddl8kj1g01dy7xiracx81f6b405b3ga2qp4wlrl552b9xxpby"))))
(base32 "1l9rk71dzlwg8736l0g4rdlq3pghxkfzmlxyln8y4bxx7ym51i6g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
@ -10879,14 +10878,13 @@ (define-public r-dotcall64
(define-public r-spam
(package
(name "r-spam")
(version "2.3-0.1")
(version "2.3-0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "spam" version))
(sha256
(base32
"0mas2ra7d5f9ccwxwsvxls3dz53prpf59hi2a0rvc347wbm6540b"))))
(base32 "0czmzwhvcs0shm1asvphhz366df3n7vrlls4cfpq5b3i19fak3w4"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dotcall64" ,r-dotcall64)))
@ -11262,14 +11260,13 @@ (define-public r-ppls
(define-public r-huge
(package
(name "r-huge")
(version "1.3.3")
(version "1.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "huge" version))
(sha256
(base32
"18f8w4hdp9fdi2k5ip6fnrn5z47w4ybgxs2m6a7jdvd2v4wfdr69"))))
(base32 "07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3"))))
(build-system r-build-system)
(propagated-inputs
`(("r-igraph" ,r-igraph)
@ -15547,13 +15544,13 @@ (define-public r-parameters
(define-public r-rgdal
(package
(name "r-rgdal")
(version "1.4-6")
(version "1.4-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "rgdal" version))
(sha256
(base32 "0lj1dax56dxxsj1hindxcvgz169p9dxd0y4wjypbyr01nja8rz4d"))))
(base32 "05rvqy8lr2c3phaylmc4g5761208b0xrmgwn9c4a60x7p251dzjs"))))
(properties `((upstream-name . "rgdal")))
(build-system r-build-system)
(inputs

File diff suppressed because it is too large Load diff

View file

@ -3028,7 +3028,7 @@ (define-public mongo-tools
(native-inputs
`(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
("go-golang.org-x-crypto-ssh-terminal" ,go-golang.org-x-crypto-ssh-terminal)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)

View file

@ -67,7 +67,7 @@ (define-module (gnu packages diffoscope)
#:use-module (ice-9 match))
(define-public diffoscope
(let ((version "126"))
(let ((version "129"))
(package
(name "diffoscope")
(version version)
@ -79,7 +79,7 @@ (define-public diffoscope
(file-name (git-file-name name version))
(sha256
(base32
"0lmn2116g5l05nns8qd2kwsnnd144zrqhs53fsr88inzf0mkqwhj"))))
"1r8hq93gga9n4jv4fyf1divc9cwvvjadkzl47lazzrfy3nn1qjwr"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -153,6 +153,8 @@ (define-public diffoscope
(native-inputs `(("python-pytest" ,python-pytest)
("python-chardet" ,python-chardet)
("python-binwalk" ,python-binwalk)
("python-pypdf2" ,python-pypdf2)
("python-progressbar33" ,python-progressbar33)
;; test suite skips tests when tool is missing
,@(match (%current-system)
;; ghc is only available on x86 currently.

View file

@ -612,7 +612,7 @@ (define-public volume-key
(define-public ndctl
(package
(name "ndctl")
(version "65")
(version "67")
(source (origin
(method git-fetch)
(uri (git-reference
@ -621,7 +621,7 @@ (define-public ndctl
(file-name (git-file-name name version))
(sha256
(base32
"0d8hzfvyxs2q8kgkwgdizlml41kin4mhx3vpdsjk34pfi7mqy69y"))))
"076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n"))))
(build-system gnu-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)

View file

@ -273,21 +273,33 @@ (define-public dnscrypt-wrapper
(define-public libasr
(package
(name "libasr")
(version "201602131606")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
name "-" version ".tar.gz"))
"libasr-" version ".tar.gz"))
(sha256
(base32
"18kdmbjsxrfai16d66qslp48b1zf7gr8him2jj5dcqgbsl44ls75"))))
(base32 "13fn4sr4vlcx1xijpl26nmnxawyls4lr5q3mi11jdm76f80qxn4w"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'bootstrap
;; GNU build system bootstrapping not needed, the default lies.
(lambda _
(invoke "sh" "./bootstrap")))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "src/asr_run.3"
(string-append out "/share/man/man3"))
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("groff" ,groff)))
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://www.opensmtpd.org")
(synopsis "Asynchronous resolver library by the OpenBSD project")
(description
@ -373,14 +385,14 @@ (define-public nsd
(define-public unbound
(package
(name "unbound")
(version "1.9.3")
(version "1.9.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v"))))
(base32 "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs

View file

@ -291,9 +291,9 @@ (define-public docker-libnetwork-cmd-proxy
("logrus" ,go-github-com-sirupsen-logrus)
("go-netlink" ,go-netlink)
("go-netns" ,go-netns)
("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)
("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
("go-golang-org-x-crypto"
,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "Docker user-space proxy")
(description "A proxy running in the user space. It is used by the
built-in registry server of Docker.")

View file

@ -33,7 +33,7 @@ (define-module (gnu packages dunst)
(define-public dunst
(package
(name "dunst")
(version "1.3.2")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -42,7 +42,7 @@ (define-public dunst
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12nj8qw3y3nl8sm24wizy2a7k06v1p88bnz1xr9l39h527xyidma"))))
"1zmx30qp2s9ca4q70j9ny4aq97pp442j9vfvsyihfcxgks6gwqqm"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target

View file

@ -6955,29 +6955,33 @@ (define-public emacs-helm-ag
as well as features for editing search results.")
(license license:gpl3+))))
;; There hasn't been a tag or release since 2016, so we take the latest
;; commit.
(define-public emacs-helm-projectile
(package
(name "emacs-helm-projectile")
(version "0.14.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bbatsov/helm-projectile.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-helm" ,emacs-helm)
("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/bbatsov/helm-projectile")
(synopsis "Helm integration for Projectile")
(description
"This Emacs library provides a Helm interface for Projectile.")
(license license:gpl3+)))
(let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
(version "0.14.0")
(revision "1"))
(package
(name "emacs-helm-projectile")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bbatsov/helm-projectile.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/bbatsov/helm-projectile")
(synopsis "Helm integration for Projectile")
(description
"This Emacs library provides a Helm interface for Projectile.")
(license license:gpl3+))))
(define-public emacs-taskrunner
(let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
@ -7417,10 +7421,15 @@ (define-public emacs-evil
(sha256
(base32
"1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-test-helpers
(lambda _
(substitute* "evil-test-helpers.el"
(("\\(undo-tree-mode 1\\)") ""))
#t)))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-undo-tree" ,emacs-undo-tree)
("emacs-goto-chg" ,emacs-goto-chg)))
(home-page "https://github.com/emacs-evil/evil")
(synopsis "Extensible Vi layer for Emacs")
(description
@ -10823,14 +10832,14 @@ (define-public emacs-easy-kill
(define-public emacs-csv-mode
(package
(name "emacs-csv-mode")
(version "1.9")
(version "1.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
version ".el"))
(sha256
(base32 "0sdnyi9in904k49yy5imapypnmk75lv14k9c1yyjhjpalvvh6br1"))))
(base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/csv-mode.html")
(synopsis "Major mode for editing comma/char separated values")

View file

@ -1053,7 +1053,7 @@ (define-public nestopia-ue
(define-public retroarch
(package
(name "retroarch")
(version "1.7.9.2")
(version "1.8.0")
(source
(origin
(method git-fetch)
@ -1062,7 +1062,7 @@ (define-public retroarch
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14kay5g9rnm79mly7b4x5jwkidjaki8qqkpf21hnj1r2z1q7bp5b"))))
(base32 "1mgszd8gb5nk08kfykap9b1l5rl4qfy39dbba8crjj0zkc4z1jga"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests

View file

@ -87,7 +87,7 @@ (define-module (gnu packages finance)
(define-public bitcoin-core
(package
(name "bitcoin-core")
(version "0.18.0")
(version "0.18.1")
(source (origin
(method url-fetch)
(uri
@ -95,15 +95,15 @@ (define-public bitcoin-core
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"0ps0vw9iknz1b1sx74rabd1yhlxvwbd0aimjzn9hlqkvw286hkjy"))))
"15mz0gmm058gmq2gdpffbw25jpv7mksyhyfws6i7mqvrapqr6zaw"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("qttools" ,qttools)))
(inputs
`(("bdb" ,bdb-4.8) ; Bitcoin Core requires bdb 4.8 for compatibility
`(("bdb" ,bdb-4.8) ; 4.8 required for compatibility
("boost" ,boost)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
@ -134,7 +134,7 @@ (define-public bitcoin-core
#t))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")) ; Tests write to $HOME.
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
#t))
(add-after 'check 'check-functional
(lambda _

View file

@ -1101,14 +1101,15 @@ (define-public telepathy-idle
(define-public telepathy-mission-control
(package
(name "telepathy-mission-control")
(version "5.16.4")
(source (origin
(method url-fetch)
(uri (string-append "https://telepathy.freedesktop.org/releases/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
(version "5.16.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://telepathy.freedesktop.org/releases/"
"telepathy-mission-control/"
"telepathy-mission-control-" version ".tar.gz"))
(sha256
(base32 "00xxv38cfdirnfvgyd56m60j0nkmsv5fz6p2ydyzsychicxl6ssc"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.

View file

@ -15,6 +15,7 @@
;;; Copyright © 2017, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Comrade Yuri <yuri@nijino>
;;;
;;; This file is part of GNU Guix.
;;;
@ -622,14 +623,14 @@ (define-public physfs
(define-public love
(package
(name "love")
(version "11.1")
(version "11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/rude/love/downloads/"
"love-" version "-linux-src.tar.gz"))
(sha256
(base32
"1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))))
"0m8lvlabmcchskx4qpzkdlsm44360f3j0q3vvvj2388cfnvhv7v4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -971,6 +972,329 @@ (define-public python-pygame
(define-public python2-pygame
(package-with-python2 python-pygame))
(define-public python2-pygame-sdl2
(let ((real-version "2.1.0")
(renpy-version "7.3.5"))
(package
(inherit python2-pygame)
(name "python2-pygame-sdl2")
(version (string-append real-version "-for-renpy-" renpy-version))
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "1bmr7j9mlsc4czpgw70ld15ymyp4wxrk9hdsqad40wjwdxvvg2dr"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be installed first
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "PYGAME_SDL2_CFLAGS"
(string-append "-I"
(assoc-ref inputs "sdl-union")
"/include/SDL2 -D_REENTRANT"))
(setenv "PYGAME_SDL2_LDFLAGS"
(string-append "-L"
(assoc-ref inputs "sdl-union")
"/lib -Wl,-rpath,"
(assoc-ref inputs "sdl-union")
"/lib -Wl,--enable-new-dtags -lSDL2"))
#t))
(add-before 'build 'drop-generated-files
(lambda args
(delete-file-recursively "gen")
(delete-file-recursively "gen3")
#t)))))
(inputs
`(("sdl-union"
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
(native-inputs
`(("python2-cython" ,python2-cython)))
(home-page "http://www.renpy.org/")
(synopsis "Reimplementation of the Pygame API using SDL2")
(description "Pygame_SDL2 reimplements the Pygame API using SDL2,
staying close to the original, but also adding some SDL2-specific features.
While it aims to be used as a drop-in replacement, it appears to be
developed mainly for Ren'py.")
(license (list license:lgpl2.1 license:zlib)))))
(define-public python2-renpy
(package
(name "python2-renpy")
(version "7.3.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
(sha256 (base32 "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Ren'py doesn't seem to package tests
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda _
(substitute* "renpy/editor.py"
(("xdg-open")
(which "xdg-open")))
#t))
(add-after 'set-paths 'set-build-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "RENPY_CYTHON"
(string-append (assoc-ref inputs "python2-cython")
"/bin/cython"))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
#t))
(replace 'build
(lambda args
(apply
(lambda* (build-root #:key inputs outputs #:allow-other-keys)
;; The "module" subdirectory contains a python (really cython)
;; project, which is built using a script, that is thankfully
;; named "setup.py".
(chdir "module")
(apply (assoc-ref %standard-phases 'build) args)
;; the above causes renpy.__init__ to be compiled but does not
;; compile anything else, hence we do that here
(chdir build-root)
(delete-file "renpy/__init__.pyc")
(invoke "python" "-m" "compileall" "renpy"))
(getcwd) args)
#t))
(replace 'install
(lambda args
(apply
(lambda* (build-root #:key inputs outputs #:allow-other-keys)
;; Again, we have to wrap the module installation.
;; Additionally, we want to install the python code
;; (both source and compiled) in the same directory.
(let* ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
,(version-major+minor
(package-version python-2))
"/site-packages")))
(chdir "module")
(apply (assoc-ref %standard-phases 'install) args)
(chdir build-root)
(copy-recursively "renpy"
(string-append out site "/renpy"))))
(getcwd) args)
#t)))))
(inputs
`(("ffmpeg" ,ffmpeg)
("freetype" ,freetype)
("glew" ,glew)
("libpng" ,libpng)
("python2-pygame" ,python2-pygame-sdl2)
("sdl-union"
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
(native-inputs
`(("python2-cython" ,python2-cython)
("xdg-utils" ,xdg-utils)))
(home-page "http://www.renpy.org/")
(synopsis "Ren'py python module")
(description "This package contains the shared libraries and Python
modules of Ren'py.")
(license license:expat)))
(define-public renpy
(package
(inherit python2-renpy)
(name "renpy")
(version "7.3.5")
(build-system python-build-system)
(arguments
`(#:tests? #f ; see python2-renpy
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy"
(("/usr/bin/python") (which "python2")))
(substitute* "launcher/game/front_page.rpy"
(("xdg-open")
(which "xdg-open")))
(substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out")
"/bin/renpy\" ]"))
;; Projects are still created in the usual style, so we need
;; to adjust the path.
(("cmd.append\\(self.path\\)")
"cmd.append(self.path + \"/game\")"))
#t))
(add-after 'unpack 'drop-game-from-paths
(lambda _
(substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py")
((", \"game\",") ","))
#t))
(add-before 'build 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server")))
(setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1")
#t)))
(replace 'build
(lambda _
(invoke "python" "renpy.py" "launcher" "quit")
(invoke "python" "renpy.py" "the_question" "quit")
(invoke "python" "renpy.py" "tutorial" "quit")
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Here we install our custom renpy program.
;; After finishing this step, "out" will have the following:
;; |-- bin/renpy
;; `-- share/renpy ; i.e. path_to_renpy_base()
;; `-- common
;;
;; Note that common is also a de facto unused directory in
;; python2-renpy. On other systems, renpy_base would point to
;; site-packages or even somewhere in /opt.
;; The former approach is not as straightforward as it seems
;; -- it causes renpy to load files twice for some weird reason --
;; and the latter is impossible on Guix. Hence the detour through
;; share/renpy and the custom renpy program.
;;
;; As a convention, other games should be installed as
;; subdirectories of share/renpy in their respective outputs as
;; well. This differs from the traditional layout, which is
;; roughly the following:
;; `-- Super Awesome Game
;; |-- game ; <- the folder we actually want
;; |-- lib ; compiled renpy module and dependencies
;; |-- renpy ; Ren'py python code (source + compiled)
;; |-- Super Awesome Game.py
;; `-- Super Awesome Game.sh
(let* ((out (assoc-ref outputs "out"))
(bin/renpy (string-append out "/bin/renpy")))
(mkdir-p (string-append out "/bin"))
(copy-recursively "renpy/common"
(string-append out "/share/renpy/common"))
(copy-recursively "gui"
(string-append out "/share/renpy/gui"))
(call-with-output-file bin/renpy
(lambda (port)
(format port "#!~a~%" (which "python2"))
(format port "
from __future__ import print_function
import os
import sys
import warnings
def path_to_common(renpy_base):
return renpy_base + \"/common\"
def path_to_saves(gamedir, save_directory=None):
import renpy # @UnresolvedImport
if save_directory is None:
save_directory = renpy.config.save_directory
save_directory = renpy.exports.fsencode(save_directory)
if not save_directory:
return gamedir + \"/saves\"
return os.path.expanduser(\"~~/.renpy/\" + save_directory)
def path_to_renpy_base():
return \"~a\"
def main():
renpy_base = path_to_renpy_base()
try:
import renpy.bootstrap
import renpy.arguments
except ImportError:
print(\"\"\"Could not import renpy.bootstrap.
Please ensure you decompressed Ren'Py correctly, preserving the directory
structure.\"\"\", file=sys.stderr)
raise
args = renpy.arguments.bootstrap()
if not args.basedir:
print(\"\"\"This Ren'py requires a basedir to launch.
The basedir is the directory, in which .rpy files live -- usually the 'game'
subdirectory of a game packaged by Ren'py.
If you want the Ren'py launcher, use renpy-launcher instead.\"\"\",
file=sys.stderr)
sys.exit()
renpy.bootstrap.bootstrap(renpy_base)
if __name__ == \"__main__\":
main()
"
(string-append out "/share/renpy"))))
(chmod bin/renpy #o755)
#t)))
(add-after 'install 'install-games
(lambda* (#:key outputs #:allow-other-keys)
(define renpy (assoc-ref outputs "out"))
;; TODO: We should offer a renpy-build-system to make the
;; installation of Ren'py games easier.
(define* (install-renpy-game #:key output game name (renpy renpy)
#:allow-other-keys)
(let* ((name (or name (basename game)))
(launcher (string-append output "/bin/renpy-" name))
(share (string-append output "/share/renpy/" name)))
(copy-recursively (string-append game "/game") share)
(mkdir-p (string-append output "/bin"))
(with-output-to-file launcher
(lambda ()
(format #t
"#!~a~%~a ~a \"$@\""
(which "bash")
(string-append renpy "/bin/renpy")
share)))
(chmod launcher #o755)))
(install-renpy-game #:output (assoc-ref outputs "out")
#:game "launcher")
(install-renpy-game #:output (assoc-ref outputs "the-question")
#:game "the_question"
#:name "the-question")
(install-renpy-game #:output (assoc-ref outputs "tutorial")
#:game "tutorial")
#t))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/renpy")
`("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
#t)))))
(inputs
`(("python2-tkinter" ,python-2 "tk")
("python2-pygame" ,python2-pygame-sdl2)
("python2-renpy" ,python2-renpy)
("xorg-server" ,xorg-server)))
(outputs
(list "out" "tutorial" "the-question"))
(home-page "http://www.renpy.org/")
(synopsis "Visual Novel Engine")
(description "Ren'Py is a visual novel engine that helps you use words,
images, and sounds to tell interactive stories that run on computers and
mobile devices. These can be both visual novels and life simulation games.
The easy to learn script language allows anyone to efficiently write large
visual novels, while its Python scripting is enough for complex simulation
games.")
(license license:expat)))
(define-public grafx2
(package
(name "grafx2")

View file

@ -44,6 +44,7 @@
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2594,24 +2595,14 @@ (define-public manaplus
(define openttd-engine
(package
(name "openttd-engine")
(version "1.8.0")
(version "1.9.3")
(source
(origin (method url-fetch)
(uri (string-append "http://binaries.openttd.org/releases/"
(uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/"
version "/openttd-" version "-source.tar.xz"))
(patches
(list
(origin (method url-fetch)
(uri (string-append
"https://github.com/OpenTTD/OpenTTD/commit/"
"19076c24c1f3baf2a22d1fa832d5688216cf54a3.patch"))
(file-name "openttd-fix-compilation-with-ICU-61.patch")
(sha256
(base32
"02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
(sha256
(base32
"0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2"))
"0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
@ -2656,7 +2647,7 @@ (define openttd-engine
internationalization support, conditional orders and the ability to clone,
autoreplace and autoupdate vehicles. This package only includes the game
engine. When you start it you will be prompted to download a graphics set.")
(home-page "http://openttd.org/")
(home-page "https://www.openttd.org/")
;; This package is GPLv2, except for a few files located in
;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
;; licenses. In addition, this software contains an in-game downloader
@ -2667,7 +2658,7 @@ (define openttd-engine
(define openttd-opengfx
(package
(name "openttd-opengfx")
(version "0.5.2")
(version "0.5.5")
(source
(origin
(method url-fetch)
@ -2675,7 +2666,7 @@ (define openttd-opengfx
version "/opengfx-" version "-source.tar.xz"))
(sha256
(base32
"0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv"))))
"009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
@ -2910,7 +2901,7 @@ (define openrct2-objects
(define-public openrct2
(package
(name "openrct2")
(version "0.2.3")
(version "0.2.4")
(source
(origin
(method git-fetch)
@ -2919,7 +2910,7 @@ (define-public openrct2
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01mj6jlbl2cn3wpk6sy34ldzdl0qykpn7fncznjykklj2nqzr4ig"))))
(base32 "1rlw3w20llg36sj3bk50g661qw766ng8ma3p42sdkj8br9dw800h"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"

View file

@ -38,7 +38,7 @@ (define-module (gnu packages genealogy)
(define-public gramps
(package
(name "gramps")
(version "5.0.2")
(version "5.1.1")
(source
(origin
(method git-fetch)
@ -48,13 +48,14 @@ (define-public gramps
(file-name (git-file-name name version))
(sha256
(base32
"0wg743q8ixy5dmwricgkl4zck4109vq5ppmkyi18qjmna9m0aq7r"))))
"1zrvr543zzsiapda75vdd2669fgijmx4cv7nfj5d1jsyz4qnif7b"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)))
(inputs
`(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
`(("cairo" ,cairo)
("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
("geocode-glib" ,geocode-glib)
("gexiv2" ,gexiv2)
("ghostscript" ,ghostscript)

View file

@ -634,14 +634,14 @@ (define-public python-gdal
(define-public postgis
(package
(name "postgis")
(version "2.4.4")
(version "2.4.8")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
"1hm8migjb53cymp4qvg1h20yqllmy9f7x0awv5450391i6syyqq6"))))
"0nanza15xzfhbpbq49p1xqz96dgbsam5332y9zj6snmz2mq685ll"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View file

@ -708,6 +708,33 @@ (define-public python2-pygobject
("pkg-config" ,pkg-config)
("python-pytest" ,python2-pytest)))))
;; Newer version of this core-updates package, for Lollypop.
(define-public python-pygobject-3.34
(package/inherit
python-pygobject
(version "3.34.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pygobject/"
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32 "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-broken-tests
(lambda _
(with-directory-excursion "tests"
(for-each
delete-file
;; FIXME: these tests require Gdk and/or Gtk 4.
'("test_atoms.py"
"test_overrides_gtk.py")))
#t)))))))
(define-public perl-glib
(package
(name "perl-glib")

View file

@ -772,7 +772,7 @@ (define-public gnome-keyring
(define-public evince
(package
(name "evince")
(version "3.30.2")
(version "3.34.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -780,7 +780,7 @@ (define-public evince
name "-" version ".tar.xz"))
(sha256
(base32
"0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"))))
"1pr6fvbaam1mzxjwyqd53hcxzdjzf73idn10j4j7n54nwg6hgr45"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
@ -2062,17 +2062,17 @@ (define-public libwnck-2
(define-public goffice
(package
(name "goffice")
(version "0.10.44")
(version "0.10.45")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/goffice/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"goffice-" version ".tar.xz"))
(sha256
(base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
(base32 "0iqrygv2bh8kiw98kjx6ay6qdd288v91q5m8n7cvs2zcx5ksaavh"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;4.0 MiB of gtk-doc
"doc")) ; 4.0 MiB of gtk-doc
(arguments
'(#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
@ -7784,16 +7784,15 @@ (define-public gnome-planner
(define-public lollypop
(package
(name "lollypop")
(version "1.1.3.1")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
"5a7cd7c72b6d83ae08d0c54c4691f9df/"
name "-" version ".tar.xz"))
"aa4fbd92bf338296c28e54710271ccab/"
"lollypop-" version ".tar.xz"))
(sha256
(base32
"1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm"))))
(base32 "1wz5fna24qr3v7h29ijwhdxza85r9srz9xsqz4f4df3p5f8rfyql"))))
(build-system meson-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
@ -7831,7 +7830,7 @@ (define-public lollypop
("python-gst" ,python-gst)
("python-pil" ,python-pillow)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)
("python-pygobject" ,python-pygobject-3.34)
("python-pylast" ,python-pylast)
("totem-pl-parser" ,totem-pl-parser)
("webkitgtk" ,webkitgtk)))

View file

@ -147,14 +147,14 @@ (define-public libextractor
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.66")
(version "0.9.68")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf"))))
"0q8bc4hrxn6llml7w2vam6n833x8injs39wgdkhwkawr50m6wwf5"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)

View file

@ -550,7 +550,8 @@ (define* (computed-origin-method gexp-promise hash-algo hash
#:system system
#:guile-for-build guile)))
(define %icecat-version "68.2.0-guix0-preview1")
(define %icecat-version "68.2.0-guix0-preview2")
(define %icecat-build-id "20191028000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -576,7 +577,7 @@ (define icecat-source
(upstream-icecat-base-version "68.1.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(gnuzilla-commit "395cc0798600cde44a30abaa3f5d08ce8b68f782")
(gnuzilla-commit "aa7ab9483a64c43e77736917dd83841ccc437300")
(gnuzilla-source
(origin
(method git-fetch)
@ -586,8 +587,10 @@ (define icecat-source
(file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
(sha256
(base32
"1ll3j2kpsfp1f9dxy67fay1cidsng02l8a3a23wdjqkxgrg1cf4g"))))
"03jygq1zna621y0ba6370cff4v2g9l57g3015y3vxbahnmzn9msa"))))
(gnuzilla-fixes-patch
(local-file (search-patch "icecat-gnuzilla-fixes.patch")))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
@ -633,6 +636,8 @@ (define icecat-source
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+gnuzilla-fixes-patch)
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
@ -772,10 +777,6 @@ (define-public icecat
;; ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
;; ("icecat-use-system-media-libs.patch"
;; ,(search-patch "icecat-use-system-media-libs.patch"))
("icecat-default-search-ddg.patch"
,(search-patch "icecat-default-search-ddg.patch"))
("icecat-disable-sync.patch"
,(search-patch "icecat-disable-sync.patch"))
("patch" ,(canonical-package patch))
@ -1008,6 +1009,7 @@ (define-public icecat
(setenv "CONFIG_SHELL" bash)
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
(setenv "CC" "gcc") ; apparently needed when Stylo is enabled
(setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp
(mkdir "../build")
(chdir "../build")
(format #t "build directory: ~s~%" (getcwd))
@ -1071,8 +1073,7 @@ (define-public icecat
(pulseaudio-lib (string-append pulseaudio "/lib")))
(wrap-program (car (find-files lib "^icecat$"))
`("XDG_DATA_DIRS" prefix (,gtk-share))
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))
`("MOZ_LEGACY_PROFILES" = ("1")))
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib)))
#t))))))
(home-page "https://www.gnu.org/software/gnuzilla/")
(synopsis "Entirely free browser derived from Mozilla Firefox")

View file

@ -216,192 +216,11 @@ (define-public go-1.4
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
(license license:bsd-3)))
(define-public go-1.11
(package
(inherit go-1.4)
(name "go")
(version "1.11.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/golang/"
name version ".src.tar.gz"))
(sha256
(base32
"09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#: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")))
(for-each delete-file
;; Removing net/ tests, which fail when attempting to access
;; network resources not present in the build container.
'("net/listen_test.go"
"net/parse_test.go"
"net/cgo_unix_test.go"
;; A side effect of these test scripts is testing
;; cgo. Attempts at using cgo flags and
;; directives with these scripts as specified
;; here (https://golang.org/cmd/cgo/) have not
;; worked. The tests continue to state that they
;; can not find crt1.o despite being present.
"cmd/go/testdata/script/list_compiled_imports.txt"
"cmd/go/testdata/script/mod_case_cgo.txt"
;; https://github.com/golang/go/issues/24884
"os/user/user_test.go"))
(substitute* "os/os_test.go"
(("/usr/bin") (getcwd))
(("/bin/pwd") (which "pwd"))
(("/bin/sh") (which "sh")))
(substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go"
(("/usr/bin") "/tmp"))
;; 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.+)")
("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
("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)))
(add-before 'build '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")
#t)))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; FIXME: Some of the .a files are not bit-reproducible.
(let* ((output (assoc-ref outputs "out")))
(setenv "CC" (which "gcc"))
(setenv "GOOS" "linux")
(setenv "GOROOT" (dirname (getcwd)))
(setenv "GOROOT_FINAL" output)
(setenv "CGO_ENABLED" "1")
(invoke "sh" "all.bash"))))
(replace 'install
;; TODO: Most of this could be factorized with Go 1.4.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((output (assoc-ref outputs "out"))
(doc_out (assoc-ref outputs "doc"))
(docs (string-append doc_out "/share/doc/" ,name "-" ,version))
(src (string-append
(assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
(delete-file-recursively "../pkg/bootstrap")
;; Prevent installation of the build cache, which contains
;; store references to most of the tools used to build Go and
;; would unnecessarily increase the size of Go's closure if it
;; was installed.
(delete-file-recursively "../pkg/obj")
(mkdir-p src)
(copy-recursively "../test" (string-append src "/test"))
(delete-file-recursively "../test")
(mkdir-p docs)
(copy-recursively "../api" (string-append docs "/api"))
(delete-file-recursively "../api")
(copy-recursively "../doc" (string-append docs "/doc"))
(delete-file-recursively "../doc")
(for-each
(lambda (file)
(let* ((filein (string-append "../" file))
(fileout (string-append docs "/" file)))
(copy-file filein fileout)
(delete-file filein)))
;; Note the slightly different file names compared to 1.4.
'("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
"LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
(copy-recursively "../" output)
#t)))))))
(native-inputs
`(("go" ,go-1.4)
,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
`(("gold" ,binutils-gold)))
(_ `()))
,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems)))
(define-public go-1.12
(package
(inherit go-1.4)
(name "go")
(version "1.12.7")
(version "1.12.10")
(source
(origin
(method url-fetch)
@ -409,7 +228,7 @@ (define-public go-1.12
name version ".src.tar.gz"))
(sha256
(base32
"04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"))))
"0m1rvawvpdl7kd0asw10m50xbxlhykix6dng9p4x6ih6x3y4hvpm"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@ -841,182 +660,18 @@ (define-public go-golang-org-x-crypto
".*\\.gz$"))
#t)))))
(propagated-inputs
`(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "Supplementary cryptographic libraries in Go")
(description "This package provides supplementary cryptographic libraries
for the Go language.")
(home-page "https://go.googlesource.com/crypto/")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-bcrypt
(let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
(revision "3"))
(package
(name "go-golang-org-x-crypto-bcrypt")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/crypto")
(commit commit)))
(file-name (string-append "go.googlesource.com-crypto-"
version "-checkout"))
(sha256
(base32
"1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/crypto/bcrypt"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Bcrypt in Go")
(description "This package provides a Go implementation of the bcrypt
password hashing function.")
(home-page "https://go.googlesource.com/crypto/")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-blowfish
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-blowfish")
(arguments
`(#:import-path "golang.org/x/crypto/blowfish"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Blowfish in Go")
(description "This package provides a Go implementation of the Blowfish
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-pbkdf2
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-pbkdf2")
(arguments
`(#:import-path "golang.org/x/crypto/pbkdf2"
#:unpack-path "golang.org/x/crypto"))
(synopsis "PBKDF2 in Go")
(description "This package provides a Go implementation of the PBKDF2 key
derivation function.")))
(define-public go-golang-org-x-crypto-tea
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-tea")
(arguments
`(#:import-path "golang.org/x/crypto/tea"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Tiny Encryption Algorithm (TEA) in Go")
(description "This package provides a Go implementation of the Tiny Encryption
Algorithm (TEA) block cipher.")))
(define-public go-golang-org-x-crypto-salsa20
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-salsa20")
(arguments
`(#:import-path "golang.org/x/crypto/salsa20"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Salsa20 in Go")
(description "This package provides a Go implementation of the Salsa20
stream cipher.")))
(define-public go-golang-org-x-crypto-cast5
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-cast5")
(arguments
`(#:import-path "golang.org/x/crypto/cast5"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Cast5 in Go")
(description "This package provides a Go implementation of the Cast5
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-twofish
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-twofish")
(arguments
`(#:import-path "golang.org/x/crypto/twofish"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Twofish in Go")
(description "This package provides a Go implementation of the Twofish
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-xtea
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-xtea")
(arguments
`(#:import-path "golang.org/x/crypto/xtea"
#:unpack-path "golang.org/x/crypto"))
(synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
(description "This package provides a Go implementation of the eXtended
Tiny Encryption Algorithm (XTEA) block cipher.")))
(define-public go-golang-org-x-crypto-ed25519
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ed25519")
(arguments
`(#:import-path "golang.org/x/crypto/ed25519"
#:unpack-path "golang.org/x/crypto"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(string-append (assoc-ref outputs "out")
"/src/golang.org/x/crypto/ed25519/testdata")
".*\\.gz$"))
#t)))))
(synopsis "ED25519 in Go")
(description "This package provides a Go implementation of the ED25519
signature algorithm.")))
(define-public go-golang-org-x-crypto-ripemd160
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ripemd160")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/ripemd160")))
(synopsis "RIPEMD-160 in Go")
(description "This package provides a Go implementation of the RIPEMD-160
hash algorithm.")))
(define-public go-golang-org-x-crypto-blake2s
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-blake2s")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/blake2s")))
(propagated-inputs
`(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
(synopsis "BLAKE2s in Go")
(description "This package provides a Go implementation of the BLAKE2s
hash algorithm.")))
(define-public go-golang-org-x-crypto-sha3
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-sha3")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/sha3")))
(synopsis "SHA-3 in Go")
(description "This package provides a Go implementation of the SHA-3
fixed-output-length hash functions and the SHAKE variable-output-length hash
functions defined by FIPS-202.")))
(define-public go-golang-org-x-net-ipv4
(define-public go-golang-org-x-net
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-ipv4")
(name "go-golang-org-x-net")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1029,208 +684,22 @@ (define-public go-golang-org-x-net-ipv4
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/ipv4"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Go IPv4 support")
(description "This package provides @code{ipv4}, which implements IP-level
socket options for the Internet Protocol version 4.")
`(#:import-path "golang.org/x/net"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Go supplemental networking libraries")
(description "This package provides supplemental Go networking libraries.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-net-bpf
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-bpf")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/bpf"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Berkeley Packet Filters (BPF) in Go")
(description "This package provides a Go implementation of the Berkeley
Packet Filter (BPF) virtual machine.")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-context
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-context")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/context"
#:unpack-path "golang.org/x/net"))
(synopsis "Golang Context type")
(description "This package provides @code{context}, which defines the
Context type, which carries deadlines, cancellation signals, and other
request-scoped values across API boundaries and between processes.")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-socks
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-socks")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/socks"
#:unpack-path "golang.org/x/net"))
(synopsis "")
(description "")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-socket
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-socket")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/socket"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "")
(description "")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-iana
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-iana")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/iana"
#:unpack-path "golang.org/x/net"))
(synopsis "Go support for assigned numbers (IANA)")
(description "This package provides @code{iana}, which provides protocol
number resources managed by the Internet Assigned Numbers Authority (IANA).")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-ipv6
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-ipv6")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/ipv6"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Go IPv6 support")
(description "This package provides @code{ipv6}, which implements
IP-level socket options for the Internet Protocol version 6.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-net-proxy
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-proxy")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/proxy"
#:unpack-path "golang.org/x/net/"))
(synopsis "Go support for network proxies")
(description "This package provides @code{proxy}, which provides support
for a variety of protocols to proxy network data.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-sys-unix
(define-public go-golang-org-x-sys
(let ((commit "04f50cda93cbb67f2afa353c52f342100e80e625")
(revision "4"))
(package
(name "go-golang-org-x-sys-unix")
(name "go-golang-org-x-sys")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1243,28 +712,21 @@ (define-public go-golang-org-x-sys-unix
"0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys/unix"
#:unpack-path "golang.org/x/sys"))
`(#:import-path "golang.org/x/sys"
;; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Go support for low-level system interaction")
(description "This package provides @code{unix}, which offers Go support
for low-level interaction with the operating system.")
(description "This package provides supplemental libraries offering Go
support for low-level interaction with the operating system.")
(home-page "https://go.googlesource.com/sys")
(license license:bsd-3))))
(define-public go-golang-org-x-sys-cpu
(define-public go-golang-org-x-text
(package
(inherit go-golang-org-x-sys-unix)
(name "go-golang-org-x-sys-cpu")
(arguments
'(#:import-path "golang.org/x/sys/cpu"
#:unpack-path "golang.org/x/sys"))
(synopsis "CPU feature detection")
(description "Thi spackage provides @code{cpu}, which offers tools for CPU
feature detection in Go.")))
(define-public go-golang-org-x-text-encoding
(package
(name "go-golang-org-x-text-encoding")
(name "go-golang-org-x-text")
(version "0.3.2")
(source (origin
(method git-fetch)
@ -1278,45 +740,23 @@ (define-public go-golang-org-x-text-encoding
"0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/text/encoding"
#:unpack-path "golang.org/x/text"))
(synopsis "Interface for character encodings for conversion to and from
UTF-8")
(description "This package defines an interface for character encodings.
Specific implementations of encoding for CJK text as well as simple character
encodings are provided in subpackages.")
`(#:import-path "golang.org/x/text"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Supplemental Go text processing libraries")
(description "This package provides supplemental Go libraries for text
processing.")
(home-page "https://go.googlesource.com/text")
(license license:bsd-3)))
(define-public go-golang-org-x-text-transform
(package
(inherit go-golang-org-x-text-encoding)
(name "go-golang-org-x-text-transform")
(arguments
`(#:import-path "golang.org/x/text/transform"
#:unpack-path "golang.org/x/text"))
(synopsis "Go text transformation")
(description "This package provides @code{transform}, which provides
reader and writer wrappers that transform the bytes passing through. Example
transformations provided by other packages include normalization and conversion
between character sets.")))
(define-public go-golang-org-x-text-unicode-norm
(package
(inherit go-golang-org-x-text-encoding)
(name "go-golang-org-x-text-unicode-norm")
(arguments
`(#:import-path "golang.org/x/text/unicode/norm"
#:unpack-path "golang.org/x/text"))
(synopsis "Unicode normalization in Go")
(description "This package provides @code{norm}, which contains types and
functions for normalizing Unicode strings.")))
(define-public go-golang-org-x-time-rate
(define-public go-golang-org-x-time
(let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
(revision "1"))
(package
(name "go-golang-org-x-time-rate")
(name "go-golang-org-x-time")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1329,29 +769,20 @@ (define-public go-golang-org-x-time-rate
"1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/time/rate"
#:unpack-path "golang.org/x/time"))
(propagated-inputs
`(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
(synopsis "Rate limiting in Go")
(description "This package provides @{rate}, which implements rate
limiting in Go.")
`(#:import-path "golang.org/x/time"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
; (propagated-inputs
; `(("go-golang-org-x-net" ,go-golang-org-x-net)))
(synopsis "Supplemental Go time libraries")
(description "This package provides supplemental Go libraries related to
time.")
(home-page "https://godoc.org/golang.org/x/time/rate")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-ssh-terminal
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ssh-terminal")
(inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(arguments
`(#:import-path "golang.org/x/crypto/ssh/terminal"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Terminal functions for Go")
(description "This package provides @{terminal}, which implements support
functions for dealing with terminals, as commonly found on UNIX systems.")))
(define-public go-github-com-burntsushi-toml
(package
(name "go-github-com-burntsushi-toml")
@ -1740,12 +1171,11 @@ (define-public go-github-com-sirupsen-logrus
"0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)
`(("go-golang-org-x-crypto"
,go-golang-org-x-crypto)
("go-github-com-stretchr-testify"
,go-github-com-stretchr-testify)
("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)))
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
'(#:tests? #f ;FIXME missing dependencies
#:import-path "github.com/sirupsen/logrus"))
@ -1834,12 +1264,11 @@ (define-public go-github-com-docker-distribution
"1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-sirupsen-logrus"
,go-github-com-sirupsen-logrus)
("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)))
("go-golang-org-x-crypto"
,go-golang-org-x-crypto)))
(arguments
'(#:import-path "github.com/docker/distribution"
#:phases
@ -2011,7 +1440,7 @@ (define-public go-github-com-mattn-go-isatty
"1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"))))
(build-system go-build-system)
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
'(#:import-path "github.com/mattn/go-isatty"))
(home-page "https://github.com/mattn/go-isatty")
@ -2350,7 +1779,7 @@ (define-public go-github-com-wtolson-go-taglib
("taglib" ,taglib)))
(arguments
`(#:import-path "github.com/wtolson/go-taglib"
;; Tests don't pass "vet" on go-1.11. See
;; Tests don't pass "vet" on Go since 1.11. See
;; https://github.com/wtolson/go-taglib/issues/12.
#:phases
(modify-phases %standard-phases
@ -2379,8 +1808,12 @@ (define-public go-github-com-gogo-protobuf
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gogo/protobuf/proto"
#:unpack-path "github.com/gogo/protobuf"))
`(#:import-path "github.com/gogo/protobuf"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Protocol Buffers for Go with Gadgets")
(description "Gogoprotobuf is a fork of golang/protobuf with extra code
generation features. This code generation is used to achieve:
@ -2395,86 +1828,6 @@ (define-public go-github-com-gogo-protobuf
(home-page "https://github.com/gogo/protobuf")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
(package
(name "go-github-com-gogo-protobuf-protoc-gen-gogo")
(version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
#:unpack-path "github.com/gogo/protobuf"
#:tests? #f)) ; Requires the unpackaged 'protoc-min-version'
(synopsis "Protocol Buffers for Go with Gadgets")
(description "Gogoprotobuf is a fork of golang/protobuf with extra code
generation features. This code generation is used to achieve:
@itemize
@item fast marshalling and unmarshalling
@item more canonical Go structures
@item goprotobuf compatibility
@item less typing by optionally generating extra helper code
@item peace of mind by optionally generating test and benchmark code
@item other serialization formats
@end itemize")
(home-page "https://github.com/gogo/protobuf")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-gogoproto
(package
(name "go-github-com-gogo-protobuf-gogoproto")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/gogo/protobuf"
#:import-path "github.com/gogo/protobuf/gogoproto"))
(home-page "https://github.com/gogo/protobuf")
(synopsis "Extensions to protocol buffers")
(description "This package provides extensions to the Gogo protocol buffers
implementation.")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-proto
(package
(name "go-github-com-gogo-protobuf-proto")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/gogo/protobuf"
#:import-path "github.com/gogo/protobuf/proto"))
(home-page "https://github.com/gogo/protobuf")
(synopsis "Protocol buffers component")
(description "This is a component of the Gogo protocol buffers
implementation.")
(license license:bsd-3)))
(define-public go-github-com-libp2p-go-flow-metrics
(let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
(revision "0"))
@ -2663,9 +2016,9 @@ (define-public go-github-com-libp2p-go-libp2p-crypto
(arguments
'(#:import-path "github.com/libp2p/go-libp2p-crypto"))
(native-inputs
`(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
`(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
(home-page
"https://github.com/libp2p/go-libp2p-crypto")
@ -2811,8 +2164,7 @@ (define-public go-github-com-multiformats-go-multihash
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multihash")
(synopsis "Multihash implementation in Go")
(description "Multihash implementation in Go.")
@ -2839,7 +2191,7 @@ (define-public go-github-com-libp2p-go-libp2p-peer
'(#:import-path "github.com/libp2p/go-libp2p-peer"))
(native-inputs
`(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
@ -2847,9 +2199,7 @@ (define-public go-github-com-libp2p-go-libp2p-peer
("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/libp2p/go-libp2p-peer")
(synopsis "PKI based identities for use in go-libp2p")
(description "PKI based identities for use in @command{go-libp2p}.")
@ -2907,14 +2257,12 @@ (define-public go-github-com-libp2p-go-libp2p-metrics
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/libp2p/go-libp2p-metrics")
(synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
(description "A connection wrapper for @command{go-libp2p} that provides bandwidth
@ -2987,8 +2335,7 @@ (define-public go-github-com-multiformats-go-multiaddr
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multiaddr")
(synopsis "Composable and future-proof network addresses")
(description "Multiaddr is a standard way to represent addresses that
@ -3032,8 +2379,7 @@ (define-public go-github-com-multiformats-go-multiaddr-net
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multiaddr-net")
(synopsis "Multiaddress net tools")
(description "This package provides Multiaddr specific versions of
@ -3388,8 +2734,7 @@ (define-public go-github-com-gdamore-encoding
(arguments
'(#:import-path "github.com/gdamore/encoding"))
(inputs
`(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
`(("go-golang-org-x-text" ,go-golang-org-x-text)))
(home-page "https://github.com/gdamore/encoding")
(synopsis "Provide encodings missing from Go")
(description "This package provides useful encodings not included in the
@ -3430,8 +2775,7 @@ (define-public go-github-com-gdamore-tcell
(inputs
`(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
("go-golang-org-colorful" ,go-golang-org-colorful)
("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
("go-golang-org-x-text" ,go-golang-org-x-text)
("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
(home-page "https://github.com/gdamore/tcell")
(synopsis "Provide a cell-based view for text terminals")

View file

@ -171,7 +171,7 @@ (define-public gama
(define-public gpxsee
(package
(name "gpxsee")
(version "7.12")
(version "7.16")
(source (origin
(method git-fetch)
(uri (git-reference
@ -180,7 +180,7 @@ (define-public gpxsee
(file-name (git-file-name name version))
(sha256
(base32
"0c3axs3mm6xzabwbvy9vgq1sryjpi4h91nwzy9iyv9zjxz7phgzc"))))
"1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View file

@ -1085,7 +1085,7 @@ (define-public atkmm
(define-public gtkmm
(package
(name "gtkmm")
(version "3.24.1")
(version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1093,7 +1093,7 @@ (define-public gtkmm
name "-" version ".tar.xz"))
(sha256
(base32
"1zfj89spr8ianib5y10wcw63ybdmyjy58a15vqs0m8jq4knl5znx"))))
"1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources'

View file

@ -41,6 +41,7 @@
(define-module (gnu packages guile-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@ -2608,3 +2609,47 @@ (define-public guile-cv
enriched with pure Guile Scheme algorithms, all accessible through a nice,
clean and easy to use high level API.")
(license license:gpl3+)))
(define-public guile-ffi-fftw
(let ((commit "95d7ffb55860f3163c5283ecec1ef43bc3d174dd")
(revision "1"))
(package
(name "guile-ffi-fftw")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lloda/guile-ffi-fftw.git")
(commit commit)))
(file-name (git-file-name "guile-ffi-fftw" version))
(sha256
(base32
"0v9vk9cr4x9gn36lihi9gfkxyiqak0i598v5li6qw8bg95004p49"))))
(build-system guile-build-system)
(arguments
`(#:source-directory "mod"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-build
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "mod/ffi/fftw.scm"
(("\\(getenv \"GUILE_FFI_FFTW_LIBFFTW3_PATH\"\\)")
(format #f "\"~a/lib\"" (assoc-ref inputs "fftw"))))
#t))
(add-after 'build 'check
(lambda _
(invoke "guile" "-L" "mod"
"-s" "test/test-ffi-fftw.scm"))))))
(inputs
`(("fftw" ,fftw)
("guile" ,guile-2.2)))
(home-page "https://github.com/lloda/guile-ffi-fftw/")
(synopsis "Access FFTW through Guile's FFI")
(description "This is a minimal set of Guile FFI bindings for the FFTW
library's guru interface. It provides two functions: @code{fftw-dft! rank
sign in out} and @code{fftw-dft rank sign in}. These bindings being minimal,
there is no support for computing & reusing plans, or split r/i transforms, or
anything other than straight complex DFTs.")
;; TODO: This might actually be LGPLv3+
;; See https://github.com/lloda/guile-ffi-fftw/issues/1
(license license:gpl3+))))

View file

@ -11,6 +11,8 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -256,7 +258,7 @@ (define-public git-annex
(build-system haskell-build-system)
(arguments
`(#:configure-flags
'("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV")
'("--flags=-Android -Assistant -Pairing -Webapp -WebDAV")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-shell-for-tests
@ -317,6 +319,7 @@ (define-public git-annex
`(("curl" ,curl)
("ghc-aeson" ,ghc-aeson)
("ghc-async" ,ghc-async)
("ghc-aws" ,ghc-aws)
("ghc-bloomfilter" ,ghc-bloomfilter)
("ghc-byteable" ,ghc-byteable)
("ghc-case-insensitive" ,ghc-case-insensitive)
@ -496,6 +499,64 @@ (define-public hscolour
and mIRC chat codes.")
(license license:bsd-3)))
(define-public kmonad
(package
(name "kmonad")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/david-janssen/kmonad.git")
(commit "06d7b8c709efa695be35df9bde91275cbb2ba099")))
(file-name (git-file-name name version))
(sha256
(base32 "1rjr4h5yq63x3kad6yn4p8v26389sd9dgr5n2w73s1chafapzwwd"))))
(build-system haskell-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'haddock) ; Haddock fails to generate docs
(add-after 'install 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(rules (string-append out "/lib/udev/rules.d")))
(mkdir-p rules)
(call-with-output-file (string-append rules "/70-kmonad.rules")
(lambda (port)
(display
(string-append
"KERNEL==\"uinput\", MODE=\"0660\", "
"GROUP=\"input\", OPTIONS+=\"static_node=uinput\"\n")
port)))
#t)))
(add-after 'install-udev-rules 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/kmonad-" ,version)))
(install-file "README.md" doc)
(copy-recursively "doc" doc)
(copy-recursively "example" (string-append doc "/example"))
#t))))))
(inputs
`(("ghc-cereal" ,ghc-cereal)
("ghc-exceptions" ,ghc-exceptions)
("ghc-hashable" ,ghc-hashable)
("ghc-lens" ,ghc-lens)
("ghc-megaparsec" ,ghc-megaparsec-7)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-unagi-chan" ,ghc-unagi-chan)
("ghc-unliftio" ,ghc-unliftio)
("ghc-unordered-containers" ,ghc-unordered-containers)))
(home-page "https://github.com/david-janssen/kmonad")
(synopsis "Advanced keyboard manager")
(description "KMonad is a keyboard remapping utility that supports
advanced functionality, such as custom keymap layers and modifiers, macros,
and conditional mappings that send a different keycode when tapped or held.
By operating at a lower level than most similar tools, it supports X11,
Wayland, and Linux console environments alike.")
(license license:expat)))
(define-public raincat
(package
(name "raincat")

View file

@ -21,6 +21,7 @@
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -381,6 +382,28 @@ (define-public ghc-async
will eventually deliver a value of type @code{a}.")
(license license:bsd-3)))
(define-public ghc-atomic-primops
(package
(name "ghc-atomic-primops")
(version "0.8.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/atomic-primops"
"/atomic-primops-" version ".tar.gz"))
(sha256
(base32
"0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
(build-system haskell-build-system)
(inputs `(("ghc-primitive" ,ghc-primitive)))
(home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
(synopsis "Safe approach to CAS and other atomic ops")
(description
"GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
use safely, because pointer equality is a highly unstable property in Haskell.
This library provides a safer method based on the concept of @code{Ticket}s.")
(license license:bsd-3)))
(define-public ghc-atomic-write
(package
(name "ghc-atomic-write")
@ -10605,6 +10628,37 @@ (define-public ghc-typed-process
upon it.")
(license license:expat)))
(define-public ghc-unagi-chan
(package
(name "ghc-unagi-chan")
(version "0.4.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/unagi-chan"
"/unagi-chan-" version ".tar.gz"))
(sha256
(base32
"1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
(build-system haskell-build-system)
(inputs
`(("ghc-atomic-primops" ,ghc-atomic-primops)
("ghc-primitive" ,ghc-primitive)))
(arguments
`(#:tests? #f ; FIXME: Tests expect primitive 0.7
#:cabal-revision
("1"
"09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
(home-page "http://hackage.haskell.org/package/unagi-chan")
(synopsis "Fast concurrent queues with a Chan-like API, and more")
(description
"This library provides implementations of concurrent FIFO queues (for
both general boxed and primitive unboxed values) that are fast, perform well
under contention, and offer a Chan-like interface. The library may be of
limited usefulness outside of x86 architectures where the fetch-and-add
instruction is not available.")
(license license:bsd-3)))
(define-public ghc-unbounded-delays
(package
(name "ghc-unbounded-delays")

View file

@ -86,14 +86,12 @@ (define-public go-github-com-ipfs-go-ipfs-api
("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
@ -140,15 +138,13 @@ (define-public gx
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/whyrusleeping/gx")
(synopsis "Package management tool using IPFS")
(description "@command{gx} is a packaging tool built around the
@ -202,14 +198,12 @@ (define-public gx-go
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/whyrusleeping/gx-go")
(synopsis "Golang subtool for the @command{gx} package manager")
(description "A subtool for the @command{gx} package manager for packages

View file

@ -29,14 +29,14 @@ (define-module (gnu packages libedit)
(define-public libedit
(package
(name "libedit")
(version "20190324-3.1")
(version "20191025-3.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://thrysoee.dk/editline"
(uri (string-append "https://thrysoee.dk/editline"
"/libedit-" version ".tar.gz"))
(sha256
(base32 "1bhvp8xkkgrg89k4ci1k8vjl3nhb6szd4ghy9lp4jrfgq58hz3xc"))))
(base32 "0fdznw6fklis39xqk30ihw8dl8kdw9fzq1z42jmbyy6lc1k07zvd"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))

View file

@ -929,7 +929,7 @@ (define-public libqxp
(define-public libreoffice
(package
(name "libreoffice")
(version "6.1.5.2")
(version "6.2.8.2")
(source
(origin
(method url-fetch)
@ -939,36 +939,9 @@ (define-public libreoffice
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256
(base32
"1wh8qhqkmb89nmfcb0w6iwpdzxwqr7c5kzxgpk4gy60xin6gwjgb"))
(patches
(append (list (origin
;; Support newer versions of Orcus and MDDS. These patches
;; are taken from upstream, but we use the patches from Arch
;; because they are adapted for the release tarball.
;; Note: remove the related substitutions below when these
;; are no longer needed.
(method url-fetch)
(uri (string-append "https://git.archlinux.org/svntogit"
"/packages.git/plain/trunk/"
"0001-Update-orcus-to-0.14.0.patch?&id="
"4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
(file-name "libreoffice-orcus.patch")
(sha256
(base32
"0v1knblrmfzkb4g9pm5mdnrmjib59bznvca1ygbwlap2ln1h4mk0")))
(origin
(method url-fetch)
(uri (string-append "https://git.archlinux.org/svntogit"
"/packages.git/plain/trunk/"
"0001-Update-mdds-to-1.4.1.patch?&id="
"4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
(file-name "libreoffice-mdds.patch")
(sha256
(base32
"0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f"))))
(search-patches "libreoffice-boost.patch"
"libreoffice-icu.patch"
"libreoffice-glm.patch")))
"1npxyj0hklls3jnaxx9kj3r6bgydgrbz6nacy05n0zhq8i6zb5ir"))
(patches (search-patches "libreoffice-icu.patch"
"libreoffice-glm.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@ -992,6 +965,7 @@ (define-public libreoffice
("cups" ,cups)
("dbus-glib" ,dbus-glib)
("fontconfig" ,fontconfig)
("fontforge" ,fontforge)
("gconf" ,gconf)
("glew" ,glew)
("glm" ,glm)
@ -1031,6 +1005,7 @@ (define-public libreoffice
("libxt" ,libxt)
("libzmf" ,libzmf)
("lpsolve" ,lpsolve)
("mariadb" ,mariadb)
("mdds" ,mdds)
("mythes" ,mythes)
("neon" ,neon)
@ -1066,13 +1041,6 @@ (define-public libreoffice
"solenv/gbuild/platform/unxgcc.mk")
(("/bin/sh") (which "sh")))
;; XXX: Adjust the checks for MDDS and liborcus to avoid having
;; to re-bootstrap the whole thing. Remove this with the related
;; patches above.
(substitute* "configure"
(("mdds-1.2 >= 1.2.3") "mdds-1.4 >= 1.4.1")
(("liborcus-0.13 >= 0.13.3") "liborcus-0.14 >= 0.14.0"))
;; GPGME++ headers are installed in a gpgme++ subdirectory, but
;; files in "xmlsecurity/source/gpg/" and elsewhere expect to
;; find them on the include path without a prefix.
@ -1161,16 +1129,15 @@ (define (install-appdata app)
;; With java, the build fails since sac.jar is missing.
"--without-java"
;; FIXME: Enable once the corresponding inputs are packaged.
"--without-system-npapi-headers"
"--disable-coinmp"
"--disable-firebird-sdbc" ; embedded firebird
"--disable-gltf"
;; XXX: PDFium support requires fetching an external tarball and
;; patching the build scripts to work with GCC5. Try enabling this
;; when our default compiler is >=GCC 6.
"--disable-pdfium"
"--disable-gtk" ; disable use of GTK+ 2
"--without-doxygen")))
"--without-doxygen"
"--enable-build-opensymbol")))
(home-page "https://www.libreoffice.org/")
(synopsis "Office suite")
(description "LibreOffice is a comprehensive office suite. It contains

View file

@ -351,42 +351,42 @@ (define (%upstream-linux-source version hash)
"linux-" version ".tar.xz"))
(sha256 hash)))
(define-public linux-libre-5.3-version "5.3.7")
(define-public linux-libre-5.3-version "5.3.8")
(define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version)
(hash (base32 "00j8sdrmmppqf38vl50a4zas5gy7yv37n43b61f8472k45773jf6")))
(hash (base32 "0jb6yya9yx4z52p5m32dqj0kgc6aaz9df8mvq0hzy40bqb3czwvq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.3)))
(define-public linux-libre-4.19-version "4.19.80")
(define-public linux-libre-4.19-version "4.19.81")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1v776s6q5wxn8ci86dwa8s8y41b94g09fnpgvzysg2h89rvbmac0")))
(hash (base32 "17g2wiaa7l7mxi72k79drxij2zqk3nsj8wi17bl4nfvb1ypc2gi9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.150")
(define-public linux-libre-4.14-version "4.14.151")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "1c2pxfvv31af0mzcqnbfjk8pc0wrhg4yhspl8a3ab2w5dfwa9ib5")))
(hash (base32 "1bizb1wwni5r4m5i0mrsqbc5qw73lwrfrdadm09vbfz9ir19qlgz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.197")
(define-public linux-libre-4.9-version "4.9.198")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "032as6g4xvqjarqhvx7mr14yhn6idak4g0ps1skmsl4dfav6hdam")))
(hash (base32 "1b05jra6q695s1d4rzdr39i6m8xsi5xjrdn73sgwzvx0dgxfnwlm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.197")
(define-public linux-libre-4.4-version "4.4.198")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "0ypfl1q1bdbk81hk0bm8a0grqzz4z5rp7z7asa3191ji3r8q9x4w")))
(hash (base32 "04pkryy1lc75c88vq5wcjjcxs43i7bb8hhplbfi6s204ipc0iy7c")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -2076,14 +2076,14 @@ (define-public iw
(define-public powertop
(package
(name "powertop")
(version "2.10")
(version "2.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://01.org/sites/default/files/downloads/"
"powertop-v" version ".tar.gz"))
"powertop-v" version "-1-g7ef7f79.tar_0.gz"))
(sha256
(base32 "0xaazqccyd42v2q532dxx40nqhb9sfsa6cyx8641rl57mfg4bdyk"))))
(base32 "0kynypj5cydfbma0ssblq1k4m1arixc1s2vf0ybv8y2gg09wjs5f"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -3901,7 +3901,7 @@ (define-public gpm
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "5.3")
(version "5.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -3909,7 +3909,7 @@ (define-public btrfs-progs
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"13ivb1b627qkiiqxh2y7zawynarkmgxrnwwpqhx6cci621yyqqqp"))))
"0f6s1iwiqbncrvxp74k50s88x6zqf85sjxg04kyni82l1vk1m8xz"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
@ -5855,7 +5855,7 @@ (define-public go-netlink
(arguments
`(#:import-path "github.com/vishvananda/netlink"))
(native-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-netns" ,go-netns)))
(home-page "https://github.com/vishvananda/netlink")
(synopsis "Simple netlink library for Go")

View file

@ -320,21 +320,30 @@ (define-public nullmailer
(define-public fetchmail
(package
(name "fetchmail")
(version "6.3.26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-"
version ".tar.xz"))
(sha256
(base32
"0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r"))))
(version "6.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/fetchmail/branch_"
(version-major+minor version) "/"
"fetchmail-" version ".tar.xz"))
(sha256
(base32 "1859wvfc9fq72mwp4njdiy0x89hnddlfr3nix71qqglcs0fz2crz"))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)))
(arguments
`(#:configure-flags (list (string-append "--with-ssl="
(assoc-ref %build-inputs "openssl")))))
(home-page "http://www.fetchmail.info/")
`(#:configure-flags
(list (string-append "--with-ssl="
(assoc-ref %build-inputs "openssl")))
#:phases
(modify-phases %standard-phases
(add-before 'check 'create-test-environment
(lambda _
;; Fix Cannot find absolute path for user's home directory.
(setenv "HOME" "/tmp")
#t)))))
(home-page "https://www.fetchmail.info/")
(synopsis "Remote-mail retrieval and forwarding utility")
(description
"Fetchmail is a full-featured, robust, well-documented remote-mail

View file

@ -251,15 +251,11 @@ (define-public scdoc
"00zc3rzj97gscby31djlqyczvqpyhrl66i44czwzmmn7rc5j03m1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc")
`(#:make-flags
(list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'hardcode-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(delete 'configure))))
(home-page "https://git.sr.ht/~sircmpwn/scdoc")
(synopsis "Simple man page generator")
(description "scdoc is a simple man page generator written for POSIX systems

View file

@ -1627,6 +1627,14 @@ (define-public profanity
(base32
"0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list "--enable-c-plugins"
"--enable-otr"
"--enable-omemo"
"--enable-pgp"
"--enable-icons"
"--enable-notifications")))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@ -1642,12 +1650,15 @@ (define-public profanity
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("cmocka" ,cmocka)
("gtk+" ,gtk+-2)
("libnotify" ,libnotify)
("libtool" ,libtool)
("libsignal-protocol-c" ,libsignal-protocol-c)
("pkg-config" ,pkg-config)))
(synopsis "Console-based XMPP client")
(description "Profanity is a console based XMPP client written in C
using ncurses and libmesode, inspired by Irssi.")
(home-page "http://www.profanity.im")
(home-page "https://profanity-im.github.io")
(license license:gpl3+)))
(define-public libircclient

View file

@ -306,7 +306,7 @@ (define-public mp3splt
(define-public mpg123
(package
(name "mpg123")
(version "1.25.12")
(version "1.25.13")
(source (origin
(method url-fetch)
(uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
@ -316,7 +316,7 @@ (define-public mpg123
version ".tar.bz2")))
(sha256
(base32
"1l9iwwgqzw6yg5zk9pqmlbfyq6d8dqysbmj0j3m8dyrxd34wgzhz"))))
"02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--with-default-audio=pulse")))
(native-inputs `(("pkg-config" ,pkg-config)))

View file

@ -2383,52 +2383,46 @@ (define-public qtractor
(license license:gpl2+)))
(define-public ams-lv2
;; Version 1.2.1 built with Python 3.7 raises an error in the waf-script.
;; Therefore, we take two more commmits than 1.2.1 that introduce an updated
;; waf-script and fix one error.
(let ((commit "377d166db54a787b48979171c5652d2eb4f1bbb5")
(revision "1"))
(package
(name "ams-lv2")
(version (git-version "1.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/blablack/ams-lv2.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1ndgxcxjxwidg7436k0nb5clxkyi878k1j999sbbd1gk2fm0kcqm"))))
(build-system waf-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-sse-flags
(lambda* (#:key system #:allow-other-keys)
(unless (or (string-prefix? "x86_64" system)
(string-prefix? "i686" system))
(substitute* "wscript"
(("'-msse', '-mfpmath=sse', ") "")))
#t)))
#:tests? #f)) ; no tests
(inputs
`(("lv2" ,lv2)
("lvtk" ,lvtk)
("gtkmm" ,gtkmm-2)
("gtk" ,gtk+-2)
("cairo" ,cairo)
("fftw" ,fftw)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://objectivewave.wordpress.com/ams-lv2/")
(synopsis "Port of Alsa Modular Synth internal modules into LV2")
(description "This set of LV2 plugins is a port of the internal modules
(package
(name "ams-lv2")
(version "1.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/blablack/ams-lv2.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
(build-system waf-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-sse-flags
(lambda* (#:key system #:allow-other-keys)
(unless (or (string-prefix? "x86_64" system)
(string-prefix? "i686" system))
(substitute* "wscript"
(("'-msse', '-mfpmath=sse', ") "")))
#t)))
#:tests? #f)) ; no tests
(inputs
`(("cairo" ,cairo)
("fftw" ,fftw)
("gtk" ,gtk+-2)
("gtkmm" ,gtkmm-2)
("lv2" ,lv2)
("lvtk" ,lvtk)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/blablack/ams-lv2")
(synopsis "Port of Alsa Modular Synth internal modules into LV2")
(description "This set of LV2 plugins is a port of the internal modules
found in Alsa Modular Synth. These plugins are used to create modular
synthesizers and contain: VCO, VCF, VCA, LFO, slew limiter, envelopes, sample
and hold, etc.")
(license license:gpl2))))
(license license:gpl2)))
(define-public gxtuner
(package

View file

@ -595,14 +595,14 @@ (define-public whois
(define-public wireshark
(package
(name "wireshark")
(version "3.0.5")
(version "3.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
(base32 "087qv7nd7zlbckvcs37fkkg7v0mw0hjd5yfbghqym764fpjgqlf5"))))
(base32 "0gp3qg0280ysrsaa97yfazka8xcyrspsrw8bfgqxnpf1l0i40zx8"))))
(build-system cmake-build-system)
(arguments
`(#:phases

View file

@ -115,7 +115,7 @@ (define-public keepassxc
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/keepassxreboot/" name
(uri (string-append "https://github.com/keepassxreboot/keepassxc"
"/releases/download/" version "/keepassxc-"
version "-src.tar.xz"))
(sha256

File diff suppressed because it is too large Load diff

View file

@ -1,9 +0,0 @@
--- a/browser/app/profile/icecat.js.orig 1980-01-01 18:59:51.000000000 -0500
+++ b/browser/app/profile/icecat.js 2019-10-25 06:24:03.065989309 -0400
@@ -2275,3 +2275,6 @@
pref("general.buildID.override", "Gecko/20100101");
pref("general.oscpu.override", "Windows NT 6.1");
pref("general.platform.override", "Win32");
+
+// Disable Firefox Accounts and Sign in to Sync.
+pref("identity.fxaccounts.enabled", false);

View file

@ -0,0 +1,241 @@
From 2676d4e1eb64e18d2e4722c0ea0babdc1f716fa4 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Mon, 28 Oct 2019 01:54:19 -0400
Subject: [PATCH 1/4] Update to 68.2.0-gnu1.
* makeicecat: Update to FFMINOR to 2, and update the expected
sha256sum of the firefox source tarball.
---
makeicecat | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makeicecat b/makeicecat
index 97ee473..1bcf465 100644
--- a/makeicecat
+++ b/makeicecat
@@ -21,7 +21,7 @@
set -euxo pipefail
FFMAJOR=68
-FFMINOR=1
+FFMINOR=2
FFSUB=0
GNUVERSION=1
FFVERSION=$FFMAJOR.$FFMINOR.$FFSUB
@@ -43,7 +43,7 @@ wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr
wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
echo Extracting Firefox tarball
tar -xf firefox-${FFVERSION}esr.source.tar.xz
--
2.23.0
From c3a7b761f11c75d3764779e731a7c7e86b072d2f Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Mon, 28 Oct 2019 04:18:26 -0400
Subject: [PATCH 2/4] Disable MOZ_SERVICES_HEALTHREPORT and MOZ_DATA_REPORTING.
* data/patches/fix-data-reporting-check.patch: New file.
* data/patches/legacy-profiles.patch: Rename to ...
* data/patches/moz-configure-changes.patch: ... this,
and set MOZ_SERVICES_HEALTHREPORT to False.
---
data/patches/fix-data-reporting-check.patch | 22 +++++++++++++++++++++
data/patches/legacy-profiles.patch | 11 -----------
data/patches/moz-configure-changes.patch | 14 +++++++++++++
3 files changed, 36 insertions(+), 11 deletions(-)
create mode 100644 data/patches/fix-data-reporting-check.patch
delete mode 100644 data/patches/legacy-profiles.patch
create mode 100644 data/patches/moz-configure-changes.patch
diff --git a/data/patches/fix-data-reporting-check.patch b/data/patches/fix-data-reporting-check.patch
new file mode 100644
index 0000000..d586dc5
--- /dev/null
+++ b/data/patches/fix-data-reporting-check.patch
@@ -0,0 +1,22 @@
+--- a/old-configure.in.orig 1980-01-01 18:59:51.000000000 -0500
++++ b/old-configure.in 2019-10-28 04:13:17.343606008 -0400
+@@ -3116,7 +3116,7 @@
+ dnl If we have any service that uploads data (and requires data submission
+ dnl policy alert), set MOZ_DATA_REPORTING.
+ dnl We need SUBST for build system and DEFINE for xul preprocessor.
+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
+ MOZ_DATA_REPORTING=1
+ AC_DEFINE(MOZ_DATA_REPORTING)
+ AC_SUBST(MOZ_DATA_REPORTING)
+--- a/old-configure.orig 1980-01-01 18:59:51.000000000 -0500
++++ b/old-configure 2019-10-28 04:15:41.772322191 -0400
+@@ -12150,7 +12150,7 @@
+
+
+
+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
+ MOZ_DATA_REPORTING=1
+ cat >> confdefs.pytmp <<\EOF
+ (''' MOZ_DATA_REPORTING ''', ' 1 ')
diff --git a/data/patches/legacy-profiles.patch b/data/patches/legacy-profiles.patch
deleted file mode 100644
index 33e9e99..0000000
--- a/data/patches/legacy-profiles.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500
-+++ b/browser/moz.configure 2019-10-26 21:58:37.719617701 -0400
-@@ -7,7 +7,7 @@
- imply_option('MOZ_PLACES', True)
- imply_option('MOZ_SERVICES_HEALTHREPORT', True)
- imply_option('MOZ_SERVICES_SYNC', True)
--imply_option('MOZ_DEDICATED_PROFILES', True)
-+imply_option('MOZ_DEDICATED_PROFILES', False)
- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
-
- with only_when(target_is_linux & compile_environment):
diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
new file mode 100644
index 0000000..aa6f1a5
--- /dev/null
+++ b/data/patches/moz-configure-changes.patch
@@ -0,0 +1,14 @@
+--- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500
++++ b/browser/moz.configure 2019-10-28 01:36:13.132873871 -0400
+@@ -5,9 +5,9 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ imply_option('MOZ_PLACES', True)
+-imply_option('MOZ_SERVICES_HEALTHREPORT', True)
++imply_option('MOZ_SERVICES_HEALTHREPORT', False)
+ imply_option('MOZ_SERVICES_SYNC', True)
+-imply_option('MOZ_DEDICATED_PROFILES', True)
++imply_option('MOZ_DEDICATED_PROFILES', False)
+ imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
+
+ with only_when(target_is_linux & compile_environment):
--
2.23.0
From 62f50f15abc91483c6aa7a2ac7ebb972e6f9affd Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Mon, 28 Oct 2019 13:05:28 -0400
Subject: [PATCH 3/4] Disable MOZ_BLOCK_PROFILE_DOWNGRADE.
It would be desirable to prevent downgrades from one major version of
IceCat to another. However, as MOZ_BLOCK_PROFILE_DOWNGRADE is
currently implemented, it prevents downgrades from one build of
IceCat-68.2 to an earlier build of IceCat-68.2. Until we can find a
satisfactory solution, we disable this functionality entirely.
* data/patches/moz-configure-changes.patch: Set
MOZ_BLOCK_PROFILE_DOWNGRADE to 'False'.
---
data/patches/moz-configure-changes.patch | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
index aa6f1a5..53091a4 100644
--- a/data/patches/moz-configure-changes.patch
+++ b/data/patches/moz-configure-changes.patch
@@ -1,6 +1,6 @@
--- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500
-+++ b/browser/moz.configure 2019-10-28 01:36:13.132873871 -0400
-@@ -5,9 +5,9 @@
++++ b/browser/moz.configure 2019-10-28 13:04:11.469562089 -0400
+@@ -5,10 +5,10 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
imply_option('MOZ_PLACES', True)
@@ -8,7 +8,9 @@
+imply_option('MOZ_SERVICES_HEALTHREPORT', False)
imply_option('MOZ_SERVICES_SYNC', True)
-imply_option('MOZ_DEDICATED_PROFILES', True)
+-imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
+imply_option('MOZ_DEDICATED_PROFILES', False)
- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
++imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', False)
with only_when(target_is_linux & compile_environment):
+ option(env='MOZ_NO_PIE_COMPAT',
--
2.23.0
From 036f74092d223976054f9eafd8caa056f5975c54 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Mon, 28 Oct 2019 19:57:37 -0400
Subject: [PATCH 4/4] Improve branding for version 68 ESR.
* data/branding/icecat/locales/en-US/brand.dtd: Add brandProductName.
* data/branding/icecat/locales/en-US/brand.ftl: Add
brand-shorter-name, brand-full-name, brand-product-name,
vendor-short-name, and trademarkInfo.
* data/branding/icecat/locales/en-US/brand.properties: Add
brandProductName.
* makeicecat: Limit replacement of trademarkInfo.part1 of brand.dtd
files to only be done within l10n directory. Replace trademarkInfo of
brand.ftl files within l10n directory.
---
data/branding/icecat/locales/en-US/brand.dtd | 1 +
data/branding/icecat/locales/en-US/brand.ftl | 5 +++++
data/branding/icecat/locales/en-US/brand.properties | 1 +
makeicecat | 3 ++-
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/data/branding/icecat/locales/en-US/brand.dtd b/data/branding/icecat/locales/en-US/brand.dtd
index 3788266..475ce7d 100644
--- a/data/branding/icecat/locales/en-US/brand.dtd
+++ b/data/branding/icecat/locales/en-US/brand.dtd
@@ -5,5 +5,6 @@
<!ENTITY brandShorterName "IceCat">
<!ENTITY brandShortName "IceCat">
<!ENTITY brandFullName "GNU IceCat">
+<!ENTITY brandProductName "IceCat">
<!ENTITY vendorShortName "GNU">
<!ENTITY trademarkInfo.part1 "The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.">
diff --git a/data/branding/icecat/locales/en-US/brand.ftl b/data/branding/icecat/locales/en-US/brand.ftl
index bd7fbe0..7c9fcc8 100644
--- a/data/branding/icecat/locales/en-US/brand.ftl
+++ b/data/branding/icecat/locales/en-US/brand.ftl
@@ -2,4 +2,9 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-brand-shorter-name = IceCat
-brand-short-name = IceCat
+-brand-full-name = GNU IceCat
+-brand-product-name = IceCat
+-vendor-short-name = GNU
+trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.
diff --git a/data/branding/icecat/locales/en-US/brand.properties b/data/branding/icecat/locales/en-US/brand.properties
index 85e2894..9b9cf97 100644
--- a/data/branding/icecat/locales/en-US/brand.properties
+++ b/data/branding/icecat/locales/en-US/brand.properties
@@ -5,6 +5,7 @@
brandShorterName=IceCat
brandShortName=IceCat
brandFullName=IceCat
+brandProductName=IceCat
vendorShortName=GNU
syncBrandShortName=Sync
diff --git a/makeicecat b/makeicecat
index 1bcf465..3ff2ead 100644
--- a/makeicecat
+++ b/makeicecat
@@ -226,7 +226,8 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
# Custom legal about pages
-find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
+find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
+find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
do
--
2.23.0

View file

@ -25,7 +25,7 @@ index b04c731..06d1f3f 100644
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
@ -37,7 +37,7 @@ index b04c731..06d1f3f 100644
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
+# echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+# echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@ -96,24 +96,9 @@ index b04c731..06d1f3f 100644
-cd $SOURCEDIR
+# cd $SOURCEDIR
#for patch in $DATA/patches/*; do
# echo Patching with file: $patch
@@ -226,10 +226,10 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
-do
- find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
-done
+# for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
+# do
+# find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
+# done
for STRING in rights-intro-point-2 rights-intro-point-3 rights-intro-point-4 rights-intro-point-5 rights-intro-point-6 rights-webservices rights-safebrowsing
do
@@ -595,6 +595,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
shopt -s nullglob
for patch in $DATA/patches/*.patch; do
@@ -598,6 +598,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
# Fix CVE-2012-3386
/bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true

View file

@ -1,17 +0,0 @@
Fix compatibility with newer Boost.
Extracted from this upstream commit:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=23a8d5ffbbe58761b89f590f0735abccd69a3681
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -144,7 +144,7 @@ bool LoadModule()
#endif // ENABLE_QUICKSTART_APPLET
}
assert(!boost::logic::indeterminate(loaded));
- return loaded;
+ return bool(loaded);
}
}

View file

@ -1,3 +1,8 @@
Make weasyprint load dynamic libraries from hard-coded path.
From NixOS
pkgs/development/python-modules/weasyprint/library-paths.patch
diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py
index 377716c1..2016e01c 100644
--- a/weasyprint/fonts.py

View file

@ -1,47 +0,0 @@
https://dev.lovelyhq.com/libburnia/libisoburn/commit/1eb51f44dadb8b6c5f87533ca357186cdc1ac625
diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
index b3948c99..dcd9d696 100755
--- a/frontend/grub-mkrescue-sed.sh
+++ b/frontend/grub-mkrescue-sed.sh
@@ -120,6 +120,7 @@ fi
# "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
# Some EFI implementations get stuck when seeing in the EFI partition a
# partition table entry which begins at LBA 0.
+# "extra" not only zeros the partition table but also the MBR signature.
efi_zero_inner_pt=no
if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
then
@@ -192,24 +193,31 @@ then
find "$dir"
fi
-if test "$efi_zero_inner_pt" = yes
+if test "$efi_zero_inner_pt" = yes -o "$efi_zero_inner_pt" = extra
then
did_dd=0
if test -e "$dir"/efi.img
then
+ # Look for 0x55 0xAA in bytes 510 and 511
magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
od -c | head -1 | awk '{print $2 " " $3}')
if test "$magic" = "U 252"
then
+ echo "Performing actions for MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
did_dd=1
+ if test "$efi_zero_inner_pt" = extra
+ then
+ dd if=/dev/zero bs=1 seek=510 count=2 conv=notrunc of="$dir"/efi.img
+ fi
+ echo >&2
fi
fi
if test "$did_dd" = 0
then
echo >&2
echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
- echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
+ echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
echo >&2
fi
fi

View file

@ -1,107 +0,0 @@
https://dev.lovelyhq.com/libburnia/libisoburn/commit/3a2a3ba737a06162c22ace0ae09d33ba97aa2673
diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
index d772ff22..b3948c99 100755
--- a/frontend/grub-mkrescue-sed.sh
+++ b/frontend/grub-mkrescue-sed.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2015 - 2016
+# Copyright (C) 2015 - 2019
# Thomas Schmitt <scdbackup@gmx.net>, libburnia-project.org
# Provided under BSD license: Use, modify, and distribute as you like.
@@ -117,6 +117,15 @@ fi
# command line.)
# Each argument must be a single word. No whitespace. No quotation marks.
+# "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
+# Some EFI implementations get stuck when seeing in the EFI partition a
+# partition table entry which begins at LBA 0.
+efi_zero_inner_pt=no
+if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
+then
+ efi_zero_inner_pt="$MKRESCUE_SED_IN_EFI_NO_PT"
+fi
+
#
# Do the work
@@ -183,12 +192,48 @@ then
find "$dir"
fi
+if test "$efi_zero_inner_pt" = yes
+then
+ did_dd=0
+ if test -e "$dir"/efi.img
+ then
+ magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
+ od -c | head -1 | awk '{print $2 " " $3}')
+ if test "$magic" = "U 252"
+ then
+ dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
+ did_dd=1
+ fi
+ fi
+ if test "$did_dd" = 0
+ then
+ echo >&2
+ echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
+ echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
+ echo >&2
+ fi
+fi
+
efi_tmp_name=
+if test x"$mode" = xmjg \
+ -o x"$mode" = xmbr_only \
+ -o x"$mode" = xgpt_appended \
+ -o x"$mode" = xmbr_hfs
+then
+ # Move EFI partition image file out of the "$dir" tree, i.e. out of the ISO
+ efi_tmp_name=grub-mkrescue-sed-efi-img.$$
+ if test -e "$dir"/efi.img
+ then
+ mv "$dir"/efi.img /tmp/$efi_tmp_name
+ elif test -e /tmp/$efi_tmp_name
+ then
+ rm /tmp/$efi_tmp_name
+ fi
+fi
+
if test x"$mode" = xmjg
then
# Exchange arguments for the experimental GRUB2 mjg layout
- efi_tmp_name=grub-mkrescue-sed-efi-img.$$
- mv "$dir"/efi.img /tmp/$efi_tmp_name
x=$(echo " $*" | sed \
-e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition $partno 0xef \/tmp\/$efi_tmp_name/" \
-e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_${partno}:all:: -no-emul-boot -isohybrid-gpt-basdat/" \
@@ -207,8 +252,6 @@ then
elif test x"$mode" = xmbr_only
then
# Exchange arguments for no-HFS MBR-only layout
- efi_tmp_name=grub-mkrescue-sed-efi-img.$$
- mv "$dir"/efi.img /tmp/$efi_tmp_name
x=$(echo " $*" | sed \
-e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
-e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
@@ -228,8 +271,6 @@ then
elif test x"$mode" = xmbr_hfs
then
# Exchange arguments for MBR and HFS+ layout
- efi_tmp_name=grub-mkrescue-sed-efi-img.$$
- mv "$dir"/efi.img /tmp/$efi_tmp_name
x=$(echo " $*" | sed \
-e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
-e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
@@ -247,8 +288,6 @@ then
elif test x"$mode" = xgpt_appended
then
# Exchange arguments for no-HFS MBR-only layout
- efi_tmp_name=grub-mkrescue-sed-efi-img.$$
- mv "$dir"/efi.img /tmp/$efi_tmp_name
x=$(echo " $*" | sed \
-e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name -appended_part_as_gpt -partition_offset 16/" \
-e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \

View file

@ -265,11 +265,17 @@ (define-public meld
(inputs
`(("python-cairo" ,python-pycairo)
("python-gobject" ,python-pygobject)
("gtksourceview" ,gtksourceview)))
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtksourceview" ,gtksourceview-3)))
(propagated-inputs
`(("dconf" ,dconf)))
(arguments
`(#:phases
`(#:imported-modules ((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules ((guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
(modify-phases %standard-phases
;; This setup.py script does not support one of the Python build
;; system's default flags, "--single-version-externally-managed".
@ -292,7 +298,16 @@ (define-public meld
(setenv "HOME" "/tmp")
(invoke "py.test" "-v" "-k"
;; TODO: Those tests fail, why?
"not test_classify_change_actions"))))))
"not test_classify_change_actions")))
(add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'wrap 'wrap-typelib
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/meld")
`("GI_TYPELIB_PATH" prefix
,(search-path-as-string->list (getenv "GI_TYPELIB_PATH"))))
#t))))))
(home-page "https://meldmerge.org/")
(synopsis "Compare files, directories and working copies")
(description "Meld is a visual diff and merge tool targeted at

View file

@ -1120,48 +1120,29 @@ (define-public pdfpc
(license license:gpl2+)))
(define-public paps
(let ((commit "37e6ca1cd96d751bbbff5539d795c90d657289a5")
(revision "1"))
(package
(name "paps")
;; The last release was in 2015, but since then there have been security
;; bug fixes.
(version (git-version "0.7.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dov/paps.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1ilcyjqdynxsd2p8dnn8h4592dwf531x9pbkxa1w09hkcdn7hgwc"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-run-configure-script-during-bootstrap
(lambda _
(substitute* "autogen.sh"
(("^./configure") "#"))
#t)))))
(inputs
`(("pango" ,pango)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("glib" ,glib "bin")
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/dov/paps")
(synopsis "Pango to PostScript converter")
(description
"Paps reads a UTF-8 encoded file and generates a PostScript language
(package
(name "paps")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dov/paps/releases/download/v"
version "/paps-" version ".tar.gz"))
(sha256
(base32 "1z1w1fg2bvb8p92n1jlpqp3n9mq42szb2mqhh4xqmmnmfcdkpi9s"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/dov/paps")
(synopsis "Pango to PostScript converter")
(description
"Paps reads a UTF-8 encoded file and generates a PostScript language
rendering of the file. The rendering is done by creating outline curves
through the Pango @code{ft2} backend.")
(license license:lgpl2.0+))))
(license license:lgpl2.0+)))
(define-public stapler
(package

View file

@ -1611,14 +1611,14 @@ (define-public perl-cpan-meta-check
(define-public perl-cpanel-json-xs
(package
(name "perl-cpanel-json-xs")
(version "4.12")
(version "4.15")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
"Cpanel-JSON-XS-" version ".tar.gz"))
(sha256
(base32 "0n66da8s88srr591i7gm1d611z9jbcz488fhqxy604diiw8pnha9"))))
(base32 "1695408fj6jjx6dv5082hhxg5am480x1nz7s0f355npv0wm776wx"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
@ -4287,7 +4287,7 @@ (define-public perl-io-all
(define-public perl-io-captureoutput
(package
(name "perl-io-captureoutput")
(version "1.1104")
(version "1.1105")
(source
(origin
(method url-fetch)
@ -4296,8 +4296,7 @@ (define-public perl-io-captureoutput
version
".tar.gz"))
(sha256
(base32
"0c437zvzpqi8f0h3nmblwdi2bvsb92b7g30fndr7my9qnky35izw"))))
(base32 "11zlfbahac09q3jvwmpijmkwgihwxps85jwy2q7q0wqjragh16df"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/IO-CaptureOutput")
(synopsis "Capture STDOUT and STDERR from Perl code, subprocesses or XS")
@ -5552,15 +5551,14 @@ (define-public perl-moo-2
(package
(inherit perl-moo)
(name "perl-moo-2")
(version "2.003004")
(version "2.003006")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Moo-" version ".tar.gz"))
(sha256
(base32
"1qciprcgb4661g2g4ks0fxkx5gbjvn7h9yfg0nzflqz9z0jvdfzq"))))
(base32 "0wi4gyp5kn4lbags0hrax3c9jj9spxg4d11fbrdh0ican4m0kcmw"))))
(propagated-inputs
`(("perl-role-tiny" ,perl-role-tiny-2)
("perl-sub-name" ,perl-sub-name)
@ -6549,7 +6547,7 @@ (define-public perl-namespace-clean
(define-public perl-net-dns-native
(package
(name "perl-net-dns-native")
(version "0.21")
(version "0.22")
(source
(origin
(method url-fetch)
@ -6557,7 +6555,7 @@ (define-public perl-net-dns-native
"mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-"
version ".tar.gz"))
(sha256
(base32 "0jjcgzmgas7k5rwalirrmbnlj4ihdxyydajc18qviwg863qjannl"))))
(base32 "1m9hbj83ikg52wvq7z8bjm78i50qvqk5alh11mmazzxrpbnrv38h"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Net-DNS-Native")
(synopsis "Non-blocking system DNS resolver")
@ -9632,15 +9630,14 @@ (define-public perl-parse-cpan-meta
(define-public perl-scalar-list-utils
(package
(name "perl-scalar-list-utils")
(version "1.50")
(version "1.53")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/"
"Scalar-List-Utils-" version ".tar.gz"))
(sha256
(base32
"0x9n0617gjjcqa4nk5biiwkxdi90xpdfg6z07gjr009qjg3bkah6"))))
(base32 "16dfpnrcf5846j998rdd6gra16m9030rnz9fpsh1hfzvcsq8ch5x"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Scalar-List-Utils")
(synopsis "Common Scalar and List utility subroutines")

View file

@ -2013,7 +2013,7 @@ (define-public python2-url
(define-public python-cachecontrol
(package
(name "python-cachecontrol")
(version "0.11.6")
(version "0.12.5")
(source
(origin
(method git-fetch)
@ -2024,25 +2024,12 @@ (define-public python-cachecontrol
(file-name (git-file-name name version))
(sha256
(base32
"0pb16bzbkk99nh317xyfk8fxc2ngimsbz7lz9pxsw8c82n83d4dh"))))
"03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; Drop test that requires internet access.
(delete-file "tests/test_regressions.py")
(setenv "PYTHONPATH"
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
(invoke "py.test" "-vv")
#t)))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-redis" ,python-redis)
("python-webtest" ,python-webtest)
("python-mock" ,python-mock)))
;; Versions > 0.11.6 depend on CherryPy for testing.
;; It's too much work to package CherryPy for now.
`(#:tests? #f))
(propagated-inputs
`(("python-requests" ,python-requests)
("python-lockfile" ,python-lockfile)))

View file

@ -548,14 +548,13 @@ (define-public python2-sh
(define-public python-cftime
(package
(name "python-cftime")
(version "1.0.3.4")
(version "1.0.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cftime" version))
(sha256
(base32
"0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x"))))
(base32 "0w0gi6jnch38hiygl62j4xkcirv4y3dcwrvxl9p7bsk6j27lzihs"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)))
@ -934,14 +933,14 @@ (define-public python2-verboselogs
(define-public python-coloredlogs
(package
(name "python-coloredlogs")
(version "7.3")
(version "10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "coloredlogs" version))
(sha256
(base32
"1blcann6dyg5dhps9pg12rn0q0rjrlajpmmil0gy0j4cbvnl2il9"))))
"0dkw6xp0r1dwgz4s2f58npx5nxfq51wf4l6qkm5ib27slgfs4sdq"))))
(build-system python-build-system)
(arguments
`(;Tests require some updated modules
@ -1158,13 +1157,13 @@ (define-public python2-schedule
(define-public python-pandas
(package
(name "python-pandas")
(version "0.24.2")
(version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32 "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag"))))
(base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
@ -1227,10 +1226,22 @@ (define-public python-pandas
multidimensional, potentially heterogeneous) and time series data both easy
and intuitive. It aims to be the fundamental high-level building block for
doing practical, real world data analysis in Python.")
(properties `((python2-variant . ,(delay python2-pandas))))
(license license:bsd-3)))
;; Pandas 0.24.x are the last versions that support Python 2.
(define-public python2-pandas
(package-with-python2 python-pandas))
(let ((pandas (package-with-python2
(strip-python2-variant python-pandas))))
(package/inherit
pandas
(version "0.24.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
(base32
"18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))
(define-public python2-mechanize
(package
@ -3451,7 +3462,7 @@ (define-public python2-rpython
(define-public python-numpy
(package
(name "python-numpy")
(version "1.15.4")
(version "1.17.3")
(source
(origin
(method url-fetch)
@ -3460,7 +3471,7 @@ (define-public python-numpy
version "/numpy-" version ".tar.gz"))
(sha256
(base32
"102vcl2qq4pjbm7a3d67vkkvn4466ngia1d8wi5avqwqh8j0jvkn"))))
"1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9"))))
(build-system python-build-system)
(inputs
`(("openblas" ,openblas)
@ -3525,10 +3536,24 @@ (define-public python-numpy
object, sophisticated (broadcasting) functions, tools for integrating C/C++
and Fortran code, useful linear algebra, Fourier transform, and random number
capabilities.")
(properties `((python2-variant . ,(delay python2-numpy))))
(license license:bsd-3)))
;; Numpy 1.16.x are the last versions that support Python 2.
(define-public python2-numpy
(package-with-python2 python-numpy))
(let ((numpy (package-with-python2
(strip-python2-variant python-numpy))))
(package/inherit
numpy
(version "1.16.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/numpy/numpy/releases/download/v"
version "/numpy-" version ".tar.gz"))
(sha256
(base32
"0lg1cycxzi4rvvrd5zxinpdz0ni792fpx6xjd75z1923zcac8qrb")))))))
;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of
;; interest only for legacy code going back to NumPy's predecessor
@ -5218,13 +5243,13 @@ (define-public python-jaraco-packaging
(define-public python-pathpy
(package
(name "python-pathpy")
(version "11.5.0")
(version "11.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "path.py" version))
(sha256
(base32 "1jxkf91syzxlpiwgm83fjfz1m5xh3jrvv4iyl5wjsnkk599pls5n"))))
(base32 "0ir9j1haq2jbi7aip6k2fa9l7q1l03k4hp1awxhjhcwzsnwp3ll8"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(propagated-inputs
@ -5625,13 +5650,13 @@ (define-public python2-ipython
(define-public python-ipython
(package
(name "python-ipython")
(version "7.5.0")
(version "7.9.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipython" version ".tar.gz"))
(sha256
(base32 "09mbxq37mfn88xjnib7qfzaq9krr7gf1jxwy1p6mcjr254082h78"))))
(base32 "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz"))))
(build-system python-build-system)
(propagated-inputs
`(("python-backcall" ,python-backcall)
@ -5964,15 +5989,20 @@ (define-public python2-notify2
(define-public python-lxml
(package
(name "python-lxml")
(version "4.2.5")
(version "4.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lxml" version))
(sha256
(base32
"0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin"))))
"14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "test"))))))
(inputs
`(("libxml2" ,libxml2)
("libxslt" ,libxslt)))
@ -7243,21 +7273,23 @@ (define-public python2-wrapt
(define-public python-xlrd
(package
(name "python-xlrd")
(version "1.0.0")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "xlrd" version))
(sha256
(base32
"0s8hjiz01vbhy85xalrz0qlsmd9ypf36zjqrf97hh984spapvy0g"))))
"1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Current test in setup.py does not work as of 1.0.0, so use nose to
;; run tests instead for now.
(replace 'check (lambda _ (invoke "nosetests"))))))
(native-inputs `(("python-nose" ,python-nose)))
;; Some tests depend on writing a temporary file to the user's home
;; directory.
(add-after 'unpack 'fix-tests
(lambda _
(delete-file "tests/test_open_workbook.py")
#t)))))
(home-page "http://www.python-excel.org/")
(synopsis "Library for extracting data from Excel files")
(description "This package provides a library to extract data from
@ -9558,6 +9590,7 @@ (define-public python-whoosh
(base32
"10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Test invocation is no longer supported by Python.
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://bitbucket.org/mchaput/whoosh")
@ -10588,16 +10621,16 @@ (define-public python2-pylev
(define-public python-cleo
(package
(name "python-cleo")
(version "0.6.1")
(version "0.6.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "cleo" version))
(sha256
(base32
"0q1cf0szr0d54am4pypzwdnm74zpladdsinad94c2fz5i06fdpf7"))))
"06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
(build-system python-build-system)
(native-inputs
`(;; For testing
`( ;; For testing
("python-mock" ,python-mock)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest" ,python-pytest)))
@ -10615,6 +10648,191 @@ (define-public python-cleo
(define-public python2-cleo
(package-with-python2 python-cleo))
(define-public python-tomlkit
(package
(name "python-tomlkit")
(version "0.5.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomlkit" version))
(sha256
(base32
"18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page
"https://github.com/sdispater/tomlkit")
(synopsis "Style preserving TOML library")
(description
"TOML Kit is a 0.5.0-compliant TOML library. It includes a parser that
preserves all comments, indentations, whitespace and internal element ordering,
and makes them accessible and editable via an intuitive API. It can also
create new TOML documents from scratch using the provided helpers. Part of the
implementation as been adapted, improved and fixed from Molten.")
(license license:expat)))
(define-public python-shellingham
(package
(name "python-shellingham")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "shellingham" version))
(sha256
(base32
"1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq"))))
(build-system python-build-system)
(home-page
"https://github.com/sarugaku/shellingham")
(synopsis "Tool to detect surrounding shell")
(description
"Shellingham detects what shell the current Python executable is
running in.")
(license license:isc)))
(define-public python-memcached
(package
(name "python-memcached")
(version "1.59")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-memcached" version))
(sha256
(base32
"0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))))
(build-system python-build-system)
(propagated-inputs `(("python-six" ,python-six)))
(home-page
"https://github.com/linsomniac/python-memcached")
(synopsis "Pure python memcached client")
(description
"This software is a pure Python interface to the memcached memory cache
daemon. It is the client side software which allows storing values in one or
more, possibly remote, memcached servers.")
(license license:psfl)))
(define-public python-clikit
(package
(name "python-clikit")
(version "0.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "clikit" version))
(sha256
(base32
"0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pastel" ,python-pastel)
("python-pylev" ,python-pylev)))
(home-page "https://github.com/sdispater/clikit")
(synopsis "Group of utilities to build command line interfaces")
(description
"CliKit is a group of utilities to build testable command line
interfaces.")
(license license:expat)))
(define-public python-msgpack-python
(package
(name "python-msgpack-python")
(version "0.5.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "msgpack-python" version))
(sha256
(base32
"16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p"))))
(build-system python-build-system)
(home-page "http://msgpack.org/")
(synopsis "Package to deserialize messages in MessagePack binary format")
(description
"MessagePack is an efficient binary serialization format. It lets you
exchange data among multiple languages like JSON. But it's faster and
smaller. Small integers are encoded into a single byte, and typical short
strings require only one extra byte in addition to the strings themselves.")
(license license:asl2.0)))
(define-public python-cachy
(package
(name "python-cachy")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cachy" version))
(sha256
(base32
"0v6mjyhgx6j7ya20bk69cr3gdzdkdf6psay0h090rscclgji65dp"))))
(build-system python-build-system)
(native-inputs
`(("python-fakeredis" ,python-fakeredis)
("python-flexmock" ,python-flexmock)
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-memcached" ,python-memcached)
("python-msgpack-python" ,python-msgpack-python)
("python-redis" ,python-redis)))
(home-page "https://github.com/sdispater/cachy")
(synopsis "Simple yet effective caching library")
(description
"Cachy provides a simple yet effective caching library. A simple but
powerful API: thread-safety; decorator syntax; support for memcached, redis,
database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(license license:expat)))
(define-public poetry
(package
(name "poetry")
(version "0.12.17")
;; Poetry can only be built from source with poetry.
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry" version))
(sha256
(base32
"0gxwcd65qjmzqzppf53x51sic1rbcd9py6cdzx3aprppipimslvf"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;; Pypi does not have tests.
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
;; Bug in poetry https://github.com/sdispater/poetry/issues/866.
(invoke "sed" "-i" "-e" "s/from distutils.core/from setuptools/"
"setup.py")
#t)))))
(propagated-inputs
`(("python-cachecontrol" ,python-cachecontrol)
("python-cachy" ,python-cachy)
("python-cleo" ,python-cleo)
("python-glob2" ,python-glob2)
("python-html5lib" ,python-html5lib)
("python-jsonschema" ,python-jsonschema)
("python-msgpack" ,python-msgpack)
("python-pathlib2" ,python-pathlib2)
("python-pkginfo" ,python-pkginfo)
("python-pyparsing" ,python-pyparsing)
("python-pyrsistent" ,python-pyrsistent)
("python-requests" ,python-requests)
("python-requests-toolbelt" ,python-requests-toolbelt)
("python-shellingham" ,python-shellingham)
("python-tomlkit" ,python-tomlkit)
("python-virtualenv" ,python-virtualenv)))
(home-page "https://poetry.eustace.io/")
(synopsis "Python dependency management and packaging made easy")
(description "Poetry is a tool for dependency management and packaging
in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
@ -14325,14 +14543,20 @@ (define-public python2-semver
(define-public python-pyro4
(package
(name "python-pyro4")
(version "4.75")
(version "4.77")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pyro4" version))
(sha256
(base32 "1dfpp36imddx19yv0kd28gk1l71ckhpqy6jd590wpm2680jw15rq"))))
(base32 "0gsjg869y4gpy265s1gj1f2qy6jn5iz8r2bwwnq78r1r5yi15zib"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ;FIXME: Some tests require network access.
(native-inputs
`(("python-cloudpickle" ,python-cloudpickle)
("python-dill" ,python-dill)
("python-msgpack" ,python-msgpack)))
(propagated-inputs
`(("python-serpent" ,python-serpent)))
(home-page "https://pyro4.readthedocs.io")

View file

@ -20,7 +20,8 @@ (define-module (gnu packages rust-cbindgen)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cargo))
#:use-module (guix build-system cargo)
#:use-module (gnu packages crates-io))
(define-public rust-cbindgen
(package
@ -50,7 +51,7 @@ (define-public rust-cbindgen
(("ansi-term" ,rust-ansi-term-0.11)
("atty" ,rust-atty-0.2)
("autocfg" ,rust-autocfg-0.1)
("bitflags" ,rust-bitflags-1.1)
("bitflags" ,rust-bitflags-1)
("cfg-if" ,rust-cfg-if-0.1)
("cloudabi" ,rust-cloudabi-0.0)
("fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
@ -84,936 +85,3 @@ (define-public rust-cbindgen
(description
"This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0)))
;;;
;;;^L
;;;
(define rust-ansi-term-0.11
(package
(name "rust-ansi-term")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "ansi_term" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
(build-system cargo-build-system)
(home-page "https://github.com/ogham/rust-ansi-term")
(synopsis "Library for ANSI terminal colours and styles")
(description
"This is a library for controlling colours and formatting, such as red bold
text or blue underlined text, on ANSI terminals.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-atty-0.2
(package
(name "rust-atty")
(version "0.2.13")
(source
(origin
(method url-fetch)
(uri (crate-uri "atty" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
(build-system cargo-build-system)
(home-page "https://github.com/softprops/atty")
(synopsis "A simple interface for querying atty")
(description
"This package provides a simple interface for querying atty.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-autocfg-0.1
(package
(name "rust-autocfg")
(version "0.1.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "autocfg" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
(build-system cargo-build-system)
(home-page "https://github.com/cuviper/autocfg")
(synopsis "Automatic cfg for Rust compiler features")
(description "Rust library for build scripts to automatically configure
code based on compiler support. Code snippets are dynamically tested to see
if the @code{rustc} will accept them, rather than hard-coding specific version
support.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-bitflags-1.1
(package
(name "rust-bitflags")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "bitflags" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
(build-system cargo-build-system)
(home-page "https://github.com/bitflags/bitflags")
(synopsis "Macro to generate structures which behave like bitflags")
(description "This package provides a macro to generate structures which
behave like a set of bitflags.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-cfg-if-0.1
(package
(name "rust-cfg-if")
(version "0.1.10")
(source
(origin
(method url-fetch)
(uri (crate-uri "cfg-if" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
(build-system cargo-build-system)
(home-page "https://github.com/alexcrichton/cfg-if")
(synopsis "Define an item depending on parameters")
(description "This package provides a macro to ergonomically define an item
depending on a large number of #[cfg] parameters. Structured like an
@code{if-else} chain, the first matching branch is the item that gets emitted.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-clap-2
(package
(name "rust-clap")
(version "2.33.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "clap" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
(build-system cargo-build-system)
(home-page "https://clap.rs/")
(synopsis "Command Line Argument Parser")
(description
"This package provides a simple to use, efficient, and full-featured
Command Line Argument Parser.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-cloudabi-0.0
(package
(name "rust-cloudabi")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "cloudabi" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
(build-system cargo-build-system)
(home-page "https://nuxi.nl/cloudabi/")
(synopsis "Low level interface to CloudABI")
(description
"Low level interface to CloudABI. Contains all syscalls and related types.")
(properties '((hidden? . #t)))
(license license:bsd-2)))
(define rust-fuchsia-cprng-0.1
(package
(name "rust-fuchsia-cprng")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "fuchsia-cprng" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
(build-system cargo-build-system)
(home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
(synopsis "Fuchsia cryptographically secure pseudorandom number generator")
(description "Thix package provides a rust crate for the Fuchsia
cryptographically secure pseudorandom number generator.")
(properties '((hidden? . #t)))
(license license:bsd-3)))
(define rust-itoa-0.4
(package
(name "rust-itoa")
(version "0.4.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "itoa" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
(build-system cargo-build-system)
(home-page "https://github.com/dtolnay/itoa")
(synopsis "Fast functions for printing integer primitives")
(description "This crate provides fast functions for printing integer
primitives to an @code{io::Write}.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-libc-0.2
(package
(name "rust-libc")
(version "0.2.65")
(source
(origin
(method url-fetch)
(uri (crate-uri "libc" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s"))))
(build-system cargo-build-system)
(home-page "https://github.com/rust-lang/libc")
(synopsis "Raw FFI bindings to platform libraries like libc")
(description
"libc provides all of the definitions necessary to easily
interoperate with C code (or \"C-like\" code) on each of the platforms
that Rust supports. This includes type definitions (e.g., c_int),
constants (e.g., EINVAL) as well as function headers (e.g., malloc).
This crate exports all underlying platform types, functions, and
constants under the crate root, so all items are accessible as
@samp{libc::foo}. The types and values of all the exported APIs match
the platform that libc is compiled for.")
(properties '((hidden? . #t)))
(license (list license:expat
license:asl2.0))))
(define rust-log-0.4
(package
(name "rust-log")
(version "0.4.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "log" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"))))
(build-system cargo-build-system)
(home-page "https://github.com/rust-lang/log")
(synopsis "Lightweight logging facade for Rust")
(description
"This package provides a lightweight logging facade for Rust.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-numtoa-0.1
(package
(name "rust-numtoa")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "numtoa" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
(build-system cargo-build-system)
(home-page "https://gitlab.com/mmstick/numtoa")
(synopsis "Convert numbers into stack-allocated byte arrays")
(description
"This package can convert numbers into stack-allocated byte arrays.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-proc-macro2-1.0
(package
(name "rust-proc-macro2")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "proc-macro2" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw"))))
(build-system cargo-build-system)
(home-page "https://github.com/alexcrichton/proc-macro2")
(synopsis "Stable implementation of the upcoming new `proc_macro` API")
(description "This package provides a stable implementation of the upcoming new
`proc_macro` API. Comes with an option, off by default, to also reimplement itself
in terms of the upstream unstable API.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-quote-1.0
(package
(name "rust-quote")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "quote" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
(build-system cargo-build-system)
(home-page "https://github.com/dtolnay/quote")
(synopsis "Quasi-quoting macro quote!(...)")
(description "Quasi-quoting macro quote!(...)")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-rand-0.6
(package
(name "rust-rand")
(version "0.6.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand")
(synopsis "Random number generators and other randomness functionality")
(description
"This package contains random number generators and other randomness
functionality.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-chacha-0.1
(package
(name "rust-rand-chacha")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_chacha" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_chacha")
(synopsis "ChaCha random number generator")
(description "ChaCha random number generator")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-core-0.4
(package
(name "rust-rand-core")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_core" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_core")
(synopsis
"Core random number generator traits and tools for implementation.")
(description
"Core random number generator traits and tools for implementation.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-core-0.3
(package
(inherit rust-rand-core-0.4)
(name "rust-rand-core")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_core" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
;; This version is a 0.3 API wrapper around the 0.4 version.
(arguments
`(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
(define rust-rand-hc-0.1
(package
(name "rust-rand-hc")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_hc" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_hc")
(synopsis "HC128 random number generator")
(description "HC128 random number generator")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-isaac-0.1
(package
(name "rust-rand-isaac")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_isaac" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_isaac")
(synopsis "ISAAC random number generator")
(description "ISAAC random number generator")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-jitter-0.1
(package
(name "rust-rand-jitter")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_jitter" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
(build-system cargo-build-system)
(home-page "https://github.com/rust-random/rand")
(synopsis
"Random number generator based on timing jitter")
(description
"Random number generator based on timing jitter")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-os-0.1
(package
(name "rust-rand-os")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_os" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_os")
(synopsis "OS backed Random Number Generator")
(description "OS backed Random Number Generator")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-pcg-0.1
(package
(name "rust-rand-pcg")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_pcg" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_pcg")
(synopsis
"Selected PCG random number generators")
(description
"Selected PCG random number generators")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rand-xorshift-0.1
(package
(name "rust-rand-xorshift")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_xorshift" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
(build-system cargo-build-system)
(home-page "https://crates.io/crates/rand_xorshift")
(synopsis "Xorshift random number generator")
(description
"Xorshift random number generator")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-rdrand-0.4
(package
(name "rust-rdrand")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rdrand" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
(build-system cargo-build-system)
(home-page "https://github.com/nagisa/rust_rdrand/")
(synopsis "Random number generator")
(description
"This package is an implementation of random number generator based on
@code{rdrand} and @cpde{rdseed} instructions")
(properties '((hidden? . #t)))
(license license:isc)))
(define rust-redox-syscall-0.1
(package
(name "rust-redox-syscall")
(version "0.1.56")
(source
(origin
(method url-fetch)
(uri (crate-uri "redox_syscall" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
(build-system cargo-build-system)
(home-page "https://gitlab.redox-os.org/redox-os/syscall")
(synopsis "Rust library to access raw Redox system calls")
(description "This package provides a Rust library to access raw Redox
system calls.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-redox-termios-0.1
(package
(name "rust-redox-termios")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "redox-termios" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
(build-system cargo-build-system)
(home-page "https://github.com/redox-os/termios")
(synopsis "Rust library to access Redox termios functions")
(description
"This package provides a Rust library to access Redox termios functions.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-remove-dir-all-0.5
(package
(name "rust-remove-dir-all")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "remove-dir-all" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
(build-system cargo-build-system)
(home-page "https://github.com/XAMPPRocky/remove_dir_all.git")
(synopsis "Implementation of remove_dir_all for Windows")
(description
"This package provides a safe, reliable implementation of remove_dir_all
for Windows.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-ryu-1.0
(package
(name "rust-ryu")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "ryu" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
(build-system cargo-build-system)
(home-page "https://github.com/dtolnay/ryu")
(synopsis
"Fast floating point to string conversion")
(description
"Fast floating point to string conversion")
(properties '((hidden? . #t)))
(license (list license:asl2.0 license:boost1.0))))
(define rust-serde-1.0
(package
(name "rust-serde")
(version "1.0.101")
(source
(origin
(method url-fetch)
(uri (crate-uri "serde" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp"))))
(build-system cargo-build-system)
(home-page "https://serde.rs")
(synopsis "Generic serialization/deserialization framework")
(description
"This package provides a generic serialization/deserialization framework.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-serde-derive-1.0
(package
(name "rust-serde-derive")
(version "1.0.101")
(source
(origin
(method url-fetch)
(uri (crate-uri "serde-derive" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb"))))
(build-system cargo-build-system)
(home-page "https://serde.rs")
(synopsis
"Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
(description
"Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-serde-json-1.0
(package
(name "rust-serde-json")
(version "1.0.41")
(source
(origin
(method url-fetch)
(uri (crate-uri "serde-json" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig"))))
(build-system cargo-build-system)
(home-page "https://github.com/serde-rs/json")
(synopsis "A JSON serialization file format")
(description
"This package provides a JSON serialization file format.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-strsim-0.8
(package
(name "rust-strsim")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "strsim" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))
(build-system cargo-build-system)
(home-page "https://github.com/dguo/strsim-rs")
(synopsis "Rust implementations of string similarity metrics")
(description "This crate includes implementations of string similarity
metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
and Jaro-Winkler.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-syn-1.0
(package
(name "rust-syn")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "syn" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
(build-system cargo-build-system)
(home-page "https://github.com/dtolnay/syn")
(synopsis "Parser for Rust source code")
(description "Parser for Rust source code")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-tempfile-3.0
(package
(name "rust-tempfile")
(version "3.0.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "tempfile" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
(build-system cargo-build-system)
(home-page "http://stebalien.com/projects/tempfile-rs")
(synopsis "Library for managing temporary files and directories")
(description
"This package provides a library for managing temporary files and
directories.")
(properties '((hidden? . #t)))
(license (list license:expat license:asl2.0))))
(define rust-termion-1.5
(package
(name "rust-termion")
(version "1.5.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "termion" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va"))))
(build-system cargo-build-system)
(home-page "https://gitlab.redox-os.org/redox-os/termion")
(synopsis "Library for manipulating terminals")
(description
"This package provides a bindless library for manipulating terminals.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-textwrap-0.11
(package
(name "rust-textwrap")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "textwrap" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
(build-system cargo-build-system)
(home-page "https://github.com/mgeisler/textwrap")
(synopsis "Library for word wrapping, indenting, and dedenting strings")
(description
"Textwrap is a small library for word wrapping, indenting, and dedenting
strings. You can use it to format strings (such as help and error messages)
for display in commandline applications. It is designed to be efficient and
handle Unicode characters correctly.")
(properties '((hidden? . #t)))
(license license:expat)))
(define rust-toml-0.5
(package
(name "rust-toml")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "toml" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7"))))
(build-system cargo-build-system)
(home-page "https://github.com/alexcrichton/toml-rs")
(synopsis "Rust encoder and decoder of TOML-formatted files and streams")
(description
"This package provides a native Rust encoder and decoder of TOML-formatted
files and streams. Provides implementations of the standard
Serialize/Deserialize traits for TOML data to facilitate deserializing and
serializing Rust structures.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-unicode-width-0.1
(package
(name "rust-unicode-width")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "unicode-width" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh"))))
(build-system cargo-build-system)
(home-page "https://github.com/unicode-rs/unicode-width")
(synopsis "Determine displayed width according to Unicode rules")
(description "This crate allows you to determine displayed width of
@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-unicode-xid-0.2
(package
(name "rust-unicode-xid")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "unicode-xid" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
(build-system cargo-build-system)
(home-page "https://github.com/unicode-rs/unicode-xid")
(synopsis "Determine Unicode XID related properties")
(description "Determine whether characters have the XID_Start
or XID_Continue properties according to Unicode Standard Annex #31.")
(properties '((hidden? . #t)))
(license (list license:asl2.0 license:expat))))
(define rust-vec-map-0.8
(package
(name "rust-vec-map")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "vec_map" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
(build-system cargo-build-system)
(home-page "https://github.com/contain-rs/vec-map")
(synopsis "Simple map based on a vector for small integer keys")
(description
"This package provides a simple map based on a vector for small integer keys.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-winapi-0.3
(package
(name "rust-winapi")
(version "0.3.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "winapi" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
(build-system cargo-build-system)
;; This package depends unconditionally on these two crates.
(arguments
`(#:cargo-inputs
(("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))))
(home-page "https://github.com/retep998/winapi-rs")
(synopsis "Raw FFI bindings for all of Windows API")
(description
"This package contains raw FFI bindings for all of Windows API.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define-public rust-winapi-i686-pc-windows-gnu-0.4
(package
(name "rust-winapi-i686-pc-windows-gnu")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "winapi-i686-pc-windows-gnu" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
(build-system cargo-build-system)
(home-page "https://github.com/retep998/winapi-rs")
(synopsis "Import libraries for the i686-pc-windows-gnu target")
(description "This crate provides import libraries for the
i686-pc-windows-gnu target. Please don't use this crate directly, depend on
@code{winapi} instead.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))
(define rust-winapi-x86-64-pc-windows-gnu-0.4
(package
(name "rust-winapi-x86-64-pc-windows-gnu")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
(build-system cargo-build-system)
(home-page "https://github.com/retep998/winapi-rs")
(synopsis "Import libraries for the x86_64-pc-windows-gnu target")
(description "This package provides import libraries for the
x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on
@code{winapi} instead.")
(properties '((hidden? . #t)))
(license (list license:asl2.0
license:expat))))

View file

@ -499,6 +499,43 @@ (define-public libu2f-server
verifying the cryptographic operations.")
(license license:bsd-2)))
(define-public pam-u2f
(package
(name "pam-u2f")
(version "1.0.8")
(source (origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Yubico/pam-u2f.git")
(commit (string-append "pam_u2f-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04d9davyi33gqbvga1rvh9fijp6f16mx2xmnn4n61rnhcn2jac98"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-pam-dir="
(assoc-ref %outputs "out") "/lib/security"))))
(inputs
`(("libu2f-host" ,libu2f-host)
("libu2f-server" ,libu2f-server)
("linux-pam" ,linux-pam)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("asciidoc" ,asciidoc)
("pkg-config" ,pkg-config)))
(home-page "https://developers.yubico.com/pam-u2f/")
(synopsis "PAM module for U2F authentication")
(description
"This package provides a module implementing PAM over U2F, providing an
easy way to integrate the YubiKey (or other U2F compliant authenticators) into
your existing infrastructure.")
(license license:bsd-2)))
(define-public python-fido2
(package
(name "python-fido2")

View file

@ -53,14 +53,15 @@ (define-public cereal
(package
(name "cereal")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/USCiLab/cereal/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0kj32h3j2128anig0g9gzw82kfyd5xqfkwq6vdyv900jx8i1qckx"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/USCiLab/cereal.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vxkrsnxkiblzi1z61vfix167c184fy868sgwj2dxxgbgjcq2nrh"))))
(build-system cmake-build-system)
(arguments
`(;; The only included tests are portability tests requiring

View file

@ -74,33 +74,18 @@ (define-public syncthing
("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
("go-golang-org-x-time" ,go-golang-org-x-time)
("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-gogo-protobuf-gogoproto"
,go-github-com-gogo-protobuf-gogoproto)
("go-github-com-gogo-protobuf-protoc-gen-gogo"
,go-github-com-gogo-protobuf-protoc-gen-gogo)
("go-github-com-prometheus-client-golang-prometheus"
,go-github-com-prometheus-client-golang-prometheus)
("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
("go-golang-org-x-net-bpf" ,go-golang-org-x-net-bpf)
("go-golang-org-x-net-internal-iana" ,go-golang-org-x-net-internal-iana)
("go-golang-org-x-net-internal-socket"
,go-golang-org-x-net-internal-socket)
("go-golang-org-x-net-internal-socks"
,go-golang-org-x-net-internal-socks)
("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
("go-golang-org-x-net-ipv6" ,go-golang-org-x-net-ipv6)
("go-golang-org-x-net-proxy" ,go-golang-org-x-net-proxy)
("go-golang-org-x-text-unicode-norm" ,go-golang-org-x-text-unicode-norm)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
("go-github-com-prometheus-client-golang"
,go-github-com-prometheus-client-golang)
("go-golang-org-x-net" ,go-golang-org-x-net)
("go-golang-org-x-text" ,go-golang-org-x-text)
("go-github-com-audriusbutkevicius-recli"
,go-github-com-audriusbutkevicius-recli)
("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
("go-github-com-vitrun-qart-qr" ,go-github-com-vitrun-qart-qr)
("go-github-com-vitrun-qart-coding" ,go-github-com-vitrun-qart-coding)
("go-github-com-vitrun-qart-gf256" ,go-github-com-vitrun-qart-gf256)
("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-github-com-flynn-archive-go-shlex"
@ -461,7 +446,7 @@ (define-public go-github-com-oschwald-geoip2-golang
(propagated-inputs
`(("go-github-com-oschwald-maxminddb-golang"
,go-github-com-oschwald-maxminddb-golang)
("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
`(#:import-path "github.com/oschwald/geoip2-golang"
#:tests? #f)) ; Requires some unpackaged software and test data
@ -488,7 +473,7 @@ (define-public go-github-com-oschwald-maxminddb-golang
"1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk"))))
(build-system go-build-system)
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
`(#:import-path "github.com/oschwald/maxminddb-golang"
#:tests? #f)) ; Requires some unpackaged software and test data
@ -629,11 +614,11 @@ (define-public go-github-com-thejerf-suture
(home-page "https://github.com/thejerf/suture")
(license expat)))
(define-public go-github-com-vitrun-qart-coding
(define-public go-github-com-vitrun-qart
(let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
(revision "0"))
(package
(name "go-github-com-vitrun-qart-coding")
(name "go-github-com-vitrun-qart")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -647,77 +632,16 @@ (define-public go-github-com-vitrun-qart-coding
"1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/vitrun/qart/coding"
#:unpack-path "github.com/vitrun/qart"))
(synopsis "Low-level QR coding library")
`(#:import-path "github.com/vitrun/qart"))
(synopsis "Create QR codes with an embedded image")
(description "This package provides a library for embedding
human-meaningful graphics in QR codes. However, instead of scribbling on
redundant pieces and relying on error correction to preserve the meaning,
@code{qart} engineers the encoded values to create the picture in a code with no
inherent errors. This @code{qart} component, @code{coding}, implements
low-level QR coding details.")
(home-page "https://github.com/vitrun/qart/")
(license bsd-3))))
(define-public go-github-com-vitrun-qart-gf256
(let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
(revision "0"))
(package
(name "go-github-com-vitrun-qart-gf256")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vitrun/qart")
(commit commit)))
(file-name (string-append "go-github-com-vitrun-qart-"
version "-checkout"))
(sha256
(base32
"1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/vitrun/qart/gf256"
#:unpack-path "github.com/vitrun/qart"))
(synopsis "Qart library for Galois Field GF(256) math")
(description "This package, a component of @code{qart}, provides @code{gf256},
implements arithmetic over the Galois Field GF(256).")
inherent errors.")
(home-page "https://github.com/vitrun/qart")
(license bsd-3))))
(define-public go-github-com-vitrun-qart-qr
(let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
(revision "0"))
(package
(name "go-github-com-vitrun-qart-qr")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vitrun/qart")
(commit commit)))
(file-name (string-append "go-github-com-vitrun-qart-"
version "-checkout"))
(sha256
(base32
"1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/vitrun/qart/qr"
#:unpack-path "github.com/vitrun/qart"))
(synopsis "Qart component for generating QR codes")
(description "This package provides a library for embedding
human-meaningful graphics in QR codes. However, instead of scribbling on
redundant pieces and relying on error correction to preserve the meaning,
@code{qart} engineers the encoded values to create the picture in a code with no
inherent errors. This @code{qart} component, @code{qr}, provides QR code
generation.")
(home-page "https://github.com/vitrun/qart")
(license bsd-3))))
;; XXX Syncthing actually imports 'github.com/chmduquesne/rollinghash/adler32'.
;; Normally we'd package this module indpendenctly but the adler32 module itself
;; imports 'github.com/chmduquesne/rollinghash/', so this is the easy way out.
(define-public go-github-com-chmduquesne-rollinghash
(let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
(revision "0"))
@ -811,7 +735,7 @@ (define-public go-github-com-syncthing-notify
(arguments
'(#:import-path "github.com/syncthing/notify"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "File system event notification library")
(description "This package provides @code{notify}, a file system event
notification library in Go.")
@ -869,11 +793,11 @@ (define-public go-github-com-golang-protobuf-proto
(home-page "https://github.com/golang/protobuf")
(license bsd-3)))
(define-public go-github-com-prometheus-client-model-go
(define-public go-github-com-prometheus-client-model
(let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8")
(revision "1"))
(package
(name "go-github-com-prometheus-client-model-go")
(name "go-github-com-prometheus-client-model")
(version (git-version "0.0.2" revision commit))
(source (origin
(method git-fetch)
@ -886,8 +810,12 @@ (define-public go-github-com-prometheus-client-model-go
"1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/client_model/go"
#:unpack-path "github.com/prometheus/client_model"))
'(#:import-path "github.com/prometheus/client_model"
#:tests? #f
#:phases
(modify-phases %standard-phases
;; Source-only package
(delete 'build))))
(propagated-inputs
`(("go-github-com-golang-protobuf-proto"
,go-github-com-golang-protobuf-proto)))
@ -927,9 +855,9 @@ (define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
(home-page "https://github.com/matttproud/golang_protobuf_extensions")
(license asl2.0))))
(define-public go-github-com-prometheus-common-expfmt
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common-expfmt")
(name "go-github-com-prometheus-common")
(version "0.4.1")
(source (origin
(method git-fetch)
@ -942,8 +870,8 @@ (define-public go-github-com-prometheus-common-expfmt
"0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common/expfmt"
#:unpack-path "github.com/prometheus/common"
'(#:import-path "github.com/prometheus/common"
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
@ -955,49 +883,21 @@ (define-public go-github-com-prometheus-common-expfmt
"/src/github.com/prometheus/common/expfmt/testdata/")
".*\\.gz$"))
#t))
(replace 'check
;; Tests don't pass "vet" on go-1.11. See
;; https://github.com/syncthing/syncthing/issues/5311.
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "test"
"-vet=off"
import-path))))))
;; Source-only package
(delete 'build))))
(propagated-inputs
`(("go-github-com-golang-protobuf-proto"
,go-github-com-golang-protobuf-proto)
("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
("go-github-com-prometheus-client-model-go"
,go-github-com-prometheus-client-model-go)))
("go-github-com-prometheus-client-model"
,go-github-com-prometheus-client-model)))
(synopsis "Prometheus metrics")
(description "This package provides tools for reading and writing
Prometheus metrics.")
(home-page "https://github.com/prometheus/common")
(license asl2.0)))
(define-public go-github-com-prometheus-common-model
(package
(name "go-github-com-prometheus-common-model")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common/model"
#:unpack-path "github.com/prometheus/common"))
(synopsis "Prometheus component")
(description "This package provides a component of the Go Prometheus
implementation.")
(home-page "https://github.com/prometheus/common")
(license asl2.0)))
(define-public go-github-com-prometheus-procfs
(package
(name "go-github-com-prometheus-procfs")
@ -1023,9 +923,9 @@ (define-public go-github-com-prometheus-procfs
(home-page "https://github.com/prometheus/procfs")
(license asl2.0)))
(define-public go-github-com-client-golang-prometheus-promhttp
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-client-golang-prometheus-promhttp")
(name "go-github-com-prometheus-client-golang")
(version "0.9.4")
(source (origin
(method git-fetch)
@ -1038,22 +938,21 @@ (define-public go-github-com-client-golang-prometheus-promhttp
"0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
(build-system go-build-system)
(arguments
'(#:tests? #f ; The tests require internet access
#:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
#:unpack-path "github.com/prometheus/client_golang"))
'(#:tests? #f
#:import-path "github.com/prometheus/client_golang"
#:phases
(modify-phases %standard-phases
;; Source-only package
(delete 'build))))
(propagated-inputs
`(("go-github-com-beorn7-perks-quantile"
,go-github-com-beorn7-perks-quantile)
("go-github-com-golang-protobuf-proto"
,go-github-com-golang-protobuf-proto)
("go-github-com-prometheus-common-model"
,go-github-com-prometheus-common-model)
("go-github-com-prometheus-client-model-go"
,go-github-com-prometheus-client-model-go)
("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)
("go-github-com-prometheus-common-expfmt"
,go-github-com-prometheus-common-expfmt)
("go-github-com-prometheus-client-model"
,go-github-com-prometheus-client-model)
("go-github-com-prometheus-common"
,go-github-com-prometheus-common)
("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
(synopsis "HTTP server and client tools for Prometheus")
(description "This package @code{promhttp} provides HTTP client and
@ -1061,43 +960,6 @@ (define-public go-github-com-client-golang-prometheus-promhttp
(home-page "https://github.com/prometheus/client_golang")
(license asl2.0)))
(define-public go-github-com-prometheus-client-golang-prometheus
(package
(name "go-github-com-prometheus-client-golang-prometheus")
(version "0.9.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/client_golang.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/client_golang/prometheus"
#:unpack-path "github.com/prometheus/client_golang"
#:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
(propagated-inputs
`(("go-github-com-beorn7-perks-quantile"
,go-github-com-beorn7-perks-quantile)
("go-github-com-prometheus-common-model" ,go-github-com-prometheus-common-model)
("go-github-com-prometheus-client-model-go"
,go-github-com-prometheus-client-model-go)
("go-github-com-prometheus-common-expfmt"
,go-github-com-prometheus-common-expfmt)
("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)))
(synopsis "Prometheus instrumentation library for Go applications")
(description "This package provides the Go client library for the
Prometheus monitoring and alerting system. It has two separate parts, one for
instrumenting application code, and one for creating clients that talk to the
Prometheus HTTP API.")
(home-page "https://github.com/prometheus/client_golang")
(license asl2.0)))
(define-public go-gopkg.in-asn1-ber.v1
(package
(name "go-gopkg.in-asn1-ber.v1")
@ -1114,7 +976,7 @@ (define-public go-gopkg.in-asn1-ber.v1
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/asn1-ber.v1"
;; Tests don't pass "vet" on go-1.11. See
;; Tests don't pass "vet" on Go since 1.11. See
;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
#:phases
(modify-phases %standard-phases
@ -1178,28 +1040,6 @@ (define-public go-github-com-flynn-archive-go-shlex
(home-page "https://github.com/flynn-archive/go-shlex")
(license asl2.0))))
(define-public go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg
(package
(name "go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg"
#:unpack-path "github.com/prometheus/common"))
(synopsis "Internal Prometheus component")
(description "This package is an internal component of Prometheus.")
(home-page "https://github.com/prometheus/common")
(license asl2.0)))
(define-public go-github-com-audriusbutkevicius-pfilter
(let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d")
(revision "3"))

View file

@ -721,42 +721,6 @@ (define-public go-github.com-nsf-termbox-go
(home-page "https://github.com/nsf/termbox-go")
(license license:expat))))
(define-public go-golang.org-x-crypto-ssh-terminal
(let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
(revision "0"))
(package
(name "go-golang.org-x-crypto-ssh-terminal")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/crypto")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
(build-system go-build-system)
(arguments
'(#:import-path "golang.org/x/crypto/ssh/terminal"
#:unpack-path "golang.org/x/crypto"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(string-append (assoc-ref outputs "out")
"/src/golang.org/x/crypto/ed25519/testdata")
".*\\.gz$"))
#t)))))
(synopsis "Support functions for dealing with terminals in Go")
(description "@code{terminal} provides support functions for dealing
with terminals in Go.")
(home-page "https://go.googlesource.com/crypto/")
(license license:bsd-3))))
(define-public go-github-com-junegunn-fzf
(package
(name "go-github-com-junegunn-fzf")
@ -779,7 +743,7 @@ (define-public go-github-com-junegunn-fzf
("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords)
("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell)
("go-golang-org-x-crypto-ssh-terminal" ,go-golang-org-x-crypto-ssh-terminal)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/junegunn/fzf")
(synopsis "Command-line fuzzy-finder")
(description "This package provides an interactive command-line filter
@ -805,8 +769,8 @@ (define-public go-github.com-howeyc-gopass
(arguments
'(#:import-path "github.com/howeyc/gopass"))
(propagated-inputs
`(("go-golang.org-x-crypto-ssh-terminal"
,go-golang.org-x-crypto-ssh-terminal)))
`(("go-golang-org-x-crypto"
,go-golang-org-x-crypto)))
(synopsis "Retrieve password from a terminal or piped input in Go")
(description
"@code{gopass} is a Go package for retrieving a password from user

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -17,7 +18,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages toys)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@ -64,3 +68,91 @@ (define-public sl
typing @command{sl} instead of @command{ls}.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
(define-public filters
(let ((version "2.55")
(commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
(package
(name "filters")
(version "2.55")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.joeyh.name/filters")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))
(modules '((guix build utils)))
(snippet '(begin
;; kenny is under nonfree Artistic License (Perl) 1.0.
(delete-file "kenny")
(substitute* "Makefile"
(("kenny")
""))))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc" (string-append "DESTDIR=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-install-directories
(lambda _
(substitute* "Makefile"
(("/usr/games")
"/bin/")
(("/usr/share/")
"/share/"))
#t)))
#:tests? #f)) ; no test suite
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(inputs
`(("perl" ,perl)))
(home-page "https://joeyh.name/code/filters/")
(synopsis "Various amusing text filters")
(description
"The filters collection harks back to the late 1980s, when various text
filters were written to munge written language in amusing ways. The earliest
and best known were legends such as the Swedish Chef filter and B1FF.
This package contains the following filter commands:
@enumerate
@item b1ff: a satire of a stereotypical Usenet newbie
@item censor: comply with the @acronym{CDA, Communications Decency Act}
@item chef: convert English to Mock Swedish
@item cockney: Cockney English
@item elee: k3wl hacker slang
@item fanboy: a stereotypical fan (supports custom fandoms)
@item fudd: Elmer Fudd
@item jethro: hillbilly text filter
@item jibberish: a random selection of these filters
@item jive: Jive English
@item ken: turn English into Cockney
@item kraut: a bad German accent
@item ky00te: a very cute accent
@item LOLCAT: as seen in Internet GIFs everywhere
@item nethackify: wiped-out text as found in nethack
@item newspeak: à la 1984
@item nyc: Brooklyn English
@item pirate: talk like a pirate
@item rasterman: straight from the keyboard of Carsten Haitzler
@item scottish: fake Scottish (Dwarven) accent
@item scramble: scramble the \"inner\" letters of each word
@item spammer: turn honest text into something liable to be flagged as spam
@item studly: studly caps.
@item uniencode: use glorious Unicode to the fullest possible extent
@item upside-down: flip the text upside down
@end enumerate
The GNU project hosts a similar collection of filters, the GNU talkfilters.")
(license ; see debian/copyright
(list license:gpl2+ ; most of the filters
license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate
license:gpl3+ ; scramble, scottish
license:public-domain ; jethro, kraut, ken, studly
license:gpl1+ ; cockney, jive, nyc only say "gpl"
license:expat))))) ; newspeak

View file

@ -508,7 +508,7 @@ (define-public mkvtoolnix
(define-public x265
(package
(name "x265")
(version "3.1.2")
(version "3.2")
(outputs '("out" "static"))
(source
(origin
@ -518,8 +518,7 @@ (define-public x265
(string-append "https://download.videolan.org/videolan/x265/"
"x265_" version ".tar.gz")))
(sha256
(base32
"1ajr59gjj47gnczfb2qhmzclj746pdiq9a1d81b0mq22k8f5yy3g"))
(base32 "0fqkhfhr22gzavxn60cpnj3agwdf5afivszxf3haj5k1sny7jk9n"))
(patches (search-patches "x265-arm-flags.patch"))
(modules '((guix build utils)))
(snippet '(begin
@ -1342,7 +1341,7 @@ (define-public mplayer
(define-public mpv
(package
(name "mpv")
(version "0.29.1")
(version "0.30.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1351,7 +1350,7 @@ (define-public mpv
(file-name (git-file-name name version))
(sha256
(base32
"138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m"))))
"17mxjgcfljlv6h0ik3332xsqbs0ybvk6dkwflyl0cjh15vl1iv6f"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
@ -1417,9 +1416,7 @@ (define-public mpv
#t)))
#:configure-flags (list "--enable-libmpv-shared"
"--enable-cdda"
"--enable-dvdread"
"--enable-dvdnav"
"--enable-zsh-comp"
"--disable-build-date")
;; No check function defined.
#:tests? #f))
@ -1494,7 +1491,7 @@ (define-public libvpx-1.7
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.10.22")
(version "2019.10.29")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -1502,7 +1499,7 @@ (define-public youtube-dl
version ".tar.gz"))
(sha256
(base32
"06wg6wpyq0fawjxjrhd7zasfjr9b6w9wsk2amiqdl712zqlq2rwb"))))
"1lq6ycjbx07831s24yx42q6m6svas4mf02vbszw0965dbbzs7vp4"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -1928,7 +1925,7 @@ (define-public srt2vtt
(define-public avidemux
(package
(name "avidemux")
(version "2.7.3")
(version "2.7.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -1936,7 +1933,7 @@ (define-public avidemux
"avidemux_" version ".tar.gz"))
(sha256
(base32
"17x2mnnr5h8pp764p55l1xcn2ljnzhbj8cykajlllvk4rc4qwxld"))
"1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x"))
(patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
@ -1969,7 +1966,7 @@ (define-public avidemux
#:phases
;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged.
(let ((ffmpeg "ffmpeg-4.1.1"))
(let ((ffmpeg "ffmpeg-4.1.4"))
(modify-phases %standard-phases
(add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _

View file

@ -4,7 +4,7 @@
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 HiPhish <hiphish@posteo.de>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;;
@ -609,7 +609,7 @@ (define-public vim-airline-themes
(define-public vim-syntastic
(package
(name "vim-syntastic")
(version "3.9.0")
(version "3.10.0")
(source
(origin
(method git-fetch)
@ -618,8 +618,7 @@ (define-public vim-syntastic
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"121a1mxgfng2y5zmivyyk02mca8pyw72crivf4f1q9nhn0barf57"))))
(base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View file

@ -2860,7 +2860,7 @@ (define-public perl-http-cookiejar
(define-public perl-http-cookies
(package
(name "perl-http-cookies")
(version "6.04")
(version "6.05")
(source (origin
(method url-fetch)
(uri (string-append
@ -2868,7 +2868,7 @@ (define-public perl-http-cookies
version ".tar.gz"))
(sha256
(base32
"1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc"))))
"0pbgns2gwgvgg9rglah7ryw0jj13aykyf38lnhm3rwzw3c2cvqaq"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-http-message" ,perl-http-message)))
@ -3204,7 +3204,7 @@ (define-public perl-io-socket-ssl
(define-public perl-libwww
(package
(name "perl-libwww")
(version "6.39")
(version "6.41")
(source (origin
(method url-fetch)
(uri (string-append
@ -3212,7 +3212,7 @@ (define-public perl-libwww
version ".tar.gz"))
(sha256
(base32
"1mblfwz3g7vmyykmb0mcbmmad77rwx55fwaca9ymv9wajd3pg3cs"))))
"0jh67946fwd33ap3xy8df0421d2mr6lmhalhkf1p7dx2b7fil9wf"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-fatal" ,perl-test-fatal)
@ -6806,7 +6806,7 @@ (define-public poussetaches
(build-system go-build-system)
(propagated-inputs
`(("go-github-com-robfig-cron" ,go-github-com-robfig-cron)
("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)))
("go-golang-org-x-time" ,go-golang-org-x-time)))
(arguments
`(#:import-path "github.com/tsileo/poussetaches"))
(home-page "https://github.com/tsileo/poussetaches")

View file

@ -691,14 +691,14 @@ (define-public xmobar
(define-public ghc-xmonad-contrib
(package
(name "ghc-xmonad-contrib")
(version "0.15")
(version "0.16")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/xmonad-contrib/"
"xmonad-contrib-" version ".tar.gz"))
(sha256
(base32 "0r9yzgy67j4mi3dyxx714f0ssk5qzca5kh4zw0fhiz1pf008cxms"))))
(base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd"))))
(build-system haskell-build-system)
(propagated-inputs
`(("ghc-old-time" ,ghc-old-time)

View file

@ -27,6 +27,7 @@
;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@ -190,6 +191,43 @@ (define-public autorandr
used to further tweak the behaviour of the different profiles.")
(license license:gpl3+))))
(define-public bemenu
(package
(name "bemenu")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Cloudef/bemenu.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0piax49az5kp96r1g6dcgj87fi6p4jl286wlkxsdvljzpkn8q6gv"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBEMENU_WAYLAND_RENDERER=ON")))
(inputs
`(("cairo" ,cairo)
("libx11" ,libx11)
("libxkbcomon" ,libxkbcommon)
("libxinerama" ,libxinerama)
("ncurses" ,ncurses)
("pango" ,pango)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(native-inputs
`(("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/Cloudef/bemenu")
(synopsis "Dynamic menu library and client program inspired by dmenu")
(description
"bemenu is a dynamic menu which allows the user to flexibly select from a
list of options (usually programs to launch). It renders the menu graphically
with X11 or Wayland, or in a text terminal with ncurses.")
(license (list license:gpl3+ ; client program[s] and other sources
license:lgpl3+)))) ; library and bindings
(define-public xclip
(package
(name "xclip")
@ -997,7 +1035,7 @@ (define-public libwacom
(define-public xf86-input-wacom
(package
(name "xf86-input-wacom")
(version "0.36.1")
(version "0.38.0")
(source
(origin
(method url-fetch)
@ -1006,8 +1044,7 @@ (define-public xf86-input-wacom
"xf86-input-wacom-" version "/"
"xf86-input-wacom-" version ".tar.bz2"))
(sha256
(base32
"029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij"))))
(base32 "0w53hv3g7d5vv328x04wb57sa1lyv2h631c37csp1drfp7ghikd1"))))
(arguments
`(#:configure-flags
(list (string-append "--with-sdkdir="

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,7 +24,9 @@ (define-module (gnu services audio)
#:use-module (gnu packages mpd)
#:use-module (guix records)
#:use-module (ice-9 match)
#:export (mpd-configuration
#:export (mpd-output
mpd-output?
mpd-configuration
mpd-configuration?
mpd-service-type))
@ -33,6 +36,25 @@ (define-module (gnu services audio)
;;;
;;; Code:
(define-record-type* <mpd-output>
mpd-output make-mpd-output
mpd-output?
(type mpd-output-type
(default "pulse"))
(name mpd-output-name
(default "MPD"))
(enabled? mpd-output-enabled?
(default #t))
(tags? mpd-output-tags?
(default #t))
(always-on? mpd-output-always-on?
(default #f))
(mixer-type mpd-output-mixer-type
;; valid: hardware, software, null, none
(default #f))
(extra-options mpd-output-extra-options
(default '())))
(define-record-type* <mpd-configuration>
mpd-configuration make-mpd-configuration
mpd-configuration?
@ -51,27 +73,56 @@ (define-record-type* <mpd-configuration>
(port mpd-configuration-port
(default "6600"))
(address mpd-configuration-address
(default "any")))
(default "any"))
(outputs mpd-configuration-outputs
(default (list (mpd-output)))))
(define (mpd-output->string output)
"Convert the OUTPUT of type <mpd-output> to a configuration file snippet."
(let ((extra (string-join
(map (match-lambda
((key . value)
(format #f " ~a \"~a\""
(string-map
(lambda (c) (if (char=? c #\-) #\_ c))
(symbol->string key))
value)))
(mpd-output-extra-options output))
"\n")))
(format #f "\
audio_output {
type \"~a\"
name \"~a\"
~:[ enabled \"no\"~%~;~]\
~:[ tags \"no\"~%~;~]\
~:[~; always_on \"yes\"~%~]\
~@[ mixer_type \"~a\"~%~]\
~a~%}~%"
(mpd-output-type output)
(mpd-output-name output)
(mpd-output-enabled? output)
(mpd-output-tags? output)
(mpd-output-always-on? output)
(mpd-output-mixer-type output)
extra)))
(define (mpd-config->file config)
(apply
mixed-text-file "mpd.conf"
"audio_output {\n"
" type \"pulse\"\n"
" name \"MPD\"\n"
"}\n"
"pid_file \"" (mpd-file-name config "pid") "\"\n"
(map (match-lambda
((config-name config-val)
(string-append config-name " \"" (config-val config) "\"\n")))
`(("user" ,mpd-configuration-user)
("music_directory" ,mpd-configuration-music-dir)
("playlist_directory" ,mpd-configuration-playlist-dir)
("db_file" ,mpd-configuration-db-file)
("state_file" ,mpd-configuration-state-file)
("sticker_file" ,mpd-configuration-sticker-file)
("port" ,mpd-configuration-port)
("bind_to_address" ,mpd-configuration-address)))))
(append (map mpd-output->string
(mpd-configuration-outputs config))
(map (match-lambda
((config-name config-val)
(string-append config-name " \"" (config-val config) "\"\n")))
`(("user" ,mpd-configuration-user)
("music_directory" ,mpd-configuration-music-dir)
("playlist_directory" ,mpd-configuration-playlist-dir)
("db_file" ,mpd-configuration-db-file)
("state_file" ,mpd-configuration-state-file)
("sticker_file" ,mpd-configuration-sticker-file)
("port" ,mpd-configuration-port)
("bind_to_address" ,mpd-configuration-address))))))
(define (mpd-file-name config file)
"Return a path in /var/run/mpd/ that is writable

View file

@ -505,7 +505,7 @@ (define lib
;; In the "old style", %SELF-BUILD-FILE would simply return a
;; derivation that builds modules. We have to infer what the
;; dependencies of these modules were.
(list guile-json guile-git guile-bytestructures
(list guile-json-3 guile-git guile-bytestructures
(ssh -> guile-ssh) (tls -> gnutls)))))
(define (old-style-guix? drv)

View file

@ -622,7 +622,7 @@ (define (write-env-var env-var port)
(display ")" port))))
(define derivation->bytevector
(mlambda (drv)
(lambda (drv)
"Return the external representation of DRV as a UTF-8-encoded string."
(with-fluids ((%default-port-encoding "UTF-8"))
(call-with-values open-bytevector-output-port
@ -919,7 +919,6 @@ (define (invalidate-derivation-caches!)
long-running processes that know what they're doing. Use with care!"
;; Typically this is meant to be used by Cuirass and Hydra, which can clear
;; caches when they start evaluating packages for another architecture.
(invalidate-memoization! derivation->bytevector)
(invalidate-memoization! derivation-base16-hash)
;; FIXME: Comment out to work around <https://bugs.gnu.org/36487>.
@ -1207,6 +1206,26 @@ (define builder
#:guile-for-build guile
#:local-build? #t)))
(define %module-cache
;; Map a list of modules to its 'imported+compiled-modules' result.
(make-weak-value-hash-table))
(define* (imported+compiled-modules store modules #:key
(system (%current-system))
(guile (%guile-for-build)))
"Return a pair containing the derivation to import MODULES and that where
MODULES are compiled."
(define key
(list modules (derivation-file-name guile) system))
(or (hash-ref %module-cache key)
(let ((result (cons (%imported-modules store modules
#:system system #:guile guile)
(%compiled-modules store modules
#:system system #:guile guile))))
(hash-set! %module-cache key result)
result)))
(define* (build-expression->derivation store name exp ;deprecated
#:key
(system (%current-system))
@ -1330,16 +1349,15 @@ (define %build-inputs
;; fixed-output.
(filter-map source-path inputs)))
(mod-drv (and (pair? modules)
(%imported-modules store modules
#:guile guile-drv
#:system system)))
(mod+go-drv (if (pair? modules)
(imported+compiled-modules store modules
#:guile guile-drv
#:system system)
'(#f . #f)))
(mod-drv (car mod+go-drv))
(go-drv (cdr mod+go-drv))
(mod-dir (and mod-drv
(derivation->output-path mod-drv)))
(go-drv (and (pair? modules)
(%compiled-modules store modules
#:guile guile-drv
#:system system)))
(go-dir (and go-drv
(derivation->output-path go-drv))))
(derivation store name guile

View file

@ -654,6 +654,31 @@ (define-record-type <lowered-gexp>
(load-path lowered-gexp-load-path) ;list of store items
(load-compiled-path lowered-gexp-load-compiled-path)) ;list of store items
(define* (imported+compiled-modules modules system
#:key (extensions '())
deprecation-warnings guile
(module-path %load-path))
"Return a pair where the first element is the imported MODULES and the
second element is the derivation to compile them."
(mcached equal?
(mlet %store-monad ((modules (if (pair? modules)
(imported-modules modules
#:system system
#:module-path module-path)
(return #f)))
(compiled (if (pair? modules)
(compiled-modules modules
#:system system
#:module-path module-path
#:extensions extensions
#:guile guile
#:deprecation-warnings
deprecation-warnings)
(return #f))))
(return (cons modules compiled)))
modules
system extensions guile deprecation-warnings module-path))
(define* (lower-gexp exp
#:key
(module-path %load-path)
@ -719,20 +744,15 @@ (define (search-path modules extensions suffix)
(lambda (obj)
(lower-object obj system))
extensions))
(modules (if (pair? %modules)
(imported-modules %modules
#:system system
#:module-path module-path)
(return #f)))
(compiled (if (pair? %modules)
(compiled-modules %modules
#:system system
#:module-path module-path
#:extensions extensions
#:guile guile
#:deprecation-warnings
deprecation-warnings)
(return #f))))
(modules+compiled (imported+compiled-modules
%modules system
#:extensions extensions
#:deprecation-warnings
deprecation-warnings
#:guile guile
#:module-path module-path))
(modules -> (car modules+compiled))
(compiled -> (cdr modules+compiled)))
(define load-path
(search-path modules exts
(string-append "/share/guile/site/" effective-version)))

View file

@ -714,6 +714,9 @@ (define file
(define default-file
(string-append (config-directory) "/channels.scm"))
(define global-file
(string-append %sysconfdir "/guix/channels.scm"))
(define (load-channels file)
(let ((result (load* file (make-user-module '((guix channels))))))
(if (and (list? result) (every channel? result))
@ -725,6 +728,8 @@ (define channels
(load-channels file))
((file-exists? default-file)
(load-channels default-file))
((file-exists? global-file)
(load-channels global-file))
(else
%default-channels)))

View file

@ -1612,10 +1612,11 @@ (define-alias store-bind state-bind)
;; from %STATE-MONAD.
(template-directory instantiations %store-monad)
(define* (cache-object-mapping object keys result)
(define* (cache-object-mapping object keys result
#:key (vhash-cons vhash-consq))
"Augment the store's object cache with a mapping from OBJECT/KEYS to RESULT.
KEYS is a list of additional keys to match against, for instance a (SYSTEM
TARGET) tuple.
TARGET) tuple. Use VHASH-CONS to insert OBJECT into the cache.
OBJECT is typically a high-level object such as a <package> or an <origin>,
and RESULT is typically its derivation."
@ -1623,8 +1624,8 @@ (define* (cache-object-mapping object keys result)
(values result
(store-connection
(inherit store)
(object-cache (vhash-consq object (cons result keys)
(store-connection-object-cache store)))))))
(object-cache (vhash-cons object (cons result keys)
(store-connection-object-cache store)))))))
(define record-cache-lookup!
(if (profiled? "object-cache")
@ -1653,11 +1654,12 @@ (define record-cache-lookup!
(lambda (x y)
#t)))
(define* (lookup-cached-object object #:optional (keys '()))
(define* (lookup-cached-object object #:optional (keys '())
#:key (vhash-fold* vhash-foldq*))
"Return the cached object in the store connection corresponding to OBJECT
and KEYS. KEYS is a list of additional keys to match against, and which are
compared with 'equal?'. Return #f on failure and the cached result
otherwise."
and KEYS; use VHASH-FOLD* to look for OBJECT in the cache. KEYS is a list of
additional keys to match against, and which are compared with 'equal?'.
Return #f on failure and the cached result otherwise."
(lambda (store)
(let* ((cache (store-connection-object-cache store))
@ -1665,33 +1667,50 @@ (define* (lookup-cached-object object #:optional (keys '()))
;; the whole vlist chain and significantly reduces the number of
;; 'hashq' calls.
(value (let/ec return
(vhash-foldq* (lambda (item result)
(match item
((value . keys*)
(if (equal? keys keys*)
(return value)
result))))
#f object
cache))))
(vhash-fold* (lambda (item result)
(match item
((value . keys*)
(if (equal? keys keys*)
(return value)
result))))
#f object
cache))))
(record-cache-lookup! value cache)
(values value store))))
(define* (%mcached mthunk object #:optional (keys '()))
(define* (%mcached mthunk object #:optional (keys '())
#:key
(vhash-cons vhash-consq)
(vhash-fold* vhash-foldq*))
"Bind the monadic value returned by MTHUNK, which supposedly corresponds to
OBJECT/KEYS, or return its cached value."
(mlet %store-monad ((cached (lookup-cached-object object keys)))
OBJECT/KEYS, or return its cached value. Use VHASH-CONS to insert OBJECT into
the cache, and VHASH-FOLD* to look it up."
(mlet %store-monad ((cached (lookup-cached-object object keys
#:vhash-fold* vhash-fold*)))
(if cached
(return cached)
(>>= (mthunk)
(lambda (result)
(cache-object-mapping object keys result))))))
(cache-object-mapping object keys result
#:vhash-cons vhash-cons))))))
(define-syntax-rule (mcached mvalue object keys ...)
"Run MVALUE, which corresponds to OBJECT/KEYS, and cache it; or return the
(define-syntax mcached
(syntax-rules (eq? equal?)
"Run MVALUE, which corresponds to OBJECT/KEYS, and cache it; or return the
value associated with OBJECT/KEYS in the store's object cache if there is
one."
(%mcached (lambda () mvalue)
object (list keys ...)))
((_ eq? mvalue object keys ...)
(%mcached (lambda () mvalue)
object (list keys ...)
#:vhash-cons vhash-consq
#:vhash-fold* vhash-foldq*))
((_ equal? mvalue object keys ...)
(%mcached (lambda () mvalue)
object (list keys ...)
#:vhash-cons vhash-cons
#:vhash-fold* vhash-fold*))
((_ mvalue object keys ...)
(mcached eq? mvalue object keys ...))))
(define (preserve-documentation original proc)
"Return PROC with documentation taken from ORIGINAL."