Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-01-31 23:32:56 +01:00
commit 0747328e31
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
88 changed files with 16496 additions and 11270 deletions

View File

@ -159,7 +159,7 @@ System Installation
* USB Stick and DVD Installation:: Preparing the installation medium.
* Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing.
* Installing GuixSD in a VM:: GuixSD playground.
* Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be.
Package Management
@ -242,7 +242,7 @@ System Configuration
* Initial RAM Disk:: Linux-Libre bootstrapping.
* Bootloader Configuration:: Configuring the boot loader.
* Invoking guix system:: Instantiating a system configuration.
* Running GuixSD in a VM:: How to run GuixSD in a virtual machine.
* Running Guix in a VM:: How to run Guix System in a virtual machine.
* Defining Services:: Adding new service definitions.
Services
@ -298,11 +298,16 @@ previous package set, to build packages from source, and generally
assists with the creation and maintenance of software environments.
@cindex Guix System
@cindex GuixSD
@cindex GuixSD, now Guix System
@cindex Guix System Distribution, now Guix System
You can install GNU@tie{}Guix on top of an existing GNU/Linux system where it
complements the available tools without interference (@pxref{Installation}),
or you can use it as a standalone operating system distribution,
@dfn{Guix@tie{}System} (@pxref{GNU Distribution}).
@dfn{Guix@tie{}System}@footnote{We used to refer to Guix System as ``Guix
System Distribution'' or ``GuixSD''. We now consider it makes more sense to
group everything under the ``Guix'' banner since, after all, Guix System is
readily available through the @command{guix system} command, even if you're
using a different distro underneath!}. @xref{GNU Distribution}.
@node Managing Software the Guix Way
@section Managing Software the Guix Way
@ -362,7 +367,6 @@ garbage collection of packages (@pxref{Features}).
@section GNU Distribution
@cindex Guix System
@cindex GuixSD
Guix comes with a distribution of the GNU system consisting entirely of
free software@footnote{The term ``free'' here refers to the
@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
@ -799,7 +803,7 @@ as well as version numbers of the dependencies (@pxref{Requirements}) in
your message.
Guix also comes with a whole-system test suite that tests complete
GuixSD operating system instances. It can only run on systems where
Guix System instances. It can only run on systems where
Guix is already installed, using:
@example
@ -1177,8 +1181,8 @@ main node:
Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that
can be installed on a system where SELinux is enabled, in order to label
Guix files and to specify the expected behavior of the daemon. Since
GuixSD does not provide an SELinux base policy, the daemon policy cannot
be used on GuixSD.
Guix System does not provide an SELinux base policy, the daemon policy cannot
be used on Guix System.
@subsubsection Installing the SELinux policy
@cindex SELinux, policy installation
@ -1526,14 +1530,14 @@ connections on the Unix-domain socket located at
@section Application Setup
@cindex foreign distro
When using Guix on top of GNU/Linux distribution other than GuixSD---a
When using Guix on top of GNU/Linux distribution other than Guix System---a
so-called @dfn{foreign distro}---a few additional steps are needed to
get everything in place. Here are some of them.
@subsection Locales
@anchor{locales-and-locpath}
@cindex locales, when not on GuixSD
@cindex locales, when not on Guix System
@vindex LOCPATH
@vindex GUIX_LOCPATH
Packages installed @i{via} Guix will not use the locale data of the
@ -1719,16 +1723,11 @@ including GCC itself, the GNU C Library (headers and binaries, plus
debugging symbols in the @code{debug} output), Binutils, and a linker
wrapper.
@cindex attempt to use impure library, error message
The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
passed to the linker, add corresponding @code{-rpath} arguments, and
invoke the actual linker with this new set of arguments. By default,
the linker wrapper refuses to link to libraries outside the store to
ensure ``purity''. This can be annoying when using the toolchain to
link with local libraries. To allow references to libraries outside the
store you need to define the environment variable
@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}.
invoke the actual linker with this new set of arguments. You can instruct the
wrapper to refuse to link against libraries not in the store by setting the
@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}.
@c TODO What else?
@ -1736,10 +1735,10 @@ store you need to define the environment variable
@node System Installation
@chapter System Installation
@cindex installing GuixSD
@cindex Guix System Distribution
This section explains how to install the Guix System Distribution (GuixSD)
on a machine. The Guix package manager can
@cindex installing Guix System
@cindex Guix System, installation
This section explains how to install Guix System
on a machine. Guix, as a package manager, can
also be installed on top of a running GNU/Linux system,
@pxref{Installation}.
@ -1763,20 +1762,20 @@ available.
* USB Stick and DVD Installation:: Preparing the installation medium.
* Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing.
* Installing GuixSD in a VM:: GuixSD playground.
* Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be.
@end menu
@node Limitations
@section Limitations
As of version @value{VERSION}, the Guix System Distribution (GuixSD) is
As of version @value{VERSION}, Guix System is
not production-ready. It may contain bugs and lack important
features. Thus, if you are looking for a stable production system that
respects your freedom as a computer user, a good solution at this point
is to consider @url{http://www.gnu.org/distros/free-distros.html, one of
the more established GNU/Linux distributions}. We hope you can soon switch
to the GuixSD without fear, of course. In the meantime, you can
to the Guix System without fear, of course. In the meantime, you can
also keep using your distribution and try out the package manager on top
of it (@pxref{Installation}).
@ -1814,15 +1813,15 @@ to report issues (and success stories!), and to join us in improving it.
@node Hardware Considerations
@section Hardware Considerations
@cindex hardware support on GuixSD
GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It
@cindex hardware support on Guix System
GNU@tie{}Guix focuses on respecting the user's computing freedom. It
builds around the kernel Linux-libre, which means that only hardware for
which free software drivers and firmware exist is supported. Nowadays,
a wide range of off-the-shelf hardware is supported on
GNU/Linux-libre---from keyboards to graphics cards to scanners and
Ethernet controllers. Unfortunately, there are still areas where
hardware vendors deny users control over their own computing, and such
hardware is not supported on GuixSD.
hardware is not supported on Guix System.
@cindex WiFi, hardware support
One of the main areas where free drivers or firmware are lacking is WiFi
@ -1831,7 +1830,7 @@ devices. WiFi devices known to work include those using Atheros chips
driver, and those using Broadcom/AirForce chips (BCM43xx with
Wireless-Core Revision 5), which corresponds to the @code{b43-open}
Linux-libre driver. Free firmware exists for both and is available
out-of-the-box on GuixSD, as part of @var{%base-firmware}
out-of-the-box on Guix System, as part of @var{%base-firmware}
(@pxref{operating-system Reference, @code{firmware}}).
@cindex RYF, Respects Your Freedom
@ -1941,8 +1940,8 @@ Once this is done, you should be able to reboot the system and boot from
the USB stick or DVD. The latter usually requires you to get in the
BIOS or UEFI boot menu, where you can choose to boot from the USB stick.
@xref{Installing GuixSD in a VM}, if, instead, you would like to install
GuixSD in a virtual machine (VM).
@xref{Installing Guix in a VM}, if, instead, you would like to install
Guix System in a virtual machine (VM).
@node Preparing for Installation
@ -1952,7 +1951,7 @@ Once you have successfully booted your computer using the installation medium,
you should end up with the welcome page of the graphical installer. The
graphical installer is a text-based user interface built upon the newt
library. It shall guide you through all the different steps needed to install
GNU GuixSD. However, as the graphical installer is still under heavy
GNU@tie{}Guix System. However, as the graphical installer is still under heavy
development, you might want to fallback to the original, shell based install
process, by switching to TTYs 3 to 6 with the shortcuts CTRL-ALT-F[3-6]. The
following sections describe the installation procedure assuming you're using
@ -1971,7 +1970,7 @@ dependencies of your system configuration can be downloaded. See the
@end quotation
The installation system includes many common tools needed for this task.
But it is also a full-blown GuixSD system, which means that you can
But it is also a full-blown Guix System, which means that you can
install additional packages, should you need it, using @command{guix
package} (@pxref{Invoking guix package}).
@ -2126,7 +2125,7 @@ bootloaders.
Once you are done partitioning the target hard disk drive, you have to
create a file system on the relevant partition(s)@footnote{Currently
GuixSD only supports ext4 and btrfs file systems. In particular, code
Guix System only supports ext4 and btrfs file systems. In particular, code
that reads file system UUIDs and labels only works for these file system
types.}. For the ESP, if you have one and assuming it is
@file{/dev/sda1}, run:
@ -2289,34 +2288,47 @@ initialized by running the @command{passwd} command as @code{root},
unless your configuration specifies otherwise
(@pxref{user-account-password, user account passwords}).
@cindex upgrading GuixSD
From then on, you can update GuixSD whenever you want by running @command{guix
pull} as @code{root} (@pxref{Invoking guix pull}), and then running
@command{guix system reconfigure /etc/config.scm}, as @code{root} too, to
build a new system generation with the latest packages and services
@cindex upgrading Guix System
From then on, you can update the system whenever you want by running, say:
@example
guix pull
sudo guix system reconfigure /etc/config.scm
@end example
@noindent
This builds a new system generation with the latest packages and services
(@pxref{Invoking guix system}). We recommend doing that regularly so that
your system includes the latest security updates (@pxref{Security Updates}).
@c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>.
@quotation Note
@cindex sudo vs. @command{guix pull}
Note that @command{sudo guix} runs your user's @command{guix} command and
@emph{not} root's, because @command{sudo} leaves @code{PATH} unchanged. To
explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
@end quotation
Join us on @code{#guix} on the Freenode IRC network or on
@email{guix-devel@@gnu.org} to share your experience---good or not so
good.
@node Installing GuixSD in a VM
@section Installing GuixSD in a Virtual Machine
@node Installing Guix in a VM
@section Installing Guix in a Virtual Machine
@cindex virtual machine, GuixSD installation
@cindex virtual machine, Guix System installation
@cindex virtual private server (VPS)
@cindex VPS (virtual private server)
If you'd like to install GuixSD in a virtual machine (VM) or on a
If you'd like to install Guix System in a virtual machine (VM) or on a
virtual private server (VPS) rather than on your beloved machine, this
section is for you.
To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a
To boot a @uref{http://qemu.org/,QEMU} VM for installing Guix System in a
disk image, follow these steps:
@enumerate
@item
First, retrieve and decompress the GuixSD installation image as
First, retrieve and decompress the Guix system installation image as
described previously (@pxref{USB Stick and DVD Installation}).
@item
@ -2352,7 +2364,7 @@ You're now root in the VM, proceed with the installation process.
@end enumerate
Once installation is complete, you can boot the system that's on your
@file{guixsd.img} image. @xref{Running GuixSD in a VM}, for how to do
@file{guixsd.img} image. @xref{Running Guix in a VM}, for how to do
that.
@node Building the Installation Image
@ -2458,7 +2470,7 @@ In addition, any package transaction may be @emph{rolled back}. So, if,
for example, an upgrade installs a new version of a package that turns
out to have a serious bug, users may roll back to the previous instance
of their profile, which was known to work well. Similarly, the global
system configuration on GuixSD is subject to
system configuration on Guix is subject to
transactional upgrades and roll-back
(@pxref{Using the Configuration System}).
@ -3308,8 +3320,8 @@ guix gc -F 5G
@end example
It is perfectly safe to run as a non-interactive periodic job
(@pxref{Scheduled Job Execution}, for how to set up such a job on
GuixSD). Running @command{guix gc} with no arguments will collect as
(@pxref{Scheduled Job Execution}, for how to set up such a job).
Running @command{guix gc} with no arguments will collect as
much garbage as it can, but that is often inconvenient: you may find
yourself having to rebuild or re-download software that is ``dead'' from
the GC viewpoint but that is necessary to build other pieces of
@ -8973,7 +8985,7 @@ guix environment guix --ad-hoc git strace
Sometimes it is desirable to isolate the environment as much as
possible, for maximal purity and reproducibility. In particular, when
using Guix on a host distro that is not GuixSD, it is desirable to
using Guix on a host distro that is not Guix System, it is desirable to
prevent access to @file{/usr/bin} and other system-wide resources from
the development environment. For example, the following command spawns
a Guile REPL in a ``container'' where only the store and the current
@ -9026,7 +9038,7 @@ Running:
guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
@end example
starts a shell with all the GuixSD base packages available.
starts a shell with all the base system packages available.
The above commands only use the default output of the given packages.
To select other outputs, two element tuples can be specified:
@ -9375,7 +9387,7 @@ Reference Manual}) on @var{port} (37146 by default). This is used
primarily for debugging a running @command{guix publish} server.
@end table
Enabling @command{guix publish} on a GuixSD system is a one-liner: just
Enabling @command{guix publish} on Guix System is a one-liner: just
instantiate a @code{guix-publish-service-type} service in the @code{services} field
of the @code{operating-system} declaration (@pxref{guix-publish-service-type,
@code{guix-publish-service-type}}).
@ -9649,7 +9661,7 @@ system of the container. @var{arguments} are the additional options that
will be passed to @var{program}.
The following command launches an interactive login shell inside a
GuixSD container, started by @command{guix system container}, and whose
Guix system container, started by @command{guix system container}, and whose
process ID is 9001:
@example
@ -9868,7 +9880,7 @@ instance to support new system services.
* Initial RAM Disk:: Linux-Libre bootstrapping.
* Bootloader Configuration:: Configuring the boot loader.
* Invoking guix system:: Instantiating a system configuration.
* Running GuixSD in a VM:: How to run GuixSD in a virtual machine.
* Running Guix in a VM:: How to run Guix System in a virtual machine.
* Defining Services:: Adding new service definitions.
@end menu
@ -10105,7 +10117,7 @@ instantiate @var{os}.
This procedure is provided by the @code{(gnu system)} module. Along
with @code{(gnu services)} (@pxref{Services}), this module contains the
guts of GuixSD. Make sure to visit it!
guts of Guix System. Make sure to visit it!
@node operating-system Reference
@ -10794,7 +10806,7 @@ all, of the locale data from libc 2.21 (specifically, @code{LC_COLLATE}
data is incompatible); thus calls to @code{setlocale} may fail, but
programs will not abort.
The ``problem'' in GuixSD is that users have a lot of freedom: They can
The ``problem'' with Guix is that users have a lot of freedom: They can
choose whether and when to upgrade software in their profiles, and might
be using a libc version different from the one the system administrator
used to build the system-wide locale data.
@ -10833,7 +10845,7 @@ Configuration System}). System services are typically daemons launched
when the system boots, or other actions needed at that time---e.g.,
configuring network access.
GuixSD has a broad definition of ``service'' (@pxref{Service
Guix has a broad definition of ``service'' (@pxref{Service
Composition}), but many services are managed by the GNU@tie{}Shepherd
(@pxref{Shepherd Services}). On a running system, the @command{herd}
command allows you to list the available services, show their status,
@ -13154,7 +13166,7 @@ makes the good ol' XlockMore usable.
@cindex printer support with CUPS
The @code{(gnu services cups)} module provides a Guix service definition
for the CUPS printing service. To add printer support to a GuixSD
for the CUPS printing service. To add printer support to a Guix
system, add a @code{cups-service} to the operating system definition:
@deffn {Scheme Variable} cups-service-type
@ -15883,7 +15895,7 @@ Defaults to @samp{""}.
Whew! Lots of configuration options. The nice thing about it though is
that GuixSD has a complete interface to Dovecot's configuration
that Guix has a complete interface to Dovecot's configuration
language. This allows not only a nice way to declare configurations,
but also offers reflective capabilities as well: users can write code to
inspect and transform configurations from within Scheme.
@ -16274,7 +16286,7 @@ Defaults to @samp{"internal_plain"}.
@deftypevr {@code{prosody-configuration} parameter} maybe-string log
Set logging options. Advanced logging configuration is not yet supported
by the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}.
by the Guix Prosody Service. See @url{https://prosody.im/doc/logging}.
Defaults to @samp{"*syslog"}.
@end deftypevr
@ -16529,7 +16541,7 @@ look like this:
(service murmur-service-type
(murmur-configuration
(welcome-text
"Welcome to this Mumble server running on GuixSD!")
"Welcome to this Mumble server running on Guix!")
(cert-required? #t) ;disallow text password logins
(ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
(ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))
@ -22352,9 +22364,9 @@ However, most other programs that can talk HTTPS---@command{wget},
certificates can be found.
@cindex @code{nss-certs}
In GuixSD, this is done by adding a package that provides certificates
In Guix, this is done by adding a package that provides certificates
to the @code{packages} field of the @code{operating-system} declaration
(@pxref{operating-system Reference}). GuixSD includes one such package,
(@pxref{operating-system Reference}). Guix includes one such package,
@code{nss-certs}, which is a set of CA certificates provided as part of
Mozilla's Network Security Services.
@ -22603,7 +22615,7 @@ honors several options passed on the Linux kernel command line
Tell the initial RAM disk to load @var{boot}, a file containing a Scheme
program, once it has mounted the root file system.
GuixSD uses this option to yield control to a boot program that runs the
Guix uses this option to yield control to a boot program that runs the
service activation programs and then spawns the GNU@tie{}Shepherd, the
initialization system.
@ -22932,7 +22944,7 @@ As for @command{guix package --search}, the result is written in
Build the operating system described in @var{file}, activate it, and
switch to it@footnote{This action (and the related actions
@code{switch-generation} and @code{roll-back}) are usable only on
systems already running GuixSD.}.
systems already running Guix System.}.
This effects all the configuration specified in @var{file}: user
accounts, system services, global package list, setuid programs, etc.
@ -23022,7 +23034,7 @@ This action does not actually install anything.
@item init
Populate the given directory with all the files necessary to run the
operating system specified in @var{file}. This is useful for first-time
installations of GuixSD. For instance:
installations of Guix System. For instance:
@example
guix system init my-os-config.scm /mnt
@ -23044,6 +23056,16 @@ passed.
@anchor{guix system vm}
Build a virtual machine that contains the operating system declared in
@var{file}, and return a script to run that virtual machine (VM).
@quotation Note
The @code{vm} action and others below
can use KVM support in the Linux-libre kernel. Specifically, if the
machine has hardware virtualization support, the corresponding
KVM kernel module should be loaded, and the @file{/dev/kvm} device node
must exist and be readable and writable by the user and by the
build users of the daemon (@pxref{Build Environment Setup}).
@end quotation
Arguments given to the script are passed to QEMU as in the example
below, which enables networking and requests 1@tie{}GiB of RAM for the
emulated machine:
@ -23095,7 +23117,7 @@ You can specify the root file system type by using the
@option{--file-system-type} option. It defaults to @code{ext4}.
When using @code{vm-image}, the returned image is in qcow2 format, which
the QEMU emulator can efficiently use. @xref{Running GuixSD in a VM},
the QEMU emulator can efficiently use. @xref{Running Guix in a VM},
for more information on how to run the image in a virtual machine.
When using @code{disk-image}, a raw disk image is produced; it can be
@ -23121,7 +23143,7 @@ docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
@end example
This command starts a new Docker container from the specified image. It
will boot the GuixSD system in the usual manner, which means it will
will boot the Guix system in the usual manner, which means it will
start any services you have defined in the operating system
configuration. Depending on what you run in the Docker container, it
may be necessary to give the container additional permissions. For
@ -23166,7 +23188,7 @@ following:
Consider the operating-system @var{expr} evaluates to.
This is an alternative to specifying a file which evaluates to an
operating system.
This is used to generate the GuixSD installer @pxref{Building the
This is used to generate the Guix system installer @pxref{Building the
Installation Image}).
@item --system=@var{system}
@ -23240,17 +23262,8 @@ a list of available debugging commands.
@end table
@end table
@quotation Note
All the actions above, except @code{build} and @code{init},
can use KVM support in the Linux-libre kernel. Specifically, if the
machine has hardware virtualization support, the corresponding
KVM kernel module should be loaded, and the @file{/dev/kvm} device node
must exist and be readable and writable by the user and by the
build users of the daemon (@pxref{Build Environment Setup}).
@end quotation
Once you have built, configured, re-configured, and re-re-configured
your GuixSD installation, you may find it useful to list the operating
your Guix installation, you may find it useful to list the operating
system generations available on disk---and that you can choose from the
bootloader boot menu:
@ -23303,12 +23316,12 @@ example graph.
@end table
@node Running GuixSD in a VM
@section Running GuixSD in a Virtual Machine
@node Running Guix in a VM
@section Running Guix in a Virtual Machine
@cindex virtual machine
To run GuixSD in a virtual machine (VM), one can either use the
pre-built GuixSD VM image distributed at
To run Guix in a virtual machine (VM), one can either use the
pre-built Guix VM image distributed at
@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz}
, or build their own virtual machine image using @command{guix system
vm-image} (@pxref{Invoking guix system}). The returned image is in
@ -23447,8 +23460,8 @@ daemon; the @file{/etc} service populates the @file{/etc} directory
of the system.
@cindex service extensions
GuixSD services are connected by @dfn{extensions}. For instance, the
secure shell service @emph{extends} the Shepherd---the GuixSD
Guix system services are connected by @dfn{extensions}. For instance, the
secure shell service @emph{extends} the Shepherd---the
initialization system, running as PID@tie{}1---by giving it the command
lines to start and stop the secure shell daemon (@pxref{Networking
Services, @code{lsh-service}}); the UPower service extends the D-Bus
@ -23853,7 +23866,7 @@ extend it by passing it lists of packages to add to the system profile.
@cindex PID 1
@cindex init system
The @code{(gnu services shepherd)} module provides a way to define
services managed by the GNU@tie{}Shepherd, which is the GuixSD
services managed by the GNU@tie{}Shepherd, which is the
initialization system---the first process that is started when the
system boots, also known as PID@tie{}1
(@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
@ -24226,7 +24239,7 @@ guix gc -R `readlink -f ~/.guix-profile` | grep bash
@noindent
@dots{} and compare the store file names that you get with those above.
Likewise for a complete GuixSD system generation:
Likewise for a complete Guix system generation:
@example
guix gc -R `guix system build my-config.scm` | grep bash

View File

@ -33,6 +33,7 @@
ensure-dot-ko
module-aliases
module-dependencies
module-soft-dependencies
normalize-module-name
file-name->module-name
find-module-file
@ -100,6 +101,33 @@ contains module names, not actual file names."
(('depends . what)
(string-tokenize what %not-comma)))))
(define not-softdep-whitespace
(char-set-complement (char-set #\space #\tab)))
(define (module-soft-dependencies file)
"Return a list of (cons section soft-dependency) of module FILE."
;; TEXT: "pre: baz blubb foo post: bax bar"
(define (parse-softdep text)
(let loop ((value '())
(tokens (string-tokenize text not-softdep-whitespace))
(section #f))
(match tokens
((token rest ...)
(if (string=? (string-take-right token 1) ":") ; section
(loop value rest (string-trim-both (string-drop-right token 1)))
(loop (cons (cons section token) value) rest section)))
(()
value))))
;; Note: Multiple 'softdep sections are allowed.
(let ((info (modinfo-section-contents file)))
(concatenate
(filter-map (match-lambda
(('softdep . value)
(parse-softdep value))
(_ #f))
(modinfo-section-contents file)))))
(define (module-aliases file)
"Return the list of aliases of module FILE."
(let ((info (modinfo-section-contents file)))

View File

@ -31,6 +31,7 @@
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages disk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages linux)

View File

@ -1,13 +1,13 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@ -220,6 +220,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gtk.scm \
%D%/packages/guile.scm \
%D%/packages/guile-wm.scm \
%D%/packages/guile-xyz.scm \
%D%/packages/gv.scm \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rush.scm \
%D%/packages/rust.scm \
%D%/packages/samba.scm \
%D%/packages/sagemath.scm \
%D%/packages/sawfish.scm \
%D%/packages/scanner.scm \
%D%/packages/scheme.scm \
@ -595,6 +597,7 @@ GNU_SYSTEM_MODULES += \
%D%/installer/newt/partition.scm \
%D%/installer/newt/services.scm \
%D%/installer/newt/timezone.scm \
%D%/installer/newt/user.scm \
%D%/installer/newt/utils.scm \
%D%/installer/newt/welcome.scm \
%D%/installer/newt/wifi.scm
@ -691,6 +694,8 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/clx-remove-demo.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
%D%/packages/patches/cool-retro-term-fix-array-size.patch \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
@ -879,6 +884,7 @@ 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-makeicecat.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 \
@ -995,6 +1001,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-newer-libconfig.patch \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
@ -1090,6 +1097,7 @@ dist_patch_DATA = \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/owncloud-disable-updatecheck.patch \
%D%/packages/patches/p11-kit-jks-timestamps.patch \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
@ -1174,6 +1182,8 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-CVE-2018-16872.patch \
%D%/packages/patches/qemu-CVE-2019-6778.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
@ -1210,10 +1220,8 @@ dist_patch_DATA = \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-graph-diam-64.patch \
%D%/packages/patches/scotch-graph-induce-type-64.patch \
%D%/packages/patches/scotch-integer-declarations.patch \
%D%/packages/patches/scribus-poppler.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
@ -1232,6 +1240,7 @@ dist_patch_DATA = \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
@ -1327,7 +1336,6 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-detect512-all-arches.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \

View File

@ -1569,9 +1569,7 @@ specified directories.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/g/graphios/graphios-"
version ".tar.gz"))
(uri (pypi-uri "graphios" version))
(sha256
(base32
"1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@ -1805,11 +1805,7 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://pypi.python.org/packages/ab/42/"
"b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b"
"/PyAudio-" version ".tar.gz"))
(uri (pypi-uri "PyAudio" version))
(sha256
(base32
"0x7vdsigm7xgvyg3shd3lj113m8zqj2pxmrgdyj66kmnw0qdxgwk"))))
@ -2213,7 +2209,7 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
(version "3.10.0")
(version "3.10.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -2222,7 +2218,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
"16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
"1yszs9j3sjk8hb8xxz30z3nd4j899ymb9mw9y1v26ikd603d1iig"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"

View File

@ -638,9 +638,7 @@ to not fully trusted targets. Borg is a fork of Attic.")
(version "0.16")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/A/Attic/Attic-"
version ".tar.gz"))
(uri (pypi-uri "Attic" version))
(sha256
(base32
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))

View File

@ -72,6 +72,7 @@
#:use-module (gnu packages graph)
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
@ -4503,9 +4504,7 @@ files and writing bioinformatics applications.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/W/WarpedLMM/WarpedLMM-"
version ".zip"))
(uri (pypi-uri "WarpedLMM" version ".zip"))
(sha256
(base32
"1agfz6zqa8nc6cw47yh0s3y14gkpa9wqazwcj7mwwj3ffnw39p3j"))))
@ -6021,7 +6020,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(define-public star
(package
(name "star")
(version "2.6.0c")
(version "2.7.0a")
(source (origin
(method git-fetch)
(uri (git-reference
@ -6030,7 +6029,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04cj6jw8d9q6lk9c78wa4fky6jdlicf1d13plq7182h8vqiz8p59"))
"1yx28gra6gqdx1ps5y8mpdinsn8r0dhsc2m3gcvjfrk71i9yhd6l"))
(modules '((guix build utils)))
(snippet
'(begin
@ -7183,14 +7182,14 @@ checks on R packages that are to be submitted to the Bioconductor repository.")
(define-public r-optparse
(package
(name "r-optparse")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "optparse" version))
(sha256
(base32
"1d7v5gl45x4amsfmzn5zyyffyqlc7a82h01szlnda22viyxids0h"))))
"04vyb6dhcga30mvghsg1p052jmf69xqxkvh3hzqz7dscyppy76w1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-getopt" ,r-getopt)))
@ -7388,13 +7387,13 @@ CAGE.")
(define-public r-variantannotation
(package
(name "r-variantannotation")
(version "1.28.8")
(version "1.28.10")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version))
(sha256
(base32
"0gf36lr9xy3zmcc4rxs5bi2ccrrc7b6wqp6p3cvnclgif4i0l66k"))))
"0kxf583cgkdz1shi85r0mpnfxmzi7s5f6srd1czbdl2iibvrm8jn"))))
(properties
`((upstream-name . "VariantAnnotation")))
(inputs
@ -7829,13 +7828,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
(version "1.34.1")
(version "1.34.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
"0slq6hv5bmc3bgrl824jzmr6db3fvaj6b7ihwmdn76pgqqbq2fq6"))))
"0qs94b0ywrjyc9m1jykrbch3lb07576m508dikvx18vwn304mban"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@ -8486,7 +8485,7 @@ throughput genetic sequencing data sets using regression methods.")
(define-public r-qtl
(package
(name "r-qtl")
(version "1.42-8")
(version "1.44-9")
(source
(origin
(method url-fetch)
@ -8494,7 +8493,7 @@ throughput genetic sequencing data sets using regression methods.")
version ".tar.gz"))
(sha256
(base32
"1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6"))))
"03lmvydln8b7666b6w46qbryhf83vsd11d4y2v95rfgvqgq66l1i"))))
(build-system r-build-system)
(home-page "http://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
@ -9131,8 +9130,7 @@ may optionally be provided to further inform the peak-calling process.")
(version "1.0.9")
(source (origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/P"
"/PePr/PePr-" version ".tar.gz"))
(uri (pypi-uri "PePr" version))
(sha256
(base32
"0qxjfdpl1b1y53nccws2d85f6k74zwmx8y8sd9rszcqhfayx6gdx"))))

View File

@ -516,7 +516,7 @@ board-independent tools.")))
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((config-name (string-append ,board "_defconfig")))
(if (file-exists? (string-append "configs/" config-name))
(zero? (apply system* "make" `(,@make-flags ,config-name)))
(apply invoke "make" `(,@make-flags ,config-name))
(begin
(display "Invalid board name. Valid board names are:"
(current-error-port))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,8 +38,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (srfi srfi-1))
#:use-module (gnu packages pkg-config))
(define-public tcc
(package
@ -69,11 +69,15 @@
"/include:{B}/include")
(string-append "--libpaths="
(assoc-ref %build-inputs "libc")
"/lib"))
"/lib")
,@(if (string-prefix? "armhf-linux"
(or (%current-target-system)
(%current-system)))
`("--triplet=arm-linux-gnueabihf")
'()))
#:test-target "test"))
;; Fails to build on MIPS: "Unsupported CPU"
(supported-systems (fold delete %supported-systems
'("mips64el-linux" "aarch64-linux")))
(supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
(description
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler

View File

@ -1133,9 +1133,7 @@ Python tests.")))
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/t/testrepository/testrepository-"
version ".tar.gz"))
(uri (pypi-uri "testrepository" version))
(sha256
(base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
@ -1307,9 +1305,7 @@ tools for mocking system commands and recording calls to those.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/t/testlib/testlib-"
version ".zip"))
(uri (pypi-uri "testlib" version ".zip"))
(sha256
(base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y"))))
(build-system python-build-system)
@ -1806,9 +1802,7 @@ especially -cover-package.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/d/discover/discover-"
version ".tar.gz"))
(uri (pypi-uri "discover" version))
(sha256
(base32
"0y8d0zwiqar51kxj8lzmkvwc3b8kazb04gk5zcb4nzg5k68zmhq5"))))
@ -2039,13 +2033,13 @@ mocks, stubs and fakes.")
(define-public python-flaky
(package
(name "python-flaky")
(version "3.4.0")
(version "3.5.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
(sha256
(base32
"18pkmf79rfkfpy1d2rrx3v55nxj762ilyk9rvd6s6dccxw58imsa"))))
"1nm1kjf857z5aw7v642ffsy1vwf255c6wjvmil71kckjyd0mxg8j"))))
(build-system python-build-system)
(arguments
;; TODO: Tests require 'coveralls' and 'genty' which are not in Guix yet.

View File

@ -32,6 +32,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages mail)
#:use-module (gnu packages package-management)

View File

@ -65,15 +65,16 @@
(package
(name "clojure")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/clojure/archive/clojure-"
version ".tar.gz"))
(sha256
(base32 "0xjbzcw45z32vsn9pifp7ndysjzqswp5ig0jkjpivigh2ckkdzha"))))
(version "1.10.0")
(source (let ((name+version (string-append name "-" version)))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/clojure")
(commit name+version)))
(file-name (string-append name+version "-checkout"))
(sha256
(base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83")))))
(build-system ant-build-system)
(arguments
`(#:imported-modules ((guix build clojure-utils)

View File

@ -12,7 +12,7 @@
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -434,6 +434,39 @@ than gzip and 15 % smaller output than bzip2.")
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "https://tukaani.org/xz/")))
(define-public lhasa
(package
(name "lhasa")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fragglet/lhasa/releases/download/v"
version "/lhasa-" version ".tar.gz"))
(sha256
(base32
"092zi9av18ma20c6h9448k0bapvx2plnp292741dvfd9hmgqxc1z"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-up-test-environment
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t)))))
(native-inputs
`(("tzdata" ,tzdata)))
(home-page "https://fragglet.github.com/lhasa/")
(synopsis "LHA archive decompressor")
(description "Lhasa is a replacement for the Unix LHA tool, for
decompressing .lzh (LHA / LHarc) and .lzs (LArc) archives. The backend for the
tool is a library, so that it can be reused for other purposes. Lhasa aims to
be compatible with as many types of lzh/lzs archives as possible. It also aims
to generate the same output as the (non-free) Unix LHA tool, so that it will
act as a free drop-in replacement.")
(license license:isc)))
(define-public lzo
(package
(name "lzo")

View File

@ -203,15 +203,16 @@ as ordering relation.")
(package
(name "json-modern-cxx")
(version "3.1.2")
(home-page "https://github.com/nlohmann/json")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/nlohmann/json/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"0m5fhdpx2qll933db2nsi30nns3cifavzvijzz6mxhdkpmngmzz8"))
(file-name (string-append name "-" version ".tar.gz"))
"1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
@ -227,13 +228,13 @@ as ordering relation.")
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))))
"#include <fifo_map/" fifo-map-hpp ">")))))
#t))))
(native-inputs
`(("amalgamate" ,amalgamate)))
(inputs
`(("catch2" ,catch-framework2)
("fifo-map" ,fifo-map)))
(home-page "https://github.com/nlohmann/json")
(build-system cmake-build-system)
(synopsis "JSON parser and printer library for C++")
(description "JSON for Modern C++ is a C++ JSON library that provides

View File

@ -83,6 +83,52 @@
the system clipboards.")
(license license:gpl3)))
(define-public r-sys
(package
(name "r-sys")
(version "2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "sys" version))
(sha256
(base32
"10ml2492bdllh6cz2zl192ip0fdgjkkgayggd3ghswsj5gjv5hrh"))))
(build-system r-build-system)
(home-page "https://github.com/jeroen/sys")
(synopsis "Powerful and reliable tools for running system commands in R")
(description
"This package provides drop-in replacements for the base @code{system2()}
function with fine control and consistent behavior across platforms. It
supports clean interruption, timeout, background tasks, and streaming STDIN /
STDOUT / STDERR over binary or text connections. The package also provides
functions for evaluating expressions inside a temporary fork. Such
evaluations have no side effects on the main R process, and support reliable
interrupts and timeouts. This provides the basis for a sandboxing
mechanism.")
(license license:expat)))
(define-public r-askpass
(package
(name "r-askpass")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "askpass" version))
(sha256
(base32
"07q0ik8jzk44vpwh48rr3fnpd7dzsdhjjsl4l850rffv3dyq4h6v"))))
(build-system r-build-system)
(propagated-inputs `(("r-sys" ,r-sys)))
(home-page "https://github.com/jeroen/askpass")
(synopsis "Safe password entry for R")
(description
"This package provides cross-platform utilities for prompting the user
for credentials or a passphrase, for example to authenticate with a server or
read a protected key.")
(license license:expat)))
(define-public r-vegan
(package
(name "r-vegan")
@ -927,14 +973,14 @@ applications. That is, compute distances and related measures for angular
(define-public r-ggmap
(package
(name "r-ggmap")
(version "2.6.1")
(version "2.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggmap" version))
(sha256
(base32
"0mssb09w818jv58h7mly9y181pzv22sgcd4a079cfpq04bs0wigw"))))
"144x6ycb2c3fvy5c68ww53m6gzi6kfvas7cpbn071z08n4xgb72f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
@ -1062,13 +1108,13 @@ XML. To learn more about the Abbyy OCR API, see @url{http://ocrsdk.com/}.")
(define-public r-colorspace
(package
(name "r-colorspace")
(version "1.3-2")
(version "1.4-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "colorspace" version))
(sha256
(base32 "0d1ya7hx4y58n5ivwmdmq2zgh0g2sbv7ykh13n85c1355csd57yx"))))
(base32 "0mpmvz2sycjp4c9y3v3qin7mdjy812hwi7cyjnblcw6xb1ckq06f"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/colorspace")
(synopsis "Color space manipulation")
@ -2038,14 +2084,14 @@ functions from LINPACK.")
(define-public r-fitdistrplus
(package
(name "r-fitdistrplus")
(version "1.0-11")
(version "1.0-14")
(source
(origin
(method url-fetch)
(uri (cran-uri "fitdistrplus" version))
(sha256
(base32
"12hckg3y5j3zh9q1gwxkc27q813p2r42iqp7wdfiq6nj55jrh6w6"))))
"10q08wsv8v3w7797jdvvv60bgrf1bi6438wf0jcqv81ays82a245"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@ -2809,14 +2855,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
(define-public r-jomo
(package
(name "r-jomo")
(version "2.6-5")
(version "2.6-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "jomo" version))
(sha256
(base32
"109q5m69clrvvialxdxznd0wdb54ajhx84nj8slx8bf909a427mj"))))
"1048qb12cx7fs156jcqzwkfmsjadkgnrqd0krznyxpn873zr9lq2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lme4" ,r-lme4)
@ -3042,16 +3088,18 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
(version "0.2")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
"16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"))))
"1ddmmqq7qrnvr5q518afnysrl7ccr8am9njknv3dpwaqzcdr9akn"))))
(build-system r-build-system)
(propagated-inputs `(("r-sm" ,r-sm)))
(propagated-inputs
`(("r-sm" ,r-sm)
("r-zoo" ,r-zoo)))
(home-page "http://wsopuppenkiste.wiso.uni-goettingen.de/~dadler")
(synopsis "Violin plot")
(description
@ -7222,13 +7270,13 @@ series.")
(define-public r-acceptancesampling
(package
(name "r-acceptancesampling")
(version "1.0-5")
(version "1.0-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "AcceptanceSampling" version))
(sha256
(base32 "18krmmyn8pn11aqd81kbvka68lnd36mnpdh7p3pz9r4m4vjj007x"))))
(base32 "1z3rmln63ki2kik9kinbwr9qhr32ggbmh4mm3xqy6di119n47ca9"))))
(properties
`((upstream-name . "AcceptanceSampling")))
(build-system r-build-system)
@ -7320,14 +7368,14 @@ cross-sectional, time series, clustered, panel, and longitudinal data.")
(define-public r-th-data
(package
(name "r-th-data")
(version "1.0-9")
(version "1.0-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "TH.data" version))
(sha256
(base32
"03xfvww0krw0fn76qmmvrj7dx4shin57qafwhkrggfg25hbqlcfq"))))
"0mgz7aj2d9abbmdr65zgmg1ddp3fdbs3mfj83r5xadh5ldkir2k1"))))
(properties `((upstream-name . "TH.data")))
(build-system r-build-system)
(propagated-inputs
@ -7371,14 +7419,14 @@ Hothorn, Westfall, 2010, CRC Press).")
(define-public r-emmeans
(package
(name "r-emmeans")
(version "1.3.1")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "emmeans" version))
(sha256
(base32
"1sf7gmdb7aqhdpx489vg693ivc5677n4yjx27ixv8v7pjh8mlwwx"))))
"0mg6y007hfmr601cq4jgxl5ncwbx79kkh7xs2i504m0rinxj8bf5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-estimability" ,r-estimability)
@ -8490,18 +8538,17 @@ Scientific.")
(define-public r-activity
(package
(name "r-activity")
(version "1.1")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "activity" version))
(sha256
(base32
"1lqajgxfps2h6amz1791vp3f52rs9ghmanq1nqfxqd2jmk3idkrx"))))
"11w2bz6p9xbzdh6773dmbbh6rws0h5dj18p8m0ivzizgq932vdzs"))))
(build-system r-build-system)
(propagated-inputs
`(("r-circular" ,r-circular)
("r-overlap" ,r-overlap)
("r-pbapply" ,r-pbapply)))
(home-page "https://cran.r-project.org/web/packages/activity/")
(synopsis "Animal activity statistics")
@ -8697,14 +8744,14 @@ in-memory raw vectors.")
(define-public r-waveslim
(package
(name "r-waveslim")
(version "1.7.5")
(version "1.7.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "waveslim" version))
(sha256
(base32
"0lqslkihgrd7rbihqhhk57m9vkbnfsznkvk8430cvbcsn7vridii"))))
"0mky0nb4xxp8rybp87mxw2f1q6k400wpxv01zr4injv7ja6028xk"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@ -9540,14 +9587,14 @@ limitations\" using the GNU Multiple Precision library.")
(define-public r-rmpfr
(package
(name "r-rmpfr")
(version "0.7-1")
(version "0.7-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rmpfr" version))
(sha256
(base32
"0172px5ryi7i0gyyin9z2bzif8vnj292gk0s1w5p3c12g9hj2c4v"))))
"1zq3as34r27v2yc729731997wdhxb6cs5ilmak4nmsljabnac7gc"))))
(properties `((upstream-name . "Rmpfr")))
(build-system r-build-system)
(inputs

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@ -901,3 +901,29 @@ Features:
@end itemize\n")
(home-page "https://github.com/bitcoin-core/secp256k1")
(license license:unlicense))))
(define-public stoken
(package
(name "stoken")
(version "0.92")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/stoken/"
"stoken-" version ".tar.gz"))
(sha256
(base32
"0npgr6y85gzwksy8jkwa4yzvqwjprwnplx3yiw3ayk4f0ldlhaxa"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("nettle" ,nettle)
("libxml2" ,libxml2)))
(home-page "http://stoken.sf.net")
(synopsis "Software Token for cryptographic authentication")
(description
"@code{stoken} is a token code generator compatible with RSA SecurID
128-bit (AES) tokens. This package contains a standalone command-line program
that allows for importing token seeds, generating token codes, and various
utility/testing functions.")
(license license:lgpl2.1+)))

View File

@ -2093,8 +2093,7 @@ Database API 2.0T.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/S/"
"SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
(uri (pypi-uri "SQLAlchemy" version))
(sha256
(base32
"094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))

View File

@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
@ -149,13 +150,14 @@ queues, stacks, and doubly-linked lists.")
(version "2.0.2")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "https://github.com/troydhanson/uthash/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/troydhanson/uthash.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1la82gdlyl7m8ahdjirigwfh7zjgkc24cvydrqcri0vsvm8iv8rl"))))
"0kslz8k6lssh7fl7ayzwlj62p0asxs3dq03357ls5ywjad238gqg"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
@ -169,8 +171,7 @@ queues, stacks, and doubly-linked lists.")
(replace 'check
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "tests"
(zero? (apply system* "make"
make-flags)))))
(apply invoke "make" make-flags))))
(replace 'install
;; There is no top-level Makefile to do this for us.
(lambda* (#:key outputs #:allow-other-keys)

View File

@ -194,10 +194,8 @@ tools that process C/C++ code.")
(patch-dir
(string-append afl-dir
"/qemu_mode/patches")))
(unless (zero?
(system* "tar" "xf"
(assoc-ref inputs "afl-src")))
(error "tar failed to unpack afl-src"))
(invoke "tar" "xf"
(assoc-ref inputs "afl-src"))
(install-file (string-append patch-dir
"/afl-qemu-cpu-inl.h")
".")
@ -210,11 +208,12 @@ tools that process C/C++ code.")
(substitute* (string-append patch-dir
"/cpu-exec.diff")
(("\\.\\./patches/") ""))
(every (lambda (patch-file)
(zero? (system* "patch" "--force" "-p1"
"--input" patch-file)))
(find-files patch-dir
"\\.diff$"))))))))))))))
(for-each (lambda (patch-file)
(invoke "patch" "--force" "-p1"
"--input" patch-file))
(find-files patch-dir
"\\.diff$"))
#t))))))))))))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
@ -291,7 +290,7 @@ down the road.")
(modify-phases %standard-phases
(add-after 'unpack 'unpack-make
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "tar" "xf" (assoc-ref inputs "make-source")))))
(invoke "tar" "xf" (assoc-ref inputs "make-source"))))
(add-after 'unpack-make 'set-default-shell
(lambda _
;; Taken mostly directly from (@ (gnu packages base) gnu-make)
@ -301,7 +300,7 @@ down the road.")
(which "sh"))))))
(add-before 'configure 'repack-make
(lambda _
(zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir))))))))
(invoke "tar" "cJf" "./make.tar.xz" ,make-dir)))))))
(home-page "https://github.com/losalamos/stress-make")
(synopsis "Expose race conditions in Makefiles")
(description

View File

@ -176,8 +176,7 @@ work, such as sentence length and other readability measures.")
(delete 'configure)
(delete 'build)
(delete 'check)
(replace
'install
(replace 'install
(lambda _
(let ((bindir (string-append
(assoc-ref %outputs "out") "/bin"))
@ -209,8 +208,7 @@ work, such as sentence length and other readability measures.")
(string-append "DEFLIBDIR=\"" libdir "\"")))
(install-file "ding.desktop" sharedir)
(install-file "ding.png" sharedir)
(zero?
(system* "./install.sh"))))))))
(invoke "./install.sh")))))))
(synopsis "Dictionary lookup program with a German-English dictionary")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")

View File

@ -74,7 +74,7 @@
(string-split (getenv "PYTHONPATH")
#\:))
"', ")))
(zero? (system* "python" "tests/runtests.py")))))))
(invoke "python" "tests/runtests.py"))))))
;; TODO: Install extras/django_bash_completion.
(native-inputs
`(("tzdata" ,tzdata-for-tests)

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
@ -3803,7 +3803,7 @@ automatically.")
(define-public emacs-ivy
(package
(name "emacs-ivy")
(version "0.10.0")
(version "0.11.0")
(source
(origin
(method git-fetch)
@ -3813,7 +3813,7 @@ automatically.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"))))
"009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
(build-system emacs-build-system)
(arguments
`(#:phases

View File

@ -406,15 +406,16 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(define-public mgba
(package
(name "mgba")
(version "0.6.3")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/mgba-emu/mgba.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16hgs6r5iym3lp2cjcnv9955333976yc5sgy2kkxlsi005n91j1m"))
"0s4dl4pi8rxqahvzxnh37xdgsfax36cn5wlh1srdcmabwsrfpb3w"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@ -430,9 +431,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
`(#:tests? #f ;no "test" target
#:configure-flags
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
"-DUSE_LIBZIP=OFF" ;use "zlib" instead
(string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out") "/lib"))))
"-DUSE_LIBZIP=OFF"))) ;use "zlib" instead
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
("imagemagick" ,imagemagick)
@ -1184,7 +1183,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.205")
(version "0.206")
(source
(origin
(method git-fetch)
@ -1194,7 +1193,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
"1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
"0i01h5ars1yd96ndmzhk47931hf261m8frqz1ha7s2gy52f0q86y"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.

View File

@ -420,7 +420,7 @@ featuring various improvements and bug fixes.")))
;; FIXME: with texlive-tiny citation references are rendered as question
;; marks. During the build warnings like these are printed:
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3.
`(("texlive" ,texlive-tiny)
`(("texlive" ,(texlive-union (list texlive-fonts-amsfonts)))
("ghostscript" ,ghostscript)))
(arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
@ -432,8 +432,7 @@ featuring various improvements and bug fixes.")))
(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(zero? (system* "make" "CC=gcc" "RM=rm" "SHELL=sh"
"manual"))))
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
@ -474,13 +473,13 @@ featuring various improvements and bug fixes.")))
(setenv "HOME" "/tmp") ; FIXME: for texlive font cache
(with-directory-excursion "doc"
(and
(every (lambda (file)
(zero? (system* "dvips" file "-o")))
(find-files "." "\\.dvi"))
(every (lambda (file)
(zero? (system* "ps2pdf" file)))
'("mtt.ps" "ug.ps" "tcad.ps"))
(zero? (system* "make" "clean"))))))
(for-each (lambda (file)
(invoke "dvips" file "-o"))
(find-files "." "\\.dvi"))
(for-each (lambda (file)
(invoke "ps2pdf" file))
'("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "make" "clean")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -70,6 +70,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages assembly)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
@ -155,7 +156,9 @@
#:use-module (guix build-system scons)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial))
#:use-module (guix build-system trivial)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (srfi srfi-26))
(define-public armagetronad
(package
@ -337,14 +340,14 @@ and against the others like yourself, that want what you have.")
(delete 'build) ; nothing to be built
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "sh" "install.sh"
(assoc-ref outputs "out")))))
(invoke "sh" "install.sh"
(assoc-ref outputs "out"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* (string-append (assoc-ref outputs "out")
"/bin/cowsay")
"We're done!")))))))
(invoke (string-append (assoc-ref outputs "out")
"/bin/cowsay")
"We're done!"))))))
(inputs
`(("perl" ,perl)))
(home-page (string-append "https://web.archive.org/web/20071026043648/"
@ -1364,9 +1367,8 @@ a C library, so they can easily be integrated into other programs.")
;; variables passed as arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)))))))))
(invoke "./configure"
(string-append "--prefix=" out))))))))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://www.asty.org/cmatrix")
(synopsis "Simulate the display from \"The Matrix\"")
@ -1535,61 +1537,6 @@ fully interactive graphical interface and it can load and save games in the
Portable Game Notation.")
(license license:gpl3+)))
(define-public xboing
(package
(name "xboing")
(version "2.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.techrescue.org/xboing/xboing"
version ".tar.gz"))
(sha256
(base32 "16m2si8wmshxpifk861vhpqviqxgcg8bxj6wfw8hpnm4r2w9q0b7"))
(patches (search-patches "xboing-CVE-2004-0149.patch"))))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Imakefile"
(("XPMINCLUDE[\t ]*= -I/usr/X11/include/X11")
(string-append "XPMINCLUDE = -I"
(assoc-ref %build-inputs "libxpm")
"/include/X11")))
(substitute* "Imakefile"
(("XBOING_DIR = \\.") "XBOING_DIR=$(PROJECTROOT)"))
;; FIXME: HIGH_SCORE_FILE should be set to somewhere writeable
(zero? (system* "xmkmf" "-a"
(string-append "-DProjectRoot="
(assoc-ref outputs "out"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(and
(zero? (system* "make" "install.man"))
(zero? (system* "make" "install"))))))))
(inputs `(("libx11" ,libx11)
("libxext" ,libxext)
("libxpm" ,libxpm)))
(native-inputs `(("imake" ,imake)
("inetutils" ,inetutils)
("makedepend" ,makedepend)))
(build-system gnu-build-system)
(home-page "http://www.techrescue.org/xboing")
(synopsis "Ball and paddle game")
(description "XBoing is a blockout type game where you have a paddle which
you control to bounce a ball around the game zone destroying blocks with a
proton ball. Each block carries a different point value. The more blocks you
destroy, the better your score. The person with the highest score wins.")
(license (license:x11-style "file://COPYING"
"Very similar to the X11 licence."))))
(define-public gtypist
(package
(name "gtypist")
@ -2358,15 +2305,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
#:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lzo (assoc-ref inputs "lzo")))
(zero?
(apply system* "./configure"
(string-append "--prefix=" out)
;; Provide the "lzo" path.
(string-append "--with-liblzo2="
lzo "/lib/liblzo2.a")
;; Put the binary in 'bin' instead of 'games'.
"--binary-dir=bin"
configure-flags))))))))
(apply invoke "./configure"
(string-append "--prefix=" out)
;; Provide the "lzo" path.
(string-append "--with-liblzo2="
lzo "/lib/liblzo2.a")
;; Put the binary in 'bin' instead of 'games'.
"--binary-dir=bin"
configure-flags)))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("allegro" ,allegro)
@ -4125,7 +4071,7 @@ over 100 user-created campaigns.")
(add-before 'build 'build-kodilib
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "kodilib/linux"
(zero? (apply system* "make" make-flags)))))
(apply invoke "make" make-flags))))
(add-after 'build-kodilib 'chdir
(lambda _ (chdir "linux") #t))
(replace 'install
@ -4417,10 +4363,10 @@ shapes are arranged in a series of increasingly complex patterns, forming
(let ((data (string-append (assoc-ref outputs "out")
"/share/games/fillets-ng")))
(mkdir-p data)
(zero? (system* "tar" "-xvf"
(assoc-ref inputs "fillets-ng-data")
"--strip-components=1"
"-C" data))))))))
(invoke "tar" "-xvf"
(assoc-ref inputs "fillets-ng-data")
"--strip-components=1"
"-C" data)))))))
(inputs
`(("sdl-union" ,(sdl-union (list sdl
sdl-mixer
@ -4502,10 +4448,10 @@ fish. The whole game is accompanied by quiet, comforting music.")
(setenv "HOME" (getcwd))
;; Fake a terminal for the test cases.
(setenv "TERM" "xterm-256color")
(zero? (apply system* "make" "debug" "test"
(format #f "-j~d" (parallel-job-count))
;; Force command line build for test cases.
(append make-flags '("GAME=crawl" "TILES=")))))))))
(apply invoke "make" "debug" "test"
(format #f "-j~d" (parallel-job-count))
;; Force command line build for test cases.
(append make-flags '("GAME=crawl" "TILES="))))))))
(synopsis "Roguelike dungeon crawler game")
(description "Dungeon Crawl Stone Soup is a roguelike adventure through
dungeons filled with dangerous monsters in a quest to find the mystifyingly
@ -6021,3 +5967,136 @@ civilized than your own.")
license:cc-by-sa3.0
license:cc-by-sa4.0
license:public-domain))))
(define-public stepmania
(package
(name "stepmania")
(version "5.1.0-b2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stepmania/stepmania.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove song files, which are licensed under a non-commercial
;; clause, and a course pointing to them.
(for-each delete-file-recursively
'("Songs/StepMania 5/Goin' Under"
"Songs/StepMania 5/MechaTribe Assault"
"Songs/StepMania 5/Springtime"))
(for-each delete-file '("Courses/Default/Jupiter.crs"
"Courses/Default/Jupiter.png"))
;; Unbundle libpng.
(substitute* "extern/CMakeLists.txt"
(("include\\(CMakeProject-png.cmake\\)") ""))
(delete-file-recursively "extern/libpng")
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: couldn't find how to run tests
#:build-type "Release"
#:out-of-source? #f ;for the 'install-desktop' phase
#:configure-flags
(list "-DWITH_SYSTEM_FFMPEG=1"
;; SSE instructions are available on Intel systems only.
,@(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("x64_64" "i686"))
'()
'("-DWITH_SSE2=NO"))
;; Configuration cannot find GTK2 without the two following
;; flags.
(string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
(assoc-ref %build-inputs "gtk+")
"/lib/gtk-2.0/include")
(string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
(assoc-ref %build-inputs "glib")
"/lib/glib-2.0/include"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-install-subdir
;; Installation would be done in "%out/stepmania-X.Y", but we
;; prefer the more common layout "%out/share/stepmania".
(lambda _
(substitute* "src/CMakeLists.txt"
(("\"stepmania-.*?\"") "\"share/stepmania\""))
#t))
(add-after 'unpack 'unbundle-libpng
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/CMakeLists.txt"
(("\\$\\{SM_EXTERN_DIR\\}/libpng/include")
(string-append (assoc-ref inputs "libpng") "/include")))
#t))
(add-after 'install 'install-executable
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(exe (string-append out "/share/stepmania/stepmania")))
(mkdir-p bin)
(symlink exe (string-append bin "/stepmania"))
#t)))
(add-after 'install-executable 'install-desktop
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share"))
(applications (string-append share "/applications"))
(icons (string-append share "/icons")))
(install-file "stepmania.desktop" applications)
(mkdir-p icons)
(copy-recursively "icons" icons)
#t)))
;; Move documentation in a more usual place, i.e.,
;; "%out/share/doc/stepmania/".
(add-after 'install-desktop 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share")))
(with-directory-excursion share
(mkdir-p "doc")
(symlink "../stepmania/Docs" "doc/stepmania"))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("yasm" ,yasm)))
(inputs
`(("alsa-lib" ,alsa-lib)
;; Per upstream, StepMania is only guaranteed to work with a very
;; specific FFmpeg version, which is included in the repository as
;; a Git submodule. This particular version requirement usually
;; changes every few years.
("ffmpeg" ,ffmpeg-for-stepmania)
("glib" ,glib)
("glew" ,glew)
("gtk+" ,gtk+-2)
("jsoncpp" ,jsoncpp)
("libpng" ,libpng)
("libjpeg" ,libjpeg-8)
("libmad" ,libmad)
("libogg" ,libogg)
("libva" ,libva)
("libvorbis" ,libvorbis)
("libxinerama" ,libxinerama)
("libxrandr" ,libxrandr)
("mesa" ,mesa)
("pcre" ,pcre)
("pulseaudio" ,pulseaudio)
("sdl" ,sdl2)
("udev" ,eudev)
("zlib" ,zlib)))
(synopsis "Advanced rhythm game designed for both home and arcade use")
(description "StepMania is a dance and rhythm game. It features 3D
graphics, keyboard and dance pad support, and an editor for creating your own
steps.
This package provides the core application, but no song is shipped. You need
to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
(home-page "https://www.stepmania.com")
(license license:expat)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
@ -33,12 +33,17 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages glib)
@ -559,56 +564,184 @@ security standards.")
(sha256 (base32 hash))
(file-name file-name)))
(define* (computed-origin-method gexp-promise hash-algo hash
#:optional (name "source")
#:key (system (%current-system))
(guile (default-guile)))
"Return a derivation that executes the G-expression that results
from forcing GEXP-PROMISE."
(mlet %store-monad ((guile (package->derivation guile system)))
(gexp->derivation (or name "computed-origin")
(force gexp-promise)
#:system system
#:guile-for-build guile)))
(define %icecat-version "60.5.0-guix1")
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
;; script from the upstream IceCat project.
(define icecat-source
(let* ((base-version (first (string-split %icecat-version #\-)))
(major-version (first (string-split base-version #\.)))
(minor-version (second (string-split base-version #\.)))
(sub-version (third (string-split base-version #\.)))
(upstream-firefox-version (string-append base-version "esr"))
(upstream-firefox-source
(origin
(method url-fetch)
(uri (string-append
"https://ftp.mozilla.org/pub/firefox/releases/"
upstream-firefox-version "/source/"
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"09a0kk250r03984n1hdwr2rg1vmhi2jkyzzgbbvkf9h9hzp6j7qs"))))
(upstream-icecat-base-version "60.3.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")
(upstream-icecat-version (string-append upstream-icecat-base-version
"-gnu"
upstream-icecat-gnu-version))
(upstream-icecat-source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gnuzilla/" upstream-icecat-base-version
"/icecat-" upstream-icecat-version ".tar.bz2"))
(sha256
(base32
"0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))))
(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(gnuzilla-source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnuzilla.git")
(commit gnuzilla-commit)))
(file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
(sha256
(base32
"19wal7hkbb4wvk40hs6d7a5paal2bfday08hwssm02srcbv48fj0"))))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
(origin
(method computed-origin-method)
(file-name (string-append "icecat-" %icecat-version ".tar.xz"))
(sha256 #f)
(uri
(delay
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((firefox-dir
(string-append "firefox-" #$base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-version))
(old-icecat-dir
(string-append "icecat-" #$upstream-icecat-base-version)))
(mkdir "/tmp/bin")
(set-path-environment-variable
"PATH" '("bin")
(list "/tmp"
#+(canonical-package bash)
#+(canonical-package coreutils)
#+(canonical-package findutils)
#+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package sed)
#+(canonical-package grep)
#+(canonical-package bzip2)
#+(canonical-package gzip)
#+(canonical-package tar)
#+rename))
(symlink #+(file-append rename "/bin/rename")
"/tmp/bin/prename")
;; We copy the gnuzilla source directory because it is
;; read-only in 'gnuzilla-source', and the makeicecat script
;; uses "cp -a" to copy parts of it and assumes that the
;; copies will be writable.
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
#:log (%make-void-port "w"))
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
(substitute* "makeicecat"
(("^FFMAJOR=.*")
(string-append "FFMAJOR=" #$major-version "\n"))
(("^FFMINOR=.*")
(string-append "FFMINOR=" #$minor-version "\n"))
(("^FFSUB=.*")
(string-append "FFSUB=" #$sub-version "\n"))
(("^GNUVERSION=.*")
(string-append "GNUVERSION="
#$upstream-icecat-gnu-version "\n"))
(("^DATA=.*")
"DATA=/tmp/gnuzilla/data\n")
(("^sed .* debian/" all)
(string-append "echo warning: skipped: " all))
(("^debian/rules " all)
(string-append "echo warning: skipped: " all))
(("^find extensions/gnu/ ")
"find extensions/gnu/ | sort ")
(("/bin/sed")
#+(file-append (canonical-package sed) "/bin/sed"))))
(format #t "Unpacking upstream firefox tarball...~%")
(force-output)
(invoke "tar" "xf" #+upstream-firefox-source)
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(for-each mkdir-p '("l10n" "debian/config"))
(call-with-output-file "debian/control" (const #t))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(for-each delete-file-recursively '("l10n" "debian")))
(format #t (string-append "Unpacking l10n/* and debian/* from"
" upstream IceCat tarball...~%"))
(force-output)
(unless (string=? icecat-dir old-icecat-dir)
(symlink icecat-dir old-icecat-dir))
(invoke "tar" "xf" #+upstream-icecat-source
(string-append old-icecat-dir "/l10n")
(string-append old-icecat-dir "/debian"))
(format #t (string-append "Packing new IceCat tarball...~%"))
(force-output)
(invoke "tar" "cfa" #$output
;; avoid non-determinism in the archive
"--mtime=@0"
"--owner=root:0"
"--group=root:0"
"--sort=name"
icecat-dir)
#t))))))))
(define-public icecat
(package
(name "icecat")
(version "60.3.0-gnu1")
(version %icecat-version)
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnuzilla/"
(first (string-split version #\-))
"/" name "-" version ".tar.bz2"))
(sha256
(base32
"0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))
(patches
(list
(search-patch "icecat-avoid-bundled-libraries.patch")
(search-patch "icecat-use-system-graphite2+harfbuzz.patch")
(search-patch "icecat-use-system-media-libs.patch")
(mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
(mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
(mozilla-patch "icecat-CVE-2018-17466.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
(mozilla-patch "icecat-CVE-2018-18498.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
(mozilla-patch "icecat-CVE-2018-12405-pt01.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
(mozilla-patch "icecat-CVE-2018-18492.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
(mozilla-patch "icecat-CVE-2018-18493.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
(mozilla-patch "icecat-CVE-2018-12405-pt02.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
(mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
(mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
(mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
(mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")
(mozilla-patch "icecat-CVE-2018-12405-pt04.patch" "6398541ec302" "1c2yi7mkg3d5afxsgj9fp3zq8yhkmphrll5d60d5xsdv88kqqiyf")
(mozilla-patch "icecat-bug-1496736.patch" "3bed863ee656" "038k7jk3yp16410crwfdvhyb2vis49c6bplrfr83v51885cqldar")
(mozilla-patch "icecat-bug-1498765.patch" "a08c8493ba19" "0bwg4vg03j962lb9q8ihpiy4rmygykf1q9ij8x7h34q7hg43yjya")
(mozilla-patch "icecat-CVE-2018-12405-pt05.patch" "ee204e26690e" "1scs45xhlr1mwv6x2q6n22363f42by8cjmifqwzlikggs21f5mcq")
(mozilla-patch "icecat-bug-1507035.patch" "cec8b58ab3fe" "1f131ibpkrhsa44l822hnm5qgvapbs3i9pj25iimdwvr933winz8")
(mozilla-patch "icecat-bug-1501680.patch" "282c6bb81562" "1zgw7l5zmni8468y3f6cip1nlw63cfdd9vv9b00cbrgy96d1q2cp")
(mozilla-patch "icecat-bug-1500310.patch" "b3a439a26186" "0mrjxcmrlv04fyl36dwxk97dw08g2hlikvw2hfa1l0y8zsc4bgw8")
(mozilla-patch "icecat-bug-1500366.patch" "abd59256c4e3" "1jgwh2v4kwb6kf2h7mwf128w1k1jj119bfhlgqpmn9ami35wpzf3")
(mozilla-patch "icecat-bug-1493080.patch" "a7cabf306d05" "1n7wv67rcaz8wj31jc77ssjdj3kb61gdg7pigj828c5z2cgns1k5")
(mozilla-patch "icecat-CVE-2018-12405-pt06.patch" "8bbf80948b50" "1nvc69zgz9nvbw1pwxkil1fx4cxxpr6bsjrpp6l2kv7jhgax1bqk")
(mozilla-patch "icecat-bug-1507564.patch" "60619cc47b10" "09fanqr08kqgraw4xp7y2az4jc7ia8nn200rqjfj20vmkyjz97j3")
(mozilla-patch "icecat-bug-1507730.patch" "dd0f01818b9c" "14ziq1bm72n58xrvsgzpjj5z6ifpvi70r5jfhbkbj69mf4y4cx2z")
(mozilla-patch "icecat-CVE-2018-12405-pt07.patch" "a73a46ddc848" "1bvvyav3xyn6rgn6haicinxn0dasl9dyc1i37fyb7wr5wcpahybs")
(mozilla-patch "icecat-CVE-2018-18494.patch" "a72ec8e21577" "095zghmwdcbaid5426p9vpl757d8sfbsvgn201bjm7nhm03m4z7i")
(mozilla-patch "icecat-CVE-2018-12405-pt08.patch" "b6d0fc61fd0b" "0059avawxi4s4747plybjsjq8j2h4z7amw05p28xyg95a2njwnaa")
(mozilla-patch "icecat-bug-1499028.patch" "a62ede2dd3bc" "0ikmnibni8bdvpr9p42wskyyic08vzqdz5qr028bqzyg5119gily")
(mozilla-patch "icecat-bug-1426574.patch" "0db86656655b" "0kmccb4ccdzbzncwklx7w1bg7r61zwl2wnfp67vl27hm9xykbck7")
(mozilla-patch "icecat-CVE-2018-12405-pt09.patch" "20e31905de62" "0b5a441645wy3q4asaygvdq0inrxmxrh33cpgdp6ngflq9p2i6h0")
(mozilla-patch "icecat-CVE-2018-12405-pt10.patch" "c2832f98fe51" "0b4jfjfdyrihwjdfavd54hn9kdg2f017lmfr7mj2llp71flxwwj7")
(mozilla-patch "icecat-bug-1511495.patch" "d428d2b8f585" "1f9xs0bjhbphvkv60cnvz34sr2rv38jzvi47wh3nablg41yjpdrk")))
(inherit icecat-source)
(patches (search-patches "icecat-avoid-bundled-libraries.patch"
"icecat-use-system-graphite2+harfbuzz.patch"
"icecat-use-system-media-libs.patch"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -406,7 +406,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.9)
(name "go")
(version "1.11.4")
(version "1.11.5")
(source
(origin
(method url-fetch)
@ -414,11 +414,23 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
"05fvp8dq0yffsrvdyii4wgl756dn0xkgm5a80al7j7kb19r45zac"))))
"0gllmbjvp12iszwils8id78mvjxwviwf98lh2gdkb236n4mz07mw"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.9)
((#:phases phases)
`(modify-phases ,phases
;; XXX Work around the Go 1.11.5 tarbomb.
;; <https://github.com/golang/go/issues/29906>
(add-after 'unpack 'tarbomb-workaround
(lambda _
(chdir "..")
(delete-file-recursively "gocache")
(delete-file-recursively "tmp")
#t))
(replace 'chdir
(lambda _
(chdir "go/src")
#t))
(replace 'prebuild
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))

View File

@ -74,6 +74,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages cups)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)

1841
gnu/packages/guile-xyz.scm Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -155,15 +155,15 @@ of external libraries that provide additional functionality.")
(define-public vtk
(package
(name "vtk")
(version "7.1.0")
(version "8.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.vtk.org/files/release/"
(uri (string-append "https://vtk.org/files/release/"
(version-major+minor version)
"/VTK-" version ".tar.gz"))
(sha256
(base32
"0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
"1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))))
(build-system cmake-build-system)
(arguments
'(#:build-type "Release" ;Build without '-g' to save space.
@ -196,7 +196,7 @@ of external libraries that provide additional functionality.")
("png" ,libpng)
("tiff" ,libtiff)
("zlib" ,zlib)))
(home-page "http://www.vtk.org/")
(home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description
"The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,

View File

@ -957,7 +957,7 @@ language bindings to VIGRA.")
(define-public libwebp
(package
(name "libwebp")
(version "1.0.1")
(version "1.0.2")
(source
(origin
;; No tarballs are provided for >0.6.1.
@ -968,7 +968,7 @@ language bindings to VIGRA.")
(file-name (git-file-name name version))
(sha256
(base32
"09l4pq4k2acglkmwr96arn79rssl54sv7vrdrgsxqlg7v8c882zh"))))
"1ay0sai7f74dyk2gi975qfllmq534vnsx456npf16583mqb6ib2q"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)

View File

@ -1860,6 +1860,231 @@ new Date();"))
("which" ,which)
("zip" ,zip)))))
(define-public openjdk11
(package
(name "openjdk")
(version "11.28")
(source (origin
(method url-fetch)
(uri "http://hg.openjdk.java.net/jdk/jdk/archive/76072a077ee1.tar.bz2")
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"0v705w1s9lrqalzahir78pk397rkk9gfvzq821yv8h3xha0bqi6w"))
(modules '((guix build utils)))
(snippet
`(begin
(for-each delete-file (find-files "." ".*.bin$"))
(for-each delete-file (find-files "." ".*.exe$"))
(for-each delete-file (find-files "." ".*.jar$"))
#t))))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
`(#:imported-modules
((guix build syscalls)
(ice-9 binary-ports)
(rnrs bytevectors)
,@%gnu-build-system-modules)
#:tests? #f; requires jtreg
;; TODO package jtreg
;; disable parallel builds, as the openjdk build system does not like -j
#:parallel-build? #f
#:parallel-tests? #f
;; reenable parallel builds and tests by adding the flags manually
#:make-flags (list (string-append "JOBS=" (number->string (parallel-job-count))))
#:configure-flags
`("--disable-option-checking" ; --enable-fast-install default flag errors otherwise
"--disable-warnings-as-errors"
;; make validate-runpath pass, see: http://issues.guix.info/issue/32894
"--with-native-debug-symbols=zipped"
;; do not use the bundled libraries
"--with-giflib=system"
"--with-lcms=system"
"--with-libjpeg=system"
"--with-libpng=system"
;; allow the build system to locate the system freetype
,(string-append "--with-freetype-include="
(assoc-ref %build-inputs "freetype") "/include")
,(string-append "--with-freetype-lib="
(assoc-ref %build-inputs "freetype") "/lib"))
;; TODO
#:phases
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'fix-java-shebangs
(lambda _
;; This file was "fixed" by patch-source-shebangs, but it requires
;; this exact first line.
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
#t))
(replace 'build
(lambda _
(with-output-to-file ".src-rev"
(lambda _
(display ,version)))
(setenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES" "yes")
(invoke "make" "all")
#t))
;; jdk 11 does not build jre by default any more
;; building it anyways
;; for further information see:
;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356
(add-after 'build 'build-jre
(lambda _
(invoke "make" "legacy-jre-image")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(jdk (assoc-ref outputs "jdk"))
(doc (assoc-ref outputs "doc"))
(images (car (find-files "build" ".*-server-release"
#:directories? #t))))
(copy-recursively (string-append images "/images/jdk") jdk)
(copy-recursively (string-append images "/images/jre") out)
(copy-recursively (string-append images "/images/docs") doc))
#t))
;; Some of the libraries in the lib/ folder link to libjvm.so.
;; But that shared object is located in the server/ folder, so it
;; cannot be found. This phase creates a symbolic link in the
;; lib/ folder so that the other libraries can find it.
;;
;; See:
;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
;;
;; FIXME: Find the bug in the build system, so that this symlink is
;; not needed.
(add-after 'install 'install-libjvm
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((lib-out (string-append (assoc-ref outputs "out")
"/lib"))
(lib-jdk (string-append (assoc-ref outputs "jdk")
"/lib")))
(symlink (string-append lib-jdk "/server/libjvm.so")
(string-append lib-jdk "/libjvm.so"))
(symlink (string-append lib-out "/server/libjvm.so")
(string-append lib-out "/libjvm.so")))
#t))
(add-after 'install 'strip-character-data-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(use-modules (guix build syscalls))
(let ((archive (string-append
(assoc-ref outputs "jdk") "/lib/src.zip"))
(dir (mkdtemp! "zip-contents.XXXXXX")))
(with-directory-excursion dir
(invoke "unzip" archive))
(delete-file archive)
(with-directory-excursion dir
(let ((char-data-files (find-files "." "CharacterData.*")))
(for-each (lambda (file)
(substitute* file
(((string-append "This file was generated "
"AUTOMATICALLY from a template "
"file.*"))
(string-append "This file was generated "
"AUTOMATICALLY from a template "
"file"))))
char-data-files)))
(with-directory-excursion dir
(let ((files (find-files "." ".*" #:directories? #t)))
(apply invoke "zip" "-0" "-X" archive files))))))
(add-after 'strip-character-data-timestamps 'strip-archive-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(use-modules (guix build syscalls)
(ice-9 binary-ports)
(rnrs bytevectors))
(letrec ((repack-archive
(lambda (archive)
(let ((dir (mkdtemp! "zip-contents.XXXXXX")))
(with-directory-excursion dir
(invoke "unzip" archive))
(delete-file archive)
(for-each (compose repack-archive canonicalize-path)
(find-files dir "(ct.sym|.*.jar)$"))
(let ((reset-file-timestamp
(lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
(format #t "reset ~a~%" file)
(utime file 0 0 0 0))))))
(for-each reset-file-timestamp
(find-files dir #:directories? #t)))
(with-directory-excursion dir
(let ((files (find-files "." ".*" #:directories? #t)))
(apply invoke "zip" "-0" "-X" archive files)))))))
(for-each repack-archive
(find-files (assoc-ref outputs "doc") ".*.zip$"))
(for-each repack-archive
(find-files (assoc-ref outputs "jdk")
".*.(zip|jar|diz)$"))
(repack-archive (string-append (assoc-ref outputs "jdk") "/lib/ct.sym"))
(let ((repack-jmod
(lambda (file-name)
(call-with-input-file file-name
(lambda (file)
(let ((header #vu8(#x4a #x4d #x01 #x00)))
(if (equal? (get-bytevector-n
file (bytevector-length header))
header)
(let* ((header-length (bytevector-length header))
(temp-file (mkstemp!
(string-copy
"temp-file.XXXXXX")))
(temp-filename (port-filename temp-file))
(content-length
(- (stat:size (stat file))
header-length)))
(sendfile temp-file file content-length header-length)
(delete-file file-name)
(close-port temp-file)
(repack-archive (canonicalize-path temp-filename))
(call-with-output-file file-name
(lambda (file)
(put-bytevector file header)
(call-with-input-file temp-filename
(lambda (temp-file)
(sendfile
file temp-file
(stat:size (stat temp-file)) 0)))))))))))))
(for-each repack-jmod
(find-files (assoc-ref outputs "jdk") ".*.jmod$")))
#t)))
(add-after 'install 'remove-timestamp-from-api-summary
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (string-append (assoc-ref outputs "doc")
"/api/overview-summary.html")
(("Generated by javadoc \\(11-internal\\).*$")
"Generated by javadoc (11-internal) -->\n"))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("cups" ,cups)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("giflib" ,giflib)
("lcms" ,lcms)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libx11" ,libx11)
("libxext" ,libxext)
("libxrender" ,libxrender)
("libxt" ,libxt)
("libxtst" ,libxtst)))
(native-inputs
`(("autoconf" ,autoconf)
("openjdk10" ,openjdk10)
("openjdk10:jdk" ,openjdk10 "jdk")
("pkg-config" ,pkg-config)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))
(home-page "https://openjdk.java.net/projects/jdk/11/")
(synopsis "Java development kit")
(description
"This package provides the Java development kit OpenJDK.")
(license license:gpl2+)))
(define-public icedtea icedtea-8)

View File

@ -573,11 +573,14 @@ propagate their changes to their respective configuration files.")
(modify-phases %standard-phases
(add-before 'check 'blacklist-failing-test
(lambda _
;; Blacklist a failing test-function. FIXME: Make it pass.
;; Test failure caused by stout/stderr being interleaved.
;; Blacklist failing tests.
(with-output-to-file "autotests/BLACKLIST"
(lambda _
(display "[test_channels]\n*\n")))
;; FIXME: Make it pass. Test failure caused by stout/stderr
;; being interleaved.
(display "[test_channels]\n*\n")
;; This fails with ENOSPC because of too many inotify watches.
(display "[benchNotifyWatcher]\n*\n")))
#t))
;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
(add-after 'unpack 'fix-broken-test
@ -636,7 +639,7 @@ many more.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Convenience classes for DBus")
(description "KDBusAddons provides convenience classes on top of QtDBus,
@ -1175,7 +1178,7 @@ lower level classes for interaction with the X Windowing System.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt wrapper for ModemManager DBus API")
(description "ModemManagerQt provides access to all ModemManager features
@ -1214,7 +1217,7 @@ messages.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt wrapper for NetworkManager DBus API")
(description "NetworkManagerQt provides access to all NetworkManager
@ -1327,7 +1330,7 @@ feel.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(native-inputs
`(("bison" ,bison)
("dbus" ,dbus)
@ -1497,7 +1500,7 @@ with other frameworks.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Execute actions as privileged user")
(description "KAuth provides a convenient, system-integrated way to offload
@ -1806,7 +1809,7 @@ asynchronous jobs.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Desktop notifications")
(description "KNotification is used to notify the user of an event. It
@ -2011,7 +2014,7 @@ gallons).")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "ctest" ".")))))))
(invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "File searching and indexing")
(description "Baloo provides file searching and indexing. It does so by
@ -3534,8 +3537,8 @@ workspace.")
(lambda _
(display "[testSmb]\n*\n")))
;; kuniqueapptest hangs. FIXME: Make this test pass.
(zero? (system* "dbus-launch" "ctest" "."
"-E" "kstandarddirstest|kuniqueapptest")))))))
(invoke "dbus-launch" "ctest" "."
"-E" "kstandarddirstest|kuniqueapptest"))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "KDE Frameworks 5 porting aid from KDELibs4")
(description "This framework provides code and utilities to ease the

View File

@ -318,7 +318,7 @@ plugins, as well as code to create plugins, or complete applications.")
(define-public krita
(package
(name "krita")
(version "4.1.5")
(version "4.1.7.101")
(source (origin
(method url-fetch)
(uri (string-append
@ -327,7 +327,7 @@ plugins, as well as code to create plugins, or complete applications.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
"1by8p8ifdp03f05bhg8ygdd1j036anfpjjnzbx63l2fbmy9k6q10"))))
"0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
@ -571,7 +571,7 @@ basic needs and easy to configure for those who want special setups.")
(replace 'check
(lambda _
;; TODO: Fix this failing test-case
(zero? (system* "ctest" "-E" "processtest")))))))
(invoke "ctest" "-E" "processtest"))))))
(home-page "https://www.kde.org/info/plasma-5.13.4.php")
(synopsis "Network enabled task and system monitoring")
(description "KSysGuard can obtain information on system load and

View File

@ -413,8 +413,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %linux-libre-version "4.20.4")
(define %linux-libre-hash "1p7ixkqvnr0mzyivyby8hfix44np7w1nvyxghz8wa1h2nhsszvzv")
(define %linux-libre-version "4.20.5")
(define %linux-libre-hash "1fis4izy97d35wb5626av235agn22ww8dfmmcdlbiay37ihwwm98")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@ -427,8 +427,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.17")
(define %linux-libre-4.19-hash "0friqd9wyhddjli4m41wd994ygnwng40a95ry14478rkadfv7iwh")
(define %linux-libre-4.19-version "4.19.18")
(define %linux-libre-4.19-hash "1m3qbd09zd7llq0fjsccyjr070n6szl5dj10qrlpd54bnvry22fc")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -441,8 +441,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.95")
(define %linux-libre-4.14-hash "07bxbwb5fan96aws6g91vxkrvl80a53wjbl8xkh4q3c6iah8wkvf")
(define %linux-libre-4.14-version "4.14.96")
(define %linux-libre-4.14-hash "03g28n9n4ci8y2qs59vili7dkqag7fmhr9q6ah8l66qn37d375k9")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -451,14 +451,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.152"
"0qssksykzbcy58aqvmxk9h1xpaqvfwp31xvxfmwxdh7z4n3yn60y"
(make-linux-libre "4.9.153"
"1ks910wk4nggp7ygai2pnr5b61ix2j3gxk95rv9wkd5za15sgbqa"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.171"
"01jd2672fq633xw5vdmifvd6dy93pif28xkvymah82jm9xj1lbqh"
(make-linux-libre "4.4.172"
"000bz3jfg0li3rwlf2c80df6682lhi59hj1kwm4hw7whgg69xi7b"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
@ -400,7 +400,8 @@ code analysis tools.")
(clang-runtime-from-llvm
llvm-3.5
"1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
'("clang-runtime-asan-build-fixes.patch")))
'("clang-runtime-asan-build-fixes.patch"
"clang-3.5-libsanitizer-ustat-fix.patch")))
(define-public clang-3.5
(clang-from-llvm llvm-3.5 clang-runtime-3.5

View File

@ -27,6 +27,7 @@
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -76,6 +77,7 @@
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages flex)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
@ -259,14 +261,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "1.11.0")
(version "1.11.2")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
"1qqhkhlzvjj0iih8vm0wfagv4fzqqy1wnsb4sqsfv7w06ccjdjcj"))
"08w7lbhj5ba2zkjcd0cxkgfiy9y82yhg731xjg9i9292kz1x8p6s"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@ -1071,7 +1073,7 @@ which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
(version "1.8.1")
(version "1.8.2")
(source
(origin
(method url-fetch)
@ -1079,7 +1081,7 @@ which can add many functionalities to the base client.")
"/msmtp-" version ".tar.xz"))
(sha256
(base32
"1nm4vizrnrrnknc4mc8nr7grz9q76m1vraa0hsl5rfm34gnsg8ph"))))
"14w7lmw1jxlganfk089b0ib23y5917mxbg3xqpid007dd4cmq66i"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
@ -2651,8 +2653,8 @@ replacement for the @code{urlview} program.")
(license gpl2+)))
(define-public mumi
(let ((commit "bfd96ce76b4600ae232e6548b26c9365095fd174")
(revision "2"))
(let ((commit "ea5a738010148284aed211da953ad670003aefea")
(revision "3"))
(package
(name "mumi")
(version (git-version "0.0.0" revision commit))
@ -2664,7 +2666,7 @@ replacement for the @code{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
"05miwfi1bh0v9x2gvn15bwkb3gn4xy53z506ysjzns2y497zkc5h"))))
"0ci5x8dqjmp74w33q2dbs5csxp4ilfmc1xxaa8q2jnh52d7597hl"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
@ -241,7 +241,7 @@ automatically.")
(define-public scdoc
(package
(name "scdoc")
(version "1.6.0")
(version "1.8.1")
(source
(origin
(method url-fetch)
@ -250,7 +250,7 @@ automatically.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ca3js4arkg28gg2iszxxyrq7kgsrz482d1szv5dfd471h3vr5m3"))))
"1f3qrnbjr9ikbdvpsyx726nyiz4f7ka38rimy9fvbl7kmi62w1v7"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc")

View File

@ -48,6 +48,7 @@
(define-module (gnu packages maths)
#:use-module (ice-9 regex)
#:use-module (ice-9 match)
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -2297,20 +2298,18 @@ also provides threshold-based ILU factorization preconditioners.")
(define-public superlu-dist
(package
(name "superlu-dist")
(version "5.3.0")
(version "6.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
"superlu_dist_" version ".tar.gz"))
(sha256
(base32 "0ja5ihqivkda1wd58y4lmzvmwssm9g91f70c5q0fzwhng6580h6y"))
(base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub
'(begin
(use-modules (ice-9 regex)
(ice-9 rdelim))
(call-with-output-file "SRC/mc64ad_dist.c"
(lambda (port)
(display "
@ -2326,92 +2325,57 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
abort ();
}\n" port)))
(substitute* "SRC/util.c" ;adjust default algorithm
(("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag")
"RowPerm = NOROWPERM"))
(("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag_MC64;")
;; TODO: set to "LargeDiag_AWPM" once combinatorial-blas has
;; general (i.e. non-square) processor-grid support.
"RowPerm = NOROWPERM;"))
#t))
(patches (search-patches "superlu-dist-scotchmetis.patch"))))
(build-system gnu-build-system)
(patches (search-patches "superlu-dist-scotchmetis.patch"
"superlu-dist-awpm-grid.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(inputs
`(("gfortran" ,gfortran)))
`(("gfortran" ,gfortran)
("blas" ,openblas)
("lapack" ,lapack)
("combblas" ,combinatorial-blas)))
(propagated-inputs
`(("openmpi" ,openmpi) ;headers include MPI heades
("lapack" ,lapack) ;required to link with output library
("pt-scotch" ,pt-scotch))) ;same
`(("mpi" ,openmpi) ;headers include MPI heades
("parmetis" ,pt-scotch32 "metis")
("pt-scotch" ,pt-scotch32)))
(arguments
`(#:parallel-build? #f ;race conditions using ar
`(#:parallel-tests? #f ;tests use MPI and OpenMP
#:configure-flags (list "-DBUILD_SHARED_LIBS:BOOL=YES"
"-DTPL_ENABLE_COMBBLASLIB=YES"
"-DTPL_BLAS_LIBRARIES=-lopenblas"
"-DTPL_LAPACK_LIBRARIES=-llapack"
(string-append "-DTPL_PARMETIS_LIBRARIES="
(string-join
'("ptscotchparmetis" "ptscotch" "ptscotcherr"
"scotchmetis" "scotch" "scotcherr")
";"))
(string-append "-DTPL_PARMETIS_INCLUDE_DIRS="
(assoc-ref %build-inputs "parmetis")
"/include")
"-DTPL_ENABLE_COMBBLASLIB=ON"
(string-append "-DTPL_COMBBLAS_INCLUDE_DIRS="
(assoc-ref %build-inputs "combblas")
"/include/CombBLAS;"
(assoc-ref %build-inputs "combblas")
"/include/BipartiteMatchings")
"-DTPL_COMBBLAS_LIBRARIES=CombBLAS")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(call-with-output-file "make.inc"
(lambda (port)
(format port "
PLAT =
DSuperLUroot = ~a
DSUPERLULIB = ~a/lib/libsuperlu_dist.a
BLASDEF = -DUSE_VENDOR_BLAS
BLASLIB = -L~a/lib -lblas
PARMETISLIB = -L~a/lib \
-lptscotchparmetis -lptscotch -lptscotcherr -lptscotcherrexit \
-lscotch -lscotcherr -lscotcherrexit
METISLIB = -L~:*~a/lib \
-lscotchmetis -lscotch -lscotcherr -lscotcherrexit
LIBS = $(DSUPERLULIB) $(PARMETISLIB) $(METISLIB) $(BLASLIB)
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
CC = mpicc
PIC = -fPIC
CFLAGS = -O3 -g -DPRNTlevel=0 $(PIC)
NOOPTS = -O0 -g $(PIC)
FORTRAN = mpifort
FFLAGS = -O2 -g $(PIC)
LOADER = $(CC)
CDEFS = -DAdd_"
(getcwd)
(assoc-ref outputs "out")
(assoc-ref inputs "lapack")
(assoc-ref inputs "pt-scotch"))))
#t))
(add-after 'unpack 'remove-broken-symlinks
(add-before 'configure 'set-c++-standard
(lambda _
(for-each delete-file
(find-files "MAKE_INC" "\\.#make\\..*"))
#t))
(add-before 'build 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (dir)
(mkdir-p (string-append (assoc-ref outputs "out")
"/" dir)))
'("lib" "include"))
#t))
(substitute* "CMakeLists.txt"
;; AWPM headers require C++14
(("CMAKE_CXX_STANDARD 11") "CMAKE_CXX_STANDARD 14"))))
(add-before 'check 'mpi-setup
,%openmpi-setup)
(replace 'check
(lambda _
(with-directory-excursion "EXAMPLE"
(invoke "mpirun" "-n" "2"
"./pddrive" "-r" "1" "-c" "2" "g20.rua")
(invoke "mpirun" "-n" "2"
"./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Library is placed in lib during the build phase. Copy over
;; headers to include.
(let* ((out (assoc-ref outputs "out"))
(incdir (string-append out "/include")))
(for-each (lambda (file)
(let ((base (basename file)))
(format #t "installing `~a' to `~a'~%"
base incdir)
(copy-file file
(string-append incdir "/" base))))
(find-files "SRC" ".*\\.h$")))
#t)))))
(add-before 'check 'omp-setup
(lambda _ (setenv "OMP_NUM_THREADS" "1") #t)))))
(home-page (package-home-page superlu))
(synopsis "Parallel supernodal direct solver")
(description
@ -2423,25 +2387,25 @@ implemented in ANSI C, and MPI for communications.")
(define-public scotch
(package
(name "scotch")
(version "6.0.5a")
(version "6.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"latestfile/298/scotch_" version ".tar.gz"))
(sha256
(base32 "0vsmgjz8qv80di3ljmc7hbdsizxxxwy2b9rgd2fl1mdc6dgbj8av"))
(patches (search-patches "scotch-test-threading.patch"
"scotch-build-parallelism.patch"
"scotch-graph-induce-type-64.patch"
"scotch-graph-diam-64.patch"))))
(base32 "1ky4k9r6jvajhqaqnnx6h8fkmds2yxgp70dpr1qzwcyhi2nhqvv8"))
(patches (search-patches "scotch-build-parallelism.patch"
"scotch-integer-declarations.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("flex" ,flex)
("bison" ,bison)))
(outputs '("out" "metis"))
(arguments
`(#:phases
`(#:make-flags (list (string-append "prefix=" %output))
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'chdir-to-src
@ -2476,7 +2440,7 @@ YACC = bison -pscotchyy -y -b y
'("COMMON_FILE_COMPRESS_GZ"
"COMMON_PTHREAD"
"COMMON_RANDOM_FIXED_SEED"
"INTSIZE64" ;use 'long' instead of 'int'
"INTSIZE64" ;use 'int64_t'
;; Prevents symbolc clashes with libesmumps
"SCOTCH_RENAME"
;; XXX: Causes invalid frees in superlu-dist tests
@ -2489,22 +2453,21 @@ YACC = bison -pscotchyy -y -b y
(invoke "make"
(format #f "-j~a" (parallel-job-count))
"esmumps")))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir out)
(invoke "make"
(string-append "prefix=" out)
"install")
;; esmumps files are not installed with the above
(for-each (lambda (f)
(copy-file f (string-append out "/include/" f)))
(find-files "../include" ".*esmumps.h$"))
(for-each (lambda (f)
(copy-file f (string-append out "/lib/" f)))
(find-files "../lib" "^lib.*esmumps.*"))
#t))))))
(add-before 'install 'make-install-dirs
(lambda* (#:key outputs #:allow-other-keys)
(mkdir (assoc-ref outputs "out"))))
(add-after 'install 'install-metis
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "metis")))
(mkdir out)
;; metis files are not installed with 'make install'
(for-each (lambda (f)
(install-file f (string-append out "/include")))
(find-files "../include/" ".*metis\\.h"))
(for-each (lambda (f)
(install-file f (string-append out "/lib")))
(find-files "../lib/" ".*metis\\..*"))
#t))))))
(home-page "http://www.labri.fr/perso/pelegrin/scotch/")
(synopsis "Programs and libraries for graph algorithms")
(description "SCOTCH is a set of programs and libraries which implement
@ -2742,6 +2705,7 @@ to BMP, JPEG or PNG image formats.")
(inputs
`(("gcl" ,gcl)
("gnuplot" ,gnuplot) ;for plots
("sed" ,sed)
("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
`(("texinfo" ,texinfo)
@ -2764,6 +2728,17 @@ to BMP, JPEG or PNG image formats.")
#:make-flags (list "TMPDIR=/tmp")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((sed (string-append (assoc-ref inputs "sed") "/bin/sed"))
(coreutils (assoc-ref inputs "coreutils"))
(dirname (string-append coreutils "/bin/dirname"))
(head (string-append coreutils "/bin/head")))
(substitute* "src/maxima.in"
(("sed ") (string-append sed " "))
(("dirname") dirname)
(("head") head))
#t)))
(add-before 'check 'pre-check
(lambda _
(chmod "src/maxima" #o555)
@ -3531,7 +3506,11 @@ in finite element programs.")
``("-DMPI_C_COMPILER=mpicc"
"-DMPI_CXX_COMPILER=mpicxx"
"-DMPI_Fortran_COMPILER=mpifort"
,@,cf))))
,@,cf))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'check 'mpi-setup
,%openmpi-setup)))))
(synopsis "Finite element library (with MPI support)")))
(define-public flann
@ -4215,3 +4194,53 @@ easily be incorporated into existing simulation codes.")
(add-before 'check 'mpi-setup
,%openmpi-setup)))))
(synopsis "SUNDIALS with OpenMPI support")))
(define-public combinatorial-blas
(package
(name "combinatorial-blas")
(version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://eecs.berkeley.edu/~aydin/CombBLAS_FILES/"
"CombBLAS_beta_"
(match (string-split version #\.)
((major minor patch)
(string-append major minor "_" patch))) ;e.g. "16_2"
".tgz"))
(sha256
(base32
"1a9wbgdqyy1whhfc0yl0yqkax3amnqa6iihhq48d063gc0jwfd9a"))
(patches (search-patches "combinatorial-blas-awpm.patch"
"combinatorial-blas-io-fix.patch"))))
(build-system cmake-build-system)
(inputs
`(("mpi" ,openmpi)
("test-data" ,(origin
(method url-fetch)
(uri (string-append "https://people.eecs.berkeley.edu/~aydin/"
"CombBLAS_FILES/testdata_combblas1.6.1.tgz"))
(sha256
(base32
"01y2781cy3fww7znmidrp85mf8zx0c905w5vzvk1mgrmhhynim87"))))))
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"
"-DCMAKE_CXX_FLAGS=-DUSE_FUNNEL")
#:parallel-tests? #f ;tests use 'mpiexec -n4'
#:phases
(modify-phases %standard-phases
(add-before 'check 'mpi-setup
,%openmpi-setup)
(add-before 'check 'test-setup
(lambda* (#:key inputs #:allow-other-keys)
(setenv "OMP_NUM_THREADS" "2")
(invoke "tar" "xf" (assoc-ref inputs "test-data")))))))
(home-page "https://people.eecs.berkeley.edu/~aydin/CombBLAS/html/")
(synopsis "Linear algebra primitives for graph analytics")
(description "The Combinatorial BLAS (CombBLAS) is an extensible
distributed-memory parallel graph library offering a small but powerful set of
linear algebra primitives specifically targeting graph analytics.")
(license (list
license:gpl2+ ;include/psort/(funnel|sort)*.h
license:x11 ;usort and psort
license:bsd-3)))) ;CombBLAS and MersenneTwister.h

View File

@ -50,7 +50,7 @@
;; to migrate to 2.0.
(package
(name "hwloc")
(version "1.11.10")
(version "1.11.12")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@ -58,7 +58,7 @@
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b"))))
"0za1b9lvrm3rhn0lrxja5f64r0aq1qs4m0pxn1ji2mbi8ndppyyx"))))
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
@ -128,7 +128,7 @@ bind processes, and much more.")
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc)
(version "2.0.2")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@ -136,7 +136,7 @@ bind processes, and much more.")
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l"))))
"09f7ajak8wv5issr0hw72vs3jkldc7crcc7z5fd34sspkvrsm4z3"))))
;; libnuma is no longer needed.
(inputs (alist-delete "numactl" (package-inputs hwloc)))

View File

@ -10,7 +10,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -19,6 +19,7 @@
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2577,6 +2578,28 @@ MusicBrainz database.")
(define-public python2-musicbrainzngs
(package-with-python2 python-musicbrainzngs))
(define-public python-isrcsubmit
(package
(name "python-isrcsubmit")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "isrcsubmit" version))
(sha256
(base32
"0jh4cni8qhri6dh83cmp0i0m0384vv0vznlygv49wj9xzh1d99qv"))))
(build-system python-build-system)
(propagated-inputs
`(("python-discid" ,python-discid)
("python-musicbrainzngs" ,python-musicbrainzngs)))
(home-page "https://github.com/JonnyJD/musicbrainz-isrcsubmit")
(synopsis "Submit ISRCs from CDs to MusicBrainz")
(description "@code{isrcsubmit} is a tool to extract @dfn{International
Standard Recording Code} (ISRCs) from audio CDs and submit them to
@url{https://musicbrainz.org/, MusicBrainz}.")
(license license:gpl3+)))
(define-public python2-pyechonest
(package
(name "python2-pyechonest")
@ -3613,7 +3636,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
(version "3.0")
(version "3.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3622,7 +3645,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
"0g8n8xpw5d6wh8bwbvy12sinl9i0ir009sr28i4izr28lr4x8v50"))
"085qwfv3fsgry1pnx531w83lnyvf7kbaklipdf8zqa9shi6d3x9i"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@ -4076,6 +4099,42 @@ it provides a submission URL for adding the disc ID to the database and gathers
ISRCs and the MCN (=UPC/EAN) from disc.")
(license license:lgpl2.1+)))
(define-public python-discid
(package
(name "python-discid")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "discid" version))
(sha256
(base32
"1fgp67nhqlbvhhwrcxq5avil7alpzw4s4579hlyvxzbphdnbz8vq"))))
(build-system python-build-system)
(inputs
`(("libdiscid" ,libdiscid)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-libdiscid
;; Set path of libdiscid
(lambda* (#:key inputs #:allow-other-keys)
(let ((discid (assoc-ref inputs "libdiscid")))
(substitute* "discid/libdiscid.py"
(("lib_name = (.*)$" all name)
(string-append "lib_name = \"" discid
"/lib/libdiscid.so.0\"\n")))
#t))))))
(home-page "https://python-discid.readthedocs.io/")
(synopsis "Python bindings for Libdiscid")
(description
"This package provides Python bindings for the Libdiscid library. The
main purpose is the calculation of @url{https://musicbrainz.org/doc/Disc%20ID,
Disc IDs} for use with the MusicBrainz database. Additionally the disc
@dfn{Media Catalog Number} (MCN) and track @dfn{International Standard
Recording Code} (ISRC) can be extracted.}")
(license license:lgpl3+)))
(define-public libmusicbrainz
(package
(name "libmusicbrainz")

View File

@ -547,7 +547,7 @@ and up to 1 Mbit/s downstream.")
(define-public whois
(package
(name "whois")
(version "5.4.0")
(version "5.4.1")
(source
(origin
(method url-fetch)
@ -555,7 +555,7 @@ and up to 1 Mbit/s downstream.")
name "_" version ".tar.xz"))
(sha256
(base32
"0y73b3z1akni620s1hlrijwdrk95ca1c8csjds48vpd6z86awx9p"))))
"0l7chmlvsl22r5cfm6fpm999z2n3sjrnx3ha8f8kf42cn4gmkriy"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite

View File

@ -52,6 +52,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages man)
@ -106,8 +107,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.16.0")
(commit "7ba2b27467a39956f10e2e11061d9569e4b7d632")
(revision 8))
(commit "4bddd12ad540d45a33a5f9f129b896843dca603f")
(revision 9))
(package
(name "guix")
@ -123,7 +124,7 @@
(commit commit)))
(sha256
(base32
"14srgkl0vyr6q7azv76nncp63gngmm71y18ybyj9f6l6s4shbcm4"))
"1abn4ghb25kn0cmr9dbb3q3fxdcc0g2fnnmbrykxv111s6ahdmlw"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -301,9 +302,6 @@ the Nix package manager.")
(license license:gpl3+)
(properties '((ftp-server . "alpha.gnu.org"))))))
;; Alias for backward compatibility.
(define-public guix-devel guix)
(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
;; the 'guix-daemon' program and use that in (guix self), used by 'guix

View File

@ -0,0 +1,67 @@
Install BipartiteMatchings headers for SuperLU_DIST.
--- a/BipartiteMatchings/ApproxWeightPerfectMatching.h
+++ b/BipartiteMatchings/ApproxWeightPerfectMatching.h
@@ -9,7 +9,7 @@
#ifndef ApproxWeightPerfectMatching_h
#define ApproxWeightPerfectMatching_h
-#include "../CombBLAS.h"
+#include "CombBLAS.h"
#include "BPMaximalMatching.h"
#include "BPMaximumMatching.h"
#include <parallel/algorithm>
--- a/BipartiteMatchings/BPMaximalMatching.h
+++ b/BipartiteMatchings/BPMaximalMatching.h
@@ -1,7 +1,7 @@
#ifndef BP_MAXIMAL_MATCHING_H
#define BP_MAXIMAL_MATCHING_H
-#include "../CombBLAS.h"
+#include "CombBLAS.h"
#include <iostream>
#include <functional>
#include <algorithm>
--- a/BipartiteMatchings/BPMaximumMatching.h
+++ b/BipartiteMatchings/BPMaximumMatching.h
@@ -1,7 +1,7 @@
#ifndef BP_MAXIMUM_MATCHING_H
#define BP_MAXIMUM_MATCHING_H
-#include "../CombBLAS.h"
+#include "CombBLAS.h"
#include <mpi.h>
#include <sys/time.h>
#include <iostream>
--- a/BipartiteMatchings/MatchingDefs.h
+++ b/BipartiteMatchings/MatchingDefs.h
@@ -9,7 +9,7 @@
#ifndef MatchingDefs_h
#define MatchingDefs_h
-#include "../CombBLAS.h"
+#include "CombBLAS.h"
#include <iostream>
namespace combblas {
--- a/BipartiteMatchings/Utility.h
+++ b/BipartiteMatchings/Utility.h
@@ -1,7 +1,7 @@
#ifndef BP_UTILITY_H
#define BP_UTILITY_H
-#include "../CombBLAS.h"
+#include "CombBLAS.h"
namespace combblas {
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,6 +68,7 @@ set_property(TARGET CombBLAS PROPERTY VERSION ${CombBLAS_VERSION})
# installation
install(DIRECTORY include/ DESTINATION include)
install(DIRECTORY psort-1.0/include/ DESTINATION include)
+install(DIRECTORY BipartiteMatchings DESTINATION include FILES_MATCHING PATTERN "*.h")
install(TARGETS CombBLAS EXPORT CombBLASTargets
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib

View File

@ -0,0 +1,14 @@
IO not appropriate in the context of a sorting routine, and in any case the
proper headers are not included, so gcc emits an undefined symbol error.
Remove the "printf" statement.
--- CombBLAS_beta_16_2/usort/include/usort/seqUtils.tcc
+++ CombBLAS_beta_16_2/usort/include/usort/seqUtils.tcc
@@ -142,7 +142,6 @@
}
if ( (a[nmax]==a[nmin]) && (ctr==0) )
{
- printf("All the numbers are identical, the list is sorted\n");
return;
}

View File

@ -1,7 +1,7 @@
Fixes needed when avoiding bundled libraries.
--- icecat-60.2.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
+++ icecat-60.2.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
--- icecat-60.5.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
+++ icecat-60.5.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -99,10 +99,5 @@
'/docshell/base',
]
@ -13,8 +13,8 @@ Fixes needed when avoiding bundled libraries.
-
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
CXXFLAGS += CONFIG['TK_CFLAGS']
--- icecat-60.2.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
+++ icecat-60.2.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
--- icecat-60.5.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
+++ icecat-60.5.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -117,7 +117,6 @@
DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
@ -23,8 +23,8 @@ Fixes needed when avoiding bundled libraries.
'/dom/base',
]
--- icecat-60.2.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
+++ icecat-60.2.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
--- icecat-60.5.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
+++ icecat-60.5.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
@@ -102,7 +102,6 @@
CXXFLAGS += ['-Wno-error=shadow']
@ -33,8 +33,8 @@ Fixes needed when avoiding bundled libraries.
'/dom/base',
'/dom/storage',
'/ipc/glue',
--- icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
+++ icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
--- icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
+++ icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
@@ -130,11 +130,6 @@
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"

View File

@ -0,0 +1,154 @@
Make some of the changes needed to the 'makeicecat' script, to allow it to run
in a snippet without network access. After this patch is applied, some
additional changes will be made using 'substitute*'.
diff --git a/makeicecat b/makeicecat
index aa46b94..db27a86 100644
--- a/makeicecat
+++ b/makeicecat
@@ -36,75 +36,75 @@ export DEBFULLNAME="Ruben Rodriguez"
DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
-mkdir output
-cd output
+# mkdir output
+# cd output
###############################################################################
# Retrieve FF source code
###############################################################################
-rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf
-
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
-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 24C6F355
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
-
-mv firefox-${FFVERSION} $SOURCEDIR
+# rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf
+#
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
+# 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 24C6F355
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
+#
+# mv firefox-${FFVERSION} $SOURCEDIR
###############################################################################
# Retrieve /debian from Ubuntu
###############################################################################
-rm -rf firefox.$CODENAME
-bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME
-cd firefox.$CODENAME
-bzr revert -r$REVISION
-echo '3.0 (native)' > debian/source/format
-
-for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch
-do
- rm debian/patches/$PATCH
- sed "/$PATCH/d" -i debian/patches/series
-done
-sed "/test-/d" -i debian/patches/series
-cd ..
-
-mv firefox.$CODENAME/debian $SOURCEDIR
-rm -rf firefox.$CODENAME
+# rm -rf firefox.$CODENAME
+# bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME
+# cd firefox.$CODENAME
+# bzr revert -r$REVISION
+# echo '3.0 (native)' > debian/source/format
+#
+# for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch
+# do
+# rm debian/patches/$PATCH
+# sed "/$PATCH/d" -i debian/patches/series
+# done
+# sed "/test-/d" -i debian/patches/series
+# cd ..
+#
+# mv firefox.$CODENAME/debian $SOURCEDIR
+# rm -rf firefox.$CODENAME
###############################################################################
# Retrieve l10n
###############################################################################
-mkdir l10n
-cd l10n
-while read line;do
- line=$(echo $line |cut -d' ' -f1)
- #[ $line = "es-ES" ] || continue # To speed up testing
- [ $line = "en-US" ] && continue
- hg clone https://hg.mozilla.org/l10n-central/$line
- mkdir -p $line/browser/chrome/browser/preferences
- touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd
- rm -rf $line/.hg*
-done < ../$SOURCEDIR/browser/locales/shipped-locales
-cd ..
-
-mv l10n $SOURCEDIR
-
-hg clone http://hg.mozilla.org/l10n/compare-locales/
-cd compare-locales/
-hg checkout RELEASE_3_3_0
-cd ..
-rm compare-locales/.hg* compare-locales/.git* -rf
-mv compare-locales $SOURCEDIR/l10n
+# mkdir l10n
+# cd l10n
+# while read line;do
+# line=$(echo $line |cut -d' ' -f1)
+# #[ $line = "es-ES" ] || continue # To speed up testing
+# [ $line = "en-US" ] && continue
+# hg clone https://hg.mozilla.org/l10n-central/$line
+# mkdir -p $line/browser/chrome/browser/preferences
+# touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd
+# rm -rf $line/.hg*
+# done < ../$SOURCEDIR/browser/locales/shipped-locales
+# cd ..
+#
+# mv l10n $SOURCEDIR
+#
+# hg clone http://hg.mozilla.org/l10n/compare-locales/
+# cd compare-locales/
+# hg checkout RELEASE_3_3_0
+# cd ..
+# rm compare-locales/.hg* compare-locales/.git* -rf
+# mv compare-locales $SOURCEDIR/l10n
#######################################################
-cd $SOURCEDIR
+# cd $SOURCEDIR
#for patch in $DATA/patches/*; do
# echo Patching with file: $patch
@@ -720,7 +720,7 @@ debian/rules debian/control
touch -d "yesterday" debian/control
debian/rules debian/control
-echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)"
+# echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)"
sed "1s/firefox/icecat/" -i debian/changelog
touch configure js/src/configure
@@ -734,6 +734,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
/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
-cd ..
-echo Packaging tarball
-tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR
+# cd ..
+# echo Packaging tarball
+# tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR

View File

@ -4,8 +4,8 @@ Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
--- icecat-60.2.0/config/system-headers.mozbuild
+++ icecat-60.2.0/config/system-headers.mozbuild
--- icecat-60.5.0/config/system-headers.mozbuild
+++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1311,6 +1311,19 @@
'pixman.h',
]
@ -26,8 +26,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.2.0/dom/base/moz.build
+++ icecat-60.2.0/dom/base/moz.build
--- icecat-60.5.0/dom/base/moz.build
+++ icecat-60.5.0/dom/base/moz.build
@@ -474,6 +474,9 @@
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
@ -38,8 +38,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
GENERATED_FILES += [
'PropertyUseCounterMap.inc',
'UseCounterList.h',
--- icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
+++ icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
--- icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
+++ icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
#!/bin/bash
@ -66,8 +66,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
--- icecat-60.2.0/gfx/moz.build
+++ icecat-60.2.0/gfx/moz.build
--- icecat-60.5.0/gfx/moz.build
+++ icecat-60.5.0/gfx/moz.build
@@ -10,6 +10,12 @@ with Files('**'):
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
@ -90,8 +90,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
'ots/src',
'thebes',
'ipc',
--- icecat-60.2.0/gfx/skia/generate_mozbuild.py
+++ icecat-60.2.0/gfx/skia/generate_mozbuild.py
--- icecat-60.5.0/gfx/skia/generate_mozbuild.py
+++ icecat-60.5.0/gfx/skia/generate_mozbuild.py
@@ -148,6 +148,9 @@
'-Wno-unused-private-field',
]
@ -102,8 +102,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.2.0/gfx/skia/moz.build
+++ icecat-60.2.0/gfx/skia/moz.build
--- icecat-60.5.0/gfx/skia/moz.build
+++ icecat-60.5.0/gfx/skia/moz.build
@@ -822,6 +822,9 @@
'-Wno-unused-private-field',
]
@ -114,8 +114,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.2.0/gfx/thebes/moz.build
+++ icecat-60.2.0/gfx/thebes/moz.build
--- icecat-60.5.0/gfx/thebes/moz.build
+++ icecat-60.5.0/gfx/thebes/moz.build
@@ -272,7 +272,13 @@
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
@ -131,8 +131,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['CC_TYPE'] == 'clang':
# Suppress warnings from Skia header files.
--- icecat-60.2.0/intl/unicharutil/util/moz.build
+++ icecat-60.2.0/intl/unicharutil/util/moz.build
--- icecat-60.5.0/intl/unicharutil/util/moz.build
+++ icecat-60.5.0/intl/unicharutil/util/moz.build
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
'nsUnicodeProperties.cpp',
]
@ -141,8 +141,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
FINAL_LIBRARY = 'xul'
--- icecat-60.2.0/netwerk/dns/moz.build
+++ icecat-60.2.0/netwerk/dns/moz.build
--- icecat-60.5.0/netwerk/dns/moz.build
+++ icecat-60.5.0/netwerk/dns/moz.build
@@ -76,3 +76,6 @@
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
@ -150,9 +150,9 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
--- icecat-60.2.0/old-configure.in
+++ icecat-60.2.0/old-configure.in
@@ -3995,6 +3995,27 @@
--- icecat-60.5.0/old-configure.in
+++ icecat-60.5.0/old-configure.in
@@ -3971,6 +3971,27 @@
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================
@ -180,8 +180,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
dnl Check for pixman and cairo
dnl ========================================================
--- icecat-60.2.0/toolkit/library/moz.build
+++ icecat-60.2.0/toolkit/library/moz.build
--- icecat-60.5.0/toolkit/library/moz.build
+++ icecat-60.5.0/toolkit/library/moz.build
@@ -235,6 +235,12 @@
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
@ -195,8 +195,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
--- icecat-60.2.0/toolkit/moz.configure
+++ icecat-60.2.0/toolkit/moz.configure
--- icecat-60.5.0/toolkit/moz.configure
+++ icecat-60.5.0/toolkit/moz.configure
@@ -1051,6 +1051,26 @@
add_old_configure_assignment('FT2_CFLAGS',
ft2_info.cflags)

View File

@ -8,8 +8,8 @@ Changes to files within the bundled libraries are omitted, since those files
are removed from Guix sources. Modified for use with patch -p1, and to apply
cleanly to GNU IceCat.
--- icecat-60.2.0/build/moz.configure/old.configure
+++ icecat-60.2.0/build/moz.configure/old.configure
--- icecat-60.5.0/build/moz.configure/old.configure
+++ icecat-60.5.0/build/moz.configure/old.configure
@@ -273,7 +273,12 @@
'--with-system-libvpx',
'--with-system-nspr',
@ -23,8 +23,8 @@ cleanly to GNU IceCat.
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
--- icecat-60.2.0/config/external/moz.build
+++ icecat-60.2.0/config/external/moz.build
--- icecat-60.5.0/config/external/moz.build
+++ icecat-60.5.0/config/external/moz.build
@@ -23,12 +23,21 @@
external_dirs += ['modules/xz-embedded']
@ -61,8 +61,8 @@ cleanly to GNU IceCat.
'media/mp4parse-rust',
'media/psshparser'
]
--- icecat-60.2.0/config/system-headers.mozbuild
+++ icecat-60.2.0/config/system-headers.mozbuild
--- icecat-60.5.0/config/system-headers.mozbuild
+++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1324,6 +1324,28 @@
'harfbuzz/hb.h',
]
@ -92,19 +92,19 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.2.0/dom/media/AudioStream.cpp
+++ icecat-60.2.0/dom/media/AudioStream.cpp
@@ -121,7 +121,9 @@
: mMonitor("AudioStream")
, mChannels(0)
, mOutChannels(0)
--- icecat-60.5.0/dom/media/AudioStream.cpp
+++ icecat-60.5.0/dom/media/AudioStream.cpp
@@ -128,7 +128,9 @@
: mMonitor("AudioStream"),
mChannels(0),
mOutChannels(0),
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
, mTimeStretcher(nullptr)
mTimeStretcher(nullptr),
+#endif
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
@@ -142,9 +144,11 @@
mDumpFile(nullptr),
mState(INITIALIZED),
mDataSource(aSource),
@@ -147,9 +149,11 @@
if (mDumpFile) {
fclose(mDumpFile);
}
@ -116,8 +116,8 @@ cleanly to GNU IceCat.
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
@@ -168,7 +172,11 @@
{
@@ -170,7 +174,11 @@
nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() {
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
@ -128,8 +128,8 @@ cleanly to GNU IceCat.
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
--- icecat-60.2.0/dom/media/AudioStream.h
+++ icecat-60.2.0/dom/media/AudioStream.h
--- icecat-60.5.0/dom/media/AudioStream.h
+++ icecat-60.5.0/dom/media/AudioStream.h
@@ -15,7 +15,11 @@
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
@ -142,7 +142,7 @@ cleanly to GNU IceCat.
#if defined(XP_WIN)
#include "mozilla/audio/AudioNotificationReceiver.h"
@@ -297,7 +301,11 @@
@@ -293,7 +297,11 @@
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;
@ -154,8 +154,8 @@ cleanly to GNU IceCat.
// Output file for dumping audio
FILE* mDumpFile;
--- icecat-60.2.0/dom/media/moz.build
+++ icecat-60.2.0/dom/media/moz.build
--- icecat-60.5.0/dom/media/moz.build
+++ icecat-60.5.0/dom/media/moz.build
@@ -327,6 +327,21 @@
DEFINES['MOZILLA_INTERNAL_API'] = True
@ -178,8 +178,8 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
--- icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+++ icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
--- icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+++ icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
@@ -15,9 +15,13 @@
#include <windows.h>
#endif
@ -194,7 +194,7 @@ cleanly to GNU IceCat.
namespace mozilla {
@@ -64,6 +68,12 @@
@@ -60,6 +64,12 @@
sLinkStatus = LinkStatus_FAILED;
@ -207,17 +207,17 @@ cleanly to GNU IceCat.
// We retrieve the path of the lgpllibs library as this is where mozavcodec
// and mozavutil libs are located.
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
@@ -73,6 +83,7 @@
PathString path =
GetLibraryFilePathname(lgpllibsname.get(),
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
@@ -68,6 +78,7 @@
}
PathString path = GetLibraryFilePathname(
lgpllibsname.get(), (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+#endif
if (path.IsEmpty()) {
return false;
}
--- icecat-60.2.0/old-configure.in
+++ icecat-60.2.0/old-configure.in
@@ -2451,6 +2451,111 @@
--- icecat-60.5.0/old-configure.in
+++ icecat-60.5.0/old-configure.in
@@ -2417,6 +2417,111 @@
fi
fi # COMPILE_ENVIRONMENT
@ -329,8 +329,8 @@ cleanly to GNU IceCat.
dnl system libvpx Support
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-libvpx,
--- icecat-60.2.0/toolkit/library/moz.build
+++ icecat-60.2.0/toolkit/library/moz.build
--- icecat-60.5.0/toolkit/library/moz.build
+++ icecat-60.5.0/toolkit/library/moz.build
@@ -244,6 +244,21 @@
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
@ -353,9 +353,9 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
--- icecat-60.2.0/xpcom/build/XPCOMInit.cpp
+++ icecat-60.2.0/xpcom/build/XPCOMInit.cpp
@@ -138,7 +138,9 @@
--- icecat-60.5.0/xpcom/build/XPCOMInit.cpp
+++ icecat-60.5.0/xpcom/build/XPCOMInit.cpp
@@ -139,7 +139,9 @@
#include "mozilla/ipc/GeckoChildProcessHost.h"
@ -365,16 +365,15 @@ cleanly to GNU IceCat.
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#if defined(HAVE_STDINT_H)
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
@@ -639,11 +641,13 @@
@@ -635,10 +637,12 @@
// this oddness.
mozilla::SetICUMemoryFunctions();
+#ifndef MOZ_OGG_NO_MEM_REPORTING
// Do the same for libogg.
ogg_set_mem_functions(OggReporter::CountingMalloc,
OggReporter::CountingCalloc,
OggReporter::CountingRealloc,
OggReporter::CountingFree);
ogg_set_mem_functions(
OggReporter::CountingMalloc, OggReporter::CountingCalloc,
OggReporter::CountingRealloc, OggReporter::CountingFree);
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)

View File

@ -0,0 +1,182 @@
From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001
From: Christopher Baines <mail@cbaines.net>
Date: Tue, 1 Jan 2019 22:36:29 +0000
Subject: [PATCH] Mark more tests that require the network
I believe all these tests require the network, at least they seem to
fail if it's I run them without connecting my computer to the web.
I'm looking at this as part of packaging linkchecker for GNU Guix,
where the package is build and the tests are run in a isolated
environment, intentionally without network access, to avoid issues
with non-reproducible package builds.
---
tests/checker/test_http.py | 2 ++
tests/checker/test_http_misc.py | 2 ++
tests/checker/test_http_redirect.py | 2 ++
tests/checker/test_httpbin.py | 5 +++++
tests/checker/test_misc.py | 4 ++++
tests/checker/test_whitespace.py | 3 +++
6 files changed, 18 insertions(+)
diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py
index e4c1e097..8a8af567 100644
--- a/tests/checker/test_http.py
+++ b/tests/checker/test_http.py
@@ -20,6 +20,7 @@
import pytest
+from tests import need_network
from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
class TestHttp (HttpServerTest):
@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'):
super(TestHttp, self).__init__(methodName=methodName)
self.handler = CookieRedirectHttpRequestHandler
+ @need_network
def test_html (self):
confargs = dict(recursionlevel=1)
self.file_test("http.html", confargs=confargs)
diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py
index 9922d85f..c6b6afdb 100644
--- a/tests/checker/test_http_misc.py
+++ b/tests/checker/test_http_misc.py
@@ -20,11 +20,13 @@
import os
import sys
from .httpserver import HttpServerTest
+from tests import need_network
from linkcheck.network import iputil
class TestHttpMisc (HttpServerTest):
"""Test http:// misc link checking."""
+ @need_network
def test_html (self):
self.swf_test()
self.obfuscate_test()
diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py
index f212d98e..2253a70d 100644
--- a/tests/checker/test_http_redirect.py
+++ b/tests/checker/test_http_redirect.py
@@ -17,6 +17,7 @@
"""
Test http checking.
"""
+from tests import need_network
from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
class TestHttpRedirect (HttpServerTest):
@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'):
super(TestHttpRedirect, self).__init__(methodName=methodName)
self.handler = CookieRedirectHttpRequestHandler
+ @need_network
def test_redirect (self):
self.redirect1()
self.redirect2()
diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py
index 0319c2f6..4c8fa846 100644
--- a/tests/checker/test_httpbin.py
+++ b/tests/checker/test_httpbin.py
@@ -18,6 +18,7 @@
Test http stuff with httpbin.org.
"""
import re
+from tests import need_network
from . import LinkCheckTest
@@ -30,6 +31,7 @@ def get_httpbin_url(path):
class TestHttpbin(LinkCheckTest):
"""Test http:// link redirection checking."""
+ @need_network
def test_http_link(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
@@ -48,6 +50,7 @@ def test_http_link(self):
]
self.direct(url, resultlines, recursionlevel=1)
+ @need_network
def test_basic_auth(self):
user = u"testuser"
password = u"testpassword"
@@ -67,6 +70,7 @@ def test_basic_auth(self):
]
self.direct(url, resultlines, confargs=confargs)
+ @need_network
def test_http_refresh_header(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
@@ -85,6 +89,7 @@ def test_http_refresh_header(self):
]
self.direct(url, resultlines, recursionlevel=1)
+ @need_network
def test_http_content_location_header(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py
index 2e4cfd07..f9591f9d 100644
--- a/tests/checker/test_misc.py
+++ b/tests/checker/test_misc.py
@@ -17,6 +17,7 @@
"""
Test miscellaneous html tag parsing and URL types
"""
+from tests import need_network
from . import LinkCheckTest
@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest):
Test misc link types.
"""
+ @need_network
def test_misc (self):
self.file_test("misc.html")
def test_html5 (self):
self.file_test("html5.html")
+ @need_network
def test_archive (self):
self.file_test("archive.html")
+ @need_network
def test_itms_services(self):
url = u"itms-services:?action=download-manifest&url=http://www.example.com/"
resultlines = [
diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py
index 609c108a..fc2727d6 100644
--- a/tests/checker/test_whitespace.py
+++ b/tests/checker/test_whitespace.py
@@ -17,6 +17,7 @@
"""
Test whitespace handling.
"""
+from tests import need_network
from . import LinkCheckTest
@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest):
Test whitespace in URLs.
"""
+ @need_network
def test_leading_whitespace (self):
# Leading whitespace
url = u" http://www.example.org/"
@@ -50,6 +52,7 @@ def test_leading_whitespace (self):
]
self.direct(url, resultlines)
+ @need_network
def test_trailing_whitespace (self):
# Trailing whitespace
url = u"http://www.example.org/ "

View File

@ -0,0 +1,42 @@
Fix test failures induced by setting the SOURCE_DATE_EPOCH variable.
Taken from upstream: <https://github.com/p11-glue/p11-kit/pull/213>.
From 2a474e1fe8f4bd8b4ed7622e5cf3b2718a202562 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <dueno@redhat.com>
Date: Mon, 28 Jan 2019 13:03:15 +0100
Subject: [PATCH] extract-jks: Prefer _p11_extract_jks_timestamp to
SOURCE_DATE_EPOCH
Give _p11_extract_jks_timestamp precedence over SOURCE_DATE_EPOCH so
that the test results are not affected by the envvar settings.
---
trust/extract-jks.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/trust/extract-jks.c b/trust/extract-jks.c
index ad8dc35..a6f855f 100644
--- a/trust/extract-jks.c
+++ b/trust/extract-jks.c
@@ -250,7 +250,9 @@ prepare_jks_buffer (p11_enumerate *ex,
* when this was this certificate was added to the keystore, however
* we don't have that information. Java uses time in milliseconds
*/
- {
+ if (_p11_extract_jks_timestamp)
+ now = _p11_extract_jks_timestamp;
+ else {
char *source_date_epoch;
source_date_epoch = secure_getenv ("SOURCE_DATE_EPOCH");
if (source_date_epoch) {
@@ -276,9 +278,7 @@ prepare_jks_buffer (p11_enumerate *ex,
return false;
}
now = epoch;
- } else if (_p11_extract_jks_timestamp)
- now = _p11_extract_jks_timestamp;
- else
+ } else
now = time (NULL);
}

View File

@ -0,0 +1,88 @@
Fixes CVE-2018-16872:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16872
Patch copied from upstream source repository:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=bab9df35ce73d1c8e19a37e2737717ea1c984dc1
From bab9df35ce73d1c8e19a37e2737717ea1c984dc1 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Thu, 13 Dec 2018 13:25:11 +0100
Subject: [PATCH] usb-mtp: use O_NOFOLLOW and O_CLOEXEC.
Open files and directories with O_NOFOLLOW to avoid symlinks attacks.
While being at it also add O_CLOEXEC.
usb-mtp only handles regular files and directories and ignores
everything else, so users should not see a difference.
Because qemu ignores symlinks, carrying out a successful symlink attack
requires swapping an existing file or directory below rootdir for a
symlink and winning the race against the inotify notification to qemu.
Fixes: CVE-2018-16872
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: Bandan Das <bsd@redhat.com>
Reported-by: Michael Hanselmann <public@hansmi.ch>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Michael Hanselmann <public@hansmi.ch>
Message-id: 20181213122511.13853-1-kraxel@redhat.com
---
hw/usb/dev-mtp.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 100b7171f4..36c43b8c20 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -653,13 +653,18 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o)
{
struct dirent *entry;
DIR *dir;
+ int fd;
if (o->have_children) {
return;
}
o->have_children = true;
- dir = opendir(o->path);
+ fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
+ if (fd < 0) {
+ return;
+ }
+ dir = fdopendir(fd);
if (!dir) {
return;
}
@@ -1007,7 +1012,7 @@ static MTPData *usb_mtp_get_object(MTPState *s, MTPControl *c,
trace_usb_mtp_op_get_object(s->dev.addr, o->handle, o->path);
- d->fd = open(o->path, O_RDONLY);
+ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
if (d->fd == -1) {
usb_mtp_data_free(d);
return NULL;
@@ -1031,7 +1036,7 @@ static MTPData *usb_mtp_get_partial_object(MTPState *s, MTPControl *c,
c->argv[1], c->argv[2]);
d = usb_mtp_data_alloc(c);
- d->fd = open(o->path, O_RDONLY);
+ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
if (d->fd == -1) {
usb_mtp_data_free(d);
return NULL;
@@ -1658,7 +1663,7 @@ static void usb_mtp_write_data(MTPState *s)
0, 0, 0, 0);
goto done;
}
- d->fd = open(path, O_CREAT | O_WRONLY, mask);
+ d->fd = open(path, O_CREAT | O_WRONLY | O_CLOEXEC | O_NOFOLLOW, mask);
if (d->fd == -1) {
usb_mtp_queue_result(s, RES_STORE_FULL, d->trans,
0, 0, 0, 0);
--
2.20.1

View File

@ -0,0 +1,43 @@
Fixes CVE-2019-6778:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6778
Patch copied from upstream source repository:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=a7104eda7dab99d0cdbd3595c211864cba415905
From a7104eda7dab99d0cdbd3595c211864cba415905 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Sun, 13 Jan 2019 23:29:48 +0530
Subject: [PATCH] slirp: check data length while emulating ident function
While emulating identification protocol, tcp_emu() does not check
available space in the 'sc_rcv->sb_data' buffer. It could lead to
heap buffer overflow issue. Add check to avoid it.
Reported-by: Kira <864786842@qq.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
slirp/tcp_subr.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 4a9a5b5edc..23a841f26e 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -634,6 +634,11 @@ tcp_emu(struct socket *so, struct mbuf *m)
socklen_t addrlen = sizeof(struct sockaddr_in);
struct sbuf *so_rcv = &so->so_rcv;
+ if (m->m_len > so_rcv->sb_datalen
+ - (so_rcv->sb_wptr - so_rcv->sb_data)) {
+ return 1;
+ }
+
memcpy(so_rcv->sb_wptr, m->m_data, m->m_len);
so_rcv->sb_wptr += m->m_len;
so_rcv->sb_rptr += m->m_len;
--
2.20.1

View File

@ -1,27 +0,0 @@
Fixes test_scotch_graph_diam test with -DINTSIZE64.
Reported upstream at
https://gforge.inria.fr/tracker/index.php?func=detail&aid=21650&group_id=248&atid=1081
--- scotch-6.0.5a/src/libscotch/library.h
+++ scotch-6.0.5a/src/libscotch/library.h
@@ -187,6 +187,7 @@ SCOTCH_Num SCOTCH_graphBase (SCOTCH_Graph * const, const SCO
int SCOTCH_graphCheck (const SCOTCH_Graph * const);
void SCOTCH_graphSize (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const);
void SCOTCH_graphData (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const);
+SCOTCH_Num SCOTCH_graphDiamPV (SCOTCH_Graph * const);
void SCOTCH_graphStat (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const);
int SCOTCH_graphCoarsen (const SCOTCH_Graph * const, const SCOTCH_Num, const double, const SCOTCH_Num, SCOTCH_Graph * const, SCOTCH_Num * const);
int SCOTCH_graphCoarsenMatch (const SCOTCH_Graph * const, SCOTCH_Num * const, const double, const SCOTCH_Num, SCOTCH_Num * const);
--- scotch-6.0.5a/src/libscotch/library_graph_diam.c
+++ scotch-6.0.5a/src/libscotch/library_graph_diam.c
@@ -72,8 +72,7 @@
SCOTCH_Num
SCOTCH_graphDiamPV (
-SCOTCH_Graph * const grafptr,
-const SCOTCH_Num baseval)
+SCOTCH_Graph * const grafptr)
{
return ((SCOTCH_Num) graphDiamPV ((Graph * const) grafptr));
}

View File

@ -1,19 +0,0 @@
Fixes return type of SCOTCH_graphInduceList and SCOTCH_graphInducePart
so that the definition matches with -DINTSIZE64.
Reported upstream at
https://gforge.inria.fr/tracker/index.php?func=detail&aid=21608&group_id=248&atid=1081
--- scotch_6.0.5a/src/libscotch/library.h.orig 2018-02-11 10:52:38.000000000 -0600
+++ scotch_6.0.5a/src/libscotch/library.h 2018-02-23 16:56:41.000000000 -0600
@@ -199,8 +199,8 @@
int SCOTCH_graphGeomSaveChac (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
int SCOTCH_graphGeomSaveMmkt (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
int SCOTCH_graphGeomSaveScot (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
-int SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
-int SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
+SCOTCH_Num SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
+SCOTCH_Num SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
int SCOTCH_graphMapInit (const SCOTCH_Graph * const, SCOTCH_Mapping * const, const SCOTCH_Arch * const, SCOTCH_Num * const);
void SCOTCH_graphMapExit (const SCOTCH_Graph * const, SCOTCH_Mapping * const);

View File

@ -0,0 +1,37 @@
diff --git a/src/libscotch/library.h b/src/libscotch/library.h
index 1891c19..ecc0533 100644
--- a/src/libscotch/library.h
+++ b/src/libscotch/library.h
@@ -67,6 +67,8 @@
/*+ Integer type. +*/
+#include <stdint.h>
+
typedef DUMMYIDX SCOTCH_Idx;
typedef DUMMYINT SCOTCH_Num;
diff --git a/src/libscotchmetis/library_metis.h b/src/libscotchmetis/library_metis.h
index e6767e1..04e71c3 100644
--- a/src/libscotchmetis/library_metis.h
+++ b/src/libscotchmetis/library_metis.h
@@ -99,6 +99,7 @@ typedef enum {
*/
#ifndef SCOTCH_H /* In case "scotch.h" not included before */
+#include <stdint.h>
typedef DUMMYINT SCOTCH_Num;
#endif /* SCOTCH_H */
diff --git a/src/libscotchmetis/library_parmetis.h b/src/libscotchmetis/library_parmetis.h
index 6d2f0b0..3c803fc 100644
--- a/src/libscotchmetis/library_parmetis.h
+++ b/src/libscotchmetis/library_parmetis.h
@@ -106,6 +106,7 @@ typedef enum {
*/
#ifndef SCOTCH_H /* In case "scotch.h" not included before */
+#include <stdint.h>
typedef DUMMYINT SCOTCH_Num;
#endif /* SCOTCH_H */

View File

@ -1,22 +0,0 @@
Fix this test so that it succeeds when the library is not compiled with
SCOTCH_PTHREAD.
--- scotch_6.0.4/src/check/test_common_thread.c 2014-09-28 11:39:59.000000000 -0500
+++ scotch_6.0.4/src/check/test_common_thread.c 2015-01-10 00:52:00.076229542 -0600
@@ -175,14 +175,14 @@
char * argv[])
{
TestThreadGroup groudat;
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
TestThread * restrict thrdtab;
int thrdnbr;
#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
SCOTCH_errorProg (argv[0]);
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
thrdnbr = SCOTCH_PTHREAD_NUMBER;
groudat.redusum = COMPVAL (thrdnbr);

View File

@ -0,0 +1,36 @@
Create the CombBLAS::SpParMat with the MPI_Comm from the input 'gridinfo_t'.
This prevents a warning/error from CombBLAS about using MPI_COMM_WORLD.
--- a/SRC/AWPM_CombBLAS.hpp
+++ b/SRC/AWPM_CombBLAS.hpp
@@ -52,7 +52,7 @@
{
printf("AWPM only supports square process grid. Retuning without a permutation.\n");
}
- combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc;
+ combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc(grid->comm);
std::vector< std::vector < std::tuple<int_t,int_t,double> > > data(procs);
/* ------------------------------------------------------------
@@ -100,11 +100,10 @@
combblas::AWPM(Adcsc, mateRow2Col, mateCol2Row,true);
// now gather the matching vector
- MPI_Comm World = mateRow2Col.getcommgrid()->GetWorld();
int * rdispls = new int[procs];
int sendcnt = mateRow2Col.LocArrSize();
int * recvcnt = new int[procs];
- MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, World);
+ MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, grid->comm);
rdispls[0] = 0;
for(int i=0; i<procs-1; ++i)
{
@@ -112,7 +111,7 @@
}
int_t *senddata = (int_t *)mateRow2Col.GetLocArr();
- MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), World);
+ MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), grid->comm);
delete[] rdispls;
delete[] recvcnt;

View File

@ -1,37 +0,0 @@
https://sources.debian.org/data/main/x/x265/2.9-3/debian/patches/0003-detect512-is-needed-on-all-architectures.patch
From: Adam Sampson <unknown@bitbucket>
Date: Sun, 14 Oct 2018 14:04:18 +0200
Subject: detect512 is needed on all architectures
---
source/common/cpu.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp
index 0681ff5..fa687da 100644
--- a/source/common/cpu.cpp
+++ b/source/common/cpu.cpp
@@ -110,6 +110,11 @@ const cpu_name_t cpu_names[] =
{ "", 0 },
};
+bool detect512()
+{
+ return(enable512);
+}
+
#if X265_ARCH_X86
extern "C" {
@@ -123,10 +128,6 @@ uint64_t PFX(cpu_xgetbv)(int xcr);
#pragma warning(disable: 4309) // truncation of constant value
#endif
-bool detect512()
-{
- return(enable512);
-}
uint32_t cpu_detect(bool benableavx512 )
{

View File

@ -77,14 +77,14 @@ with what is used by the Bitcoin network.")
(define-public python-bcrypt
(package
(name "python-bcrypt")
(version "3.1.4")
(version "3.1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bcrypt" version))
(sha256
(base32
"13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7"))))
"1sh2xh0iragdq8dhssc1cdd02nppjq7b5kmv0qladfi2s9cnfqs4"))))
(build-system python-build-system)
(native-inputs
`(("python-pycparser" ,python-pycparser)
@ -148,10 +148,7 @@ to providing full-strength password hashing for multi-user application.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-"
version
".tar.gz"))
(uri (pypi-uri "py-bcrypt" version))
(sha256
(base32
"0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az"))))
@ -240,10 +237,7 @@ Python interface around SSH networking concepts.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/e/ecdsa/ecdsa-"
version
".tar.gz"))
(uri (pypi-uri "ecdsa" version))
(sha256
(base32
"1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4"))))
@ -322,11 +316,11 @@ etc.). The package is structured to make adding new modules easy.")
"0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
`(("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-pycrypto" ,python-pycrypto)))
(arguments
`(#:tests? #f)) ;TODO: tests require pytest
(home-page "https://github.com/jaraco/keyring")
(synopsis "Store and access your passwords safely")
(description
@ -363,14 +357,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
(version "2.4.2")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
"013qx2hz0jv79yzfzpn0r2kk33i5qy3sdnzgwiv5779d18snblwi"))))
"15qfl3pnw2f11r0z0zhwl56f6pb60ysav8fxmpnz5p80cfwljdik"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@ -385,14 +379,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography
(package
(name "python-cryptography")
(version "2.4.2")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
"1pc60dksi9w9mshl6cvn7gdjazbp3pmydy3qp9wgy5wzd8n0b9h5"))))
"00c4d7gvsymlaw0r13zrm32dcnarmpayjyrh65yymlmr6mrbcij9"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))

View File

@ -665,13 +665,14 @@ teams extension for python-openid.")
(define-public python-tornado
(package
(name "python-tornado")
(version "4.5.1")
(version "5.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tornado" version))
(sha256
(base32 "1zbkgcdfq81k298awrm8p0xwbwwn2p3nbizdglzfbkskhai082fv"))))
(base32
"02clqk2116jbnq8lnaqmdw3p52nqrd9ib59r4xz2ll43fpcmhlaf"))))
(build-system python-build-system)
(arguments
'(;; FIXME: Two tests error out with:
@ -682,14 +683,12 @@ teams extension for python-openid.")
;; (lambda _
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
;; ;; "tornado/platform/kqueue.py". This is the supported method:
;; (invoke- "python" "-m" "tornado.test")
;; (invoke "python" "-m" "tornado.test.runtests")
;; #t)))
#:tests? #f))
(native-inputs
`(("python-certifi" ,python-certifi)))
(propagated-inputs
`(("python-backports-abc" ,python-backports-abc)))
(home-page "http://www.tornadoweb.org/")
(home-page "https://www.tornadoweb.org/")
(synopsis "Python web framework and asynchronous networking library")
(description
"Tornado is a Python web framework and asynchronous networking library,
@ -706,6 +705,7 @@ connection to each user.")
(propagated-inputs
`(("python2-backport-ssl-match-hostname"
,python2-backport-ssl-match-hostname)
("python2-backports-abc" ,python2-backports-abc)
("python2-singledispatch" ,python2-singledispatch)
,@(package-propagated-inputs tornado))))))
@ -775,10 +775,7 @@ term.js Javascript terminal emulator library.")
(version "1.2.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/"
"38/76/ebcbc24d0cb77db34520a3ca6ed1bd43ace17d182bbd8dd7d976f1c176fb/"
"wsgi_intercept-" version ".tar.gz"))
(uri (pypi-uri "wsgi_intercept" version))
(sha256
(base32
"0kjj2v2dvmnpdd5h5gk9rzz0f54rhjb0yiz3zg65bmp65slfw65d"))))
@ -832,8 +829,7 @@ object to help create WSGI responses.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.event/zope.event-" version ".tar.gz"))
(uri (pypi-uri "zope.event" version))
(sha256
(base32
"11p75zpfz3ffhz21nzx9wb23xs993ck5s6hkjcvhswwizni5jynw"))))
@ -856,8 +852,7 @@ dispatching systems can be built.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.interface/zope.interface-" version ".tar.gz"))
(uri (pypi-uri "zope.interface" version))
(sha256
(base32
"0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if"))))
@ -882,9 +877,7 @@ conforming to a given API or contract.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.exceptions/zope.exceptions-"
version ".tar.gz"))
(uri (pypi-uri "zope.exceptions" version))
(sha256
(base32
"0zwxaaa66sqxg5k7zcrvs0fbg9ym1njnxnr28dfmchzhwjvwnfzl"))))
@ -936,9 +929,7 @@ forms, HTTP servers, regular expressions, and more.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.testrunner/zope.testrunner-"
version ".zip"))
(uri (pypi-uri "zope.testrunner" version ".zip"))
(sha256
(base32
"1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1"))))
@ -975,10 +966,7 @@ tests.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/z"
"/zope.i18nmessageid/zope.i18nmessageid-"
version ".tar.gz"))
(uri (pypi-uri "zope.i18nmessageid" version))
(sha256
(base32
"1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"))))
@ -999,8 +987,7 @@ internationalized messages within program source text.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.schema/zope.schema-" version ".tar.gz"))
(uri (pypi-uri "zope.schema" version))
(sha256
(base32
"1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"))))
@ -1030,9 +1017,7 @@ defining data schemas.")
(version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.configuration/zope.configuration-"
version ".tar.gz"))
(uri (pypi-uri "zope.configuration" version))
(sha256
(base32
"1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"))))
@ -1058,8 +1043,7 @@ Markup Language.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.proxy/zope.proxy-" version ".tar.gz"))
(uri (pypi-uri "zope.proxy" version))
(sha256
(base32
"0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4"))))
@ -1087,8 +1071,7 @@ brokering, etc.) for which the proxy is responsible.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.location/zope.location-" version ".tar.gz"))
(uri (pypi-uri "zope.location" version))
(sha256
(base32
"1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"))))
@ -1114,8 +1097,7 @@ Zope3, which are are special objects that have a structural location.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/z"
"/zope.security/zope.security-" version ".tar.gz"))
(uri (pypi-uri "zope.security" version))
(sha256
(base32
"14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy"))))
@ -1416,29 +1398,30 @@ authenticated session objects providing things like keep-alive.")
(define-public python-urllib3
(package
(name "python-urllib3")
(version "1.23")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urllib3" version))
(sha256
(base32
"1bvbd35q3zdcd7gsv38fwpizy7p06dr0154g5gfybrvnbvhwb2m6"))))
"08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy"))))
(build-system python-build-system)
(arguments `(#:tests? #f))
(native-inputs
`(;; some packages for tests
("python-nose" ,python-nose)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-tornado" ,python-tornado)))
(propagated-inputs
`(;; These 5 inputs are used to build urrlib3[secure]
("python-certifi" ,python-certifi)
("python-cryptography" ,python-cryptography) ;
("python-cryptography" ,python-cryptography)
("python-idna" ,python-idna)
("python-ipaddress" ,python-ipaddress)
("python-pyopenssl" ,python-pyopenssl)))
(home-page "https://urllib3.readthedocs.org/")
("python-pyopenssl" ,python-pyopenssl)
("python-pysocks" ,python-pysocks)))
(home-page "https://urllib3.readthedocs.io/")
(synopsis "HTTP library with thread-safe connection pooling")
(description
"Urllib3 supports features left out of urllib and urllib2 libraries. It
@ -1583,20 +1566,28 @@ minimum of WSGI.")
(define-public python-flask
(package
(name "python-flask")
(version "0.11.1")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "Flask" version))
(uri (pypi-uri "flask" version))
(sha256
(base32
"03kbfll4sj3v5z7r31c7bhfpi11r1np076d4p1k2kg4yzcmkywdl"))))
"0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "python" "-m" "pytest"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-itsdangerous" ,python-itsdangerous)
("python-jinja2" ,python-jinja2)
("python-click" ,python-click)
("python-werkzeug" ,python-werkzeug)))
(home-page "https://github.com/mitsuhiko/flask/")
(home-page "https://www.palletsprojects.com/p/flask/")
(synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
(description "Flask is a micro web framework based on the Werkzeug toolkit
and Jinja2 template engine. It is called a micro framework because it does not
@ -2025,14 +2016,14 @@ pretty printer and a tree visitor.")
(define-public python-flask-restful
(package
(name "python-flask-restful")
(version "0.3.5")
(version "0.3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Flask-RESTful" version))
(sha256
(base32
"0hjcmdb56b7z4bkw848lxfkyrpnkwzmqn2dgnlv12mwvjpzsxr6c"))))
(base32
"1a9cbwkr6krryyzq4sd3f415nkkc6dyfls5i3pgyibs94g0hw97q"))))
(build-system python-build-system)
(propagated-inputs
`(("python-aniso8601" ,python-aniso8601)
@ -2603,18 +2594,28 @@ List. Forked from and using the same API as the publicsuffix package.")
(define-public python-werkzeug
(package
(name "python-werkzeug")
(version "0.11.15")
(version "0.14.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Werkzeug" version))
(uri (pypi-uri "werkzeug" version))
(sha256
(base32
"1h5wycw8yj7q0grqsjnsqflmrlsdagvl2j4dsgdncci6mjc7fpa5"))))
"0z2m4snn1vc9518r2vzgdj1nc90kcgi60wijvd29yvcp85ypmzf3"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "-m" "pytest"))))))
(propagated-inputs
`(("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://werkzeug.pocoo.org/")
(home-page "https://www.palletsprojects.org/p/werkzeug/")
(synopsis "Utilities for WSGI applications")
(description "One of the most advanced WSGI utility modules. It includes a
powerful debugger, full-featured request and response objects, HTTP utilities to

View File

@ -321,10 +321,7 @@ etc. ")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/b/"
"backports.ssl_match_hostname/backports.ssl_match_hostname-"
version ".tar.gz"))
(uri (pypi-uri "backports.ssl_match_hostname" version))
(sha256
(base32
"1wndipik52cyqy0677zdgp90i435pmvwd89cz98lm7ri0y3xjajh"))))
@ -531,8 +528,7 @@ to users of that module.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/l/lockfile/"
"lockfile-" version ".tar.gz"))
(uri (pypi-uri "lockfile" version))
(sha256
(base32
"16gpx5hm73ah5n1079ng0vy381hl802v606npkx4x8nb0gg05vba"))))
@ -1002,8 +998,7 @@ doing practical, real world data analysis in Python.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/m/mechanize/mechanize-"
version ".tar.gz"))
(uri (pypi-uri "mechanize" version))
(sha256
(base32
"0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf"))))
@ -1342,18 +1337,30 @@ existing ones.")
(define-public scons
(package
(name "scons")
(version "3.0.1")
(version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/scons/scons/" version
"/scons-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/SCons/scons.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4"))))
"1xizkjgrvydkjhpv7i5rx0mdkp3618sis7jsckjh57nxcynlk5dc"))))
(build-system python-build-system)
(arguments
`(#:use-setuptools? #f ; still relies on distutils
#:tests? #f)) ; no 'python setup.py test' command
#:tests? #f ; no 'python setup.py test' command
#:phases
(modify-phases %standard-phases
(add-before 'build 'bootstrap
(lambda _
(substitute* "src/engine/SCons/compat/__init__.py"
(("sys.modules\\[new\\] = imp.load_module\\(old, \\*imp.find_module\\(old\\)\\)")
"sys.modules[new] = __import__(old)"))
(invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix")
(chdir "build/scons")
#t)))))
(home-page "http://scons.org/")
(synopsis "Software construction tool written in Python")
(description
@ -1400,9 +1407,7 @@ software.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/p/python-mimeparse/python-mimeparse-"
version ".tar.gz"))
(uri (pypi-uri "python-mimeparse" version))
(sha256
(base32
"0y2g6cl660bpz11srgqyvvm8gmywpgyx8g0xfvbiyr0af0yv1r3n"))))
@ -1638,20 +1643,17 @@ files.")
(define-public python-click
(package
(name "python-click")
(version "6.7")
(version "7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click" version))
(sha256
(base32
"02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi"))))
"1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v"))))
(build-system python-build-system)
(arguments
`(;; The tests are fragile, depending on a specific version of pytest:
;; <https://github.com/pallets/click/issues/823>
#:tests? #f
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
@ -1660,10 +1662,13 @@ files.")
(substitute* "click/_unicodefun.py"
(("'locale'")
(string-append "'" glibc "/bin/locale'"))))
#t)))))
#t))
(replace 'check
(lambda _
(invoke "python" "-m" "pytest"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://click.pocoo.org")
(home-page "https://palletsprojects.com/p/click/")
(synopsis "Command line library for Python")
(description
"Click is a Python package for creating command line interfaces in a
@ -1738,10 +1743,7 @@ version numbers.")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri
(string-append
"https://pypi.python.org/packages/source/j/jsonschema/jsonschema-"
version ".tar.gz"))
(uri (pypi-uri "jsonschema" version))
(sha256
(base32
"00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg"))))
@ -1961,18 +1963,16 @@ visualisation and class tracker statistics.")
(define-public python-itsdangerous
(package
(name "python-itsdangerous")
(version "0.24")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/i/itsdangerous/itsdangerous-"
version ".tar.gz"))
(uri (pypi-uri "itsdangerous" version))
(sha256
(base32
"06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"))))
"068zpbksq5q2z4dckh2k1zbcq43ay74ylqn77rni797j0wyh66rj"))))
(build-system python-build-system)
(home-page "https://github.com/mitsuhiko/itsdangerous")
(home-page "https://palletsprojects.com/p/itsdangerous/")
(synopsis "Python library for passing data to/from untrusted environments")
(description
"Itsdangerous provides various helpers to pass trusted data to untrusted
@ -2074,9 +2074,7 @@ e.g. filters, callbacks and errbacks can all be promises.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-"
version ".tar.gz"))
(uri (pypi-uri "MarkupSafe" version))
(sha256
(base32
"0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6"))))
@ -4326,8 +4324,7 @@ common operations on files to be invoked on those path objects directly.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/s/"
"simplegeneric/simplegeneric-" version ".zip"))
(uri (pypi-uri "simplegeneric" version ".zip"))
(sha256
(base32 "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"))))
(build-system python-build-system)
@ -4355,9 +4352,7 @@ standard library.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/i/"
"ipython_genutils/ipython_genutils-"
version ".tar.gz"))
(uri (pypi-uri "ipython_genutils" version))
(sha256
(base32 "19l2pp1c64ansr89l3cqh19jdi2ixhssdzx0vz4n6r52a6i281is"))))
(build-system python-build-system)
@ -5537,15 +5532,12 @@ complexity of Python source code.")
(package (inherit python-pep8)
(version "1.5.7")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/p/pep8/pep8-"
version
".tar.gz"))
(sha256
(base32
"12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
(origin
(method url-fetch)
(uri (pypi-uri "pep8" version))
(sha256
(base32
"12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
(arguments
;; XXX Tests not compatible with Python 3.5.
'(#:tests? #f))))
@ -5559,15 +5551,12 @@ complexity of Python source code.")
(package (inherit python-pyflakes)
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/p/pyflakes/pyflakes-"
version
".tar.gz"))
(sha256
(base32
"0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
(origin
(method url-fetch)
(uri (pypi-uri "pyflakes" version))
(sha256
(base32
"0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
(arguments
;; XXX Tests not compatible with Python 3.5.
'(#:tests? #f))))
@ -6149,9 +6138,7 @@ Unicode-aware. It is not intended as an end-user tool.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/P/PrettyTable/"
"prettytable-" version ".tar.bz2"))
(uri (pypi-uri "prettytable" version ".tar.bz2"))
(sha256
(base32
"0diwsicwmiq2cpzpxri7cyl5fmsvicafw6nfqf6p6p322dji2g45"))))
@ -6383,8 +6370,7 @@ domains support.")
(source
(origin
(method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/p/"
"pretend/pretend-" version ".tar.gz"))
(uri (pypi-uri "pretend" version))
(sha256
(base32
"040vm94lcbscg5p81g1icmwwwa2jm7wrd1ybmxnv1sz8rl8bh3n9"))))
@ -6657,16 +6643,14 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
(define-public python-entrypoints
(package
(name "python-entrypoints")
(version "0.2.3")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/takluyver/entrypoints/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (pypi-uri "entrypoints" version))
(sha256
(base32
"1pdvgfr5bxyvnfvxbsd3zi0dh3il71pc4k6rinx6zpps91b84a56"))))
"0lc4si3xb7hza424414rdqdc3vng3kcrph8jbvjqb32spqddf3f7"))))
(build-system python-build-system)
;; The package does not come with a setup.py file, so we have to generate
;; one ourselves.
@ -7134,9 +7118,7 @@ This allows one to make simple text-mode user interfaces on Unix-like systems")
(version "5.0.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/c/configobj/"
"configobj-" version ".tar.gz"))
(uri (pypi-uri "configobj" version))
(sha256
(base32
"00h9rcmws03xvdlfni11yb60bz3kxfvsj6dg6nrpzj71f03nbxd2"))
@ -9245,10 +9227,7 @@ programming errors.")
(version "2.4.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/8b/3e/"
"384eeff406b06315738b62483fd2126c6e4f544167116b17cc04ea7d2a59/"
"pykafka-" version ".tar.gz"))
(uri (pypi-uri "pykafka" version))
(sha256
(base32
"1id6sr159p6aa13bxcqyr9gln8sqg1l0ddzns5iws8kk5q1p5cfv"))))
@ -9301,9 +9280,7 @@ specified in POSIX.1-2001 and POSIX.1-2008.")
(version "0.1.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/j/jsonrpclib/"
"jsonrpclib-" version ".tar.gz"))
(uri (pypi-uri "jsonrpclib" version))
(sha256
(base32
"02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"))))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@ -79,12 +79,13 @@
(version "5.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/steveire/grantlee/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/steveire/grantlee.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lf9rkv0i0kd7fvpgg5l8jb87zw8dzcwd1liv6hji7g4wlpmfdiq"))))
(base32 "1dmah2gd6zd4fgz2f4ir11dazqg067hjz8xshhywhfsmavchi626"))))
(native-inputs
;; Optional: lcov and cccc, both are for code coverage
`(("doxygen" ,doxygen)))

60
gnu/packages/sagemath.scm Normal file
View File

@ -0,0 +1,60 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages sagemath)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages algebra)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
(define-public python-cypari2
(package
(name "python-cypari2")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cypari2" version))
(sha256
(base32
"0mghbmilmy34xp1d50xdx76sijqxmpkm2bcgx2v1mdji2ff7n0yc"))))
(build-system python-build-system)
(native-inputs
`(("python-cython" ,python-cython)))
(propagated-inputs
`(("python-cysignals" ,python-cysignals)))
(inputs
`(("gmp" ,gmp)
("pari-gp", pari-gp)))
(home-page "https://cypari2.readthedocs.io/")
(synopsis
"Python interface to the number theory library libpari")
(description
"Cypari2 provides a Python interface to the number theory library
PARI/GP. It has been spun off from the SageMath mathematics software system,
but it can be used independently.")
(license license:gpl2+)))
(define-public python2-cypari2
(package-with-python2 python-cypari2))

View File

@ -1147,6 +1147,7 @@ generation.")
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure) ; No configure script
(replace 'install ; Makefile has no 'install phase
(lambda* (#:key outputs #:allow-other-keys)
@ -1160,9 +1161,9 @@ generation.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(and
(zero? (system* "./bootstrap.sh"))
(install-file "flisp.boot" bin))))))))
(invoke "./bootstrap.sh")
(install-file "flisp.boot" bin)
#t))))))
(synopsis "Scheme-like lisp implementation")
(description
"@code{femtolisp} is a scheme-like lisp implementation with a

View File

@ -9,6 +9,7 @@
;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,9 +28,9 @@
(define-module (gnu packages shells)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages documentation)
#:use-module (gnu packages groff)
@ -45,6 +46,7 @@
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix licenses)
@ -89,51 +91,105 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish
(package
(name "fish")
(version "2.7.1")
(source (origin
(method url-fetch)
(uri
(list
(string-append "https://fishshell.com/files/"
version "/fish-" version ".tar.gz")
(string-append "https://github.com/fish-shell/fish-shell/"
"releases/download/" version "/"
name "-" version ".tar.gz")))
(sha256
(base32
"0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet '(begin
(substitute* "Makefile.in"
((".*INSTALL.*sysconfdir.*fish.*") ""))
#t))))
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/fish-shell/fish-shell/"
"releases/download/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32 "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga"))))
(build-system gnu-build-system)
(inputs
`(("fish-foreign-env" ,fish-foreign-env)
("groff" ,groff) ; for 'fish --help'
("ncurses" ,ncurses)
("pcre2" ,pcre2) ; don't use the bundled PCRE2
("python" ,python))) ; for fish_config and manpage completions
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
`(("bc" ,bc)
("ncurses" ,ncurses)
("groff" ,groff) ;for 'fish --help'
("pcre2" ,pcre2) ;don't use the bundled PCRE2
("python" ,python-wrapper))) ;for fish_config and manpage completions
(arguments
'(#:tests? #f ; no check target
#:configure-flags '("--sysconfdir=/etc")
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; Embed absolute paths to store items.
(add-after 'unpack 'embed-store-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("share/functions/math.fish"
"share/functions/seq.fish")
(("\\| bc")
(string-append "| " (assoc-ref %build-inputs "bc")
"/bin/bc")))
(substitute* "share/functions/fish_update_completions.fish"
(("python") (which "python")))
(add-after 'unpack 'patch-source
(lambda _
(substitute* '("build_tools/build_commands_hdr.sh"
"build_tools/build_user_doc.sh")
(("/usr/bin/env") "env"))
#t))
;; Embed absolute paths.
(add-before 'install 'embed-absolute-paths
(lambda _
(substitute* '("share/functions/__fish_config_interactive.fish"
"share/functions/fish_config.fish"
"share/functions/fish_update_completions.fish")
(("python3") (which "python3")))
(substitute* "share/functions/__fish_print_help.fish"
(("nroff") (which "nroff")))
#t))
;; Source /etc/fish/config.fish from $__fish_sysconf_dir/config.fish.
(add-before 'install 'patch-fish-config
(lambda _
(let ((port (open-file "etc/config.fish" "a")))
(display (string-append
"\n\n"
"# Patched by Guix.\n"
"# Source /etc/fish/config.fish.\n"
"if test -f /etc/fish/config.fish\n"
" source /etc/fish/config.fish\n"
"end\n")
port)
(close-port port))
#t))
;; Enable completions, functions and configurations in user's and
;; system's guix profiles by adding them to __extra_* variables.
(add-before 'install 'patch-fish-extra-paths
(lambda _
(let ((port (open-file "share/__fish_build_paths.fish" "a")))
(display
(string-append
"\n\n"
"# Patched by Guix.\n"
"# Enable completions, functions and configurations in user's"
" and system's guix profiles by adding them to __extra_*"
" variables.\n"
"set -l __guix_profile_paths ~/.guix-profile"
" /run/current-system/profile\n"
"set __extra_completionsdir"
" $__guix_profile_paths\"/etc/fish/completions\""
" $__guix_profile_paths\"/share/fish/vendor_completions.d\""
" $__extra_completionsdir\n"
"set __extra_functionsdir"
" $__guix_profile_paths\"/etc/fish/functions\""
" $__guix_profile_paths\"/share/fish/vendor_functions.d\""
" $__extra_functionsdir\n"
"set __extra_confdir"
" $__guix_profile_paths\"/etc/fish/conf.d\""
" $__guix_profile_paths\"/share/fish/vendor_conf.d\""
" $__extra_confdir\n")
port)
(close-port port))
#t))
;; Use fish-foreign-env to source /etc/profile.
(add-before 'install 'source-etc-profile
(lambda* (#:key inputs #:allow-other-keys)
(let ((port (open-file "share/__fish_build_paths.fish" "a")))
(display
(string-append
"\n\n"
"# Patched by Guix.\n"
"# Use fish-foreign-env to source /etc/profile.\n"
"if status is-login\n"
" set fish_function_path "
(assoc-ref inputs "fish-foreign-env") "/share/fish/functions"
" $__fish_datadir/functions\n"
" fenv source /etc/profile\n"
" set -e fish_function_path\n"
"end\n")
port)
(close-port port))
#t)))))
(synopsis "The friendly interactive shell")
(description
@ -148,6 +204,54 @@ and syntax highlighting.")
(home-page "https://fishshell.com/")
(license gpl2)))
(define-public fish-foreign-env
(package
(name "fish-foreign-env")
(version "0.20190116")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/oh-my-fish/plugin-foreign-env.git")
(commit "dddd9213272a0ab848d474d0cbde12ad034e65bc")))
(file-name (git-file-name name version))
(sha256
(base32 "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(out (assoc-ref %outputs "out"))
(func-path (string-append out "/share/fish/functions")))
(mkdir-p func-path)
(copy-recursively (string-append source "/functions")
func-path)
;; Embed absolute paths.
(substitute* `(,(string-append func-path "/fenv.fish")
,(string-append func-path "/fenv.apply.fish")
,(string-append func-path "/fenv.main.fish"))
(("bash")
(string-append (assoc-ref %build-inputs "bash") "/bin/bash"))
(("sed")
(string-append (assoc-ref %build-inputs "sed") "/bin/sed"))
((" tr ")
(string-append " " (assoc-ref %build-inputs "coreutils")
"/bin/tr ")))))))
(inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("sed" ,sed)))
(home-page "https://github.com/oh-my-fish/plugin-foreign-env")
(synopsis "Foreign environment interface for fish shell")
(description "@code{fish-foreign-env} wraps bash script execution in a way
that environment variables that are exported or modified get imported back
into fish.")
(license expat)))
(define-public rc
(package
(name "rc")

View File

@ -22,6 +22,7 @@
#:use-module (guix licenses)
#:use-module (guix build-system gnu)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages lout)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages plotutils)

View File

@ -1808,13 +1808,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
(version "1.11.8")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
"1nb6wngrk1a30m984524gf26fa1nwgyf4y4an94dibcwb5jp8hnw"))))
"1xz388khklqqc39r1cmjvqm65azambgzqw0743aypm6v4chi26v1"))))
(build-system r-build-system)
(home-page "https://github.com/Rdatatable/data.table/wiki")
(synopsis "Enhanced version of data.frame R object")
@ -2100,14 +2100,14 @@ R version.")
(define-public r-checkmate
(package
(name "r-checkmate")
(version "1.9.0")
(version "1.9.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "checkmate" version))
(sha256
(base32
"00bjlc910y4paddvpz68pl3qyvjxlwqgyh39wpfkq43p99gvnj37"))))
"1y4ylzn55kpyfpzcx9rxb9413d3ck6hair36ldl0ak61ia5kc75p"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)))
@ -2297,17 +2297,21 @@ collation, and NAMESPACE files.")
(define-public r-openssl
(package
(name "r-openssl")
(version "1.1")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "openssl" version))
(sha256
(base32
"0ldxgcr33lawwr8wp14kdk2678gpkvqkzv6g333bhck1hn6qspzv"))))
"0ypa41qr58jgipzkqn3wjqdsjyi7qk57i46s5wy88xy3j8jl9jkv"))))
(build-system r-build-system)
(inputs
`(("libressl" ,libressl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("r-askpass" ,r-askpass)))
(home-page "https://github.com/jeroenooms/openssl")
(synopsis "Toolkit for encryption, signatures and certificates")
(description
@ -2557,13 +2561,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.9.200.5.0")
(version "0.9.200.7.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"09041jnalh7352kj6lv4d0xr9c0mvf8p860q5c8m13mp214x5x7k"))))
"11m04yvdh6086567dzzxchbf68fl5hxf2y32acf3f43bjqgwbv2p"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(native-inputs
@ -3320,14 +3324,14 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.")
(define-public r-e1071
(package
(name "r-e1071")
(version "1.7-0")
(version "1.7-0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "e1071" version))
(sha256
(base32
"0fk4pw67cw1663d0n9rf1qfdqzz8k5nqkjgp3hi5jr422qp9lsck"))))
"11fqm4shmksalkazcwvzfknp3amigw7fr8wdwanqa5v5kx7ihyq9"))))
(build-system r-build-system)
(propagated-inputs
`(("r-class" ,r-class)))
@ -3755,18 +3759,17 @@ It uses and relies on grid graphics and formal (S4) classes and methods.")
(define-public r-purrr
(package
(name "r-purrr")
(version "0.2.5")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "purrr" version))
(sha256
(base32
"0dc53zzan3km2l9lzxjixcv6yn7dhw2ppmz8qf2awhak7x2qm9m4"))))
"0mzbf9ca8qdrqkrh9x7yzqxiab9bk10ql46qr1wl2bgbflminzda"))))
(build-system r-build-system)
(propagated-inputs
`(("r-tibble" ,r-tibble)
("r-magrittr" ,r-magrittr)
`(("r-magrittr" ,r-magrittr)
("r-rlang" ,r-rlang)))
(home-page "https://github.com/hadley/purrr")
(synopsis "Functional programming tools")
@ -3981,14 +3984,14 @@ package instead.")
(define-public r-hmisc
(package
(name "r-hmisc")
(version "4.1-1")
(version "4.2-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Hmisc" version))
(sha256
(base32
"160l50ppjs69ipcaya1mlcz29zbn5rmqg91r09dvzzvkvwfb47cr"))))
"1n8i2jhc308hd6bvys9cd7nrz7pwjszs03r5bwlh1pc869ki95ly"))))
(properties `((upstream-name . "Hmisc")))
(build-system r-build-system)
(native-inputs
@ -4200,14 +4203,14 @@ including:
(define-public r-gplots
(package
(name "r-gplots")
(version "3.0.1")
(version "3.0.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gplots" version))
(sha256
(base32
"02nb8n3s7c1zxq2s7ycaq2ys72y7mzirxrwj954h6gdc4x1zhg9l"))))
"033plcfs9w8pmn84n24mdhiixdirc2a7pz6dvm61fpd20gwh7cbx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-catools" ,r-catools)
@ -4727,14 +4730,14 @@ and resampling-based inference.")
(define-public r-prabclus
(package
(name "r-prabclus")
(version "2.2-6")
(version "2.2-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "prabclus" version))
(sha256
(base32
"0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1"))))
"0h2nml8ri27mhfs2p6ngb6kfd6lyq30sc6813yybpskkrb6gs1pb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@ -5404,14 +5407,14 @@ diagnostic tools (@code{ctlcurves} and @code{DiscrFact}).")
(define-public r-ranger
(package
(name "r-ranger")
(version "0.10.1")
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ranger" version))
(sha256
(base32
"12z67xkgdmr5cflpd6cln0mn5xxajanqbfwlckv6cfma0gvf2z1j"))))
"1yyg1nppq76jngzffd44brppqrlxqdhv92pyy0gn09rfc0ab37wr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)

View File

@ -12,6 +12,7 @@
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -910,7 +911,7 @@ tmux.")
(define-public kitty
(package
(name "kitty")
(version "0.13.1")
(version "0.13.3")
(home-page "https://sw.kovidgoyal.net/kitty/")
(source
(origin
@ -921,7 +922,7 @@ tmux.")
(file-name (git-file-name name version))
(sha256
(base32
"1j24zjasdh48z7majfpqr71n1wn5a9688wsmmqn26v8kfb68pqs4"))
"1y0vd75j8g61jdj8miml79w5ri3pqli5rv9iq6zdrxvzfa4b2rmb"))
(modules '((guix build utils)))
(snippet
'(begin
@ -943,7 +944,8 @@ tmux.")
("libpng" ,libpng)
("freetype" ,freetype)
("fontconfig" ,fontconfig)
("pygments" ,python2-pygments)))
("pygments" ,python-pygments)
("wayland" ,wayland)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libxrandr" ,libxrandr)
@ -959,6 +961,15 @@ tmux.")
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure)
;; Wayland backend requires EGL, which isn't found
;; out-of-the-box for some reason. Hard-code it instead.
(add-after 'unpack 'hard-code-libegl
(lambda _
(let* ((mesa (assoc-ref %build-inputs "libgl1-mesa"))
(libegl (string-append mesa "/lib/libEGL.so.1")))
(substitute* "glfw/egl_context.c"
(("libEGL.so.1") libegl)))
#t))
(replace 'build
(lambda _
(invoke "python3" "setup.py" "linux-package")))

View File

@ -2770,8 +2770,17 @@ re-processing.")
(sha256
(base32
"0y4i651b75y6006n03x8n86bsqvjsailvvz9bhzy51dzsznqidq0"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/seminar"))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/seminar")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
#t))))
(home-page "https://www.ctan.org/pkg/seminar")
(synopsis "Make overhead slides")
;; TODO: This package may need fancybox and xcomment at runtime.
@ -5806,3 +5815,68 @@ for use with LaTeX is available in @code{freenfss}, part of
supports advanced interactive documents. See the ConTeXt garden for a wealth
of support information.")
(license license:gpl2+)))
(define-public texlive-latex-beamer
(package
(name "texlive-latex-beamer")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/beamer"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"09y3qwbj0nckshvg9afgwcv9v3zdif1d7bnpzrggsa1fbr80mgk2"))))
(build-system trivial-build-system)
(outputs '("out" "doc"))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/beamer"))
(docs (string-append (assoc-ref %outputs "doc")
"/share/texmf-dist/doc/latex/beamer/")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
(mkdir-p docs)
(copy-recursively (assoc-ref %build-inputs "docs") docs)
#t))))
(propagated-inputs
`(("texlive-latex-hyperref" ,texlive-latex-hyperref)
("texlive-latex-oberdiek" ,texlive-latex-oberdiek)
("texlive-latex-etoolbox" ,texlive-latex-etoolbox)
("texlive-latex-pgf" ,texlive-latex-pgf)))
(native-inputs
`(("docs"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/doc/latex/beamer"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"102b18b9nw9dicqqgjwx0srh1mav8vh9wdvwayn741niza9hac23"))))))
(home-page "https://www.ctan.org/pkg/beamer")
(synopsis "LaTeX class for producing presentations and slides")
(description "The beamer LaTeX class can be used for producing slides.
The class works in both PostScript and direct PDF output modes, using the
@code{pgf} graphics system for visual effects. Content is created in the
@code{frame} environment, and each frame can be made up of a number of slides
using a simple notation for specifying material to appear on each slide within
a frame. Short versions of title, authors, institute can also be specified as
optional parameters. Whole frame graphics are supported by plain frames. The
class supports @code{figure} and @code{table} environments, transparency
effects, varying slide transitions and animations.")
;; Code is dual licensed under GPLv2+ or LPPL1.3c+; documentation is
;; dual-licensed under either FDLv1.3+ or LPPL1.3c+.
(license (list license:lppl1.3c+ license:gpl2+ license:fdl1.3+))))

View File

@ -123,15 +123,16 @@ in intelligent transportation networks.")
(define-public p11-kit
(package
(name "p11-kit")
(version "0.23.14")
(version "0.23.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/p11-glue/p11-kit/releases/"
"download/" version "/p11-kit-" version ".tar.gz"))
(patches (search-patches "p11-kit-jks-timestamps.patch"))
(sha256
(base32
"0w0dkq9388grbbn4bv2p55vy1j51f7nd9hzlc9gz4fbm4dnzmf8w"))))
"166pwj00cffv4qq4dvx0k53zka0b0r1fa0whc49007vsqyh3khgp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -399,7 +399,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(define-public x265
(package
(name "x265")
(version "2.9")
(version "3.0")
(outputs '("out" "static"))
(source
(origin
@ -408,9 +408,8 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
"x265_" version ".tar.gz"))
(sha256
(base32
"090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
(patches (search-patches "x265-arm-flags.patch"
"x265-detect512-all-arches.patch"))
"0qh65wdpasrspkm1y0dlfa123myax568yi0sas0lmg5b1hkgrff5"))
(patches (search-patches "x265-arm-flags.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
@ -871,6 +870,34 @@ audio/video codec library.")
(base32
"0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
(define-public ffmpeg-for-stepmania
(hidden-package
(package
(inherit ffmpeg)
(version "2.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stepmania/ffmpeg.git")
(commit "eda6effcabcf9c238e4635eb058d72371336e09b")))
(sha256
(base32 "1by8rmbva8mfrivdbbkr2gx4kga89zqygkd4cfjl76nr8mdcdamb"))
(file-name (git-file-name "ffmpeg" version))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
'(list "--disable-programs"
"--disable-doc"
"--disable-debug"
"--disable-avdevice"
"--disable-swresample"
"--disable-postproc"
"--disable-avfilter"
"--disable-shared"
"--enable-static"))))
(inputs '()))))
(define-public ffmpegthumbnailer
(package
(name "ffmpegthumbnailer")
@ -1314,7 +1341,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.01.17")
(version "2019.01.27")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@ -1322,7 +1349,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"0fxajwv81b0bjw9qlwmxd4r93yp5nnqll79vhic0vy72ii0093r7"))))
"0z4x4lwpd6qd2r9xgp8cx4j1vl5vd76kzs74jp0hh3w2g31s51z8"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -110,6 +110,8 @@
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(patches (search-patches "qemu-CVE-2018-16872.patch"
"qemu-CVE-2019-6778.patch"))
(sha256
(base32
"1z5bd5nfyjvhfi1s95labc82y4hjdjjkdabw931362ls0zghh1ba"))))
@ -799,13 +801,13 @@ Machine Protocol.")
(version "a12")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/gnif/LookingGlass/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version))
(method git-fetch)
(uri (git-reference (url "https://github.com/gnif/LookingGlass")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0x57chx83f8pq56d9sfxmc9p4qjm9nqvdyamj41bmy145mxw5w3m"))))
"0r6bvl9q94039r6ff4f2bg8si95axx9w8bf1h1qr5730d2kv5yxq"))))
(build-system cmake-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)

View File

@ -15,7 +15,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@ -88,6 +88,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages java)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages image)
@ -123,14 +124,14 @@
(define-public httpd
(package
(name "httpd")
(version "2.4.37")
(version "2.4.38")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
"09npb7vlz5sizgj0nvl0bqxj9zig29ipkp07fgmw5ykjcxfdr61l"))))
"0jiriyyf3pm6axf4mrz6c2z08yhs21hb4d23viq87jclm5bmiikx"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
@ -5278,20 +5279,18 @@ snippets on @url{https://commandlinefu.com}.")
(define-public rss-bridge
(package
(name "rss-bridge")
(version "2018-11-10")
(version "2019-01-13")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/RSS-Bridge/rss-bridge/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/RSS-Bridge/rss-bridge")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1l9a82smh6k37bjvzbmkdlssxywlmr40ig4cykgsns1iiszwv4ia"))))
"1m0dq491954f0d7k4508ddlywk09whcz9j21rc4yk3lbwpf0nd4c"))))
(build-system trivial-build-system)
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(arguments
'(#:modules ((guix build utils))
#:builder
@ -5300,12 +5299,9 @@ snippets on @url{https://commandlinefu.com}.")
(ice-9 match))
(let* ((out (assoc-ref %outputs "out"))
(share-rss-bridge (string-append out "/share/rss-bridge")))
(set-path-environment-variable
"PATH" '("bin") (map (match-lambda ((_ . input) input))
%build-inputs))
(mkdir-p share-rss-bridge)
(invoke "tar" "xvf" (assoc-ref %build-inputs "source")
"--strip-components" "1" "-C" share-rss-bridge)))))
(copy-recursively (assoc-ref %build-inputs "source") share-rss-bridge)
#t))))
(home-page "https://github.com/RSS-Bridge/rss-bridge")
(synopsis "Generate Atom feeds for social networking websites")
(description "rss-bridge generates Atom feeds for social networking
@ -5324,6 +5320,9 @@ Instagram and YouTube.")
(uri (git-reference
(url "https://github.com/linkchecker/linkchecker")
(commit (string-append "v" version))))
(patches
(search-patches
"linkchecker-mark-more-tests-that-require-the-network.patch"))
(file-name (git-file-name name version))
(sha256
(base32
@ -5333,8 +5332,32 @@ Instagram and YouTube.")
`(("python2-dnspython" ,python2-dnspython)
("python2-pyxdg" ,python2-pyxdg)
("python2-requests" ,python2-requests)))
(native-inputs
`(("gettext" ,gettext-minimal)
("python2-pytest" ,python2-pytest)
("python2-miniboa" ,python2-miniboa)
("python2-parameterized" ,python2-parameterized)))
(arguments
`(#:python ,python-2))
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
;; Move the 'check phase to after 'install, so that the installed
;; library can be used
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Set PYTHONPATH so that the installed linkchecker is used
(setenv "PYTHONPATH"
(string-append out "/lib/python2.7/site-packages"
":"
(getenv "PYTHONPATH")))
;; Remove this directory to avoid it being used when running
;; the tests
(delete-file-recursively "linkcheck")
(invoke "py.test" "tests"))
#t)))))
(home-page "https://linkcheck.github.io/linkchecker")
(synopsis "Check websites for broken links")
(description "LinkChecker is a website validator. It checks for broken

View File

@ -181,14 +181,14 @@ commands would.")
(define-public i3-wm
(package
(name "i3-wm")
(version "4.16")
(version "4.16.1")
(source (origin
(method url-fetch)
(uri (string-append "https://i3wm.org/downloads/i3-"
version ".tar.bz2"))
(sha256
(base32
"1d2mnryn7m9c6d69awd7lwzadliapd0ahi5n8d0ppqy533ssaq6c"))))
"0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags

View File

@ -19,6 +19,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2623,6 +2624,29 @@ as USB mice.")
"xf86-input-void is a null input driver for the Xorg X server.")
(license license:x11)))
(define-public xf86-video-amdgpu
(package
(name "xf86-video-amdgpu")
(version "18.1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/driver/xf86-video-amdgpu-"
version
".tar.bz2"))
(sha256
(base32
"0wlnb929l3yqj4hdkzyxyhbaph13ac4villajgmbh66pa6xja7z1"))))
(build-system gnu-build-system)
(inputs `(("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config)))
(home-page "https://www.x.org/wiki/")
(synopsis "AMD Radeon video driver for X server")
(description
"xf86-video-amdgpu is an AMD Radeon video driver for the Xorg
X server.")
(license license:x11)))
(define-public xf86-video-ark
(package
@ -5701,6 +5725,37 @@ user-friendly mechanism to start the X server.")
Intrinsics (Xt) Library.")
(license license:x11)))
(define-public xclock
(package
(name "xclock")
(version "1.0.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.x.org/releases/individual/app/"
name "-" version ".tar.bz2"))
(sha256
(base32 "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-appdefaultdir="
%output ,%app-defaults-dir))))
(inputs
`(("libxmu" ,libxmu)
("libx11" ,libx11)
("libxaw" ,libxaw)
("libxrender" ,libxrender)
("libxft" ,libxft)
("libxkbfile" ,libxkbfile)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.x.org/")
(synopsis "Analog / digital clock for X")
(description "The xclock program displays the time in analog or digital
form.")
(license (license:x11-style "file://COPYING" "See COPYING for details."))))
(define-public xmag
(package
(name "xmag")

View File

@ -20,7 +20,7 @@
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:autoload (gnu packages guile) (mcron)
#:autoload (gnu packages guile-xyz) (mcron)
#:use-module (guix deprecation)
#:use-module (guix records)
#:use-module (guix gexp)

View File

@ -87,11 +87,11 @@
;;; Code:
(define %default-xorg-modules
;; Default list of modules loaded by the server. Note that the order
;; matters since it determines which driver is going to be used when there's
;; a choice.
;; Default list of modules loaded by the server. When multiple drivers
;; match, the first one in the list is loaded.
(list xf86-video-vesa
xf86-video-fbdev
xf86-video-amdgpu
xf86-video-ati
xf86-video-cirrus
xf86-video-intel

View File

@ -27,6 +27,7 @@
#:use-module (guix profiles)
#:use-module (guix derivations)
#:use-module (guix combinators)
#:use-module (guix deprecation)
#:use-module (guix store)
#:use-module (guix i18n)
#:use-module ((guix utils)
@ -275,7 +276,12 @@ package modules under SOURCE using CORE, an instance of Guix."
(if (file-exists? script)
(let ((build (save-module-excursion
(lambda ()
(primitive-load script)))))
;; Disable deprecation warnings; it's OK for SCRIPT to
;; use deprecated APIs and the user doesn't have to know
;; about it.
(parameterize ((deprecation-warning-port
(%make-void-port "w")))
(primitive-load script))))))
;; BUILD must be a monadic procedure of at least one argument: the
;; source tree.
;;
@ -472,7 +478,8 @@ be used as a profile hook."
(gexp->derivation-in-inferior "guix-package-cache" build
profile
#:properties '((type . profile-hook)
(hook . package-cache)))))
(hook . package-cache))
#:local-build? #t)))
(define %channel-profile-hooks
;; The default channel profile hooks.

View File

@ -855,19 +855,27 @@ when CUT? returns true for a given package."
#:optional (rewrite-name identity))
"Return a procedure that, when passed a package, replaces its direct and
indirect dependencies (but not its implicit inputs) according to REPLACEMENTS.
REPLACEMENTS is a list of package pairs; the first element of each pair is the
package to replace, and the second one is the replacement.
REPLACEMENTS is a list of package pairs or a promise thereof; the first
element of each pair is the package to replace, and the second one is the
replacement.
Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a
package and returns its new name after rewrite."
(define (rewrite p)
(match (assq-ref replacements p)
(match (assq-ref (if (promise? replacements)
(force replacements)
replacements)
p)
(#f (package
(inherit p)
(name (rewrite-name (package-name p)))))
(new new)))
(package-mapping rewrite (cut assq <> replacements)))
(package-mapping rewrite
(lambda (package)
(assq package (if (promise? replacements)
(force replacements)
replacements)))))
(define-syntax-rule (package/inherit p overrides ...)
"Like (package (inherit P) OVERRIDES ...), except that the same

View File

@ -69,7 +69,7 @@
(multiplexed-build-output? . #t)
(graft? . #t)
(debug . 0)
(verbosity . 2)))
(verbosity . 1)))
(define (show-help)
(display (G_ "Usage: guix pull [OPTION]...
@ -197,11 +197,13 @@ true, display what would be built without actually building it."
(match (which "guix")
(#f (return #f))
(str
(let ((command (string-append profile "/bin/guix")))
(unless (string=? command str)
(let ((new (map (cut string-append <> "/bin/guix")
(list (user-friendly-profile profile)
profile))))
(unless (member str new)
(display-hint (format #f (G_ "After setting @code{PATH}, run
@command{hash guix} to make sure your shell refers to @file{~a}.")
command)))
(first new))))
(return #f))))))))
(define (honor-lets-encrypt-certificates! store)

View File

@ -856,13 +856,23 @@ containing MODULE-FILES and possibly other files as well."
(define (report-load file total completed)
(display #\cr)
(format #t
"loading...\t~5,1f% of ~d files" ;FIXME: i18n
"[~3@a/~3@a] loading...\t~5,1f% of ~d files"
;; Note: Multiply TOTAL by two to account for the
;; compilation phase that follows.
completed (* total 2)
(* 100. (/ completed total)) total)
(force-output))
(define (report-compilation file total completed)
(display #\cr)
(format #t "compiling...\t~5,1f% of ~d files" ;FIXME: i18n
(format #t "[~3@a/~3@a] compiling...\t~5,1f% of ~d files"
;; Add TOTAL to account for the load phase that came
;; before.
(+ total completed) (* total 2)
(* 100. (/ completed total)) total)
(force-output))
@ -874,8 +884,8 @@ containing MODULE-FILES and possibly other files as well."
#:report-load report-load
#:report-compilation report-compilation)))
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) 'none)
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line)
(set! %load-path (cons #+module-tree %load-path))
(set! %load-path

View File

@ -50,6 +50,11 @@
build-status-builds-completed
build-status-downloads-completed
build?
build
build-derivation
build-system
download?
download
download-item
@ -85,15 +90,29 @@
;; Builds and substitutions performed by the daemon.
(define-record-type* <build-status> build-status make-build-status
build-status?
(building build-status-building ;list of drv
(building build-status-building ;list of <build>
(default '()))
(downloading build-status-downloading ;list of <download>
(default '()))
(builds-completed build-status-builds-completed ;list of drv
(builds-completed build-status-builds-completed ;list of <build>
(default '()))
(downloads-completed build-status-downloads-completed ;list of store items
(downloads-completed build-status-downloads-completed ;list of <download>
(default '())))
;; On-going or completed build.
(define-record-type <build>
(%build derivation id system log-file completion)
build?
(derivation build-derivation) ;string (.drv file name)
(id build-id) ;#f | integer
(system build-system) ;string
(log-file build-log-file) ;#f | string
(completion build-completion)) ;#f | integer (percentage)
(define* (build derivation system #:key id log-file completion)
"Return a new build."
(%build derivation id system log-file completion))
;; On-going or completed downloads. Downloads can be stem from substitutes
;; and from "builtin:download" fixed-output derivations.
(define-record-type <download>
@ -113,11 +132,67 @@
"Return a new download."
(%download item uri size start end transferred))
(define (matching-build drv)
"Return a predicate that matches builds of DRV."
(lambda (build)
(string=? drv (build-derivation build))))
(define (matching-download item)
"Return a predicate that matches downloads of ITEM."
(lambda (download)
(string=? item (download-item download))))
(define %percentage-line-rx
;; Things like CMake write lines like "[ 10%] gcc -c …". This regexp
;; matches them.
(make-regexp "^[[:space:]]*\\[ *([0-9]+)%\\]"))
(define %fraction-line-rx
;; The 'compiled-modules' derivations and Ninja produce reports like
;; "[ 1/32]" at the beginning of each line, while GHC prints "[ 6 of 45]".
;; This regexp matches these.
(make-regexp "^[[:space:]]*\\[ *([0-9]+) *(/|of) *([0-9]+)\\]"))
(define (update-build status id line)
"Update STATUS based on LINE, a build output line for ID that might contain
a completion indication."
(define (set-completion b %)
(build (build-derivation b)
(build-system b)
#:id (build-id b)
#:log-file (build-log-file b)
#:completion %))
(define (find-build)
(find (lambda (build)
(and (build-id build)
(= (build-id build) id)))
(build-status-building status)))
(define (update %)
(let ((build (find-build)))
(build-status
(inherit status)
(building (cons (set-completion build %)
(delq build (build-status-building status)))))))
(cond ((string-any #\nul line)
;; Don't try to match a regexp here.
status)
((regexp-exec %percentage-line-rx line)
=>
(lambda (match)
(let ((% (string->number (match:substring match 1))))
(update %))))
((regexp-exec %fraction-line-rx line)
=>
(lambda (match)
(let ((done (string->number (match:substring match 1)))
(total (string->number (match:substring match 3))))
(update (* 100. (/ done total))))))
(else
status)))
(define* (compute-status event status
#:key
(current-time current-time)
@ -126,15 +201,29 @@
"Given EVENT, a tuple like (build-started \"/gnu/store/...-foo.drv\" ...),
compute a new status based on STATUS."
(match event
(('build-started drv _ ...)
(build-status
(inherit status)
(building (cons drv (build-status-building status)))))
(('build-started drv "-" system log-file . rest)
(let ((build (build drv system
#:id (match rest
((pid . _) (string->number pid))
(_ #f))
#:log-file (if (string-null? log-file)
#f
log-file))))
(build-status
(inherit status)
(building (cons build (build-status-building status))))))
(((or 'build-succeeded 'build-failed) drv _ ...)
(build-status
(inherit status)
(building (delete drv (build-status-building status)))
(builds-completed (cons drv (build-status-builds-completed status)))))
(let ((build (find (matching-build drv)
(build-status-building status))))
;; If BUILD is #f, this may be because DRV corresponds to a
;; fixed-output derivation that is listed as a download.
(if build
(build-status
(inherit status)
(building (delq build (build-status-building status)))
(builds-completed
(cons build (build-status-builds-completed status))))
status)))
;; Note: Ignore 'substituter-started' and 'substituter-succeeded' because
;; they're not as informative as 'download-started' and
@ -146,10 +235,11 @@ compute a new status based on STATUS."
;; because ITEM is different from DRV's output.
(build-status
(inherit status)
(building (remove (lambda (drv)
(equal? (false-if-exception
(derivation-path->output-path drv))
item))
(building (remove (lambda (build)
(let ((drv (build-derivation build)))
(equal? (false-if-exception
(derivation-path->output-path drv))
item)))
(build-status-building status)))
(downloading (cons (download item uri #:size size
#:start (current-time time-monotonic))
@ -204,6 +294,8 @@ compute a new status based on STATUS."
(current-time time-monotonic))
#:transferred transferred)
downloads)))))
(('build-log (? integer? pid) line)
(update-build status pid line))
(_
status)))
@ -349,14 +441,29 @@ addition to build events."
(cut colorize-string <> 'RED 'BOLD)
identity))
(define (report-build-progress %)
(let ((% (min (max % 0) 100))) ;sanitize
(erase-current-line port)
(format port "~3d% " (inexact->exact (round %)))
(display (progress-bar % (- (current-terminal-columns) 5))
port)
(force-output port)))
(define print-log-line
(if print-log?
(if colorize?
(lambda (line)
(lambda (id line)
(display (colorize-log-line line) port))
(cut display <> port))
(lambda (line)
(spin! port))))
(lambda (id line)
(display line port)))
(lambda (id line)
(match (build-status-building status)
((build) ;single job
(match (build-completion build)
((? number? %) (report-build-progress %))
(_ (spin! port))))
(_
(spin! port))))))
(unless print-log?
(display "\r" port)) ;erase the spinner
@ -394,7 +501,7 @@ addition to build events."
(N_ "The following build is still in progress:~%~{ ~a~%~}~%"
"The following builds are still in progress:~%~{ ~a~%~}~%"
(length ongoing))
ongoing))))
(map build-derivation ongoing)))))
(('build-failed drv . _)
(format port (failure (G_ "build of ~a failed")) drv)
(newline port)
@ -460,7 +567,7 @@ addition to build events."
;; through.
(display line port)
(force-output port))
(print-log-line line))
(print-log-line pid line))
(cond ((string-prefix? "substitute: " line)
;; The daemon prefixes early messages coming with 'guix
;; substitute' with "substitute:". These are useful ("updating
@ -473,7 +580,7 @@ addition to build events."
(display (info (string-trim-right line)) port)
(newline))
(else
(print-log-line line)))))
(print-log-line pid line)))))
(_
event)))
@ -570,7 +677,11 @@ The second return value is a thunk to retrieve the current state."
(define (process-line line)
(cond ((string-prefix? "@ " line)
(match (string-tokenize (string-drop line 2))
;; Note: Drop the trailing \n, and use 'string-split' to preserve
;; spaces (the log file part of 'build-started' events can be the
;; empty string.)
(match (string-split (string-drop (string-drop-right line 1) 2)
#\space)
(("build-log" (= string->number pid) (= string->number len))
(set! %build-output-pid pid)
(set! %build-output '())

File diff suppressed because it is too large Load Diff

View File

@ -36,18 +36,18 @@
(test-equal "compute-status, builds + substitutes"
(list (build-status
(building '("foo.drv"))
(building (list (build "foo.drv" "x86_64-linux")))
(downloading (list (download "bar" "http://example.org/bar"
#:size 500
#:start 'now))))
(build-status
(building '("foo.drv"))
(building (list (build "foo.drv" "x86_64-linux")))
(downloading (list (download "bar" "http://example.org/bar"
#:size 500
#:transferred 42
#:start 'now))))
(build-status
(builds-completed '("foo.drv"))
(builds-completed (list (build "foo.drv" "x86_64-linux")))
(downloads-completed (list (download "bar" "http://example.org/bar"
#:size 500
#:transferred 500
@ -58,7 +58,7 @@
(compute-status event status
#:current-time
(const 'now))))))
(display "@ build-started foo.drv\n" port)
(display "@ build-started foo.drv - x86_64-linux \n" port)
(display "@ substituter-started bar\n" port)
(display "@ download-started bar http://example.org/bar 500\n" port)
(display "various\nthings\nget\nwritten\n" port)
@ -76,7 +76,8 @@
(test-equal "compute-status, missing events"
(list (build-status
(building '("foo.drv"))
(building (list (build "foo.drv" "x86_64-linux"
#:log-file "foo.log")))
(downloading (list (download "baz" "http://example.org/baz"
#:size 500
#:transferred 42
@ -86,7 +87,8 @@
#:transferred 0
#:start 'now))))
(build-status
(builds-completed '("foo.drv"))
(builds-completed (list (build "foo.drv" "x86_64-linux"
#:log-file "foo.log")))
(downloads-completed (list (download "baz" "http://example.org/baz"
#:size 500
#:transferred 500
@ -103,7 +105,7 @@
(compute-status event status
#:current-time
(const 'now))))))
(display "@ build-started foo.drv\n" port)
(display "@ build-started foo.drv - x86_64-linux foo.log\n" port)
(display "@ download-started bar http://example.org/bar 999\n" port)
(display "various\nthings\nget\nwritten\n" port)
(display "@ download-progress baz http://example.org/baz 500 42\n"
@ -136,19 +138,19 @@
(test-equal "compute-status, multiplexed build output"
(list (build-status
(building '("foo.drv"))
(building (list (build "foo.drv" "x86_64-linux" #:id 121)))
(downloading (list (download "bar" "http://example.org/bar"
#:size 999
#:start 'now))))
(build-status
(building '("foo.drv"))
(building (list (build "foo.drv" "x86_64-linux" #:id 121)))
(downloading (list (download "bar" "http://example.org/bar"
#:size 999
#:transferred 42
#:start 'now))))
(build-status
;; XXX: Should "bar.drv" be present twice?
(builds-completed '("bar.drv" "foo.drv"))
;; "bar" is now only listed as a download.
(builds-completed (list (build "foo.drv" "x86_64-linux" #:id 121)))
(downloads-completed (list (download "bar" "http://example.org/bar"
#:size 999
#:transferred 999
@ -162,8 +164,8 @@
#:derivation-path->output-path
(match-lambda
("bar.drv" "bar")))))))
(display "@ build-started foo.drv 121\n" port)
(display "@ build-started bar.drv 144\n" port)
(display "@ build-started foo.drv - x86_64-linux 121\n" port)
(display "@ build-started bar.drv - armhf-linux bar.log 144\n" port)
(display "@ build-log 121 6\nHello!" port)
(display "@ build-log 144 50
@ download-started bar http://example.org/bar 999\n" port)
@ -178,4 +180,35 @@
(display "@ build-succeeded bar.drv\n" port)
(list first second (get-status))))))
(test-equal "compute-status, build completion"
(list (build-status
(building (list (build "foo.drv" "x86_64-linux" #:id 121))))
(build-status
(building (list (build "foo.drv" "x86_64-linux" #:id 121
#:completion 0.))))
(build-status
(building (list (build "foo.drv" "x86_64-linux" #:id 121
#:completion 50.))))
(build-status
(builds-completed (list (build "foo.drv" "x86_64-linux" #:id 121
#:completion 100.)))))
(let-values (((port get-status)
(build-event-output-port (lambda (event status)
(compute-status event status
#:current-time
(const 'now))))))
(display "@ build-started foo.drv - x86_64-linux 121\n" port)
(display "@ build-log 121 6\nHello!" port)
(let ((first (get-status)))
(display "@ build-log 121 20\n[ 0/100] building X\n" port)
(display "@ build-log 121 6\nHello!" port)
(let ((second (get-status)))
(display "@ build-log 121 20\n[50/100] building Y\n" port)
(display "@ build-log 121 6\nHello!" port)
(let ((third (get-status)))
(display "@ build-log 121 21\n[100/100] building Z\n" port)
(display "@ build-log 121 6\nHello!" port)
(display "@ build-succeeded foo.drv\n" port)
(list first second third (get-status)))))))
(test-end "status")

View File

@ -24,6 +24,9 @@
(test-begin "upstream")
;; FIXME: Temporarily skipping this test; see <https://bugs.gnu.org/34229>.
(test-skip 1)
(test-equal "coalesce-sources same version"
(list (upstream-source
(package "foo") (version "1")