Merge branch 'master' into staging

master
Marius Bakke 2016-11-30 18:24:32 +01:00
commit 8a7cbc882a
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
127 changed files with 7407 additions and 3354 deletions

2
.gitignore vendored
View File

@ -50,6 +50,8 @@
/emacs/guix-helper.scm
/etc/guix-daemon.conf
/etc/guix-daemon.service
/etc/guix-publish.conf
/etc/guix-publish.service
/guix-daemon
/guix-register
/guix/config.scm

View File

@ -30,10 +30,11 @@ Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
ng0 <ng0@we.make.ritual.n0.is> <ngillmann@runbox.com>
ng0 <ng0@we.make.ritual.n0.is> <niasterisk@grrlz.net>
ng0 <ng0@we.make.ritual.n0.is> <ng@niasterisk.space>
ng0 <ng0@we.make.ritual.n0.is> <ng0@libertad.pw>
ng0 <ng0@libertad.pw> <ng0@we.make.ritual.n0.is>
ng0 <ng0@libertad.pw> <ngillmann@runbox.com>
ng0 <ng0@libertad.pw> <niasterisk@grrlz.net>
ng0 <ng0@libertad.pw> <ng@niasterisk.space>
ng0 <ng0@libertad.pw>
Pjotr Prins <pjotr.public01@thebird.nl>
Pjotr Prins <pjotr.public01@thebird.nl> <pjotr.public12@thebird.nl>
Raimon Grau <raimonster@gmail.com> <raimon@3scale.net>

View File

@ -61,6 +61,8 @@
(define guile-json
(first (find-best-packages-by-name "guile-json" #f)))
(define guile-ssh
(first (find-best-packages-by-name "guile-ssh" #f)))
;; The actual build procedure.
@ -103,8 +105,21 @@ files."
(use-modules (guix build pull))
(let ((json (string-append #$guile-json "/share/guile/site/2.0")))
(set! %load-path (cons json %load-path))
(set! %load-compiled-path (cons json %load-compiled-path)))
(set! %load-path
(cons* json
(string-append #$guile-ssh "/share/guile/site/2.0")
%load-path))
(set! %load-compiled-path
(cons* json
(string-append #$guile-ssh "/lib/guile/2.0/site-ccache")
%load-compiled-path)))
;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was
;; broken: libguile-ssh could not be found. Work around that.
;; FIXME: We want Guile-SSH 0.10.2 or later anyway.
#$(if (string-prefix? "0.9." (package-version guile-ssh))
#~(setenv "LTDL_LIBRARY_PATH" (string-append #$guile-ssh "/lib"))
#t)
(build-guix #$output #$source

View File

@ -128,12 +128,20 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl 'restore-file-set', which requires unbuffered custom binary input
dnl ports from Guile >= 2.0.10.)
GUIX_CHECK_UNBUFFERED_CBIP
guix_build_daemon_offload="$ac_cv_guix_cbips_support_setvbuf"
if test "x$guix_build_daemon_offload" = "xyes"; then
AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
[Define if the daemon's 'offload' build hook is being built.])
fi
dnl Check for Guile-SSH, which is required by 'guix offload'.
GUIX_CHECK_GUILE_SSH
case "x$ac_cv_guix_cbips_support_setvbuf$guix_cv_have_recent_guile_ssh" in
xyesyes)
guix_build_daemon_offload="yes"
AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
[Define if the daemon's 'offload' build hook is being built (requires Guile-SSH).])
;;
*)
guix_build_daemon_offload="no"
;;
esac
dnl Temporary directory used to store the daemon's data.
GUIX_TEST_ROOT_DIRECTORY

View File

@ -453,7 +453,7 @@ If your host distro uses the systemd init system, this can be achieved
with these commands:
@example
# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
# ln -s ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
/etc/systemd/system/
# systemctl start guix-daemon && systemctl enable guix-daemon
@end example
@ -461,7 +461,7 @@ with these commands:
If your host distro uses the Upstart init system:
@example
# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
# ln -s ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
# start guix-daemon
@end example
@ -566,6 +566,12 @@ allow you to use the @command{guix import pypi} command (@pxref{Invoking
guix import}). It is of
interest primarily for developers and not for casual users.
@item
@c Note: We need at least 0.10.2 for 'channel-send-eof'.
Support for build offloading (@pxref{Daemon Offload Setup}) depends on
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},
version 0.10.2 or later.
@item
When @url{http://zlib.net, zlib} is available, @command{guix publish}
can compress build byproducts (@pxref{Invoking guix publish}).
@ -814,9 +820,11 @@ available on the system---making it much harder to view them as
@cindex offloading
@cindex build hook
When desired, the build daemon can @dfn{offload}
derivation builds to other machines
running Guix, using the @code{offload} @dfn{build hook}. When that
When desired, the build daemon can @dfn{offload} derivation builds to
other machines running Guix, using the @code{offload} @dfn{build
hook}@footnote{This feature is available only when
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is
present.}. When that
feature is enabled, a list of user-specified build machines is read from
@file{/etc/guix/machines.scm}; every time a build is requested, for
instance via @code{guix build}, the daemon attempts to offload it to one
@ -832,16 +840,18 @@ The @file{/etc/guix/machines.scm} file typically looks like this:
(list (build-machine
(name "eightysix.example.org")
(system "x86_64-linux")
(host-key "ssh-ed25519 AAAAC3Nza@dots{}")
(user "bob")
(speed 2.)) ; incredibly fast!
(speed 2.)) ;incredibly fast!
(build-machine
(name "meeps.example.org")
(system "mips64el-linux")
(host-key "ssh-rsa AAAAB3Nza@dots{}")
(user "alice")
(private-key
(string-append (getenv "HOME")
"/.lsh/identity-for-guix"))))
"/.ssh/identity-for-guix"))))
@end example
@noindent
@ -875,31 +885,54 @@ The user account to use when connecting to the remote machine over SSH.
Note that the SSH key pair must @emph{not} be passphrase-protected, to
allow non-interactive logins.
@item host-key
This must be the machine's SSH @dfn{public host key} in OpenSSH format.
This is used to authenticate the machine when we connect to it. It is a
long string that looks like this:
@example
ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org
@end example
If the machine is running the OpenSSH daemon, @command{sshd}, the host
key can be found in a file such as
@file{/etc/ssh/ssh_host_ed25519_key.pub}.
If the machine is running the SSH daemon of GNU@tie{}lsh,
@command{lshd}, the host key is in @file{/etc/lsh/host-key.pub} or a
similar file. It can be converted to the OpenSSH format using
@command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):
@example
$ lsh-export-key --openssh < /etc/lsh/host-key.pub
ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}
@end example
@end table
A number of optional fields may be specified:
@table @code
@table @asis
@item port
Port number of SSH server on the machine (default: 22).
@item @code{port} (default: @code{22})
Port number of SSH server on the machine.
@item private-key
The SSH private key file to use when connecting to the machine.
@item @code{private-key} (default: @file{~/.ssh/id_rsa})
The SSH private key file to use when connecting to the machine, in
OpenSSH format.
Currently offloading uses GNU@tie{}lsh as its SSH client
(@pxref{Invoking lsh,,, GNU lsh Manual}). Thus, the key file here must
be an lsh key file. This may change in the future, though.
@item @code{daemon-socket} (default: @code{"/var/guix/daemon-socket/socket"})
File name of the Unix-domain socket @command{guix-daemon} is listening
to on that machine.
@item parallel-builds
The number of builds that may run in parallel on the machine (1 by
default.)
@item @code{parallel-builds} (default: @code{1})
The number of builds that may run in parallel on the machine.
@item speed
@item @code{speed} (default: @code{1.0})
A ``relative speed factor''. The offload scheduler will tend to prefer
machines with a higher speed factor.
@item features
@item @code{features} (default: @code{'()})
A list of strings denoting specific features supported by the machine.
An example is @code{"kvm"} for machines that have the KVM Linux modules
and corresponding hardware support. Derivations can request features by
@ -915,7 +948,7 @@ machines, since offloading works by invoking the @code{guix archive} and
this is the case by running:
@example
lsh build-machine guile -c "'(use-modules (guix config))'"
ssh build-machine guile -c "'(use-modules (guix config))'"
@end example
There is one last thing to do once @file{machines.scm} is in place. As
@ -1209,6 +1242,56 @@ data in the right format.
This is important because the locale data format used by different libc
versions may be incompatible.
@subsection Name Service Switch
@cindex name service switch, glibc
@cindex NSS (name service switch), glibc
@cindex nscd (name service caching daemon)
@cindex name service caching daemon (nscd)
When using Guix on a foreign distro, we @emph{strongly recommend} that
the system run the GNU C library's @dfn{name service cache daemon},
@command{nscd}, which should be listening on the
@file{/var/run/nscd/socket} socket. Failing to do that, applications
installed with Guix may fail to look up host names or user accounts, or
may even crash. The next paragraphs explain why.
@cindex @file{nsswitch.conf}
The GNU C library implements a @dfn{name service switch} (NSS), which is
an extensible mechanism for ``name lookups'' in general: host name
resolution, user accounts, and more (@pxref{Name Service Switch,,, libc,
The GNU C Library Reference Manual}).
@cindex Network information service (NIS)
@cindex NIS (Network information service)
Being extensible, the NSS supports @dfn{plugins}, which provide new name
lookup implementations: for example, the @code{nss-mdns} plugin allow
resolution of @code{.local} host names, the @code{nis} plugin allows
user account lookup using the Network information service (NIS), and so
on. These extra ``lookup services'' are configured system-wide in
@file{/etc/nsswitch.conf}, and all the programs running on the system
honor those settings (@pxref{NSS Configuration File,,, libc, The GNU C
Reference Manual}).
When they perform a name lookup---for instance by calling the
@code{getaddrinfo} function in C---applications first try to connect to
the nscd; on success, nscd performs name lookups on their behalf. If
the nscd is not running, then they perform the name lookup by
themselves, by loading the name lookup services into their own address
space and running it. These name lookup services---the
@file{libnss_*.so} files---are @code{dlopen}'d, but they may come from
the host system's C library, rather than from the C library the
application is linked against (the C library coming from Guix).
And this is where the problem is: if your application is linked against
Guix's C library (say, glibc 2.24) and tries to load NSS plugins from
another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will
likely crash or have its name lookups fail unexpectedly.
Running @command{nscd} on the system, among other advantages, eliminates
this binary incompatibility problem because those @code{libnss_*.so}
files are loaded in the @command{nscd} process, not in applications
themselves.
@subsection X11 Fonts
@cindex fonts
@ -3137,6 +3220,11 @@ the @code{#:python} parameter. This is a useful way to force a package
to be built for a specific version of the Python interpreter, which
might be necessary if the package is only compatible with a single
interpreter version.
By default guix calls @code{setup.py} under control of
@code{setuptools}, much like @command{pip} does. Some packages are not
compatible with setuptools (and pip), thus you can disable this by
setting the @code{#:use-setuptools} parameter to @code{#f}.
@end defvr
@defvr {Scheme Variable} perl-build-system
@ -5167,10 +5255,19 @@ gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.
gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0
@end example
It does so by browsing the FTP directory of each package and determining
the highest version number of the source tarballs therein. The command
Alternately, one can specify packages to consider, in which case a
warning is emitted for packages that lack an updater:
@example
$ guix refresh coreutils guile guile-ssh
gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh
gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13
@end example
@command{guix refresh} browses the upstream repository of each package and determines
the highest version number of the releases therein. The command
knows how to update specific types of packages: GNU packages, ELPA
packages, etc.---see the documentation for @option{--type} below. The
packages, etc.---see the documentation for @option{--type} below. There
are many packages, though, for which it lacks a method to determine
whether a new upstream release is available. However, the mechanism is
extensible, so feel free to get in touch with us to add a new method!
@ -5210,7 +5307,7 @@ usually run from a checkout of the Guix source tree (@pxref{Running
Guix Before It Is Installed}):
@example
$ ./pre-inst-env guix refresh -s non-core
$ ./pre-inst-env guix refresh -s non-core -u
@end example
@xref{Defining Packages}, for more information on package definitions.
@ -5245,6 +5342,8 @@ the updater for GNOME packages;
the updater for KDE packages;
@item xorg
the updater for X.org packages;
@item kernel.org
the updater for packages hosted on kernel.org;
@item elpa
the updater for @uref{http://elpa.gnu.org/, ELPA} packages;
@item cran
@ -5276,7 +5375,7 @@ In addition, @command{guix refresh} can be passed one or more package
names, as in this example:
@example
$ ./pre-inst-env guix refresh -u emacs idutils gcc-4.8.4
$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8
@end example
@noindent
@ -5295,6 +5394,9 @@ be used when passing @command{guix refresh} one or more package names:
@itemx -L
List available updaters and exit (see @option{--type} above.)
For each updater, display the fraction of packages it covers; at the
end, display the fraction of packages covered by all these updaters.
@item --list-dependent
@itemx -l
List top-level dependent packages that would need to be rebuilt as a
@ -6055,6 +6157,30 @@ add a call to @code{guix-publish-service} in the @code{services} field
of the @code{operating-system} declaration (@pxref{guix-publish-service,
@code{guix-publish-service}}).
If you are instead running Guix on a ``foreign distro'', follow these
instructions:”
@itemize
@item
If your host distro uses the systemd init system:
@example
# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \
/etc/systemd/system/
# systemctl start guix-publish && systemctl enable guix-publish
@end example
@item
If your host distro uses the Upstart init system:
@example
# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/
# start guix-publish
@end example
@item
Otherwise, proceed similarly with your distro's init system.
@end itemize
@node Invoking guix challenge
@section Invoking @command{guix challenge}
@ -6641,27 +6767,26 @@ partition lives at @file{/dev/sda1}, a file system with the label
mkfs.ext4 -L my-root /dev/sda1
@end example
@c FIXME: Uncomment this once GRUB fully supports encrypted roots.
@c A typical command sequence may be:
@c
@c @example
@c # fdisk /dev/sdX
@c @dots{} Create partitions etc.@dots{}
@c # cryptsetup luksFormat /dev/sdX1
@c # cryptsetup open --type luks /dev/sdX1 my-partition
@c # mkfs.ext4 -L my-root /dev/mapper/my-partition
@c @end example
In addition to e2fsprogs, the suite of tools to manipulate
ext2/ext3/ext4 file systems, the installation image includes
Cryptsetup/LUKS for disk encryption.
Once that is done, mount the target root partition under @file{/mnt}
with a command like (again, assuming @file{/dev/sda1} is the root
partition):
@cindex encrypted disk
If you are instead planning to encrypt the root partition, you can use
the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html,
@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
@code{man cryptsetup}} for more information.) Assuming you want to
store the root partition on @file{/dev/sda1}, the command sequence would
be along these lines:
@example
mount /dev/sda1 /mnt
cryptsetup luksFormat /dev/sda1
cryptsetup open --type luks /dev/sda1 my-partition
mkfs.ext4 -L my-root /dev/mapper/my-partition
@end example
Once that is done, mount the target root partition under @file{/mnt}
with a command like (again, assuming @code{my-root} is the label of the
root partition):
@example
mount LABEL=my-root /mnt
@end example
Finally, if you plan to use one or more swap partitions (@pxref{Memory
@ -6724,6 +6849,10 @@ Be sure that your partition labels match the value of their respective
@code{device} fields in your @code{file-system} configuration, assuming
your @code{file-system} configuration sets the value of @code{title} to
@code{'label}.
@item
If there are encrypted or RAID partitions, make sure to add a
@code{mapped-devices} field to describe them (@pxref{Mapped Devices}).
@end itemize
Once you are done preparing the configuration file, the new system must
@ -6968,7 +7097,9 @@ desired configuration. In particular, notice how we use @code{inherit}
to create a new configuration which has the same values as the old
configuration, but with a few modifications.
The configuration for a typical ``desktop'' usage, with the X11 display
@cindex encrypted disk
The configuration for a typical ``desktop'' usage, with an encrypted
root partition, the X11 display
server, GNOME and Xfce (users can choose which of these desktop
environments to use at the log-in screen by pressing @kbd{F1}), network
management, power management, and more, would look like this:
@ -7293,13 +7424,16 @@ errors before being mounted.
When true, the mount point is created if it does not exist yet.
@item @code{dependencies} (default: @code{'()})
This is a list of @code{<file-system>} objects representing file systems
that must be mounted before (and unmounted after) this one.
This is a list of @code{<file-system>} or @code{<mapped-device>} objects
representing file systems that must be mounted or mapped devices that
must be opened before (and unmounted or closed after) this one.
As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is
a dependency of @file{/sys/fs/cgroup/cpu} and
@file{/sys/fs/cgroup/memory}.
Another example is a file system that depends on a mapped device, for
example for an encrypted partition (@pxref{Mapped Devices}).
@end table
@end deftp
@ -7797,6 +7931,7 @@ declaration.
* Kerberos Services:: Kerberos services.
* Web Services:: Web servers.
* Network File System:: NFS related services.
* Continuous Integration:: The Cuirass service.
* Miscellaneous Services:: Other services.
@end menu
@ -8407,13 +8542,22 @@ configure networking."
@end deffn
@cindex WPA Supplicant
@deffn {Scheme Procedure} wpa-supplicant-service @
[#:wpa-supplicant @var{wpa-supplicant}]
Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA
@defvr {Scheme Variable} wpa-supplicant-service-type
This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA
supplicant}, an authentication daemon required to authenticate against
encrypted WiFi or ethernet networks. Service is started to listen for
encrypted WiFi or ethernet networks. It is configured to listen for
requests on D-Bus.
@end deffn
The value of this service is the @code{wpa-supplicant} package to use.
Thus, it can be instantiated like this:
@lisp
(use-modules (gnu services networking)
(gnu packages admin))
(service wpa-supplicant-type wpa-supplicant)
@end lisp
@end defvr
@cindex NTP
@cindex real time clock
@ -9979,7 +10123,7 @@ Return a service that runs @command{mysqld}, the MySQL or MariaDB
database server.
The optional @var{config} argument specifies the configuration for
@command{mysqld}, which should be a @code{<mysql-configuraiton>} object.
@command{mysqld}, which should be a @code{<mysql-configuration>} object.
@end deffn
@deftp {Data Type} mysql-configuration
@ -10001,16 +10145,11 @@ For MariaDB, the root password is empty.
@cindex mail
@cindex email
The @code{(gnu services mail)} module provides Guix service definitions
for mail services. Currently the only implemented service is Dovecot,
an IMAP, POP3, and LMTP server.
for email services: IMAP, POP3, and LMTP servers, as well as mail
transport agents (MTAs). Lots of acronyms! These services are detailed
in the subsections below.
Guix does not yet have a mail transfer agent (MTA), although for some
lightweight purposes the @code{esmtp} relay-only MTA may suffice. Help
is needed to properly integrate a full MTA, such as Postfix. Patches
welcome!
To add an IMAP/POP3 server to a GuixSD system, add a
@code{dovecot-service} to the operating system definition:
@subsubheading Dovecot Service
@deffn {Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]
Return a service that runs the Dovecot IMAP/POP3/LMTP mail server.
@ -11366,18 +11505,47 @@ could instantiate a dovecot service like this:
(string "")))
@end example
@subsubheading OpenSMTPD Service
@deffn {Scheme Variable} opensmtpd-service-type
This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD}
service, whose value should be an @code{opensmtpd-configuration} object
as in this example:
@example
(service opensmtpd-service-type
(opensmtpd-configuration
(config-file (local-file "./my-smtpd.conf"))))
@end example
@end deffn
@deftp {Data Type} opensmtpd-configuration
Data type regresenting the configuration of opensmtpd.
@table @asis
@item @code{package} (default: @var{opensmtpd})
Package object of the OpenSMTPD SMTP server.
@item @code{config-file} (default: @var{%default-opensmtpd-file})
File-like object of the OpenSMTPD configuration file to use. By default
it listens on the loopback network interface, and allows for mail from
users and daemons on the local machine, as well as permitting email to
remote servers. Run @command{man smtpd.conf} for more information.
@end table
@end deftp
@node Kerberos Services
@subsubsection Kerberos Services
@cindex Kerberos
The @code{(gnu services Kerberos)} module provides services relating to
The @code{(gnu services kerberos)} module provides services relating to
the authentication protocol @dfn{Kerberos}.
@subsubheading PAM krb5 Service
@cindex pam-krb5
The pam-krb5 service allows for login authentication and password
The @code{pam-krb5} service allows for login authentication and password
management via Kerberos.
You will need this service if you want PAM enabled applications to authenticate
users using Kerberos.
@ -11585,6 +11753,84 @@ If it is @code{#f} then the daemon will use the host's fully qualified domain na
@end table
@end deftp
@node Continuous Integration
@subsubsection Continuous Integration
@cindex continuous integration
@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous
integration tool for Guix. It can be used both for development and for
providing substitutes to others (@pxref{Substitutes}).
The @code{(gnu services cuirass)} module provides the following service.
@deffn {Scheme Procedure} cuirass-service @
[#:config @code{(cuirass-configuration)}]
Return a service that runs @command{cuirass}.
The @var{#:config} keyword argument specifies the configuration for
@command{cuirass}, which must be a @code{<cuirass-configuration>}
object, by default it doesn't provide any build job. If you want to
provide your own configuration you will most likely use the
@code{cuirass-configuration} special form which returns such objects.
@end deffn
In order to add build jobs you will have to set the
@code{specifications} field. Here is an example of a cuirass service
defining a build job based on a specification that can be found in
Cuirass source tree.
@example
(let ((spec `((#:name . "guix")
(#:url . "git://git.savannah.gnu.org/guix.git")
(#:load-path . ".")
;; Adapt to a valid absolute file name.
(#:file . "/.../cuirass/tests/gnu-system.scm")
(#:proc . hydra-jobs)
(#:arguments (subset . "hello"))
(#:branch . "master"))))
(cuirass-service #:config (cuirass-configuration
(specifications (list spec)))))
@end example
While information related to build jobs are located directly in the
specifications, global settings for the @command{cuirass} process are
accessible in other @code{cuirass-configuration} fields.
@deftp {Data Type} cuirass-configuration
Data type representing the configuration of Cuirass.
@table @asis
@item @code{cache-directory} (default: @code{""})
Location of the repository cache.
@item @code{user} (default: @code{"cuirass"})
Owner of the @code{cuirass} process.
@item @code{group} (default: @code{"cuirass"})
Owner's group of the @code{cuirass} process.
@item @code{interval} (default: @code{60})
Number of seconds between the poll of the repositories followed by the
Cuirass jobs.
@item @code{database} (default: @code{"/var/run/cuirass/cuirass.db"})
Location of sqlite database which contains the build results and previously
added specifications.
@item @code{specifications} (default: @code{'()})
A list of specifications, where a specification is an association list
(@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose
keys are keywords (@code{#:keyword-example}) as shown in the example
above.
@item @code{use-substitutes?} (default: @code{#f})
This allows using substitutes to avoid building every dependencies of a job
from source.
@item @code{one-shot?} (default: @code{#f})
Only evaluate specifications and build derivations once.
@end table
@end deftp
@node Miscellaneous Services
@subsubsection Miscellaneous Services
@ -13649,7 +13895,6 @@ for instance, the module python-dateutil is packaged under the names
starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as
described above.
@subsubsection Specifying Dependencies
@cindex inputs, for Python packages
@ -13665,6 +13910,12 @@ following check list to determine which dependency goes where.
@itemize
@item
We currently package Python 2 with @code{setuptools} and @code{pip}
installed like Python 3.4 has per default. Thus you don't need to
specify either of these as an input. @command{guix lint} will warn you
if you do.
@item
Python dependencies required at run time go into
@code{propagated-inputs}. They are typically defined with the
@ -13679,8 +13930,7 @@ testing---e.g., those in @code{tests_require}---go into
propagated because they are not needed at run time, and (2) in a
cross-compilation context, it's the ``native'' input that we'd want.
Examples are @code{setuptools}, which is usually needed only at build
time, or the @code{pytest}, @code{mock}, and @code{nose} test
Examples are the @code{pytest}, @code{mock}, and @code{nose} test
frameworks. Of course if any of these packages is also required at
run-time, it needs to go to @code{propagated-inputs}.

12
etc/guix-publish.conf.in Normal file
View File

@ -0,0 +1,12 @@
# This is a "job" for the Upstart init system to launch 'guix-daemon'.
# Drop it in /etc/init to have 'guix-daemon' automatically started.
description "Publish the GNU Guix store"
start on runlevel [2345]
stop on runlevel [016]
task
exec @bindir@/guix publish --user=nobody --port=8181

View File

@ -0,0 +1,19 @@
# This is a "service unit file" for the systemd init system to launch
# 'guix publish'. Drop it in /etc/systemd/system or similar to have
# 'guix publish' automatically started.
[Unit]
Description=Publish the GNU Guix store
[Service]
ExecStart=@bindir@/guix publish --user=nobody --port=8181
Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog
# See <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00608.html>.
TasksMax=1024
[Install]
WantedBy=multi-user.target

View File

@ -464,6 +464,27 @@ form:
DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f;
FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to
run a file system check."
(define (mount-nfs source mount-point type flags options)
(let* ((idx (string-rindex source #\:))
(host-part (string-take source idx))
;; Strip [] from around host if present
(host (match (string-split host-part (string->char-set "[]"))
(("" h "") h)
((h) h)))
(aa (match (getaddrinfo host "nfs") ((x . _) x)))
(sa (addrinfo:addr aa))
(inet-addr (inet-ntop (sockaddr:fam sa)
(sockaddr:addr sa))))
;; Mounting an NFS file system requires passing the address
;; of the server in the addr= option
(mount source mount-point type flags
(string-append "addr="
inet-addr
(if options
(string-append "," options)
"")))))
(match spec
((source title mount-point type (flags ...) options check?)
(let ((source (canonicalize-device-spec source title))
@ -481,7 +502,11 @@ run a file system check."
(call-with-output-file mount-point (const #t)))
(mkdir-p mount-point))
(mount source mount-point type flags options)
(cond
((string-prefix? "nfs" type)
(mount-nfs source mount-point type flags options))
(else
(mount source mount-point type flags options)))
;; For read-only bind mounts, an extra remount is needed, as per
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.

View File

@ -46,6 +46,11 @@ Note that the caller must make sure that GRUB.CFG is registered as a GC root
so that the fonts, background images, etc. referred to by GRUB.CFG are not
GC'd."
(install-grub-config grub.cfg mount-point)
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or root
;; partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(unless (zero? (system* "grub-install" "--no-floppy"
"--boot-directory"
(string-append mount-point "/boot")

View File

@ -21,10 +21,13 @@
#:use-module (srfi srfi-26)
#:use-module (rnrs io ports)
#:use-module (ice-9 match)
#:use-module (ice-9 popen)
#:export (marionette?
make-marionette
marionette-eval
marionette-control
marionette-screen-text
wait-for-screen-text
%qwerty-us-keystrokes
marionette-type))
@ -45,7 +48,10 @@
(command marionette-command) ;list of strings
(pid marionette-pid) ;integer
(monitor marionette-monitor) ;port
(repl marionette-repl)) ;port
(repl %marionette-repl)) ;promise of a port
(define-syntax-rule (marionette-repl marionette)
(force (%marionette-repl marionette)))
(define* (wait-for-monitor-prompt port #:key (quiet? #t))
"Read from PORT until we have seen all of QEMU's monitor prompt. When
@ -131,21 +137,29 @@ QEMU monitor and to the guest's backdoor REPL."
(close-port monitor)
(wait-for-monitor-prompt monitor-conn)
(display "read QEMU monitor prompt\n")
(match (accept* repl)
((repl-conn . addr)
(display "connected to guest REPL\n")
(close-port repl)
(match (read repl-conn)
('ready
(alarm 0)
(display "marionette is ready\n")
(marionette (append command extra-options) pid
monitor-conn repl-conn)))))))))))
(marionette (append command extra-options) pid
monitor-conn
;; The following 'accept' call connects immediately, but
;; we don't know whether the guest has connected until
;; we actually receive the 'ready' message.
(match (accept* repl)
((repl-conn . addr)
(display "connected to guest REPL\n")
(close-port repl)
;; Delay reception of the 'ready' message so that the
;; caller can already send monitor commands.
(delay
(match (read repl-conn)
('ready
(display "marionette is ready\n")
repl-conn))))))))))))
(define (marionette-eval exp marionette)
"Evaluate EXP in MARIONETTE's backdoor REPL. Return the result."
(match marionette
(($ <marionette> command pid monitor repl)
(($ <marionette> command pid monitor (= force repl))
(write exp repl)
(newline repl)
(read repl))))
@ -160,6 +174,55 @@ pcsys_monitor\")."
(newline monitor)
(wait-for-monitor-prompt monitor))))
(define* (marionette-screen-text marionette
#:key
(ocrad "ocrad"))
"Take a screenshot of MARIONETTE, perform optical character
recognition (OCR), and return the text read from the screen as a string. Do
this by invoking OCRAD (file name for GNU Ocrad's command)"
(define (random-file-name)
(string-append "/tmp/marionette-screenshot-"
(number->string (random (expt 2 32)) 16)
".ppm"))
(let ((image (random-file-name)))
(dynamic-wind
(const #t)
(lambda ()
(marionette-control (string-append "screendump " image)
marionette)
;; Tell Ocrad to invert the image colors (make it black on white) and
;; to scale the image up, which significantly improves the quality of
;; the result. In spite of this, be aware that OCR confuses "y" and
;; "V" and sometimes erroneously introduces white space.
(let* ((pipe (open-pipe* OPEN_READ ocrad
"-i" "-s" "10" image))
(text (get-string-all pipe)))
(unless (zero? (close-pipe pipe))
(error "'ocrad' failed" ocrad))
text))
(lambda ()
(false-if-exception (delete-file image))))))
(define* (wait-for-screen-text marionette predicate
#:key (timeout 30) (ocrad "ocrad"))
"Wait for TIMEOUT seconds or until the screen text on MARIONETTE matches
PREDICATE, whichever comes first. Raise an error when TIMEOUT is exceeded."
(define start
(car (gettimeofday)))
(define end
(+ start timeout))
(let loop ()
(if (> (car (gettimeofday)) end)
(error "'wait-for-screen-text' timeout" predicate)
(or (predicate (marionette-screen-text marionette #:ocrad ocrad))
(begin
(sleep 1)
(loop))))))
(define %qwerty-us-keystrokes
;; Maps "special" characters to their keystrokes.
'((#\newline . "ret")

View File

@ -79,12 +79,9 @@ it via /dev/hda.
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
the #:references-graphs parameter of 'derivation'."
(define image-file
(string-append "image." disk-image-format))
(when make-disk-image?
(unless (zero? (system* "qemu-img" "create" "-f" disk-image-format
image-file
output
(number->string disk-image-size)))
(error "qemu-img failed")))
@ -115,7 +112,7 @@ the #:references-graphs parameter of 'derivation'."
builder)
(append
(if make-disk-image?
`("-drive" ,(string-append "file=" image-file
`("-drive" ,(string-append "file=" output
",if=virtio"))
'())
;; Only enable kvm if we see /dev/kvm exists.
@ -126,11 +123,10 @@ the #:references-graphs parameter of 'derivation'."
'()))))
(error "qemu failed" qemu))
(if make-disk-image?
(copy-file image-file output)
(begin
(mkdir output)
(copy-recursively "xchg" output))))
;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already.
(unless make-disk-image?
(mkdir output)
(copy-recursively "xchg" output)))
;;;

View File

@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/icu4c.scm \
%D%/packages/idutils.scm \
%D%/packages/image.scm \
%D%/packages/image-viewers.scm \
%D%/packages/imagemagick.scm \
%D%/packages/indent.scm \
%D%/packages/inklingreader.scm \
@ -294,6 +295,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pdf.scm \
%D%/packages/pem.scm \
%D%/packages/perl.scm \
%D%/packages/perl-web.scm \
%D%/packages/photo.scm \
%D%/packages/php.scm \
%D%/packages/pkg-config.scm \
@ -305,7 +307,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pumpio.scm \
%D%/packages/pretty-print.scm \
%D%/packages/protobuf.scm \
%D%/packages/psyc.scm \
%D%/packages/pv.scm \
%D%/packages/python.scm \
%D%/packages/qemu.scm \
@ -400,6 +401,8 @@ GNU_SYSTEM_MODULES = \
%D%/services/admin.scm \
%D%/services/avahi.scm \
%D%/services/base.scm \
%D%/services/configuration.scm \
%D%/services/cuirass.scm \
%D%/services/cups.scm \
%D%/services/databases.scm \
%D%/services/dbus.scm \
@ -447,6 +450,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests.scm \
%D%/tests/base.scm \
%D%/tests/install.scm \
%D%/tests/mail.scm \
%D%/tests/ssh.scm
@ -486,6 +490,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mips-bash-bug.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/calibre-drop-unrar.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
@ -506,6 +511,7 @@ dist_patch_DATA = \
%D%/packages/patches/cssc-missing-include.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/devil-CVE-2009-3994.patch \
%D%/packages/patches/devil-fix-libpng.patch \
@ -551,6 +557,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-5.0-libvtv-runpath.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gcj-arm-mode.patch \
%D%/packages/patches/gd-CVE-2016-7568.patch \
%D%/packages/patches/gd-CVE-2016-8670.patch \
%D%/packages/patches/gd-fix-chunk-size-on-boundaries.patch \
@ -585,6 +592,10 @@ dist_patch_DATA = \
%D%/packages/patches/grub-gets-undeclared.patch \
%D%/packages/patches/grub-freetype.patch \
%D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gst-plugins-good-fix-crashes.patch \
%D%/packages/patches/gst-plugins-good-fix-invalid-read.patch \
%D%/packages/patches/gst-plugins-good-fix-signedness.patch \
%D%/packages/patches/gst-plugins-good-flic-bounds-check.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-arm-fixes.patch \
%D%/packages/patches/guile-default-utf8.patch \
@ -800,6 +811,7 @@ dist_patch_DATA = \
%D%/packages/patches/pyqt-configure.patch \
%D%/packages/patches/python-2-deterministic-build-info.patch \
%D%/packages/patches/python-2.7-search-paths.patch \
%D%/packages/patches/python-2.7-site-prefixes.patch \
%D%/packages/patches/python-2.7-source-date-epoch.patch \
%D%/packages/patches/python-3-deterministic-build-info.patch \
%D%/packages/patches/python-3-search-paths.patch \
@ -809,7 +821,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-file-double-encoding-bug.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python-parse-too-many-fields.patch \
%D%/packages/patches/python-rarfile-fix-tests.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-statsmodels-fix-tests.patch \
%D%/packages/patches/python-configobj-setuptools.patch \

View File

@ -1332,8 +1332,6 @@ specified directories.")
(("/usr") out)
(("distro_ver = .*") "distro_ver = ''"))
#t))))))
(inputs
`(("python-setuptools" ,python2-setuptools)))
(home-page "https://github.com/shawn-sterling/graphios")
(synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
(description
@ -1356,8 +1354,7 @@ of supported upstream metrics systems simultaneously.")
"1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
("python2-pycrypto" ,python2-pycrypto)
`(("python2-pycrypto" ,python2-pycrypto)
("python2-httplib2" ,python2-httplib2)
("python2-passlib" ,python2-passlib)
("python2-nose" ,python2-nose)
@ -1699,13 +1696,15 @@ throughput (in the same interval).")
(base32
"04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(inputs
`(("python-colorama" ,python-colorama)
("python-decorator" ,python-decorator)
("python-psutil" ,python-psutil)
("python-six" ,python-six)))
(inputs
;; Requires setuptools >= 17.1 due to some features used, while our
;; python currently only includes 12.0. TODO: Remove this input.
`(("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description

View File

@ -577,6 +577,22 @@ cosine/ sine transforms or DCT/DST).")
(string-append (package-description fftw)
" Single-precision version."))))
;; FIXME: These packages are used temporarily by packages like Ardour until
;; "--enable-flags" is added to the fftw and fftwf packages.
(define-public fftw-with-threads
(package (inherit fftw)
(arguments
(substitute-keyword-arguments (package-arguments fftw)
((#:configure-flags flags)
`(cons "--enable-threads" ,flags))))))
(define-public fftwf-with-threads
(package (inherit fftwf)
(arguments
(substitute-keyword-arguments (package-arguments fftwf)
((#:configure-flags flags)
`(cons "--enable-threads" ,flags))))))
(define-public fftw-openmpi
(package (inherit fftw)
(name "fftw-openmpi")

View File

@ -108,10 +108,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-en
(aspell-dictionary "en" "English"
#:version "2016.01.19-0"
#:version "2016.11.20-0"
#:sha256
(base32
"01h4cl4lngp6mcfbyb47cjrc2gspyg2519dvknd97ki896nx7vcn")))
"1496jnhh2jvhkzcj0p4vy89bcs4g5wz6a76m33vw4dhchn5xm9jw")))
(define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto"

View File

@ -8,6 +8,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -237,8 +238,8 @@ namespace ARDOUR { const char* revision = \"5.4\" ; }"))))
("lv2" ,lv2)
("vamp" ,vamp)
("curl" ,curl)
("fftw" ,fftw)
("fftwf" ,fftwf)
("fftw" ,fftw-with-threads)
("fftwf" ,fftwf-with-threads)
("jack" ,jack-1)
("serd" ,serd)
("sord" ,sord)
@ -1177,19 +1178,24 @@ well suited to all musical instruments and vocals.")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://factorial.hu/system/files/ir.lv2-"
version ".tar.gz"))
;; The original home-page is gone. Download the tarball from an
;; archive mirror instead.
(uri (list (string-append
"https://web.archive.org/web/20150803095032/"
"http://factorial.hu/system/files/ir.lv2-"
version ".tar.gz")
(string-append
"https://mirrors.kernel.org/gentoo/distfiles/ir.lv2-"
version ".tar.gz")))
(sha256
(base32
"1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
`(#:tests? #f ; no tests
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
;; no configure script
(alist-delete 'configure %standard-phases)))
#:phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(inputs
`(("libsndfile" ,libsndfile)
("libsamplerate" ,libsamplerate)
@ -1203,7 +1209,9 @@ well suited to all musical instruments and vocals.")
(list (search-path-specification
(variable "LV2_PATH")
(files '("lib/lv2")))))
(home-page "http://factorial.hu/plugins/lv2/ir")
;; Link to an archived copy of the home-page since the original is gone.
(home-page (string-append "https://web.archive.org/web/20150803095032/"
"http://factorial.hu/plugins/lv2/ir"))
(synopsis "LV2 convolution reverb")
(description
"IR is a low-latency, real-time, high performance signal convolver
@ -1485,9 +1493,10 @@ implementation of the Open Sound Control (OSC) protocol.")
"13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;no tests
(native-inputs
`(("python-cython" ,python-cython)))
(inputs
`(("python-cython" ,python-cython)
("liblo" ,liblo)))
`(("liblo" ,liblo)))
(home-page "http://das.nasophon.de/pyliblo/")
(synopsis "Python bindings for liblo")
(description
@ -1543,15 +1552,14 @@ significantly faster and have minimal dependencies.")
(define-public lv2
(package
(name "lv2")
(version "1.12.0")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (string-append "http://lv2plug.in/spec/lv2-"
version
".tar.bz2"))
version ".tar.bz2"))
(sha256
(base32
"1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks"))))
"0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target

View File

@ -66,8 +66,7 @@
"duplicity-test_selection-tmp.patch"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
("util-linux" ,util-linux))) ;setsid command, for the tests
`(("util-linux" ,util-linux))) ;setsid command, for the tests
(inputs
`(("python" ,python-2)
("librsync" ,librsync)
@ -339,8 +338,6 @@ errors.")
(base32
"1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(inputs
`(("python" ,python-2)
("librsync" ,librsync)))
@ -438,7 +435,9 @@ detection, and lossless compression.")
;; The tests need to be run after Borg is installed.
(delete 'check)
(add-after 'install 'check
(lambda _
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make the installed package available for the test suite.
(add-installed-pythonpath inputs outputs)
(zero?
(system* "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
(string-append
@ -451,7 +450,13 @@ detection, and lossless compression.")
"and not test_default_acl "
"and not test_non_ascii_acl "
;; This test needs the unpackaged pytest-benchmark.
"and not benchmark")))))
"and not benchmark "
;; These tests assume the kernel supports FUSE. They
;; were skipped using the "old" Python build system,
;; before commit
;; 7db40bce58e149ecb541d295e01cfbfe953d39a3.
"and not test_fuse "
"and not test_fuse_allow_damaged_files")))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -50,6 +50,7 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
@ -215,8 +216,7 @@ structure of the predicted RNA.")
("libtool" ,libtool)
("zlib" ,zlib)
("python-nose" ,python2-nose)
("python-pysam" ,python2-pysam)
("python-setuptools" ,python2-setuptools)))
("python-pysam" ,python2-pysam)))
(inputs
`(("htslib" ,htslib)
("samtools" ,samtools)
@ -523,15 +523,14 @@ intended to behave exactly the same as the original BWK awk.")
(build-system python-build-system)
(arguments `(#:python ,python-2)) ; no Python 3 support
(inputs
`(("python-cython" ,python2-cython)
("python-matplotlib" ,python2-matplotlib)))
`(("python-matplotlib" ,python2-matplotlib)))
(propagated-inputs
`(("bedtools" ,bedtools)
("samtools" ,samtools)))
(native-inputs
`(("python-pyyaml" ,python2-pyyaml)
("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
`(("python-cython" ,python2-cython)
("python-pyyaml" ,python2-pyyaml)
("python-nose" ,python2-nose)))
(home-page "https://pythonhosted.org/pybedtools/")
(synopsis "Python wrapper for BEDtools programs")
(description
@ -586,9 +585,7 @@ e.g. microbiome samples, genomes, metagenomes.")
(substitute* "setup.py"
(("install_requires.append\\(\"pyqi\"\\)") "pass"))
#t)))
,@(package-arguments base)))
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
,@(package-arguments base))))))
(define-public bioperl-minimal
(let* ((inputs `(("perl-module-build" ,perl-module-build)
@ -673,7 +670,7 @@ provide a coordinated and extensible framework to do computational biology.")
(add-before 'check 'set-home
;; Some tests require a home directory to be set.
(lambda _ (setenv "HOME" "/tmp") #t)))))
(inputs
(propagated-inputs
`(("python-numpy" ,python-numpy)))
(home-page "http://biopython.org/")
(synopsis "Tools for biological computation in Python")
@ -684,15 +681,10 @@ bioinformatics programs; a standard sequence class and tools for performing
common operations on them; code to perform data classification; code for
dealing with alignments; code making it easy to split up parallelizable tasks
into separate processes; and more.")
(license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE"))
(properties `((python2-variant . ,(delay python2-biopython))))))
(license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE"))))
(define-public python2-biopython
(let ((base (package-with-python2 (strip-python2-variant python-biopython))))
(package
(inherit base)
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-biopython))
;; An outdated version of biopython is required for seqmagick, see
;; https://github.com/fhcrc/seqmagick/issues/59
@ -1339,8 +1331,7 @@ well as many of the command line options.")
`(("python-numpy" ,python2-numpy)
("zlib" ,zlib)))
(native-inputs
`(("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
`(("python-nose" ,python2-nose)))
(home-page "http://bitbucket.org/james_taylor/bx-python/")
(synopsis "Tools for manipulating biological data")
(description
@ -1404,7 +1395,6 @@ multiple sequence alignments.")
("zlib" ,zlib)))
(native-inputs
`(("python-cython" ,python-cython)
("python-setuptools" ,python-setuptools)
;; Dependencies below are are for tests only.
("samtools" ,samtools)
("bcftools" ,bcftools)
@ -1430,7 +1420,6 @@ also includes an interface for tabix.")
(sha256
(base32
"1q8wnj2kga9nz1lwc4w7qv52smfm536hp6mc8w6s53lhyj0mpi22"))))
(properties `((python2-variant . ,(delay python2-twobitreader))))
(build-system python-build-system)
(arguments
'(;; Tests are not distributed in the PyPi release.
@ -1447,11 +1436,7 @@ UCSC genome browser.")
(license license:artistic2.0)))
(define-public python2-twobitreader
(let ((base (package-with-python2 (strip-python2-variant python-twobitreader))))
(package
(inherit base)
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-twobitreader))
(define-public python-plastid
(package
@ -1463,7 +1448,6 @@ UCSC genome browser.")
(sha256
(base32
"1sqkz5d3b9kf688mp7k771c87ins42j7j0whmkb49cb3fsg8s8lj"))))
(properties `((python2-variant . ,(delay python2-plastid))))
(build-system python-build-system)
(arguments
;; Some test files are not included.
@ -1488,12 +1472,7 @@ high-throughput sequencing data with an emphasis on simplicity.")
(license license:bsd-3)))
(define-public python2-plastid
(let ((base (package-with-python2 (strip-python2-variant python-plastid))))
(package
(inherit base)
;; setuptools is required at runtime
(propagated-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-propagated-inputs base))))))
(package-with-python2 python-plastid))
(define-public cd-hit
(package
@ -1580,9 +1559,8 @@ databases.")
("python-numpy" ,python2-numpy)
("python-scipy" ,python2-scipy)))
(native-inputs
`(("python-mock" ,python2-mock) ; for tests
("python-pytz" ,python2-pytz) ; for tests
("python-setuptools" ,python2-setuptools)))
`(("python-mock" ,python2-mock) ; for tests
("python-pytz" ,python2-pytz))) ; for tests
(home-page "https://github.com/YeoLab/clipper")
(synopsis "CLIP peak enrichment recognition")
(description
@ -1755,8 +1733,7 @@ time.")
("zlib" ,zlib)))
(native-inputs
`(("python-cython" ,python2-cython)
("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
("python-nose" ,python2-nose)))
(home-page "http://crossmap.sourceforge.net/")
(synopsis "Convert genome coordinates between assemblies")
(description
@ -1854,8 +1831,7 @@ preparation protocols.")
(alist-delete 'check %standard-phases))))
(native-inputs
`(("python-cython" ,python-cython)
("python-nose" ,python-nose)
("python-setuptools" ,python-setuptools)))
("python-nose" ,python-nose)))
(home-page "https://code.google.com/p/cutadapt/")
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
(description
@ -1945,10 +1921,7 @@ accessing bigWig files.")
(license license:expat)))
(define-public python2-pybigwig
(let ((pybigwig (package-with-python2 python-pybigwig)))
(package (inherit pybigwig)
(native-inputs
`(("python-setuptools" ,python2-setuptools))))))
(package-with-python2 python-pybigwig))
(define-public python-dendropy
(package
@ -1997,8 +1970,7 @@ trees (phylogenies) and characters.")
;; There is currently a test failure that only happens on some
;; systems, and only using "setup.py test"
(lambda _ (zero? (system* "nosetests")))))))
(native-inputs `(("python2-setuptools" ,python2-setuptools)
("python2-nose" ,python2-nose)
(native-inputs `(("python2-nose" ,python2-nose)
,@(package-native-inputs base))))))
@ -2026,9 +1998,8 @@ trees (phylogenies) and characters.")
("python-pysam" ,python2-pysam)
("python-pybigwig" ,python2-pybigwig)))
(native-inputs
`(("python-mock" ,python2-mock) ;for tests
("python-pytz" ,python2-pytz) ;for tests
("python-setuptools" ,python2-setuptools)))
`(("python-mock" ,python2-mock) ;for tests
("python-pytz" ,python2-pytz))) ;for tests
(home-page "https://github.com/fidelram/deepTools")
(synopsis "Tools for normalizing and visualizing deep-sequencing data")
(description
@ -2683,8 +2654,7 @@ comment or quality sections.")
("python-pysam" ,python2-pysam)
("python-networkx" ,python2-networkx)))
(native-inputs
`(("python-cython" ,python2-cython)
("python-setuptools" ,python2-setuptools)))
`(("python-cython" ,python2-cython)))
(home-page "http://grit-bio.org")
(synopsis "Tool for integrative analysis of RNA-seq type assays")
(description
@ -2810,8 +2780,6 @@ HMMs).")
`(("python-numpy" ,python2-numpy)))
(inputs
`(("python-pysam" ,python2-pysam)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)))
(home-page "http://www-huber.embl.de/users/anders/HTSeq/")
(synopsis "Analysing high-throughput sequencing data with Python")
(description
@ -2932,8 +2900,7 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)))
(native-inputs
`(("python-cython" ,python-cython)
("python-setuptools" ,python-setuptools)))
`(("python-cython" ,python-cython)))
(home-page "https://github.com/nboley/idr")
(synopsis "Tool to measure the irreproducible discovery rate (IDR)")
(description
@ -3090,8 +3057,6 @@ data.")
#:tests? #f)) ; no test target
(inputs
`(("python-numpy" ,python2-numpy)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)))
(home-page "http://github.com/taoliu/MACS/")
(synopsis "Model based analysis for ChIP-Seq data")
(description
@ -3423,9 +3388,8 @@ linker_so='gcc -shared'); defines")))))
("python-scipy" ,python2-scipy)
("python-matplotlib" ,python2-matplotlib)))
(native-inputs
`(("python-mock" ,python2-mock) ;for tests
("python-pytz" ,python2-pytz) ;for tests
("python-setuptools" ,python2-setuptools)))
`(("python-mock" ,python2-mock) ;for tests
("python-pytz" ,python2-pytz))) ;for tests
(home-page "http://genes.mit.edu/burgelab/miso/index.html")
(synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation")
(description
@ -3472,6 +3436,45 @@ program for nucleotide and protein sequences.")
;; License information found in 'muscle -h' and usage.cpp.
(license license:public-domain)))
(define-public newick-utils
;; There are no recent releases so we package from git.
(let ((commit "da121155a977197cab9fbb15953ca1b40b11eb87"))
(package
(name "newick-utils")
(version (string-append "1.6-1." (string-take commit 8)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tjunier/newick_utils.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1hkw21rq1mwf7xp0rmbb2gqc0i6p11108m69i7mr7xcjl268pxnb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (zero? (system* "autoreconf" "-vif")))))))
(inputs
;; XXX: TODO: Enable Lua and Guile bindings.
;; https://github.com/tjunier/newick_utils/issues/13
`(("libxml2" ,libxml2)
("flex" ,flex)
("bison" ,bison)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(synopsis "Programs for working with newick format phylogenetic trees")
(description
"Newick-utils is a suite of utilities for processing phylogenetic trees
in Newick format. Functions include re-rooting, extracting subtrees,
trimming, pruning, condensing, drawing (ASCII graphics or SVG).")
(home-page "https://github.com/tjunier/newick_utils")
(license license:bsd-3))))
(define-public orfm
(package
(name "orfm")
@ -3509,18 +3512,15 @@ interrupted by stop codons. OrfM finds and prints these ORFs.")
"1kjmv891d6qbpp4shhhvkl02ff4q5xlpnls2513sm2cjcrs52f1i"))))
(build-system python-build-system)
(arguments `(#:python ,python-2)) ; pbcore requires Python 2.7
(inputs
(propagated-inputs
`(("python-cython" ,python2-cython)
("python-numpy" ,python2-numpy)
("python-pysam" ,python2-pysam)
("python-h5py" ,python2-h5py)))
(native-inputs
`(("python-docutils" ,python2-docutils)
("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)
("python-sphinx" ,python2-sphinx)))
(propagated-inputs
`(("python-pyxb" ,python2-pyxb)))
`(("python-nose" ,python2-nose)
("python-sphinx" ,python2-sphinx)
("python-pyxb" ,python2-pyxb)))
(home-page "http://pacificbiosciences.github.io/pbcore/")
(synopsis "Library for reading and writing PacBio data files")
(description
@ -3543,18 +3543,7 @@ files and writing bioinformatics applications.")
"1agfz6zqa8nc6cw47yh0s3y14gkpa9wqazwcj7mwwj3ffnw39p3j"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; requires Python 2.7
#:phases
(modify-phases %standard-phases
(add-after
'install 'remove-bin-directory
(lambda* (#:key outputs #:allow-other-keys)
;; The "bin" directory only contains wrappers for running
;; the module tests. They are not needed after the
;; "check" phase.
(delete-file-recursively
(string-append (assoc-ref outputs "out") "/bin"))
#t)))))
`(#:python ,python-2)) ; requires Python 2.7
(propagated-inputs
`(("python-scipy" ,python2-scipy)
("python-numpy" ,python2-numpy)
@ -3563,8 +3552,7 @@ files and writing bioinformatics applications.")
("python-pandas" ,python2-pandas)
("python-pysnptools" ,python2-pysnptools)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)
("python-mock" ,python2-mock)
`(("python-mock" ,python2-mock)
("python-nose" ,python2-nose)
("unzip" ,unzip)))
(home-page "https://github.com/PMBio/warpedLMM")
@ -3598,11 +3586,6 @@ the phenotype as it models the data.")
(build-system python-build-system)
(arguments
`(#:python ,python-2
;; With standard flags, the install phase attempts to create a zip'd
;; egg file, and fails with an error: 'ZIP does not support timestamps
;; before 1980'
#:configure-flags '("--single-version-externally-managed"
"--record=pbtranscript-tofu.txt")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-directory
@ -3626,8 +3609,7 @@ the phenotype as it models the data.")
("python-h5py" ,python2-h5py)))
(native-inputs
`(("python-cython" ,python2-cython)
("python-nose" ,python2-nose)
("python-setuptools" ,python2-setuptools)))
("python-nose" ,python2-nose)))
(home-page "https://github.com/PacificBiosciences/cDNA_primer")
(synopsis "Analyze transcriptome data generated with the Iso-Seq protocol")
(description
@ -3693,6 +3675,58 @@ for sequences to be aligned and then, simultaneously with the alignment,
predicts the locations of structural units in the sequences.")
(license license:gpl2+)))
(define-public proteinortho
(package
(name "proteinortho")
(version "5.15")
(source
(origin
(method url-fetch)
(uri
(string-append
"http://www.bioinf.uni-leipzig.de/Software/proteinortho/proteinortho_v"
version "_src.tar.gz"))
(sha256
(base32
"05wacnnbx56avpcwhzlcf6b7s77swcpv3qnwz5sh1z54i51gg2ki"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(replace 'configure
;; There is no configure script, so we modify the Makefile directly.
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("INSTALLDIR=.*")
(string-append
"INSTALLDIR=" (assoc-ref outputs "out") "/bin\n")))
#t))
(add-before 'install 'make-install-directory
;; The install directory is not created during 'make install'.
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((path (getenv "PATH"))
(out (assoc-ref outputs "out"))
(binary (string-append out "/bin/proteinortho5.pl")))
(wrap-program binary `("PATH" ":" prefix (,path))))
#t)))))
(inputs
`(("perl" ,perl)
("python" ,python-2)
("blast+" ,blast+)))
(home-page "http://www.bioinf.uni-leipzig.de/Software/proteinortho")
(synopsis "Detect orthologous genes across species")
(description
"Proteinortho is a tool to detect orthologous genes across different
species. For doing so, it compares similarities of given gene sequences and
clusters them to find significant groups. The algorithm was designed to handle
large-scale data and can be applied to hundreds of species at once.")
(license license:gpl2+)))
(define-public pyicoteo
(package
(name "pyicoteo")
@ -3765,7 +3799,7 @@ partial genes, and identifies translation initiation sites.")
(define-public roary
(package
(name "roary")
(version "3.6.8")
(version "3.7.0")
(source
(origin
(method url-fetch)
@ -3774,7 +3808,7 @@ partial genes, and identifies translation initiation sites.")
version ".tar.gz"))
(sha256
(base32
"0g0pzcv8y7n2w8q7c9q0a7s2ghkwci6w8smg9mjw4agad5cd7yaw"))))
"0x2hpb3nfsc6x2nq1788w0fhqfzc7cn2dp4xwyva9m3k6xlz0m43"))))
(build-system perl-build-system)
(arguments
`(#:phases
@ -4024,7 +4058,6 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
`(("python-cython" ,python2-cython)
("python-pysam" ,python2-pysam)
("python-numpy" ,python2-numpy)
("python-setuptools" ,python2-setuptools)
("zlib" ,zlib)))
(native-inputs
`(("python-nose" ,python2-nose)))
@ -4586,11 +4619,7 @@ sequence itself can be retrieved from these databases.")
(license license:bsd-3)))
(define-public python2-screed
(let ((base (package-with-python2 (strip-python2-variant python-screed))))
(package
(inherit base)
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-screed))
(define-public sra-tools
(package
@ -4752,8 +4781,7 @@ bioinformatics file formats, sequence alignment, and more.")
;; should be removed.
`(("python-biopython" ,python2-biopython-1.66)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)
("python-nose" ,python2-nose)))
`(("python-nose" ,python2-nose)))
(home-page "http://github.com/fhcrc/seqmagick")
(synopsis "Tools for converting and modifying sequence files")
(description
@ -7246,6 +7274,29 @@ two-dimensional genome scans.")
libraries for systems that do not have these available via other means.")
(license license:artistic2.0)))
(define-public r-r4rna
(package
(name "r-r4rna")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.e-rna.org/r-chie/files/R4RNA_"
version ".tar.gz"))
(sha256
(base32
"1p0i78wh76jfgmn9jphbwwaz6yy6pipzfg08xs54cxavxg2j81p5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-optparse" ,r-optparse)
("r-rcolorbrewer" ,r-rcolorbrewer)))
(home-page "http://www.e-rna.org/r-chie/index.cgi")
(synopsis "Analysis framework for RNA secondary structure")
(description
"The R4RNA package aims to be a general framework for the analysis of RNA
secondary structure and comparative analysis in R.")
(license license:gpl3+)))
(define-public r-rhtslib
(package
(name "r-rhtslib")
@ -7426,6 +7477,141 @@ characterization and visualization of a wide range of mutational patterns
in SNV base substitution data.")
(license license:expat)))
(define-public r-wgcna
(package
(name "r-wgcna")
(version "1.51")
(source
(origin
(method url-fetch)
(uri (cran-uri "WGCNA" version))
(sha256
(base32
"0hzvnhw76vwg8bl8x368f0c5szpwb8323bmrb3bir93i5bmfjsxx"))))
(properties `((upstream-name . "WGCNA")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-doparallel" ,r-doparallel)
("r-dynamictreecut" ,r-dynamictreecut)
("r-fastcluster" ,r-fastcluster)
("r-foreach" ,r-foreach)
("r-go-db" ,r-go-db)
("r-hmisc" ,r-hmisc)
("r-impute" ,r-impute)
("r-matrixstats" ,r-matrixstats)
("r-preprocesscore" ,r-preprocesscore)))
(home-page
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
(synopsis "Weighted correlation network analysis")
(description
"This package provides functions necessary to perform Weighted
Correlation Network Analysis on high-dimensional data. It includes functions
for rudimentary data cleaning, construction and summarization of correlation
networks, module identification and functions for relating both variables and
modules to sample traits. It also includes a number of utility functions for
data manipulation and visualization.")
(license license:gpl2+)))
(define-public r-chipkernels
(let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372")
(revision "1"))
(package
(name "r-chipkernels")
(version (string-append "1.1-" revision "." (string-take commit 9)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ManuSetty/ChIPKernels.git")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"14bj5qhjm1hsm9ay561nfbqi9wxsa7y487df2idsaaf6z10nw4v0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-iranges" ,r-iranges)
("r-xvector" ,r-xvector)
("r-biostrings" ,r-biostrings)
("r-bsgenome" ,r-bsgenome)
("r-gtools" ,r-gtools)
("r-genomicranges" ,r-genomicranges)
("r-sfsmisc" ,r-sfsmisc)
("r-kernlab" ,r-kernlab)
("r-s4vectors" ,r-s4vectors)
("r-biocgenerics" ,r-biocgenerics)))
(home-page "https://github.com/ManuSetty/ChIPKernels")
(synopsis "Build string kernels for DNA Sequence analysis")
(description "ChIPKernels is an R package for building different string
kernels used for DNA Sequence analysis. A dictionary of the desired kernel
must be built and this dictionary can be used for determining kernels for DNA
Sequences.")
(license license:gpl2+))))
(define-public r-seqgl
(package
(name "r-seqgl")
(version "1.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ManuSetty/SeqGL/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0pnk1p3sci5yipyc8xnb6jbmydpl80fld927xgnbcv104hy8h8yh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biostrings" ,r-biostrings)
("r-chipkernels" ,r-chipkernels)
("r-genomicranges" ,r-genomicranges)
("r-spams" ,r-spams)
("r-wgcna" ,r-wgcna)
("r-fastcluster" ,r-fastcluster)))
(home-page "https://github.com/ManuSetty/SeqGL")
(synopsis "Group lasso for Dnase/ChIP-seq data")
(description "SeqGL is a group lasso based algorithm to extract
transcription factor sequence signals from ChIP, DNase and ATAC-seq profiles.
This package presents a method which uses group lasso to discriminate between
bound and non bound genomic regions to accurately identify transcription
factors bound at the specific regions.")
(license license:gpl2+)))
(define-public r-gkmsvm
(package
(name "r-gkmsvm")
(version "0.71.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gkmSVM" version))
(sha256
(base32
"1zpxgxmf2nd5j5wn00ps6kfxr8wxh7d1swr1rr4spq7sj5z5z0k0"))))
(properties `((upstream-name . "gkmSVM")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biostrings" ,r-biostrings)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-kernlab" ,r-kernlab)
("r-rcpp" ,r-rcpp)
("r-rocr" ,r-rocr)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-seqinr" ,r-seqinr)))
(home-page "http://cran.r-project.org/web/packages/gkmSVM")
(synopsis "Gapped-kmer support vector machine")
(description
"This R package provides tools for training gapped-kmer SVM classifiers
for DNA and protein sequences. This package supports several sequence
kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
(license license:gpl2+)))
(define-public emboss
(package
(name "emboss")
@ -7615,19 +7801,7 @@ may optionally be provided to further inform the peak-calling process.")
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; python2 only
#:tests? #f ; no tests included
#:phases
(modify-phases %standard-phases
;; When setuptools is used a ".egg" archive is generated and
;; installed. This makes it hard to actually run PePr. This issue
;; has been reported upstream:
;; https://github.com/shawnzhangyx/PePr/issues/9
(add-after 'unpack 'disable-egg-generation
(lambda _
(substitute* "setup.py"
(("from setuptools import setup")
"from distutils.core import setup"))
#t)))))
#:tests? #f)) ; no tests included
(propagated-inputs
`(("python2-numpy" ,python2-numpy)
("python2-scipy" ,python2-scipy)
@ -7689,8 +7863,6 @@ replacement for strverscmp.")
("python-click" ,python-click)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)))
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "http://multiqc.info")
(synopsis "Aggregate bioinformatics analysis reports")
(description

View File

@ -49,7 +49,7 @@
(define-public transmission
(package
(name "transmission")
(version "2.84")
(version "2.92")
(source (origin
(method url-fetch)
(uri (string-append
@ -57,7 +57,7 @@
version ".tar.xz"))
(sha256
(base32
"1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59"))))
"0pykmhi7pdmzq47glbj8i2im6iarp4wnj4l1pyvsrnba61f0939s"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
@ -84,6 +84,7 @@
`(("inotify-tools" ,inotify-tools)
("libevent" ,libevent)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("file" ,file)
("zlib" ,zlib)

View File

@ -96,10 +96,9 @@ data units.")
`(#:phases (modify-phases %standard-phases
;; Building the manpage requires khal to be installed.
(add-after 'install 'manpage
(lambda* (#:key outputs #:allow-other-keys)
(setenv "PYTHONPATH"
(string-append
(getenv "PYTHONPATH") ":" (assoc-ref outputs "out")))
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(zero? (system* "make" "--directory=doc/" "man"))
(install-file
"doc/build/man/khal.1"

View File

@ -1,5 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -181,3 +183,53 @@
release that uses a purely functional language to describe build jobs and
their dependencies.")
(license l:gpl3+))))
(define-public cuirass
(let ((commit "7248c0038f3d0bfcf6c469d534efb4a13952c112")
(revision "1"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/mthl/cuirass")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"0hkwh2pcz3wzg1n533ch2w7vwr97yr369q4ki0yqk99wfipjrydw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _ (zero? (system* "sh" "bootstrap"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Wrap the 'cuirass' command to refer to the right modules.
(let* ((out (assoc-ref outputs "out"))
(json (assoc-ref inputs "guile-json"))
(sqlite (assoc-ref inputs "guile-sqlite3"))
(guix (assoc-ref inputs "guix"))
(mods (string-append json "/share/guile/site/2.0:"
sqlite "/share/guile/site/2.0:"
guix "/share/guile/site/2.0")))
(wrap-program (string-append out "/bin/cuirass")
`("GUILE_LOAD_PATH" ":" prefix (,mods))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods)))))))))
(inputs
`(("guile" ,guile-2.0)
("guile-json" ,guile-json)
("guile-sqlite3" ,guile-sqlite3)
("guix" ,guix)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(synopsis "Continuous integration system")
(description
"Cuirass is a continuous integration tool using GNU Guix. It is
intended as a replacement for Hydra.")
(home-page "https://notabug.org/mthl/cuirass")
(license l:gpl3+))))

View File

@ -603,24 +603,24 @@ writing of compressed data created with the zlib and bzip2 libraries.")
(define-public lz4
(package
(name "lz4")
(version "131")
(version "1.7.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Cyan4973/lz4/archive/"
"r" version ".tar.gz"))
"v" version ".tar.gz"))
(sha256
(base32 "1vfg305zvj50hwscad24wan9jar6nqj14gdk2hqyr7bb9mhh0kcx"))
(base32 "0l39bymif15rmmfz7h6wvrr853rix4wj8wbqq8z8fm49xa7gx9fb"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs `(("valgrind" ,valgrind)))
(native-inputs `(("valgrind" ,valgrind))) ; for tests
(arguments
`(#:test-target "test"
#:parallel-tests? #f ; tests fail if run in parallel
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(delete 'configure)))) ; no configure script
(home-page "https://github.com/Cyan4973/lz4")
(synopsis "Compression algorithm focused on speed")
(description "LZ4 is a lossless compression algorithm, providing

View File

@ -56,7 +56,7 @@
(define-public libsodium
(package
(name "libsodium")
(version "1.0.10")
(version "1.0.11")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -67,7 +67,7 @@
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1gn45g956lyz8l6iq187yc6l627vyivyp8qc5dkr6dnhdnlqddvi"))))
"0rf7z6bgpnf8lyz8sph4h43fbb28pmj4dgybf0hsxxj97kdljid1"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description

View File

@ -317,14 +317,14 @@ device-specific programs to convert and print many types of files.")
(define-public hplip
(package
(name "hplip")
(version "3.16.10")
(version "3.16.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"117f1p0splg51ljn4nn97c0mbl0jba440ahb3d8njq7p6h1lxd25"))))
"094vkyr0rjng72m13dgr824cdl7q20x23qjxzih4w7l9njn0rqpn"))))
(build-system gnu-build-system)
(home-page "http://hplipopensource.com/")
(synopsis "HP Printer Drivers")

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,7 @@
(define-public cyrus-sasl
(package
(name "cyrus-sasl")
(replacement cyrus-sasl/fixed)
(version "2.1.26")
(source (origin
(method url-fetch)
@ -64,3 +66,10 @@ server writers.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://cyrusimap.web.cmu.edu")))
(define cyrus-sasl/fixed
(package
(inherit cyrus-sasl)
(source (origin
(inherit (package-source cyrus-sasl))
(patches (search-patches "cyrus-sasl-CVE-2013-4122.patch"))))))

View File

@ -819,15 +819,15 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-mysql
(package
(name "perl-dbd-mysql")
(version "4.039")
(version "4.041")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CA/CAPTTOFU/"
(uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/"
"DBD-mysql-" version ".tar.gz"))
(sha256
(base32
"0k4p3bjdbmxm2amb0qiiwmn8v83zrjkz5qp84xdjrg8k5v9aj0hn"))))
"0h4h6zwzj8fwh9ljb8svnsa0a3ch4p10hp59kpdibdb4qh8xwxs7"))))
(build-system perl-build-system)
;; Tests require running MySQL server
(arguments `(#:tests? #f))

View File

@ -73,11 +73,8 @@ clients.")
;; vdirsyncer requires itself to be installed in order to build
;; the manpage.
(add-after 'install 'manpage
(lambda* (#:key outputs #:allow-other-keys)
(setenv "PYTHONPATH"
(string-append
(getenv "PYTHONPATH")
":" (assoc-ref outputs "out")))
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(zero? (system* "make" "--directory=docs/" "man"))
(install-file
"docs/_build/man/vdirsyncer.1"

View File

@ -314,3 +314,25 @@ no race conditions.")
;; and patched GNU Make is under its own license.
(license (list (non-copyleft "COPYING.md")
(package-license gnu-make))))))
(define-public zzuf
(package
(name "zzuf")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/samhocevar/zzuf/releases/download/v"
version "/" name "-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1mpzjaksc2qg2hzqflf39pl06p53qam2dn3hkhkcv6p00d2n4kx3"))))
(build-system gnu-build-system)
(home-page "https://github.com/samhocevar/zzuf")
(synopsis "Transparent application input fuzzer")
(description "Zzuf is a transparent application input fuzzer. It works by
intercepting file operations and changing random bits in the program's
input. Zzuf's behaviour is deterministic, making it easy to reproduce bugs.")
(license (non-copyleft "http://www.wtfpl.net/txt/copying/"))))

View File

@ -54,10 +54,6 @@
(string-append ".:" (getenv "PYTHONPATH")))
(zero? (system* "python" "tests/runtests.py")))))))
;; TODO: Install extras/django_bash_completion.
(propagated-inputs
;; Django uses 'pkg_resources' (part of setuptools) to locate templates
;; at run-time.
`(("python-setuptools" ,python-setuptools)))
(native-inputs
`(("tzdata", tzdata)
;; bcrypt and argon2-cffi are extra requirements not yet in guix
@ -112,8 +108,6 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)))
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/alsoicode/django-simple-math-captcha")
(synopsis "Easy-to-use math field/widget captcha for Django forms")
(description
@ -147,23 +141,16 @@ with arguments to the field constructor.")
(native-inputs
`(("python-django" ,python-django)
("python-setuptools-scm" ,python-setuptools-scm)))
(inputs
`(("python-py" ,python-py)
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://pytest-django.readthedocs.org/")
(synopsis "Django plugin for py.test")
(description "Pytest-django is a plugin for py.test that provides a set of
useful tools for testing Django applications and projects.")
(properties `((python2-variant . ,(delay python2-pytest-django))))
(license license:bsd-3)))
(define-public python2-pytest-django
(let ((base (package-with-python2
(strip-python2-variant python-pytest-django))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-pytest-django))
(define-public python-django-filter
(package
@ -186,13 +173,7 @@ useful tools for testing Django applications and projects.")
some of the more mundane bits of view code. Specifically, it allows users to
filter down a queryset based on a models fields, displaying the form to let
them do this.")
(properties `((python2-variant . ,(delay python2-django-filter))))
(license license:bsd-3)))
(define-public python2-django-filter
(let ((base (package-with-python2
(strip-python2-variant python-django-filter))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-django-filter))

View File

@ -185,8 +185,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(build-system python-build-system)
;; TODO: Add xfig/transfig for fig2dev utility
(inputs
`(("python-setuptools" ,python-setuptools)
("texlive" ,texlive)
`(("texlive" ,texlive)
("imagemagick" ,imagemagick) ;for convert
("inkscape" ,inkscape) ;for svg conversion
("docbook" ,docbook-xml)

View File

@ -42,7 +42,6 @@
(arguments '(#:tests? #f))
(inputs
`(("python-requests" ,python-requests)
("python-setuptools" ,python-setuptools)
("python-six" ,python-six)
("python-websocket-client" ,python-websocket-client)))
(home-page "https://github.com/docker/docker-py/")
@ -93,7 +92,6 @@ client.")
("python-jsonschema" ,python-jsonschema)
("python-pyyaml" ,python-pyyaml)
("python-requests" ,python-requests-2.7)
("python-setuptools" ,python-setuptools)
("python-six" ,python-six)
("python-texttable" ,python-texttable)
("python-websocket-client" ,python-websocket-client)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +30,7 @@
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
@ -39,6 +41,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gd)
@ -55,9 +58,14 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public librecad
@ -588,3 +596,149 @@ fundamental, primitive shapes are represented as code in the user-level
language.")
(license (list license:lgpl2.1+ ;library
license:gpl2+))))) ;Guile bindings
;; We use kicad from a git commit, because support for boost 1.61.0 has been
;; recently added.
(define-public kicad
(let ((commit "4ee344e150bfaf3a6f3f7bf935fb96ae07c423fa")
(revision "1"))
(package
(name "kicad")
(version (string-append "4.0-" revision "."
(string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.launchpad.net/kicad")
(commit commit)))
(sha256
(base32 "0kf6r92nps0658i9n3p9vp5dzbssmc22lvjv5flyvnlf83l63s4n"))
(file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:configure-flags
(list "-DKICAD_STABLE_VERSION=ON"
"-DKICAD_REPO_NAME=stable"
,(string-append "-DKICAD_BUILD_VERSION=4.0-"
(string-take commit 7))
"-DCMAKE_BUILD_TYPE=Release"
"-DKICAD_SKIP_BOOST=ON"; Use our system's boost library.
"-DKICAD_SCRIPTING=ON"
"-DKICAD_SCRIPTING_MODULES=ON"
"-DKICAD_SCRIPTING_WXPYTHON=ON"
;; Has to be set explicitely, as we don't have the wxPython
;; headers in the wxwidgets store item, but in wxPython.
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "wxpython")
"/include/wx-3.0")
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
;; TODO: Enable this when CA certs are working with curl.
"-DBUILD_GITHUB_PLUGIN=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python"))
(file (string-append out "/bin/kicad"))
(path (string-append
out
"/lib/python2.7/site-packages:"
(getenv "PYTHONPATH"))))
(wrap-program file
`("PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
(native-inputs
`(("boost" ,boost)
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("swig" ,swig)
("zlib" ,zlib)))
(inputs
`(("cairo" ,cairo)
("curl" ,curl)
("desktop-file-utils" ,desktop-file-utils)
("glew" ,glew)
("glm" ,glm)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libsm" ,libsm)
("mesa" ,mesa)
("openssl" ,openssl)
("python" ,python-2)
("wxwidgets" ,wxwidgets-gtk2)
("wxpython" ,python2-wxpython)))
(home-page "http://kicad-pcb.org/")
(synopsis "Electronics Design Automation Suite")
(description "Kicad is a program for the formation of printed circuit
boards and electrical circuits. The software has a number of programs that
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
electrical diagrams), gerbview (viewing Gerber files) and others.")
(license license:gpl3+))))
(define-public kicad-library
(let ((version "4.0.4"))
(package
(name "kicad-library")
(version version)
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.kicad-pcb.org/libraries/kicad-library-"
version ".tar.gz"))
(sha256
(base32
"1wyda58y39lhxml0xv1ngvddi0nqihx9bnlza46ajzms38ajvh12"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-footprints ; from footprints tarball
(lambda* (#:key inputs outputs #:allow-other-keys)
(zero? (system* "tar" "xvf"
(assoc-ref inputs "kicad-footprints")
"-C" (string-append (assoc-ref outputs "out")
"/share/kicad/modules")
"--strip-components=1"))))
;; We change the default global footprint file, which is generated if
;; it doesn't exist in user's home directory, from the one using the
;; github plugin, to the one using the KISYSMOD environment path.
(add-after 'install-footprints 'use-pretty-footprint-table
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(template-dir (string-append out "/share/kicad/template"))
(fp-lib-table (string-append template-dir "/fp-lib-table")))
(delete-file fp-lib-table)
(copy-file (string-append fp-lib-table ".for-pretty")
fp-lib-table))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "KISYSMOD") ; footprint path
(files '("share/kicad/modules")))
(search-path-specification
(variable "KISYS3DMOD") ; 3D model path
(files '("share/kicad/modules/packages3d")))))
;; Kicad distributes footprints in a separate tarball
(native-inputs
`(("kicad-footprints"
,(origin
(method url-fetch)
(uri (string-append
"http://downloads.kicad-pcb.org/libraries/kicad-footprints-"
version ".tar.gz"))
(sha256
(base32
"0ya4gg6clz3vp2wrb67xwg0bhwh5q8ag39jjmpcp4zjcqs1f48rb"))))))
(home-page "http://kicad-pcb.org/")
(synopsis "Libraries for kicad")
(description "This package provides Kicad component, footprint and 3D
render model libraries.")
(license license:lgpl2.0+))))

View File

@ -56,7 +56,7 @@
(define-public efl
(package
(name "efl")
(version "1.18.2")
(version "1.18.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -64,7 +64,7 @@
version ".tar.xz"))
(sha256
(base32
"1vbvsrrpkvvrmvjavwnp5q77kw5i7vmbaj2vq5mnmrbzamvaybr9"))))
"1h347sfxajyb5s931m9qga14wwiqci7aicww2imxjhzm8w4fqj07"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -13,6 +13,7 @@
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Toni Reina <areina@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -898,3 +899,38 @@ powerline support.")
"Source Code Pro is a set of monospaced OpenType fonts that have been
designed to work well in user interface environments.")
(license license:silofl1.1)))
(define-public font-fira-mono
(package
(name "font-fira-mono")
(version "3.206")
(source (origin
(method url-fetch)
(uri (string-append "https://carrois.com/downloads/fira_mono_3_2/"
"FiraMonoFonts"
(string-replace-substring version "." "")
".zip"))
(sha256
(base32
"1z65x0dw5dq6rs6p9wyfrir50rlh95vgzsxr8jcd40nqazw4jhpi"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip"))
(font-dir (string-append %output "/share/fonts/opentype")))
(mkdir-p font-dir)
(system* unzip
"-j"
(assoc-ref %build-inputs "source")
"*.otf"
"-d" font-dir)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://mozilla.github.io/Fira/")
(synopsis "Mozilla's monospace font")
(description "This is the typeface used by Mozilla in Firefox OS.")
(license license:silofl1.1)))

View File

@ -256,8 +256,7 @@ of a the system to know what users are logged in, and where.")
(native-inputs
`(("shared-mime-info" ,shared-mime-info) ;for tests
("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
("python-nose" ,python-nose)
("python-setuptools" ,python-setuptools)))
("python-nose" ,python-nose)))
(home-page "http://freedesktop.org/wiki/Software/pyxdg")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
@ -451,17 +450,19 @@ Analysis and Reporting Technology) functionality.")
(define-public udisks
(package
(name "udisks")
(version "2.1.7")
(version "2.1.8")
(source (origin
(method url-fetch)
(uri (string-append "https://udisks.freedesktop.org/releases/"
name "-" version ".tar.bz2"))
(sha256
(base32
"119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
"1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
`(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
@ -480,13 +481,28 @@ Analysis and Reporting Technology) functionality.")
`(#:tests? #f ; requiring system message dbus
#:disallowed-references ("doc") ;enforce separation of "doc"
#:configure-flags
(list "--disable-man"
(list "--enable-man"
"--localstatedir=/var"
"--enable-fhs-media" ;mount devices in /media, not /run/media
(string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/doc/udisks/html")
(string-append "--with-udevdir=" %output "/lib/udev"))
#:make-flags
(let* ((docbook-xsl-name-version ,(string-append
(package-name docbook-xsl) "-"
(package-version docbook-xsl)))
(docbook-xsl-catalog-file (string-append
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/"
docbook-xsl-name-version
"/catalog.xml"))
(docbook-xml-catalog-file (string-append
(assoc-ref %build-inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml")))
;; Reference the catalog files required to build the manpages.
(list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
docbook-xml-catalog-file)))
#:phases
(modify-phases %standard-phases
(add-before
@ -509,7 +525,7 @@ Analysis and Reporting Technology) functionality.")
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))
#t))))))
(home-page "http://www.freedesktop.org/wiki/Software/udisks/")
(home-page "https://www.freedesktop.org/wiki/Software/udisks/")
(synopsis "Disk manager service")
(description
"UDisks provides interfaces to enumerate and perform operations on disks

View File

@ -591,8 +591,6 @@ interface (API).")
(string-append v4l-ref "/include/libv4l1-videodev.h")
"linux/videodev.h")
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
(native-inputs
`(("python-setuptools" ,python-setuptools)))
(inputs
`(("sdl" ,sdl)
("sdl-image" ,sdl-image)

View File

@ -521,6 +521,7 @@ as the 'native-search-paths' field."
(define-public gcj
(package (inherit gcc)
(name "gcj")
(version (package-version gcc))
(inputs
`(("fastjar" ,fastjar)
("perl" ,perl)
@ -529,6 +530,15 @@ as the 'native-search-paths' field."
,@(package-inputs gcc)))
(native-inputs
`(("dejagnu" ,dejagnu)
,@(if (string-prefix? "armhf" (or (%current-system)
(%current-target-system)))
`(("arm-patch" ,(origin
(method url-fetch)
(uri (search-patch "gcj-arm-mode.patch"))
(sha256
(base32
"1z15xs5yx6qinnb572swzxrn9f668sw7ga5280q3gznj1jyrynfn")))))
'())
,@(package-native-inputs gcc)))
(native-search-paths %generic-search-paths)
@ -556,6 +566,14 @@ as the 'native-search-paths' field."
,flags))))
((#:phases phases)
`(modify-phases ,phases
;; Conditionally add phase to apply patch
,@(if (string-prefix? "armhf" (or (%current-system)
(%current-target-system)))
`((add-after 'unpack 'apply-arm-patch
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "patch" "-p1"
"-i" (assoc-ref inputs "arm-patch"))))))
'())
(add-after
'unpack 'add-lib-output-to-rpath
(lambda _
@ -568,6 +586,10 @@ as the 'native-search-paths' field."
'unpack 'patch-testsuite
;; dejagnu-1.6 removes the 'absolute' command
(lambda _
;; This test fails on armhf. It seems harmless enough to disable it.
(for-each delete-file '("libjava/testsuite/libjava.lang/Throw_2.java"
"libjava/testsuite/libjava.lang/Throw_2.out"
"libjava/testsuite/libjava.lang/Throw_2.jar"))
(substitute* "libjava/testsuite/lib/libjava.exp"
(("absolute") "file normalize"))
#t))

View File

@ -414,12 +414,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(license license:lgpl2.1+)))
(define-public python2-pygpgme
(let ((base (package-with-python2 python-pygpgme)))
(package
(inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-pygpgme))
(define-public python-gnupg
(package

View File

@ -403,6 +403,7 @@ standards.")
"modules/zlib"
"modules/libbz2"
"ipc/chromium/src/third_party/libevent"
"media/libjpeg"
"media/libvpx"
"security/nss"
"gfx/cairo"
@ -432,6 +433,7 @@ standards.")
("hunspell" ,hunspell)
("libcanberra" ,libcanberra)
("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo)
("libxft" ,libxft)
("libevent" ,libevent)
("libxinerama" ,libxinerama)
@ -497,6 +499,7 @@ standards.")
;; Avoid bundled libraries.
"--with-system-zlib"
"--with-system-bz2"
"--with-system-jpeg" ; must be libjpeg-turbo
"--with-system-libevent"
"--with-system-libvpx"
"--with-system-icu"
@ -517,16 +520,6 @@ standards.")
;; Network Graphics (PNG) format";
;; we probably do not wish to support it.
;; "--with-system-png"
;; Fails with "libjpeg-turbo JCS_EXTENSIONS
;; required".
;; According to
;; http://sourceforge.net/projects/libjpeg-turbo/ ,
;; "libjpeg-turbo is a derivative of libjpeg that
;; uses MMX, SSE, SSE2, and NEON SIMD instructions
;; to accelerate baseline JPEG compression/
;; decompression", so we had better not use it
;; "--with-system-jpeg"
)
#:modules ((ice-9 ftw)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -207,6 +208,10 @@ for the GStreamer multimedia library.")
(uri (string-append
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(patches (search-patches "gst-plugins-good-flic-bounds-check.patch"
"gst-plugins-good-fix-signedness.patch"
"gst-plugins-good-fix-invalid-read.patch"
"gst-plugins-good-fix-crashes.patch"))
(sha256
(base32
"1hkcap9l2603266gyi6jgvx7frbvfmb7xhfhjizbczy1wykjwr57"))))

View File

@ -100,6 +100,7 @@ tools have full access to view and control running applications.")
(define-public cairo
(package
(name "cairo")
(replacement cairo/fixed)
(version "1.14.6")
(source (origin
(method url-fetch)
@ -153,6 +154,10 @@ affine transformation (scale, rotation, shear, etc.).")
(package
(inherit cairo)
(name "cairo-xcb")
(source (origin
(inherit (package-source cairo))
(patches (search-patches "cairo-CVE-2016-9082.patch"))))
(replacement #f)
(inputs
`(("mesa" ,mesa)
,@(package-inputs cairo)))
@ -162,6 +167,13 @@ affine transformation (scale, rotation, shear, etc.).")
'("--enable-xlib-xcb" "--enable-gl" "--enable-egl")))
(synopsis "2D graphics library (with X11 support)")))
(define cairo/fixed
(package
(inherit cairo)
(source (origin
(inherit (package-source cairo))
(patches (search-patches "cairo-CVE-2016-9082.patch"))))))
(define-public harfbuzz
(package
(name "harfbuzz")

View File

@ -0,0 +1,78 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages image-viewers)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages geeqie)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config))
(define-public viewnior
(package
(name "viewnior")
(version "1.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/xsisqox/Viewnior/archive/"
name "-" version ".tar.gz"))
(sha256
(base32
"18309qjgwak3kn228z3p3nx7yxasqgzx69v3rgc23hf161nky0c9"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("intltool" ,intltool)
("glib" ,glib "bin") ; glib-genmarshal
("gnome-common" ,gnome-common)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("shared-mime-info" ,shared-mime-info)
("which" ,which)))
(inputs
`(("exiv2" ,exiv2)
("gdk-pixbuf" ,gdk-pixbuf)
("gtk+-2" ,gtk+-2)))
(home-page "http://siyanpanayotov.com/project/viewnior/")
(synopsis "Simple, fast and elegant image viewer")
(description "Viewnior is an image viewer program. Created to be simple,
fast and elegant. Its minimalistic interface provides more screenspace for
your images. Among its features are:
@enumerate
@item Fullscreen & Slideshow
@item Rotate, flip, crop, save, delete images
@item Animation support
@item Browse only selected images
@item Navigation window
@item Set image as wallpaper (Gnome 2, Gnome 3, XFCE, LXDE, FluxBox, Nitrogen)
@item Simple interface
@item EXIF and IPTC metadata
@item Configurable mouse actions
@end enumerate\n")
(license license:gpl3+)))

View File

@ -31,6 +31,7 @@
(define-module (gnu packages image)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@ -824,15 +825,15 @@ convert, manipulate, filter and display a wide variety of image formats.")
(define-public jasper
(package
(name "jasper")
(version "1.900.29")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
"/software/jasper-" version ".tar.gz"))
(sha256
(base32
"1h1575wdzq1p7y2xvy1gbiypai1iils5awhy4gadr78qpb9ykrra"))))
(build-system gnu-build-system)
"1kg5yrdwgazhbczybyx4548m0ijssabcp8hl5l87w78z833vikks"))))
(build-system cmake-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(synopsis "JPEG-2000 library")
(description "The JasPer Project is an initiative to provide a reference
@ -997,3 +998,33 @@ also converts external formats (BMP, GIF, PNM and TIFF) to optimized
PNG, and performs PNG integrity checks and corrections.")
(home-page "http://optipng.sourceforge.net/")
(license license:zlib)))
(define-public libjpeg-turbo
(package
(name "libjpeg-turbo")
(version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"0v365hm6z6lddcqagjj15wflk66rqyw75m73cqzl65rh4lyrshj1"))))
(build-system gnu-build-system)
(native-inputs
`(("nasm" ,nasm)))
(arguments
`(#:test-target "test"))
(home-page "http://www.libjpeg-turbo.org/")
(synopsis "SIMD-accelerated JPEG image handling library")
(description "libjpeg-turbo is a JPEG image codec that accelerates baseline
JPEG compression and decompression using SIMD instructions: MMX on x86, SSE2 on
x86-64, NEON on ARM, and AltiVec on PowerPC processors. Even on other systems,
its highly-optimized Huffman coding routines allow it to outperform libjpeg by
a significant amount.
libjpeg-turbo implements both the traditional libjpeg API and the less powerful
but more straightforward TurboJPEG API, and provides a full-featured Java
interface. It supports color space extensions that allow it to compress from
and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).")
(license (list license:bsd-3 ; jsimd*.[ch] and most of simd/
license:ijg)))) ; the rest

View File

@ -43,14 +43,14 @@
(define-public imagemagick
(package
(name "imagemagick")
(version "6.9.6-5")
(version "6.9.6-6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"037lg2m0y5b17lyi34jdlkq4h03ck67j5m6wr84nvwd3jfx240cd"))))
"02hd0xvpm99wrix2didg8xnra4fla04y9vaks2vnijry3l0gxlcw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

File diff suppressed because it is too large Load Diff

View File

@ -42,8 +42,6 @@
(arguments
`(#:python ,python-2 ;uses the Python 2 'print' syntax
#:tests? #f)) ;no tests
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(inputs
`(("python2-xlib" ,python2-xlib)
("python2-pygtk" ,python2-pygtk)

View File

@ -29,6 +29,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
#:use-module (gnu packages zip))
@ -76,7 +77,7 @@ and freshness without requiring additional information from the user.")
(define-public ldc
(package
(name "ldc")
(version "0.16.1")
(version "0.17.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -85,10 +86,9 @@ and freshness without requiring additional information from the user.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"))))
"0iksl6cvhsiwnlh15b7s9v8f3grxk27jn0vja9n4sad7fvfwmmlc"))))
(build-system cmake-build-system)
;; LDC currently only supports the x86_64 and i686 architectures.
(supported-systems '("x86_64-linux" "i686-linux"))
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -127,8 +127,10 @@ and freshness without requiring additional information from the user.")
("tzdata" ,tzdata)
("zlib" ,zlib)))
(native-inputs
`(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
`(("llvm" ,llvm)
("clang" ,clang)
("python-lit" ,python-lit)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)
("phobos-src"
,(origin
@ -138,7 +140,7 @@ and freshness without requiring additional information from the user.")
version ".tar.gz"))
(sha256
(base32
"0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
"07hh3ic3r755mq9hn9gfr0wlc5y8cr91xz2ydb6gqy4zy8jgp5s9"))
(patches (search-patches "ldc-disable-tests.patch"))))
("druntime-src"
,(origin
@ -148,7 +150,7 @@ and freshness without requiring additional information from the user.")
version ".tar.gz"))
(sha256
(base32
"0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"))))
"1m1dhday9dl3s04njmd29z7ism2xn2ksb9qlrwzykdgz27b3dk6x"))))
("dmd-testsuite-src"
,(origin
(method url-fetch)
@ -157,7 +159,7 @@ and freshness without requiring additional information from the user.")
version ".tar.gz"))
(sha256
(base32
"0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))))))
"0n7gvalxwfmia4gag53r9qhcnk2cqrw3n4icj1yri0zkgc27pm60"))))))
(home-page "http://wiki.dlang.org/LDC")
(synopsis "LLVM compiler for the D programming language")
(description

View File

@ -1198,7 +1198,7 @@ configuration and monitoring interfaces.")
(define-public iw
(package
(name "iw")
(version "4.3")
(version "4.9")
(source (origin
(method url-fetch)
(uri (string-append
@ -1206,7 +1206,7 @@ configuration and monitoring interfaces.")
version ".tar.xz"))
(sha256
(base32
"085jyvrxzarvn5jl0fk618jjxy50nqx7ifngszc4jxk6a4ddibd6"))))
"1klpvv98bnx1zm6aqalnri2vd7w80scmdaxr2qnblb6mz82whk1j"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libnl" ,libnl)))
@ -2664,7 +2664,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "4.8.3")
(version "4.8.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -2672,7 +2672,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"1wlflrygnpndppil9g12pk184f75g9qx1lkr0x1gijigglqhr9n1"))))
"1ib1ybpjhcymcycjiraz1vk01qlyvpwcg7mwfhmacdy3cvbfl9mz"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)

View File

@ -134,5 +134,4 @@ on just one button press.")
(lambda _
(zero? (system* "make" "py2")))))))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
("python2-cython" ,python2-cython))))))
`(("python2-cython" ,python2-cython))))))

View File

@ -479,6 +479,28 @@ geometric models.")
single hidden layer, and for multinomial log-linear models.")
(license (list license:gpl2+ license:gpl3+))))
(define-public r-kernlab
(package
(name "r-kernlab")
(version "0.9-25")
(source
(origin
(method url-fetch)
(uri (cran-uri "kernlab" version))
(sha256
(base32
"0qnaq9x3j2xc6jrmmd98wc6hkzch487s4p3a9lnc00xvahkhgpmr"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/kernlab")
(synopsis "Kernel-based machine learning tools")
(description
"This package provides kernel-based machine learning methods for
classification, regression, clustering, novelty detection, quantile regression
and dimensionality reduction. Among other methods @code{kernlab} includes
Support Vector Machines, Spectral Clustering, Kernel PCA, Gaussian Processes
and a QP solver.")
(license license:gpl2)))
(define-public dlib
(package
(name "dlib")

View File

@ -329,7 +329,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
(version "7.0.9")
(version "7.0.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@ -337,7 +337,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"04kapx0ddz7ccwhcjshkml2y916wcan3rl28mpmq25p4gywlkhxf"))))
"0h8mgmwkvwh8x3yam32ipqkzcz4g1dmkbni3v1755lkm0z132m3j"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
@ -537,14 +537,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
(version "0.23.2")
(version "0.23.3")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
"1g4p5hsrqqbqk6s2w756als60wppvjgpyq104smy3w9vshl7bzgd"))))
"10hqjnl5aavf9clfmx3y832jyz58fplmc3f58pip9dq30b7sap8g"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "V=1") ; Verbose test output.
@ -568,11 +568,6 @@ invoking @command{notifymuch} from the post-new hook.")
;; Patch various inline shell invocations.
(substitute* (find-files "test" "\\.sh$")
(("/bin/sh") (which "sh")))
;; XXX: Some signature verification tests fail with
;; gnupg-2.1.16, so we skip them. See this thread:
;; https://notmuchmail.org/pipermail/notmuch/2016/023688.html
(setenv "NOTMUCH_SKIP_TESTS"
"T350-crypto.2 T350-crypto.3 T350-crypto.4 T350-crypto.15")
#t)))))
(native-inputs
`(("bash-completion" ,bash-completion)
@ -938,7 +933,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
(version "2.2.25")
(version "2.2.26.0")
(source
(origin
(method url-fetch)
@ -946,7 +941,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
"0rwn5wc5b8j9fzqcjggdgpzmb77myrf4ra294z1gg5v3hhng7nfq"))))
"01bgj8b2whi35ghbxb19nmr3xvx2zgjzxxw1crgx2v73kprs34pn"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -968,6 +963,15 @@ facilities for checking incoming mail.")
"doc/example-config/Makefile.in")
(("pkgsysconfdir = .*")
"pkgsysconfdir = /tmp/etc"))
#t))
(add-after
'unpack 'patch-other-shebangs
(lambda _
(substitute*
"src/lib-program-client/test-program-client-local.c"
(("/bin/echo") (which "echo"))
(("/bin/cat") (which "cat"))
(("/bin/false") (which "false")))
#t)))))
(home-page "http://www.dovecot.org")
(synopsis "Secure POP3/IMAP server")
@ -1372,8 +1376,6 @@ maintained.")
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/khard")))
(copy-recursively "misc/khard" doc)))))))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(propagated-inputs
`(("python2-vobject" ,python2-vobject)
("python2-pyyaml" ,python2-pyyaml)
@ -1744,7 +1746,7 @@ for OpenSMTPD to extend its functionality.")
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Requires mailman running
(inputs
(propagated-inputs
`(("python-six" ,python-six)
("python-httplib2" ,python-httplib2)))
(home-page "https://launchpad.net/mailman.client")
@ -1752,12 +1754,7 @@ for OpenSMTPD to extend its functionality.")
(description
"The mailmanclient library provides official Python bindings for
the GNU Mailman 3 REST API.")
(properties `((python2-variant . ,(delay python2-mailmanclient))))
(license lgpl3+)))
(define-public python2-mailmanclient
(let ((base (package-with-python2
(strip-python2-variant python-mailmanclient))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools))))))
(package-with-python2 python-mailmanclient))

View File

@ -549,21 +549,29 @@ incompatible with HDF5.")
(define-public hdf5
(package
(name "hdf5")
(version "1.8.17")
(version "1.8.18")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-"
version "/src/hdf5-"
version ".tar.bz2"))
(uri (list (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/"
"hdf5-" version "/src/hdf5-"
version ".tar.bz2")
(string-append "https://support.hdfgroup.org/ftp/HDF5/"
"current"
(apply string-append
(take (string-split version #\.) 2))
"/src/hdf5-" version ".tar.bz2")))
(sha256
(base32 "0sj8x0gfs5fb28gipnynb9wpkz113h8wq9sva9mxx66kv27xsdgw"))
(base32 "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1"))
(patches (list (search-patch "hdf5-config-date.patch")))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
`(#:phases
`(;; Some of the users, notably Flann, need the C++ interface.
#:configure-flags '("--enable-cxx")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-configure
(lambda _

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
;;; Copyright © 2016 ng0 <ng0@libertad.pw>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;;
@ -33,6 +33,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (guix build-system perl)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools)
@ -43,11 +44,13 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages enchant)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages man)
#:use-module (gnu packages networking)
#:use-module (gnu packages libidn)
#:use-module (gnu packages lua)
@ -57,6 +60,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages tcl)
#:use-module (gnu packages compression)
@ -67,8 +71,10 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
#:use-module (gnu packages fontutils))
(define-public libotr
@ -859,4 +865,192 @@ into existing applications.")
(home-page "https://camaya.net/gloox")
(license license:gpl3)))
(define-public perl-net-psyc
(package
(name "perl-net-psyc")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://perlpsyc.psyc.eu/"
"perlpsyc-" version ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42"))
;; psycmp3 currently depends on MP3::List and rxaudio (shareware),
;; we can add it back when this is no longer the case.
(snippet '(delete-file "contrib/psycmp3"))))
(build-system perl-build-system)
(inputs
`(("perl-curses" ,perl-curses)
("perl-io-socket-ssl" ,perl-io-socket-ssl)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; No configure script
;; There is a Makefile, but it does not install everything
;; (leaves out psycion) and says
;; "# Just to give you a rough idea". XXX: Fix it upstream.
(replace 'build
(lambda _
(zero? (system* "make" "manuals"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/perl-net-psyc"))
(man1 (string-append out "/share/man/man1"))
(man3 (string-append out "/share/man/man3"))
(bin (string-append out "/bin"))
(libpsyc (string-append out "/lib/psyc/ion"))
(libperl (string-append out "/lib/perl5/site_perl/"
,(package-version perl))))
(copy-recursively "lib/perl5" libperl)
(copy-recursively "lib/psycion" libpsyc)
(copy-recursively "bin" bin)
(install-file "cgi/psycpager" (string-append doc "/cgi"))
(copy-recursively "contrib" (string-append doc "/contrib"))
(copy-recursively "hooks" (string-append doc "/hooks"))
(copy-recursively "sdj" (string-append doc "/sdj"))
(install-file "README.txt" doc)
(install-file "TODO.txt" doc)
(copy-recursively "share/man/man1" man1)
(copy-recursively "share/man/man3" man3)
#t)))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the Perl modules
;; provided by this package at runtime.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(path (getenv "PERL5LIB")))
(for-each (lambda (file)
(wrap-program file
`("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.*$"))
#t))))))
(description
"@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Select} and
Gtk2 event loops. This package includes 12 applications and additional scripts:
psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a control console
for @uref{https://torproject.org,tor} router) and many more.")
(synopsis "Perl implementation of PSYC protocol")
(home-page "http://perlpsyc.psyc.eu/")
(license (list license:gpl2
(package-license perl)
;; contrib/irssi-psyc.pl:
license:public-domain
;; bin/psycplay states AGPL with no version:
license:agpl3+))))
(define-public libpsyc
(package
(name "libpsyc")
(version "20160913")
(source (origin
(method url-fetch)
(uri (string-append "http://www.psyced.org/files/"
name "-" version ".tar.xz"))
(sha256
(base32
"14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
("netcat" ,netcat)
("procps" ,procps)))
(arguments
`(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
;; The rust bindings are the only ones in use, the lpc bindings
;; are in psyclpc. The other bindings are not used by anything,
;; the chances are high that the bindings do not even work,
;; therefore we do not include them.
;; TODO: Get a cargo build system in Guix.
(delete 'configure)))) ; no configure script
(home-page "http://about.psyc.eu/libpsyc")
(description
"@code{libpsyc} is a PSYC library in C which implements
core aspects of PSYC, useful for all kinds of clients and servers
including psyced.")
(synopsis "PSYC library in C")
(license license:agpl3+)))
;; This commit removes the historic bundled pcre and makes psyclpc reproducible.
(define-public psyclpc
(let* ((commit "61cf9aa81297085e5c40170fd01221c752f8deba")
(revision "2"))
(package
(name "psyclpc")
(version (string-append "20160821-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.psyced.org/git/psyclpc")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1viwqymbhn3cwvx0zl58rlzl5gw47zxn0ldg2nbi55ghm5zxl1z5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests/checks.
#:configure-flags
;; If you have questions about this part, look at
;; "src/settings/psyced" and the ebuild.
(list
"--enable-use-tls=yes"
"--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled.
(string-append "--prefix="
(assoc-ref %outputs "out"))
;; src/Makefile: Set MUD_LIB to the directory which contains
;; the mud data. defaults to MUD_LIB = @libdir@
(string-append "--libdir="
(assoc-ref %outputs "out")
"/opt/psyced/world")
(string-append "--bindir="
(assoc-ref %outputs "out")
"/opt/psyced/bin")
;; src/Makefile: Set ERQ_DIR to directory which contains the
;; stuff which ERQ can execute (hopefully) savely. Was formerly
;; defined in config.h. defaults to ERQ_DIR= @libexecdir@
(string-append "--libexecdir="
(assoc-ref %outputs "out")
"/opt/psyced/run"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir-to-src
;; We need to pass this as env variables
;; and manually change the directory.
(lambda _
(chdir "src")
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "SHELL" (which "sh"))
#t)))
#:make-flags (list "install-all")))
(inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
("pcre" ,pcre)))
(native-inputs
`(("pkg-config" ,pkg-config)
("bison" ,bison)
("gettext" ,gettext-minimal)
("help2man" ,help2man)
("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "http://lpc.psyc.eu/")
(synopsis "psycLPC is a multi-user network server programming language")
(description
"LPC is a bytecode language, invented to specifically implement
multi user virtual environments on the internet. This technology is used for
MUDs and also the psyced implementation of the Protocol for SYnchronous
Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and
many bug fixes.")
(license license:gpl2))))
;;; messaging.scm ends here

View File

@ -471,8 +471,7 @@ compression format (.mpc files).")
(arguments
`(#:python ,python-2))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
("python2-nose" ,python2-nose)
`(("python2-nose" ,python2-nose)
("python2-sphinx" ,python2-sphinx)
("python2-coverage" ,python2-coverage)))
(synopsis "MP3 tag ID3 metadata editor")

View File

@ -257,15 +257,10 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
(synopsis "Python MPD client library")
(description "Python-mpd2 is a Python library which provides a client
interface for the Music Player Daemon.")
(license license:lgpl3+)
(properties `((python2-variant . ,(delay python2-mpd2))))))
(license license:lgpl3+)))
(define-public python2-mpd2
(let ((mpd2 (package-with-python2
(strip-python2-variant python-mpd2))))
(package (inherit mpd2)
(native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs mpd2))))))
(package-with-python2 python-mpd2))
(define-public sonata
(package

View File

@ -234,7 +234,7 @@ many input formats and provides a customisable Vi-style user interface.")
(define-public hydrogen
(package
(name "hydrogen")
(version "0.9.6.1")
(version "0.9.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -242,7 +242,7 @@ many input formats and provides a customisable Vi-style user interface.")
version ".tar.gz"))
(sha256
(base32
"0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll"))))
"1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"))
@ -588,11 +588,12 @@ Guile.")
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit affecting the "sequencer" directory.
(let ((commit "1d9bd576f6bf7ea240af5f7a60260592750af0dd"))
;; system, so we take the last commit.
(let ((commit "a22f33f486a5c6f75b60e36f66504c036c0f6f8c")
(revision "2"))
(package
(name "non-sequencer")
(version (string-append "1.9.5-" (string-take commit 7)))
(version (string-append "1.9.5-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
@ -600,7 +601,7 @@ Guile.")
(commit commit)))
(sha256
(base32
"0pkkw8q6d55j38xm7r4rwpdv1wy00a44h8c4wrn7vbgpq9nij46y"))
"09q5x8i4f8mqnl8w6xnsq5zriy4bzdl4x2vq9n34a433rfrk84bg"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
@ -638,6 +639,28 @@ Sequencer happens on-line, in real-time. Music can be composed live, while the
transport is rolling.")
(license license:gpl2+))))
(define-public non-session-manager
(package (inherit non-sequencer)
(name "non-session-manager")
(arguments
(substitute-keyword-arguments (package-arguments non-sequencer)
((#:configure-flags flags)
`(cons "--project=session-manager"
(delete "--project=sequencer" ,flags)))))
(inputs
`(("jack" ,jack-1)
("liblo" ,liblo)
("ntk" ,ntk)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://non.tuxfamily.org/nsm/")
(synopsis "Audio session management")
(description
"The Non Session Manager is an API and an implementation for audio
session management. NSM clients use a well-specified OSC protocol to
communicate with the session management daemon.")
(license license:gpl2+)))
(define-public solfege
(package
(name "solfege")
@ -1090,7 +1113,6 @@ Laurens Hammond and Don Leslie.")
`(("rapicorn" ,rapicorn)
("guile" ,guile-1.8)
("python" ,python-2)
("cython" ,python2-cython)
("libgnomecanvas" ,libgnomecanvas)
("libogg" ,libogg)
("libmad" ,libmad)
@ -1101,6 +1123,7 @@ Laurens Hammond and Don Leslie.")
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")
("cython" ,python2-cython)
("perl" ,perl)
("perl-xml-parser" ,perl-xml-parser)))
(home-page "https://testbit.eu/wiki/Beast_Home")
@ -1382,10 +1405,10 @@ using a system-independent interface.")
#t)))))
(inputs
`(("portmidi" ,portmidi)
("alsa-lib" ,alsa-lib)
("python-cython" ,python-cython)))
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("unzip" ,unzip)))
`(("python-cython" ,python-cython)
("unzip" ,unzip)))
(home-page "http://portmedia.sourceforge.net/portmidi/")
(synopsis "Python bindings to PortMidi")
(description
@ -1405,6 +1428,7 @@ using a system-independent interface.")
(base32
"1rnk8i8dlshzx16n2qxcsqcs7kywgyazzyzw2vy4vp2gsm9vs9ml"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; no tests included
(inputs
`(("lilypond" ,lilypond)
("portmidi" ,portmidi)
@ -1638,14 +1662,14 @@ computer's keyboard.")
(define-public qtractor
(package
(name "qtractor")
(version "0.7.9")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"0pp459kfgrnngj373gnwwl43xjz32lmyf7v62p2nnjh6c7wr1ryq"))))
"17v563liyqcvil204ry1qfp09d91944nqz2ig33f5c3pyg4z2427"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
@ -1744,8 +1768,8 @@ analogue-like user interface.")
#t)))))
(inputs
`(("lilv" ,lilv)
("fftw" ,fftw)
("fftwf" ,fftwf)
("fftw" ,fftw-with-threads)
("fftwf" ,fftwf-with-threads)
("lv2" ,lv2)
("jack" ,jack-1)
("readline" ,readline)))
@ -1796,14 +1820,16 @@ event-based scripts for scrobbling, notifications, etc.")
(define-public python-mutagen
(package
(name "python-mutagen")
(version "1.31")
(version "1.35.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "mutagen" version))
(sha256
(base32
"16fnnhspniac2i7qswxafawsh2x2a803hmc6bn9k1zl5fxq1380a"))))
"0klk68c1n3285vvm2xzk8ii7mlqp1dxii04askan0gi1wlpagka9"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://bitbucket.org/lazka/mutagen")
(synopsis "Read and write audio tags")
(description "Mutagen is a Python module to handle audio metadata. It
@ -1821,14 +1847,18 @@ streams on an individual packet/page level.")
(define-public python-musicbrainzngs
(package
(name "python-musicbrainzngs")
(version "0.5")
(version "0.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "musicbrainzngs" version))
(sha256
(base32
"12f48llmdf5rkiqxcb70k2k1dmhm8byq0ifazvlrca8dfnmqh4r8"))))
"1dddarpjawryll2wss65xq3v9q8ln8dan7984l5dxzqx88d2dvr8"))))
(build-system python-build-system)
(arguments
'(;; The tests fail suffer from race conditions:
;; https://github.com/alastair/python-musicbrainzngs/issues/211
#:tests? #f))
(home-page "https://python-musicbrainzngs.readthedocs.org/")
(synopsis "Python bindings for MusicBrainz NGS webservice")
(description "Musicbrainzngs implements Python bindings of the MusicBrainz
@ -1855,7 +1885,6 @@ MusicBrainz database.")
`(;; Python 3 is not supported:
;; https://github.com/echonest/pyechonest/issues/42
#:python ,python-2))
(native-inputs `(("python2-setuptools" ,python2-setuptools)))
(home-page "https://github.com/echonest/pyechonest")
(synopsis "Python interface to The Echo Nest APIs")
(description "Pyechonest is a Python library for the Echo Nest API. With
@ -1877,13 +1906,13 @@ detailed track info including timbre, pitch, rhythm and loudness information.
(define-public python-pylast
(package
(name "python-pylast")
(version "1.5.1")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pylast" version))
(sha256
(base32
"10znd9xr1vs2ix519jkz3ccm90zciaddcdr2w2wrrh2jyy3bc59a"))))
"0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
@ -1898,30 +1927,28 @@ detailed track info including timbre, pitch, rhythm and loudness information.
(synopsis "Python interface to Last.fm and Libre.fm")
(description "A Python interface to Last.fm and other API-compatible
websites such as Libre.fm.")
(license license:asl2.0)
(properties `((python2-variant . ,(delay python2-pylast))))))
(license license:asl2.0)))
(define-public python2-pylast
(let ((pylast (package-with-python2
(strip-python2-variant python-pylast))))
(package (inherit pylast)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs pylast))))))
(package-with-python2 python-pylast))
(define-public beets
(package
(name "beets")
(version "1.3.19")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
(sha256
(base32
"1vi1dh3fr554bnm8y9pjy09hblw18v6cl2jppzwlp72afri1w93b"))))
"14yn88xrcinpdg3ic285ar0wmwldzyjfd3ll6clmp3z3r4iqffip"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only Python 2 is supported
`(;; Python 3 support is still "alpha", and the upstream maintainers ask
;; packagers not to use it yet:
;; https://github.com/beetbox/beets/releases/tag/v1.4.1
;; TODO Check this again for the next release.
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-HOME
@ -1931,7 +1958,6 @@ websites such as Libre.fm.")
(native-inputs
`(("python2-beautifulsoup4" ,python2-beautifulsoup4)
("python2-flask" ,python2-flask)
("python2-setuptools" ,python2-setuptools)
("python2-mock" ,python2-mock)
("python2-mpd2" ,python2-mpd2)
("python2-nose" ,python2-nose)
@ -1943,7 +1969,8 @@ websites such as Libre.fm.")
("python2-responses" ,python2-responses)))
;; TODO: Install optional plugins and dependencies.
(inputs
`(("python2-enum34" ,python2-enum34)
`(("python2-discogs-client" ,python2-discogs-client)
("python2-enum34" ,python2-enum34)
("python2-jellyfish" ,python2-jellyfish)
("python2-munkres" ,python2-munkres)
("python2-musicbrainzngs" ,python2-musicbrainzngs)
@ -2421,3 +2448,31 @@ a simulation of an analog Wah pedal with switchless activation."))))
filters, crossovers, simple gain plugins without zipper noise, switch box
plugins, a switch trigger, a toggle switch, and a peakmeter.")
(license license:gpl2+))))
(define-public python-discogs-client
(package
(name "python-discogs-client")
(version "2.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "discogs-client" version))
(sha256
(base32
"053ld2psh0yj3z0kg6z5bn4y3cr562m727494n0ayhgzbkjbacly"))))
(build-system python-build-system)
(propagated-inputs
`(("python-oauthlib" ,python-oauthlib)
("python-requests" ,python-requests)))
(native-inputs
`(("python-six" ,python-six)))
(home-page "https://github.com/discogs/discogs_client")
(synopsis "Official Python client for the Discogs API")
(description "This is the official Discogs API client for Python. It enables
you to query the Discogs database for information on artists, releases, labels,
users, Marketplace listings, and more. It also supports OAuth 1.0a
authorization, which allows you to change user data such as profile information,
collections and wantlists, inventory, and orders.")
(license license:bsd-2)))
(define-public python2-discogs-client
(package-with-python2 python-discogs-client))

View File

@ -39,33 +39,34 @@
(define-public ntp
(package
(name "ntp")
(version "4.2.8p8")
(source (origin
(method url-fetch)
(uri (list (string-append
"http://archive.ntp.org/ntp4/ntp-"
(version-major+minor version)
"/ntp-" version ".tar.gz")
(string-append
"https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-"
(version-major+minor version)
"/ntp-" version ".tar.gz")))
(sha256
(base32
"1vlpgd0dk2wkpmmf869sfxi8f46sfnmjgk51vl8n6vj5y2sx1cra"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove the bundled copy of libevent, but we must keep
;; sntp/libevent/build-aux since configure.ac contains
;; AC_CONFIG_AUX_DIR([sntp/libevent/build-aux])
(rename-file "sntp/libevent/build-aux"
"sntp/libevent:build-aux")
(delete-file-recursively "sntp/libevent")
(mkdir "sntp/libevent")
(rename-file "sntp/libevent:build-aux"
"sntp/libevent/build-aux")
#t))))
(version "4.2.8p9")
(source
(origin
(method url-fetch)
(uri (list (string-append
"http://archive.ntp.org/ntp4/ntp-"
(version-major+minor version)
"/ntp-" version ".tar.gz")
(string-append
"https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-"
(version-major+minor version)
"/ntp-" version ".tar.gz")))
(sha256
(base32
"0whbyf82lrczbri4adbsa4hg1ppfa6c7qcj7nhjwdfp1g1vjh95p"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove the bundled copy of libevent, but we must keep
;; sntp/libevent/build-aux since configure.ac contains
;; AC_CONFIG_AUX_DIR([sntp/libevent/build-aux])
(rename-file "sntp/libevent/build-aux"
"sntp/libevent:build-aux")
(delete-file-recursively "sntp/libevent")
(mkdir "sntp/libevent")
(rename-file "sntp/libevent:build-aux"
"sntp/libevent/build-aux")
#t))))
(native-inputs `(("which" ,which)
("pkg-config" ,pkg-config)))
(inputs

View File

@ -52,11 +52,7 @@
`(("pygtk" ,python2-pygtk)
("sqlalchemy" ,python2-sqlalchemy)
("python-pillow" ,python2-pillow)
("elib.intl" ,python2-elib.intl)
;; XXX: This really isn't an input for gourmet but of pillow. Making
;; it a propagated input in pillow doesn't seem to get its site path
;; into gourmet's wrapper's PYTHONPATH however...
("python-setuptools" ,python2-setuptools)))
("elib.intl" ,python2-elib.intl)))
(arguments
`(#:python ,python-2 ;exception and print syntax
#:tests? #f)) ;tests look bitrotted

View File

@ -49,9 +49,8 @@
("python-pyyaml" ,python-pyyaml)
("python-six" ,python-six)
("python-stevedore" ,python-stevedore)))
(inputs
(native-inputs
`(("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests
("python-fixtures" ,python-fixtures)
("python-mock" ,python-mock)
@ -85,10 +84,9 @@ all the files it generates a report.")
(propagated-inputs
`(("python-six" ,python-six)
("python-wrapt" ,python-wrapt)))
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests.
("python-oslotest" ,python-oslotest)))
(home-page "http://www.openstack.org/")
@ -122,9 +120,8 @@ manner.")
("python-pep8-1.5.7" ,python-pep8-1.5.7)
("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
("python-six" ,python-six)))
(inputs
`(("python-setuptools" ,python-setuptools)
;; Tests
(native-inputs
`(;; Tests
("python-testscenarios" ,python-testscenarios)))
(home-page "http://github.com/openstack-dev/hacking")
(synopsis "OpenStack hacking guideline enforcement")
@ -152,8 +149,6 @@ guidelines}.")
(native-inputs
`(("python-fixtures" ,python-fixtures)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
("python-six" ,python-six)
("python-testtools" ,python-testtools)))
(home-page "http://www.openstack.org/")
(synopsis "Mock object framework for Python")
@ -181,14 +176,14 @@ tested on Python version 3.2, 2.7 and 2.6.")
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;; Circular dependency with python-oslotest
(inputs
(propagated-inputs
`(("python-appdirs" ,python-appdirs)
("python-pyyaml" ,python-pyyaml)))
(native-inputs
`(("python-pbr" ,python-pbr)
("python-fixtures" ,python-fixtures)
("python-mimeparse" ,python-mimeparse)
("python-pbr" ,python-pbr)
("python-pyyaml" ,python-pyyaml)
("python-testrepository" ,python-testrepository)
("python-setuptools" ,python-setuptools)
("python-testscenarios" ,python-testscenarios)
("python-testtools" ,python-testtools)))
(home-page "http://www.openstack.org/")
@ -221,12 +216,11 @@ tested on Python version 3.2, 2.7 and 2.6.")
;; when building the package. Skip the tests for now.
`(#:tests? #f))
(propagated-inputs
`(("python-subunit" ,python-subunit)))
(native-inputs
`(("python-pbr" ,python-pbr)
("python-subunit" ,python-subunit)
("python-testtools" ,python-testtools)))
(inputs
`(("python-babel" ,python-babel)
("python-setuptools" ,python-setuptools)))
("python-testtools" ,python-testtools)
("python-babel" ,python-babel)))
(home-page "https://www.openstack.org/")
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description
@ -252,10 +246,9 @@ tested on Python version 3.2, 2.7 and 2.6.")
(propagated-inputs
`(("python-requests" ,python-requests)
("python-six" ,python-six)))
(inputs
`(("python-pbr" ,python-pbr)))
(native-inputs
`(("python-discover" ,python-discover)
`(("python-pbr" ,python-pbr)
("python-discover" ,python-discover)
("python-docutils" ,python-docutils)
("python-fixtures" ,python-fixtures)
("python-mock" ,python-mock)
@ -267,16 +260,10 @@ tested on Python version 3.2, 2.7 and 2.6.")
(description
"This module provides a building block to stub out the HTTP requests
portions of your testing code.")
(license asl2.0)
(properties `((python2-variant . ,(delay python2-requests-mock))))))
(license asl2.0)))
(define-public python2-requests-mock
(let ((base (package-with-python2
(strip-python2-variant python-requests-mock))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-requests-mock))
(define-public python-stevedore
(package
@ -292,10 +279,8 @@ portions of your testing code.")
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)))
(inputs
`(("python-pbr" ,python-pbr)))
(native-inputs
`(("python-setuptools" ,python-setuptools)
`(("python-pbr" ,python-pbr)
;; Tests
("python-docutils" ,python-docutils)
("python-mock" ,python-mock)
@ -346,12 +331,11 @@ extensions.")
("python-paramiko" ,python-paramiko)
("python-pbr" ,python-pbr)
("python-six" ,python-six)))
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-mock" ,python-mock)
("python-os-testr" ,python-os-testr)
("python-oslotest" ,python-oslotest)
("python-setuptools" ,python-setuptools)))
("python-oslotest" ,python-oslotest)))
(home-page "https://www.openstack.org/")
(synopsis "OpenStack functional testing library")
(description
@ -382,9 +366,8 @@ common features used in Tempest.")
`(("python-netaddr" ,python-netaddr)
("python-six" ,python-six)
("python-stevedore" ,python-stevedore)))
(inputs
(native-inputs
`(("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests
("python-oslo.i18n" ,python-oslo.i18n)
("python-mock" ,python-mock)
@ -412,10 +395,9 @@ common features used in Tempest.")
(base32
"0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
(build-system python-build-system)
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests.
("python-oslotest" ,python-oslotest)))
(home-page "http://launchpad.net/oslo")
@ -444,9 +426,8 @@ pipeline and used by various modules such as logging.")
(propagated-inputs
`(("python-babel" ,python-babel)
("python-six" ,python-six)))
(inputs
(native-inputs
`(("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests
("python-mock" ,python-mock)
("python-mox3" ,python-mox3)
@ -486,13 +467,12 @@ in an application or library.")
("python-oslo.utils" ,python-oslo.utils)
("python-oslo.serialization" ,python-oslo.serialization)
("python-six" ,python-six)))
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-iso8601" ,python-iso8601)
("python-mock" ,python-mock)
("python-oslotest" ,python-oslotest)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)))
("python-pbr" ,python-pbr)))
(home-page "http://launchpad.net/oslo")
(synopsis "Python logging library of the Oslo project")
(description
@ -523,10 +503,9 @@ handlers and support for context specific logging (like resource ids etc).")
("python-simplejson" ,python-simplejson)
("python-six" ,python-six)
("python-pytz" ,python-pytz)))
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests.
("python-mock" ,python-mock)
("python-oslo.i18n" ,python-oslo.i18n)
@ -555,11 +534,10 @@ in transmittable and storable formats, such as JSON and MessagePack.")
(build-system python-build-system)
(propagated-inputs
`(("python-requests" ,python-requests)))
(inputs
(native-inputs
`(("python-pbr" ,python-pbr)
("python-docutils" ,python-docutils)
("python-hacking" ,python-hacking)
("python-setuptools" ,python-setuptools)
("python-sphinx" ,python-sphinx)))
(home-page "http://www.openstack.org/")
(synopsis "OpenStack sphinx extensions and theme")
@ -591,10 +569,9 @@ from the OpenStack project.")
("python-mock" ,python-mock)
("python-mox3" ,python-mox3)
("python-six" ,python-six)))
(inputs
(native-inputs
`(("python-pbr" ,python-pbr)
("python-os-client-config" ,python-os-client-config)
("python-setuptools" ,python-setuptools)
("python-subunit" ,python-subunit)
("python-testrepository" ,python-testrepository)
("python-testscenarios" ,python-testscenarios)
@ -635,10 +612,9 @@ and better support for mocking results.")
("python-netifaces" ,python-netifaces)
("python-pytz" ,python-pytz)
("python-six" ,python-six)))
(inputs
(native-inputs
`(("python-babel" ,python-babel)
("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
;; Tests.
("python-oslotest" ,python-oslotest)
("python-mock" ,python-mock)
@ -668,8 +644,7 @@ handling.")
"1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)
("python-sphinx" ,python-sphinx)
`(("python-sphinx" ,python-sphinx)
;; and some packages for the tests
("openssl" ,openssl)
("python-coverage" ,python-coverage)
@ -744,7 +719,6 @@ LDAP.")
(build-system python-build-system)
(native-inputs
`(("python-pbr" ,python-pbr)
("python-setuptools" ,python-setuptools)
("python-sphinx" ,python-sphinx)
;; The folloing packages are needed for the tests.
("python-coverage" ,python-coverage)
@ -814,9 +788,10 @@ permanence.")
(list git openssh))))))))))
(native-inputs
`(("python-pbr" ,python-pbr)))
(propagated-inputs
`(("python-requests" ,python-requests)))
(inputs
`(("python-requests" ,python-requests)
("git" ,git)
`(("git" ,git)
("openssh" ,openssh)))
(home-page "http://docs.openstack.org/infra/git-review/")
(synopsis "Command-line tool for Gerrit")
@ -826,8 +801,4 @@ Gerrit for review, or fetching existing ones.")
(license asl2.0)))
(define-public python2-git-review
(let ((base (package-with-python2 (strip-python2-variant python-git-review))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base))))))
(package-with-python2 python-git-review))

View File

@ -51,6 +51,7 @@
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages cpio)
#:use-module (gnu packages tls)
#:use-module (gnu packages ssh)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 popen)
@ -143,9 +144,11 @@
;; Guile-JSON automatically.
(let* ((out (assoc-ref outputs "out"))
(json (assoc-ref inputs "guile-json"))
(ssh (assoc-ref inputs "guile-ssh"))
(gnutls (assoc-ref inputs "gnutls"))
(path (string-append
json "/share/guile/site/2.0:"
ssh "/share/guile/site/2.0:"
gnutls "/share/guile/site/2.0")))
;; Ignore user settings so that a bogus
@ -203,6 +206,7 @@
(propagated-inputs
`(("gnutls" ,gnutls) ;for 'guix download' & co.
("guile-json" ,guile-json)
("guile-ssh" ,guile-ssh)
("geiser" ,geiser) ;for guix.el
("emacs-magit-popup" ,emacs-magit-popup))) ;for "M-x guix" command

View File

@ -250,8 +250,7 @@ random passwords that pass the checks.")
(native-inputs
`(("help2man" ,help2man)))
(inputs
`(("python-setuptools" ,python2-setuptools)
("python2-xdo" ,python2-xdo)
`(("python2-xdo" ,python2-xdo)
("python2-pygpgme" ,python2-pygpgme)
("python2-pygtk" ,python2-pygtk)))
(propagated-inputs
@ -362,7 +361,7 @@ winner of the 2015 Password Hashing Competition.")
(native-inputs
`(("python-pycparser" ,python-pycparser)
("python-pytest" ,python-pytest)))
(inputs
(propagated-inputs
`(("python-cffi" ,python-cffi)
("python-six" ,python-six)))
(home-page "https://github.com/pyca/bcrypt/")
@ -376,8 +375,4 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
(license license:asl2.0)))
(define-public python2-bcrypt
(let ((bcrypt (package-with-python2 python-bcrypt)))
(package (inherit bcrypt)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs bcrypt))))))
(package-with-python2 python-bcrypt))

View File

@ -0,0 +1,122 @@
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 20 Oct 2016 21:12:30 +1030
Subject: [PATCH] image: prevent invalid ptr access for > 4GB images
Image data is often accessed using:
image->data + y * image->stride
On 64-bit achitectures if the image data is > 4GB, this computation
will overflow since both y and stride are 32-bit types.
bug report: https://bugs.freedesktop.org/show_bug.cgi?id=98165
patch: https://bugs.freedesktop.org/attachment.cgi?id=127421
---
boilerplate/cairo-boilerplate.c | 4 +++-
src/cairo-image-compositor.c | 4 ++--
src/cairo-image-surface-private.h | 2 +-
src/cairo-mesh-pattern-rasterizer.c | 2 +-
src/cairo-png.c | 2 +-
src/cairo-script-surface.c | 3 ++-
6 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c
index 7fdbf79..4804dea 100644
--- a/boilerplate/cairo-boilerplate.c
+++ b/boilerplate/cairo-boilerplate.c
@@ -42,6 +42,7 @@
#undef CAIRO_VERSION_H
#include "../cairo-version.h"
+#include <stddef.h>
#include <stdlib.h>
#include <ctype.h>
#include <assert.h>
@@ -976,7 +977,8 @@ cairo_surface_t *
cairo_boilerplate_image_surface_create_from_ppm_stream (FILE *file)
{
char format;
- int width, height, stride;
+ int width, height;
+ ptrdiff_t stride;
int x, y;
unsigned char *data;
cairo_surface_t *image = NULL;
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 48072f8..3ca0006 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -1575,7 +1575,7 @@ typedef struct _cairo_image_span_renderer {
pixman_image_t *src, *mask;
union {
struct fill {
- int stride;
+ ptrdiff_t stride;
uint8_t *data;
uint32_t pixel;
} fill;
@@ -1594,7 +1594,7 @@ typedef struct _cairo_image_span_renderer {
struct finish {
cairo_rectangle_int_t extents;
int src_x, src_y;
- int stride;
+ ptrdiff_t stride;
uint8_t *data;
} mask;
} u;
diff --git a/src/cairo-image-surface-private.h b/src/cairo-image-surface-private.h
index 8ca694c..7e78d61 100644
--- a/src/cairo-image-surface-private.h
+++ b/src/cairo-image-surface-private.h
@@ -71,7 +71,7 @@ struct _cairo_image_surface {
int width;
int height;
- int stride;
+ ptrdiff_t stride;
int depth;
unsigned owns_data : 1;
diff --git a/src/cairo-mesh-pattern-rasterizer.c b/src/cairo-mesh-pattern-rasterizer.c
index 1b63ca8..e7f0db6 100644
--- a/src/cairo-mesh-pattern-rasterizer.c
+++ b/src/cairo-mesh-pattern-rasterizer.c
@@ -470,7 +470,7 @@ draw_pixel (unsigned char *data, int width, int height, int stride,
tg += tg >> 16;
tb += tb >> 16;
- *((uint32_t*) (data + y*stride + 4*x)) = ((ta << 16) & 0xff000000) |
+ *((uint32_t*) (data + y*(ptrdiff_t)stride + 4*x)) = ((ta << 16) & 0xff000000) |
((tr >> 8) & 0xff0000) | ((tg >> 16) & 0xff00) | (tb >> 24);
}
}
diff --git a/src/cairo-png.c b/src/cairo-png.c
index 562b743..aa8c227 100644
--- a/src/cairo-png.c
+++ b/src/cairo-png.c
@@ -673,7 +673,7 @@ read_png (struct png_read_closure_t *png_closure)
}
for (i = 0; i < png_height; i++)
- row_pointers[i] = &data[i * stride];
+ row_pointers[i] = &data[i * (ptrdiff_t)stride];
png_read_image (png, row_pointers);
png_read_end (png, info);
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index ea0117d..91e4baa 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -1202,7 +1202,8 @@ static cairo_status_t
_write_image_surface (cairo_output_stream_t *output,
const cairo_image_surface_t *image)
{
- int stride, row, width;
+ int row, width;
+ ptrdiff_t stride;
uint8_t row_stack[CAIRO_STACK_BUFFER_SIZE];
uint8_t *rowdata;
uint8_t *data;
--
2.1.4

View File

@ -0,0 +1,130 @@
Fix CVE-2013-4122.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4122
Patch copied from upstream source repository:
https://github.com/cyrusimap/cyrus-sasl/commit/dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d
From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001
From: mancha <mancha1@hush.com>
Date: Thu, 11 Jul 2013 10:08:07 +0100
Subject: Handle NULL returns from glibc 2.17+ crypt()
Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
(w/ NULL return) if the salt violates specifications. Additionally,
on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
passed to crypt() fail with EPERM (w/ NULL return).
When using glibc's crypt(), check return value to avoid a possible
NULL pointer dereference.
Patch by mancha1@hush.com.
---
pwcheck/pwcheck_getpwnam.c | 3 ++-
pwcheck/pwcheck_getspnam.c | 4 +++-
saslauthd/auth_getpwent.c | 4 +++-
saslauthd/auth_shadow.c | 8 +++-----
4 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c
index 4b34222..400289c 100644
--- a/pwcheck/pwcheck_getpwnam.c
+++ b/pwcheck/pwcheck_getpwnam.c
@@ -32,6 +32,7 @@ char *userid;
char *password;
{
char* r;
+ char* crpt_passwd;
struct passwd *pwd;
pwd = getpwnam(userid);
@@ -41,7 +42,7 @@ char *password;
else if (pwd->pw_passwd[0] == '*') {
r = "Account disabled";
}
- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
+ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
r = "Incorrect password";
}
else {
diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c
index 2b11286..6d607bb 100644
--- a/pwcheck/pwcheck_getspnam.c
+++ b/pwcheck/pwcheck_getspnam.c
@@ -32,13 +32,15 @@ char *userid;
char *password;
{
struct spwd *pwd;
+ char *crpt_passwd;
pwd = getspnam(userid);
if (!pwd) {
return "Userid not found";
}
- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
+ crpt_passwd = crypt(password, pwd->sp_pwdp);
+ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
return "Incorrect password";
}
else {
diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c
index fc8029d..d4ebe54 100644
--- a/saslauthd/auth_getpwent.c
+++ b/saslauthd/auth_getpwent.c
@@ -77,6 +77,7 @@ auth_getpwent (
{
/* VARIABLES */
struct passwd *pw; /* pointer to passwd file entry */
+ char *crpt_passwd; /* encrypted password */
int errnum;
/* END VARIABLES */
@@ -105,7 +106,8 @@ auth_getpwent (
}
}
- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
+ crpt_passwd = crypt(password, pw->pw_passwd);
+ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
if (flags & VERBOSE) {
syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login);
}
diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c
index 677131b..1988afd 100644
--- a/saslauthd/auth_shadow.c
+++ b/saslauthd/auth_shadow.c
@@ -210,8 +210,8 @@ auth_shadow (
RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)");
}
- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
- if (strcmp(sp->sp_pwdp, cpw)) {
+ cpw = crypt(password, sp->sp_pwdp);
+ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) {
if (flags & VERBOSE) {
/*
* This _should_ reveal the SHADOW_PW_LOCKED prefix to an
@@ -221,10 +221,8 @@ auth_shadow (
syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
sp->sp_pwdp, cpw);
}
- free(cpw);
RETURN("NO Incorrect password");
}
- free(cpw);
/*
* The following fields will be set to -1 if:
@@ -286,7 +284,7 @@ auth_shadow (
RETURN("NO Invalid username");
}
- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
+ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
if (flags & VERBOSE) {
syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
password, upw->upw_passwd);
--
cgit v0.12

View File

@ -0,0 +1,36 @@
Taken from
https://sources.debian.net/data/main/g/gcc-4.9/4.9.2-10/debian/patches/gcj-arm-mode.diff
# DP: For armhf, force arm mode instead of thumb mode
--- a/libjava/configure.host
+++ b/libjava/configure.host
@@ -66,6 +66,9 @@
;;
esac
+# on armhf force arm mode
+libgcj_flags="${libgcj_flags} -marm"
+
AM_RUNTESTFLAGS=
# Set any host dependent compiler flags.
--- a/gcc/java/lang-specs.h
+++ b/gcc/java/lang-specs.h
@@ -47,7 +47,7 @@
%{.class|.zip|.jar|!fsyntax-only:jc1 \
%{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \
%{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i} \
- %(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
+ %(jc1) %(cc1_options) -marm %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \
%{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\
%(invoke_as)}",
0, 0, 0},
--- a/libjava/libgcj.spec.in
+++ b/libjava/libgcj.spec.in
@@ -9,4 +9,4 @@
%rename lib liborig
*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig)
-*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions
+*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions -marm

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
Fixes upstream bug #774897 (flxdec: Unreferences itself one time too many on
invalid files):
https://bugzilla.gnome.org/show_bug.cgi?id=774897
Patch copied from upstream source repository:
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=b31c504645a814c59d91d49e4fe218acaf93f4ca
From b31c504645a814c59d91d49e4fe218acaf93f4ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Wed, 23 Nov 2016 11:20:49 +0200
Subject: [PATCH] flxdec: Don't unref() parent in the chain function
We don't own the reference here, it is owned by the caller and given to
us for the scope of this function. Leftover mistake from 0.10 porting.
https://bugzilla.gnome.org/show_bug.cgi?id=774897
---
gst/flx/gstflxdec.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c
index e675c99..a237976 100644
--- a/gst/flx/gstflxdec.c
+++ b/gst/flx/gstflxdec.c
@@ -677,7 +677,6 @@ wrong_type:
{
GST_ELEMENT_ERROR (flxdec, STREAM, WRONG_TYPE, (NULL),
("not a flx file (type %x)", flxh->type));
- gst_object_unref (flxdec);
return GST_FLOW_ERROR;
}
}
--
2.10.2

View File

@ -0,0 +1,58 @@
This is a followup fix for upstream bug #774834 (flic decoder: Buffer overflow
in flx_decode_delta_fli):
https://bugzilla.gnome.org/show_bug.cgi?id=774834#c2
Patch copied from upstream source repository:
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=1ab2b26193861b124426e2f8eb62b75b59ec5488
From 1ab2b26193861b124426e2f8eb62b75b59ec5488 Mon Sep 17 00:00:00 2001
From: Matthew Waters <matthew@centricular.com>
Date: Tue, 22 Nov 2016 23:46:00 +1100
Subject: [PATCH] flxdec: fix some warnings comparing unsigned < 0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
bf43f44fcfada5ec4a3ce60cb374340486fe9fac was comparing an unsigned
expression to be < 0 which was always false.
gstflxdec.c: In function flx_decode_brun:
gstflxdec.c:322:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
if ((glong) row - count < 0) {
^
gstflxdec.c:332:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
if ((glong) row - count < 0) {
^
https://bugzilla.gnome.org/show_bug.cgi?id=774834
---
gst/flx/gstflxdec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c
index d51a8e6..e675c99 100644
--- a/gst/flx/gstflxdec.c
+++ b/gst/flx/gstflxdec.c
@@ -319,7 +319,7 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
if (count > 0x7f) {
/* literal run */
count = 0x100 - count;
- if ((glong) row - count < 0) {
+ if ((glong) row - (glong) count < 0) {
GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
return FALSE;
}
@@ -329,7 +329,7 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
*dest++ = *data++;
} else {
- if ((glong) row - count < 0) {
+ if ((glong) row - (glong) count < 0) {
GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
return FALSE;
}
--
2.10.2

View File

@ -0,0 +1,319 @@
Fix CVE-2016-{9634,9635,9636}.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9634
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9635
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9636
This fixes upstream bug #774834 (flic decoder: Buffer overflow in
flx_decode_delta_fli):
https://bugzilla.gnome.org/show_bug.cgi?id=774834
Patch copied from upstream source repository:
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=2e203a79b7d9af4029307c1a845b3c148d5f5e62
From 2e203a79b7d9af4029307c1a845b3c148d5f5e62 Mon Sep 17 00:00:00 2001
From: Matthew Waters <matthew@centricular.com>
Date: Tue, 22 Nov 2016 19:05:00 +1100
Subject: [PATCH] flxdec: add some write bounds checking
Without checking the bounds of the frame we are writing into, we can
write off the end of the destination buffer.
https://scarybeastsecurity.blogspot.dk/2016/11/0day-exploit-advancing-exploitation.html
https://bugzilla.gnome.org/show_bug.cgi?id=774834
---
gst/flx/gstflxdec.c | 116 +++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 91 insertions(+), 25 deletions(-)
diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c
index 604be2f..d51a8e6 100644
--- a/gst/flx/gstflxdec.c
+++ b/gst/flx/gstflxdec.c
@@ -74,9 +74,9 @@ static gboolean gst_flxdec_src_query_handler (GstPad * pad, GstObject * parent,
GstQuery * query);
static void flx_decode_color (GstFlxDec *, guchar *, guchar *, gint);
-static void flx_decode_brun (GstFlxDec *, guchar *, guchar *);
-static void flx_decode_delta_fli (GstFlxDec *, guchar *, guchar *);
-static void flx_decode_delta_flc (GstFlxDec *, guchar *, guchar *);
+static gboolean flx_decode_brun (GstFlxDec *, guchar *, guchar *);
+static gboolean flx_decode_delta_fli (GstFlxDec *, guchar *, guchar *);
+static gboolean flx_decode_delta_flc (GstFlxDec *, guchar *, guchar *);
#define rndalign(off) ((off) + ((off) & 1))
@@ -203,13 +203,14 @@ gst_flxdec_sink_event_handler (GstPad * pad, GstObject * parent,
return ret;
}
-static void
+static gboolean
flx_decode_chunks (GstFlxDec * flxdec, gulong count, guchar * data,
guchar * dest)
{
FlxFrameChunk *hdr;
+ gboolean ret = TRUE;
- g_return_if_fail (data != NULL);
+ g_return_val_if_fail (data != NULL, FALSE);
while (count--) {
hdr = (FlxFrameChunk *) data;
@@ -228,17 +229,17 @@ flx_decode_chunks (GstFlxDec * flxdec, gulong count, guchar * data,
break;
case FLX_BRUN:
- flx_decode_brun (flxdec, data, dest);
+ ret = flx_decode_brun (flxdec, data, dest);
data += rndalign (hdr->size) - FlxFrameChunkSize;
break;
case FLX_LC:
- flx_decode_delta_fli (flxdec, data, dest);
+ ret = flx_decode_delta_fli (flxdec, data, dest);
data += rndalign (hdr->size) - FlxFrameChunkSize;
break;
case FLX_SS2:
- flx_decode_delta_flc (flxdec, data, dest);
+ ret = flx_decode_delta_flc (flxdec, data, dest);
data += rndalign (hdr->size) - FlxFrameChunkSize;
break;
@@ -256,7 +257,12 @@ flx_decode_chunks (GstFlxDec * flxdec, gulong count, guchar * data,
data += rndalign (hdr->size) - FlxFrameChunkSize;
break;
}
+
+ if (!ret)
+ break;
}
+
+ return ret;
}
@@ -289,13 +295,13 @@ flx_decode_color (GstFlxDec * flxdec, guchar * data, guchar * dest, gint scale)
}
}
-static void
+static gboolean
flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
{
gulong count, lines, row;
guchar x;
- g_return_if_fail (flxdec != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
lines = flxdec->hdr.height;
while (lines--) {
@@ -313,12 +319,21 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
if (count > 0x7f) {
/* literal run */
count = 0x100 - count;
+ if ((glong) row - count < 0) {
+ GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
+ return FALSE;
+ }
row -= count;
while (count--)
*dest++ = *data++;
} else {
+ if ((glong) row - count < 0) {
+ GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
+ return FALSE;
+ }
+
/* replicate run */
row -= count;
x = *data++;
@@ -328,22 +343,28 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
}
}
}
+
+ return TRUE;
}
-static void
+static gboolean
flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
{
gulong count, packets, lines, start_line;
guchar *start_p, x;
- g_return_if_fail (flxdec != NULL);
- g_return_if_fail (flxdec->delta_data != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
+ g_return_val_if_fail (flxdec->delta_data != NULL, FALSE);
/* use last frame for delta */
memcpy (dest, flxdec->delta_data, flxdec->size);
start_line = (data[0] + (data[1] << 8));
lines = (data[2] + (data[3] << 8));
+ if (start_line + lines > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. too many lines.");
+ return FALSE;
+ }
data += 4;
/* start position of delta */
@@ -356,7 +377,8 @@ flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
while (packets--) {
/* skip count */
- dest += *data++;
+ guchar skip = *data++;
+ dest += skip;
/* RLE count */
count = *data++;
@@ -364,12 +386,24 @@ flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
if (count > 0x7f) {
/* literal run */
count = 0x100 - count;
- x = *data++;
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
+ x = *data++;
while (count--)
*dest++ = x;
} else {
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLI packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
/* replicate run */
while (count--)
*dest++ = *data++;
@@ -378,21 +412,27 @@ flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
start_p += flxdec->hdr.width;
dest = start_p;
}
+
+ return TRUE;
}
-static void
+static gboolean
flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
{
gulong count, lines, start_l, opcode;
guchar *start_p;
- g_return_if_fail (flxdec != NULL);
- g_return_if_fail (flxdec->delta_data != NULL);
+ g_return_val_if_fail (flxdec != NULL, FALSE);
+ g_return_val_if_fail (flxdec->delta_data != NULL, FALSE);
/* use last frame for delta */
memcpy (dest, flxdec->delta_data, flxdec->size);
lines = (data[0] + (data[1] << 8));
+ if (lines > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. too many lines.");
+ return FALSE;
+ }
data += 2;
start_p = dest;
@@ -405,9 +445,15 @@ flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
while ((opcode = (data[0] + (data[1] << 8))) & 0xc000) {
data += 2;
if ((opcode & 0xc000) == 0xc000) {
- /* skip count */
- start_l += (0x10000 - opcode);
- dest += flxdec->hdr.width * (0x10000 - opcode);
+ /* line skip count */
+ gulong skip = (0x10000 - opcode);
+ if (skip > flxdec->hdr.height) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "skip line count too big.");
+ return FALSE;
+ }
+ start_l += skip;
+ dest += flxdec->hdr.width * skip;
} else {
/* last pixel */
dest += flxdec->hdr.width;
@@ -419,7 +465,8 @@ flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
/* last opcode is the packet count */
while (opcode--) {
/* skip count */
- dest += *data++;
+ guchar skip = *data++;
+ dest += skip;
/* RLE count */
count = *data++;
@@ -427,12 +474,25 @@ flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
if (count > 0x7f) {
/* replicate word run */
count = 0x100 - count;
+
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
while (count--) {
*dest++ = data[0];
*dest++ = data[1];
}
data += 2;
} else {
+ if (skip + count > flxdec->hdr.width) {
+ GST_ERROR_OBJECT (flxdec, "Invalid FLC packet detected. "
+ "line too long.");
+ return FALSE;
+ }
+
/* literal word run */
while (count--) {
*dest++ = *data++;
@@ -442,6 +502,8 @@ flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
}
lines--;
}
+
+ return TRUE;
}
static GstFlowReturn
@@ -571,9 +633,13 @@ gst_flxdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
out = gst_buffer_new_and_alloc (flxdec->size * 4);
/* decode chunks */
- flx_decode_chunks (flxdec,
- ((FlxFrameType *) chunk)->chunks,
- chunk + FlxFrameTypeSize, flxdec->frame_data);
+ if (!flx_decode_chunks (flxdec,
+ ((FlxFrameType *) chunk)->chunks,
+ chunk + FlxFrameTypeSize, flxdec->frame_data)) {
+ GST_ELEMENT_ERROR (flxdec, STREAM, DECODE,
+ ("%s", "Could not decode chunk"), NULL);
+ return GST_FLOW_ERROR;
+ }
/* save copy of the current frame for possible delta. */
memcpy (flxdec->delta_data, flxdec->frame_data, flxdec->size);
--
2.10.2

View File

@ -4,19 +4,9 @@ two others use networking. Not bad out of almost 700 tests!
by Pjotr Prins <pjotr.guix@thebird.nl>
diff --git a/std/datetime.d b/std/datetime.d
index 8e4ed3b..6c15bc5 100644
--- a/std/datetime.d
+++ b/std/datetime.d
@@ -28018,6 +28018,7 @@ public:
The default directory where the TZ Database files are. It's empty
for Windows, since Windows doesn't have them.
+/
+
enum defaultTZDatabaseDir = "/usr/share/zoneinfo/";
}
else version(Windows)
@@ -28069,14 +28070,13 @@ assert(tz.dstName == "PDT");
--- a/std/datetime.d.orig 2016-11-24 01:13:52.584495545 +0100
+++ b/std/datetime.d 2016-11-24 01:17:09.655306728 +0100
@@ -28081,22 +28081,24 @@
import std.range : retro;
import std.format : format;
@ -25,9 +15,20 @@ index 8e4ed3b..6c15bc5 100644
enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir)));
- immutable file = buildNormalizedPath(tzDatabaseDir, name);
+ auto filename = "./" ~ strip(name); // make sure the prefix is not stripped
+ immutable file = buildNormalizedPath(tzDatabaseDir, filename);
version(Android)
{
+ name = strip(name);
auto tzfileOffset = name in tzdataIndex(tzDatabaseDir);
enforce(tzfileOffset, new DateTimeException(format("The time zone %s is not listed.", name)));
string tzFilename = separate_index ? "zoneinfo.dat" : "tzdata";
immutable file = buildNormalizedPath(tzDatabaseDir, tzFilename);
}
else
- immutable file = buildNormalizedPath(tzDatabaseDir, name);
+ {
+ auto filename = "./" ~ strip(name); // make sure the prefix is not stripped
+ immutable file = buildNormalizedPath(tzDatabaseDir, filename);
+ }
- enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file)));
+ enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir)));
@ -54,23 +55,6 @@ diff --git a/std/socket.d b/std/socket.d
index b85d1c9..7fbf346 100644
--- a/std/socket.d
+++ b/std/socket.d
@@ -517,6 +517,8 @@ class Protocol
unittest
{
+ pragma(msg, "test disabled on GNU Guix");
+/*
// getprotobyname,number are unimplemented on Android
softUnittest({
Protocol proto = new Protocol;
@@ -530,6 +532,7 @@ unittest
assert(proto.name == "tcp");
assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
});
+*/
}
@@ -859,6 +862,8 @@ class InternetHost
unittest

View File

@ -0,0 +1,26 @@
Add all /gnu/store/ prefixes found in PYTHONPATH to the prefixes where
site-packages (and .pth files) are searched.
*** Python-2.7.11/Lib/site.py.orig 2016-10-17 23:27:23.746149690 +0200
--- Python-2.7.11/Lib/site.py 2016-10-17 23:44:51.930871644 +0200
***************
*** 65,70 ****
--- 65,82 ----
# Prefixes for site-packages; add additional prefixes like /usr/local here
PREFIXES = [sys.prefix, sys.exec_prefix]
+ # Guix: Add all /gnu/store-paths in PYTHONPATH--these are all
+ # "prefixes". This is required to search .pth files in all python
+ # packages contained in /gnu/store which is required to make
+ # .pth-defined namespace packages work.
+ # This is necessary if the packages are not merged into a single
+ # `site-packages` directory (like when using `guix environment`) but
+ # listed in PYTHONPATH (like when running `guix build`).
+ for p in sys.path:
+ if p.startswith('/gnu/store/'):
+ PREFIXES.append(p[:p.find('/', 44)]) # find first pathsep after hash
+ del p
+
# Enable per user site-packages directory
# set it to False to disable the feature or True to force the feature
ENABLE_USER_SITE = None

View File

@ -1,14 +0,0 @@
There is no test.sh, but there are test1.sh and test2.sh.
diff --git a/test/Makefile b/test/Makefile
index 027bc5f..5383db3 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,5 +1,6 @@
test:
- ./test.sh
+ ./test1.sh
+ ./test2.sh
clean:
rm -rf __pycache__

View File

@ -30,7 +30,7 @@
(define-public pciutils
(package
(name "pciutils")
(version "3.5.1")
(version "3.5.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
"0byl2f897w5lhs4bvr6p7qwcz9bllj2zyfv7nywbcbsnb9ha9wrb"))))
"1z2y4f3cyvm7a0dyan0n6jpb3p9pvh35lrim0058slj0kwd1969s"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -95,6 +95,17 @@
;; To build poppler-glib (as needed by Evince), we need Cairo and
;; GLib. But of course, that Cairo must not depend on Poppler.
("cairo" ,(package (inherit cairo)
(replacement
(package
(inherit cairo)
(replacement #f)
(source
(origin
(inherit (package-source cairo))
(patches (search-patches
"cairo-CVE-2016-9082.patch"))))
(inputs (alist-delete "poppler"
(package-inputs cairo)))))
(inputs (alist-delete "poppler"
(package-inputs cairo)))))
("glib" ,glib)))
@ -638,11 +649,6 @@ using a stylus.")
(base32
"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"))))
(build-system python-build-system)
(arguments
;; Prevent creation of the egg. Without this flag, various artifacts
;; from the build inputs end up in the final python3 output. It also
;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
`(#:configure-flags '("--single-version-externally-managed" "--root=/")))
(propagated-inputs
`(("python-pillow" ,python-pillow)))
(home-page "http://www.reportlab.com")
@ -650,14 +656,10 @@ using a stylus.")
(description "This is the ReportLab PDF Toolkit. It allows rapid creation
of rich PDF documents, and also creation of charts in a variety of bitmap and
vector formats.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-reportlab))))))
(license license:bsd-3)))
(define-public python2-reportlab
(package
(inherit (package-with-python2
(strip-python2-variant python-reportlab)))
(native-inputs `(("python2-pip" ,python2-pip)))))
(package-with-python2 python-reportlab))
(define-public impressive
(package
@ -873,8 +875,6 @@ python-pypdf2 instead.")
(inputs
;; pdfposter 0.6.0 still uses the old pyPdf
`(("python2-pypdf" ,python2-pypdf)))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(home-page "https://pythonhosted.org/pdftools.pdfposter/")
(synopsis "Scale and tile PDF images/pages to print on multiple pages")
(description "@command{pdfposter} can be used to create a large poster by

47
gnu/packages/perl-web.scm Normal file
View File

@ -0,0 +1,47 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages perl-web)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system perl))
(define-public perl-mojolicious
(package
(name "perl-mojolicious")
(version "7.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-"
version ".tar.gz"))
(sha256
(base32
"0811f3wajgf71y02dr2khqnaswjh582pcvhv93k101qpg61syihn"))))
(build-system perl-build-system)
(home-page "http://mojolicious.org/")
(synopsis "Real-time web framework")
(description "Back in the early days of the web, many people learned Perl
because of a wonderful Perl library called @code{CGI}. It was simple enough
to get started without knowing much about the language and powerful enough to
keep you going, learning by doing was much fun. While most of the techniques
used are outdated now, the idea behind it is not. Mojolicious is a new
endeavor to implement this idea using modern technologies.")
(license license:artistic2.0)))

View File

@ -34,7 +34,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl))
#:use-module (guix build-system perl)
#:use-module (gnu packages perl-web))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@ -266,6 +267,33 @@ manipulate, read, and write Zip archive files.")
list manipulation routines.")
(license (package-license perl))))
(define-public perl-autovivification
(package
(name "perl-autovivification")
(version "0.16")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/"
"autovivification-" version ".tar.gz"))
(sha256
(base32
"1422kw9fknv7rbjkgdfflg1q3mb69d3yryszp38dn0bgzkqhwkc1"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/autovivification")
(synopsis "Lexically disable autovivification")
(description "When an undefined variable is dereferenced, it gets silently
upgraded to an array or hash reference (depending of the type of the
dereferencing). This behaviour is called autovivification and usually does
what you mean but it may be unnatural or surprising because your variables get
populated behind your back. This is especially true when several levels of
dereferencing are involved, in which case all levels are vivified up to the
last, or when it happens in intuitively read-only constructs like
@code{exists}. The pragma provided by this package lets you disable
autovivification for some constructs and optionally throws a warning or an
error when it would have happened.")
(license (package-license perl))))
(define-public perl-base
(package
(name "perl-base")
@ -380,6 +408,88 @@ library can nevertheless be used stand-alone, without Perl.")
special objects: true and false.")
(license (package-license perl))))
(define-public perl-business-isbn-data
(package
(name "perl-business-isbn-data")
(version "20140910.003")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
"Business-ISBN-Data-" version ".tar.gz"))
(sha256
(base32
"1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Business-ISBN-Data")
(synopsis "Data files for Business::ISBN")
(description "This package provides a data pack for @code{Business::ISBN}.
These data are generated from the RangeMessage.xml file provided by the ISBN
Agency.")
(license (package-license perl))))
(define-public perl-business-isbn
(package
(name "perl-business-isbn")
(version "3.003")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
"Business-ISBN-" version ".tar.gz"))
(sha256
(base32
"1i2bxzqkki257rqbswa4ryj1grmwa5s47wrxln2ff5mha1ry31gm"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-business-isbn-data" ,perl-business-isbn-data)
("perl-mojolicious" ,perl-mojolicious)))
(home-page "http://search.cpan.org/dist/Business-ISBN")
(synopsis "Work with International Standard Book Numbers")
(description "This modules provides tools to deal with International
Standard Book Numbers, including ISBN-10 and ISBN-13.")
(license artistic2.0)))
(define-public perl-business-issn
(package
(name "perl-business-issn")
(version "0.91")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
"Business-ISSN-" version ".tar.gz"))
(sha256
(base32
"1dfnm7h7lbqj356700ldlmgbr51v6hyjn1qig2bb4ysl1wn1jnzi"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Business-ISSN")
(synopsis "Work with International Standard Serial Numbers")
(description "This modules provides tools to deal with International
Standard Serial Numbers.")
(license (package-license perl))))
(define-public perl-business-ismn
(package
(name "perl-business-ismn")
(version "1.13")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
"Business-ISMN-" version ".tar.gz"))
(sha256
(base32
"0cm1v75axg4gp6cnbyavmnqqjscsxh7nc60vcbw34rqivvf9idc9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-tie-cycle" ,perl-tie-cycle)))
(home-page "http://search.cpan.org/dist/Business-ISMN")
(synopsis "Work with International Standard Music Numbers")
(description "This modules provides tools to deal with International
Standard Music Numbers.")
(license (package-license perl))))
(define-public perl-cache-cache
(package
(name "perl-cache-cache")
@ -1200,6 +1310,47 @@ functions and data structures for processing and analysing genomic and
bioinformatics data.")
(license gpl3+)))
(define-public perl-data-compare
(package
(name "perl-data-compare")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DC/DCANTRELL/"
"Data-Compare-" version ".tar.gz"))
(sha256
(base32
"0wzasidg9yjcfsi2gdiaw6726ikqda7n24n0v2ngpaazakdkcjqx"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-file-find-rule" ,perl-file-find-rule)))
(home-page "http://search.cpan.org/dist/Data-Compare")
(synopsis "Compare Perl data structures")
(description "This module compares arbitrary data structures to see if
they are copies of each other.")
(license (package-license perl))))
(define-public perl-data-uniqid
(package
(name "perl-data-uniqid")
(version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-"
version ".tar.gz"))
(sha256
(base32
"1jsc6acmv97pzsvx1fqywz4qvxxpp7kwmb78ygyqpsczkfj9p4dn"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Data-Uniqid")
(synopsis "Perl extension for generating unique identifiers")
(description "@code{Data::Uniqid} provides three simple routines for
generating unique ids. These ids are coded with a Base62 systen to make them
short and handy (e.g. to use it as part of a URL).")
(license (package-license perl))))
(define-public perl-data-dump
(package
(name "perl-data-dump")
@ -1468,6 +1619,28 @@ operations, such as comparing two times, determining a date a given amount of
time from another, or parsing international times.")
(license (package-license perl))))
(define-public perl-date-simple
(package
(name "perl-date-simple")
(version "3.03")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IZ/IZUT/"
"Date-Simple-" version ".tar.gz"))
(sha256
(base32
"016x17r9wi6ffdc4idwirzd1sxqcb4lmq5fn2aiq25nf2iir5899"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Date-Simple")
(synopsis "Simple date handling")
(description "Dates are complex enough without times and timezones. This
module may be used to create simple date objects. It handles validation,
interval arithmetic, and day-of-week calculation. It does not deal with
hours, minutes, seconds, and time zones.")
;; Can be used with either license.
(license (list (package-license perl) gpl2+))))
(define-public perl-datetime
(package
(name "perl-datetime")
@ -1497,6 +1670,30 @@ combinations. It represents the Gregorian calendar, extended backwards in
time before its creation (in 1582).")
(license artistic2.0)))
(define-public perl-datetime-calendar-julian
(package
(name "perl-datetime-calendar-julian")
(version "0.04")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PI/PIJLL/"
"DateTime-Calendar-Julian-" version ".tar.gz"))
(sha256
(base32
"03h0llkwsiw2d2ci1ah5x9sp8xrvnbgd471i5hnpgl5w32nnhndv"))))
(build-system perl-build-system)
;; Only needed for tests
(native-inputs
`(("perl-datetime" ,perl-datetime)))
(home-page "http://search.cpan.org/dist/DateTime-Calendar-Julian")
(synopsis "Dates in the Julian calendar")
(description "This package is a companion module to @code{DateTime.pm}.
It implements the Julian calendar. It supports everything that
@code{DateTime.pm} supports and more: about one day per century more, to be
precise.")
(license (package-license perl))))
(define-public perl-datetime-set
(package
(name "perl-datetime-set")
@ -2125,6 +2322,86 @@ SHA-1 message digest algorithm for use by Perl programs.")
modules separately and deal with them after the module is done installing.")
(license (package-license perl))))
(define-public perl-encode-detect
(package
(name "perl-encode-detect")
(version "1.01")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JG/JGMYERS/"
"Encode-Detect-" version ".tar.gz"))
(sha256
(base32
"1wdv9ffgs4xyfh5dnh09dqkmmlbf5m1hxgdgb3qy6v6vlwx8jkc3"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(home-page "http://search.cpan.org/dist/Encode-Detect")
(synopsis "Detect the encoding of data")
(description "This package provides a class @code{Encode::Detect} to detect
the encoding of data.")
(license mpl1.1)))
(define-public perl-encode-eucjpascii
(package
(name "perl-encode-eucjpascii")
(version "0.03")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEZUMI/"
"Encode-EUCJPASCII-" version ".tar.gz"))
(sha256
(base32
"0qg8kmi7r9jcf8326b4fyq5sdpqyim2a11h7j77q577xam6x767r"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Encode-EUCJPASCII")
(synopsis "ASCII mapping for eucJP encoding")
(description "This package provides an ASCII mapping for the eucJP
encoding.")
(license (package-license perl))))
(define-public perl-encode-jis2k
(package
(name "perl-encode-jis2k")
(version "0.03")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DA/DANKOGAI/"
"Encode-JIS2K-" version ".tar.gz"))
(sha256
(base32
"1k1mdj4rd9m1z4h7qd2dl92ky0r1rk7mmagwsvdb9pirvdr4vj0y"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Encode-JIS2K")
(synopsis "JIS X 0212 (aka JIS 2000) encodings")
(description "This package provides encodings for JIS X 0212, which is
also known as JIS 2000.")
(license (package-license perl))))
(define-public perl-encode-hanextra
(package
(name "perl-encode-hanextra")
(version "0.23")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AU/AUDREYT/"
"Encode-HanExtra-" version ".tar.gz"))
(sha256
(base32
"0fj4vd8iva2i0j6s2fyhwgr9afrvhr6gjlzi7805h257mmnb1m0z"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Encode-HanExtra")
(synopsis "Additional Chinese encodings")
(description "This Perl module provides Chinese encodings that are not
part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\",
\"BIG5EXT\", \"CCCII\", \"EUC-TW\", \"CNS11643-*\", \"GB18030\", and
\"UNISYS\".")
(license expat)))
(define-public perl-env-path
(package
(name "perl-env-path")
@ -2325,6 +2602,29 @@ it ties together a family of modern toolchain modules.")
module building modules.")
(license (package-license perl))))
(define-public perl-extutils-libbuilder
(package
(name "perl-extutils-libbuilder")
(version "0.08")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/"
"ExtUtils-LibBuilder-" version ".tar.gz"))
(sha256
(base32
"1lmmfcjxvsvhn4f3v2lyylgr8dzcf5j7mnd1pkq3jc75dph724f5"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(home-page "http://search.cpan.org/dist/ExtUtils-LibBuilder")
(synopsis "Tool to build C libraries")
(description "Some Perl modules need to ship C libraries together with
their Perl code. Although there are mechanisms to compile and link (or glue)
C code in your Perl programs, there isn't a clear method to compile standard,
self-contained C libraries. This module main goal is to help in that task.")
(license (package-license perl))))
(define-public perl-file-changenotify
(package
(name "perl-file-changenotify")
@ -3023,6 +3323,26 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.")
pseudo ttys.")
(license (package-license perl))))
(define-public perl-ipc-cmd
(package
(name "perl-ipc-cmd")
(version "0.96")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/IPC-Cmd-"
version ".tar.gz"))
(sha256
(base32
"0a2v44x70gj9fd5wa8i08f9z6n14qppj1j49m1hc333wh72mzk6i"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/IPC-Cmd")
(synopsis "Run interactive command-line programs")
(description "@code{IPC::Cmd} allows for the searching and execution of
any binary on your system. It adheres to verbosity settings and is able to
run interactively. It also has an option to capture output/error buffers.")
(license (package-license perl))))
(define-public perl-ipc-run
(package
(name "perl-ipc-run")
@ -3345,6 +3665,26 @@ version.")
one: logging, exceptions, and translations.")
(license (package-license perl))))
(define-public perl-lingua-translit
(package
(name "perl-lingua-translit")
(version "0.26")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AL/ALINKE/"
"Lingua-Translit-" version ".tar.gz"))
(sha256
(base32
"161589h08kzliga17i2g0hb0yn4cjmb8rdiyadq5bw97974bac14"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-Translit")
(synopsis "Transliterate text between writing systems")
(description "@code{Lingua::Translit} can be used to convert text from one
writing system to another, based on national or international transliteration
tables. Where possible a reverse transliteration is supported.")
(license (package-license perl))))
(define-public perl-list-allutils
(package
(name "perl-list-allutils")
@ -4372,6 +4712,26 @@ own set of Moose-like types. These custom types can then be used to describe
fields in Moo-based classes.")
(license (package-license perl))))
(define-public perl-mozilla-ca
(package
(name "perl-mozilla-ca")
(version "20160104")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-"
version ".tar.gz"))
(sha256
(base32
"0aizn08lrdrgjz9vagkjmw2c7sxn46fzz521v9dbcqii4jd0d9r7"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Mozilla-CA")
(synopsis "Mozilla's CA cert bundle in PEM format")
(description "@code{Mozilla::CA} provides a copy of Mozilla's bundle of
Certificate Authority certificates in a form that can be consumed by modules
and libraries based on OpenSSL.")
(license mpl2.0)))
(define-public perl-mro-compat
(package
(name "perl-mro-compat")
@ -5045,6 +5405,25 @@ designed to be slow or big, neither has it been designed to be fast or
compact.")
(license (package-license perl))))
(define-public perl-sort-key
(package
(name "perl-sort-key")
(version "1.33")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-"
version ".tar.gz"))
(sha256
(base32
"1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Sort-Key")
(synopsis "Sort arrays by one or multiple calculated keys")
(description "This Perl module provides various functions to quickly sort
arrays by one or multiple calculated keys.")
(license (package-license perl))))
(define-public perl-spiffy
(package
(name "perl-spiffy")
@ -6389,6 +6768,29 @@ decomposition of comma-separated values. An instance of the Text::CSV class
can combine fields into a CSV string and parse a CSV string into fields.")
(license (package-license perl))))
(define-public perl-text-csv-xs
(package
(name "perl-text-csv-xs")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/H/HM/HMBRAND/"
"Text-CSV_XS-" version ".tgz"))
(sha256
(base32
"06zlfbqrwbl0g2g3bhk6046yy5pf2rz80fzcp8aj47rnswz2yx5k"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-CSV_XS")
(synopsis "Rountines for manipulating CSV files")
(description "@code{Text::CSV_XS} provides facilities for the composition
and decomposition of comma-separated values. An instance of the
@code{Text::CSV_XS} class will combine fields into a CSV string and parse a
CSV string into fields. The module accepts either strings or files as input
and support the use of user-specified characters for delimiters, separators,
and escapes.")
(license (package-license perl))))
(define-public perl-text-diff
(package
(name "perl-text-diff")
@ -6459,6 +6861,27 @@ template engine, for when you need speed rather than complex features,
yet need more features than simple variable substitution.")
(license (package-license perl))))
(define-public perl-text-roman
(package
(name "perl-text-roman")
(version "3.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-"
version ".tar.gz"))
(sha256
(base32
"0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-Roman")
(synopsis "Convert between Roman and Arabic algorisms")
(description "This package provides functions to convert between Roman and
Arabic algorisms. It supports both conventional Roman algorisms (which range
from 1 to 3999) and Milhar Romans, a variation which uses a bar across the
algorism to indicate multiplication by 1000.")
(license (package-license perl))))
(define-public perl-text-simpletable
(package
(name "perl-text-simpletable")
@ -6567,6 +6990,25 @@ controlled with command line parameters. The default parameter settings
approximately follow the suggestions in the Perl Style Guide.")
(license gpl2+)))
(define-public perl-tie-cycle
(package
(name "perl-tie-cycle")
(version "1.221")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-"
version ".tar.gz"))
(sha256
(base32
"10g6kirf6jfaldckg98y4pl87vrm7grqlg6ymb7a9vhrznyn7qn6"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Tie-Cycle")
(synopsis "Cycle through a list of values")
(description "You use @code{Tie::Cycle} to go through a list over and over
again. Once you get to the end of the list, you go back to the beginning.")
(license (package-license perl))))
(define-public perl-tie-ixhash
(package
(name "perl-tie-ixhash")
@ -6810,17 +7252,58 @@ else.")
common serialisation formats such as JSON or CBOR.")
(license (package-license perl))))
(define-public perl-unicode-normalize
(package
(name "perl-unicode-normalize")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/K/KH/KHW/"
"Unicode-Normalize-" version ".tar.gz"))
(sha256
(base32
"0v04bcyjfcfap4kfpc8q3ikq3j7s68nym4ckw3iasmmksdskmcq0"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Unicode-Normalize")
(synopsis "Unicode normalization forms")
(description "This Perl module provides Unicode normalization forms.")
(license (package-license perl))))
(define-public perl-unicode-collate
(package
(name "perl-unicode-collate")
(version "1.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SA/SADAHIRO/"
"Unicode-Collate-" version ".tar.gz"))
(sha256
(base32
"1lq4p3mqqljhhy8wyiyahris33j4m5qfzpi6iacmcqjzw5g4afbm"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-unicode-normalize" ,perl-unicode-normalize)))
(home-page "http://search.cpan.org/dist/Unicode-Collate")
(synopsis "Unicode collation algorithm")
(description "This package provides tools for sorting and comparing
Unicode data.")
;; The file Unicode/Collate/allkeys.txt is released under the Expat
;; license.
(license (list (package-license perl) expat))))
(define-public perl-unicode-linebreak
(package
(name "perl-unicode-linebreak")
(version "2015.12")
(version "2016.003")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEZUMI/"
"Unicode-LineBreak-" version ".tar.gz"))
(sha256
(base32
"1d0nnc97irfpab4d3b2lvq22hac118k7zbfrj0lnxkbfwx7122cm"))))
"096wf5x99swx7l7yd8pm2aw50g596nf50rkq7250zjcc1acjskp6"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-mime-charset" ,perl-mime-charset)))
@ -7268,27 +7751,3 @@ interface to File::Find::Object.")
(description "Test::TrailingSpace tests for trailing spaces
in Perl source files.")
(license x11)))
(define-public perl-encode-detect
(package
(name "perl-encode-detect")
(version "1.01")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-"
version
".tar.gz"))
(sha256
(base32
"1wdv9ffgs4xyfh5dnh09dqkmmlbf5m1hxgdgb3qy6v6vlwx8jkc3"))))
(build-system perl-build-system)
(inputs
`(("perl-module-build" ,perl-module-build)))
(home-page
"http://search.cpan.org/dist/Encode-Detect")
(synopsis
"Perl Encode::Encoding subclass that detects the encoding of data")
(description "Encode::Detect detects the encoding of data for Perl.")
(license mpl1.1)))

View File

@ -89,20 +89,21 @@ data as produced by digital cameras.")
(define-public libgphoto2
(package
(name "libgphoto2")
(version "2.5.2")
(version "2.5.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2"))
(sha256
(base32
"0f1818l1vs5fbmrihzyv3qasddbqi3r01jik5crrxddwalsi2bd3"))))
"1ap070zz6l4kn2mbyxb1yj4x5ar8hpdbmf2pvjxgnly1ss319dkz"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(;; ("libjpeg-turbo" ,libjpeg-turbo)
`(("libjpeg-turbo" ,libjpeg-turbo)
("libltdl" ,libltdl)
("libusb" ,libusb)))
("libusb" ,libusb)
("libxml2" ,libxml2)))
(propagated-inputs
`(;; The .pc refers to libexif.
("libexif" ,libexif)))
@ -119,20 +120,20 @@ from digital cameras.")
(define-public gphoto2
(package
(name "gphoto2")
(version "2.5.2")
(version "2.5.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/gphoto/" version
"/gphoto2-" version ".tar.bz2"))
(sha256
(base32
"16c8k1cxfypg7v5h8xi87grclw7a5ayaamn548ys3zkj727r5fcf"))))
"1sgr6rsvzzagcwhc8fxbnvz3k02wr2hab0vrbvcb04k5l3b48a1r"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("readline" ,readline)
;; ("libjpeg-turbo" ,libjpeg-turbo)
("libjpeg-turbo" ,libjpeg-turbo)
("popt" ,popt)
("libexif" ,libexif)
("libgphoto2" ,libgphoto2)))

View File

@ -63,17 +63,14 @@ internal RPC protocols and file formats.")
(base32
"1xbgbfg4g43bihkyw1a2giqa2gxmqc5wkh0fzqcb90qi1z1hpi7c"))))
(build-system python-build-system)
(inputs
(propagated-inputs
`(("python-six" ,python-six)))
(home-page "https://github.com/google/protobuf")
(synopsis "Protocol buffers is a data interchange format")
(description
"Protocol buffers are a language-neutral, platform-neutral extensible
mechanism for serializing structured data.")
(license bsd-3)
(properties `((python2-variant . ,(delay python2-protobuf))))))
(license bsd-3)))
(define-public python2-protobuf
(package (inherit (package-with-python2
(strip-python2-variant python-protobuf)))
(native-inputs `(("python2-setuptools" ,python2-setuptools)))))
(package-with-python2 python-protobuf))

View File

@ -1,227 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages psyc)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix build-system perl)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
(define-public perl-net-psyc
(package
(name "perl-net-psyc")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://perlpsyc.psyc.eu/"
"perlpsyc-" version ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42"))
;; psycmp3 currently depends on MP3::List and rxaudio (shareware),
;; we can add it back when this is no longer the case.
(snippet '(delete-file "contrib/psycmp3"))))
(build-system perl-build-system)
(inputs
`(("perl-curses" ,perl-curses)
("perl-io-socket-ssl" ,perl-io-socket-ssl)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; No configure script
;; There is a Makefile, but it does not install everything
;; (leaves out psycion) and says
;; "# Just to give you a rough idea". XXX: Fix it upstream.
(replace 'build
(lambda _
(zero? (system* "make" "manuals"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/perl-net-psyc"))
(man1 (string-append out "/share/man/man1"))
(man3 (string-append out "/share/man/man3"))
(bin (string-append out "/bin"))
(libpsyc (string-append out "/lib/psyc/ion"))
(libperl (string-append out "/lib/perl5/site_perl/"
,(package-version perl))))
(copy-recursively "lib/perl5" libperl)
(copy-recursively "lib/psycion" libpsyc)
(copy-recursively "bin" bin)
(install-file "cgi/psycpager" (string-append doc "/cgi"))
(copy-recursively "contrib" (string-append doc "/contrib"))
(copy-recursively "hooks" (string-append doc "/hooks"))
(copy-recursively "sdj" (string-append doc "/sdj"))
(install-file "README.txt" doc)
(install-file "TODO.txt" doc)
(copy-recursively "share/man/man1" man1)
(copy-recursively "share/man/man3" man3)
#t)))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the Perl modules
;; provided by this package at runtime.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(path (getenv "PERL5LIB")))
(for-each (lambda (file)
(wrap-program file
`("PERL5LIB" ":" prefix (,path))))
(find-files bin "\\.*$"))
#t))))))
(description
"@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Select} and
Gtk2 event loops. This package includes 12 applications and additional scripts:
psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a control console
for @uref{https://torproject.org,tor} router) and many more.")
(synopsis "Perl implementation of PSYC protocol")
(home-page "http://perlpsyc.psyc.eu/")
(license (list license:gpl2
(package-license perl)
;; contrib/irssi-psyc.pl:
license:public-domain
;; bin/psycplay states AGPL with no version:
license:agpl3+))))
(define-public libpsyc
(package
(name "libpsyc")
(version "20160913")
(source (origin
(method url-fetch)
(uri (string-append "http://www.psyced.org/files/"
name "-" version ".tar.xz"))
(sha256
(base32
"14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
("netcat" ,netcat)
("procps" ,procps)))
(arguments
`(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
;; The rust bindings are the only ones in use, the lpc bindings
;; are in psyclpc. The other bindings are not used by anything,
;; the chances are high that the bindings do not even work,
;; therefore we do not include them.
;; TODO: Get a cargo build system in Guix.
(delete 'configure)))) ; no configure script
(home-page "http://about.psyc.eu/libpsyc")
(description
"@code{libpsyc} is a PSYC library in C which implements
core aspects of PSYC, useful for all kinds of clients and servers
including psyced.")
(synopsis "PSYC library in C")
(license license:agpl3+)))
;; This commit removes the historic bundled pcre, not released as a tarball so far.
(define-public psyclpc
(let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e")
(revision "1"))
(package
(name "psyclpc")
(version (string-append "20160821-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.psyced.org/git/psyclpc")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"10w4kx9ygcv1lcmd7j4knvjiy8dac1y3hjfv3lhp67jpv6w3iagz"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests/checks.
#:configure-flags
;; If you have questions about this part, look at
;; "src/settings/psyced" and the ebuild.
(list
"--enable-use-tls=yes"
"--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled.
(string-append "--prefix="
(assoc-ref %outputs "out"))
;; src/Makefile: Set MUD_LIB to the directory which contains
;; the mud data. defaults to MUD_LIB = @libdir@
(string-append "--libdir="
(assoc-ref %outputs "out")
"/opt/psyced/world")
(string-append "--bindir="
(assoc-ref %outputs "out")
"/opt/psyced/bin")
;; src/Makefile: Set ERQ_DIR to directory which contains the
;; stuff which ERQ can execute (hopefully) savely. Was formerly
;; defined in config.h. defaults to ERQ_DIR= @libexecdir@
(string-append "--libexecdir="
(assoc-ref %outputs "out")
"/opt/psyced/run"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir-to-src
;; We need to pass this as env variables
;; and manually change the directory.
(lambda _
(chdir "src")
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "SHELL" (which "sh"))
#t)))
#:make-flags (list "install-all")))
(inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
("pcre" ,pcre)))
(native-inputs
`(("pkg-config" ,pkg-config)
("bison" ,bison)
("gettext" ,gettext-minimal)
("help2man" ,help2man)
("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "http://lpc.psyc.eu/")
(synopsis "psycLPC is a multi-user network server programming language")
(description
"LPC is a bytecode language, invented to specifically implement
multi user virtual environments on the internet. This technology is used for
MUDs and also the psyced implementation of the Protocol for SYnchronous
Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and
many bug fixes.")
(license license:gpl2))))

File diff suppressed because it is too large Load Diff

View File

@ -119,7 +119,7 @@
(let ((infodir (string-append out "/share/info")))
(for-each (lambda (info)
(install-file info infodir))
(find-files "." "\\.info$"))
(find-files "." "\\.info"))
#t))))))
(add-before 'check 'make-gtester-verbose
(lambda _
@ -394,8 +394,9 @@ three libraries:
(which "nosetests") "\"")))
#t)))))
(inputs
`(("libvirt" ,libvirt)
("python-lxml" ,python-lxml)))
`(("libvirt" ,libvirt)))
(propagated-inputs
`(("python-lxml" ,python-lxml)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-nose" ,python-nose)))

View File

@ -315,11 +315,10 @@ ideal (e.g. in LV2 implementations or embedded applications).")
(base32
"0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
(build-system python-build-system)
(inputs
(propagated-inputs
`(("python-html5lib" ,python-html5lib)
("python-isodate" ,python-isodate)
("python-pyparsing" ,python-pyparsing)
("python-setuptools" ,python-setuptools)))
("python-pyparsing" ,python-pyparsing)))
(home-page "https://github.com/RDFLib/rdflib")
(synopsis
"Python RDF library")

View File

@ -217,7 +217,7 @@ which allows users to view a desktop computing environment.")
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("glib" ,glib)
("libjpeg" ,libjpeg)
("libjpeg-turbo" ,libjpeg-turbo)
("lz4" ,lz4)
("opus" ,opus)
("zlib" ,zlib)))

View File

@ -204,24 +204,24 @@ Additionally, various channel-specific options can be negotiated.")
(define-public guile-ssh
(package
(name "guile-ssh")
(version "0.10.1")
(version "0.10.2")
(home-page "https://github.com/artyom-poptsov/guile-ssh")
(source (origin
;; ftp://memory-heap.org/software/guile-ssh/guile-ssh-VERSION.tar.gz
;; exists, but the server appears to be too slow and unreliable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/libguile-ssh.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
;; Also, using this URL allows the GitHub updater to work.
(method url-fetch)
(uri (string-append home-page "/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ky77kr7rnkhbq938bir61mlr8b86lfjcjjb1bxx1y1fhimsiz72"))))
"0pkiq3fm15pr4w1r420rrwwfmi4jz492r6l6vzjk6v73xlyfyfl3"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda* (#:key inputs #:allow-other-keys)
(chmod "doc/version.texi" #o777) ;make it writable
(zero? (system* "autoreconf" "-vfi"))))
(add-before 'build 'fix-libguile-ssh-file-name
(lambda* (#:key outputs #:allow-other-keys)
@ -255,7 +255,6 @@ Additionally, various channel-specific options can be negotiated.")
"Guile-SSH is a library that provides access to the SSH protocol for
programs written in GNU Guile interpreter. It is a wrapper to the underlying
libssh library.")
(home-page "https://github.com/artyom-poptsov/libguile-ssh")
(license license:gpl3+)))
(define-public corkscrew

View File

@ -1394,13 +1394,7 @@ and fast file reading.")
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check (lambda _ (zero? (system* "nosetests" "-v"))))
(add-after 'unpack 'prevent-generation-of-egg-archive
(lambda _
(substitute* "setup.py"
(("from setuptools import setup")
"from distutils.core import setup"))
#t)))))
(replace 'check (lambda _ (zero? (system* "nosetests" "-v")))))))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)
@ -1416,15 +1410,10 @@ building design matrices.")
;; The majority of the code is distributed under BSD-2. The module
;; patsy.compat contains code derived from the Python standard library,
;; and is covered by the PSFL.
(license (list license:bsd-2 license:psfl))
(properties `((python2-variant . ,(delay python2-patsy))))))
(license (list license:bsd-2 license:psfl))))
(define-public python2-patsy
(let ((patsy (package-with-python2 (strip-python2-variant python-patsy))))
(package (inherit patsy)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs patsy))))))
(package-with-python2 python-patsy))
(define-public python-statsmodels
(package
@ -1455,11 +1444,13 @@ building design matrices.")
line)))
#t))
(add-after 'install 'check
(lambda _
(with-directory-excursion "/tmp"
(zero? (system* "nosetests"
"--stop"
"-v" "statsmodels"))))))))
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "/tmp"
(zero? (system* "nosetests"
"--stop"
"-v" "statsmodels"))))))))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)
@ -1487,10 +1478,7 @@ inference for statistical models.")
("python2-scipy" ,python2-scipy)
("python2-pandas" ,python2-pandas)
("python2-patsy" ,python2-patsy)
("python2-matplotlib" ,python2-matplotlib)))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs stats))))))
("python2-matplotlib" ,python2-matplotlib))))))
(define-public r-coda
(package
@ -3272,6 +3260,128 @@ noncentral hypergeometric distribution (also called extended hypergeometric
distribution).")
(license license:gpl3+)))
(define-public r-rematch
(package
(name "r-rematch")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rematch" version))
(sha256
(base32
"0y3mshvpvz9csmq8hk8jbabx4nxlv5sckvfzvm6920ndg34xw2d4"))))
(build-system r-build-system)
(home-page "https://github.com/MangoTheCat/rematch")
(synopsis "Match regular expressions with a nicer API")
(description
"This package provides a small wrapper on @code{regexpr} to extract the
matches and captured groups from the match of a regular expression to a
character vector.")
(license license:expat)))
(define-public r-cellranger
(package
(name "r-cellranger")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "cellranger" version))
(sha256
(base32
"16fgi3annn34c3cxi0pxf62mmmmxi21hp0zzlv7bkfsjqy4g4f2x"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rematch" ,r-rematch)
("r-tibble" ,r-tibble)))
(home-page "https://github.com/rsheets/cellranger")
(synopsis "Translate spreadsheet cell ranges to rows and columns")
(description
"This package provides helper functions to work with spreadsheets and the
@code{A1:D10} style of cell range specification.")
(license license:expat)))
(define-public r-googlesheets
(package
(name "r-googlesheets")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "googlesheets" version))
(sha256
(base32
"0ps13h1cv7fj5dh8s4nvwi64wnnyqdsadcaa4iizq1c5s615cwk3"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cellranger" ,r-cellranger)
("r-dplyr" ,r-dplyr)
("r-httr" ,r-httr)
("r-jsonlite" ,r-jsonlite)
("r-purrr" ,r-purrr)
("r-readr" ,r-readr)
("r-stringr" ,r-stringr)
("r-tidyr" ,r-tidyr)
("r-xml2" ,r-xml2)))
(home-page "https://github.com/jennybc/googlesheets")
(synopsis "Manage Google spreadsheets from R")
(description "This package provides tools to interact with Google Sheets
from within R.")
(license license:expat)))
(define-public r-spams
(package
(name "r-spams")
(version "2.5-svn2014-07-04")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/33815/"
"spams-R-v" version ".tar.gz"))
(sha256
(base32
"1k459jg9a334slkw31w63l4d39xszjzsng7dv5j1mp78zifz7hvx"))))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "spams") #t))
;; Since R 3.3.0 including R headers inside of an extern "C" block
;; causes C headers to be included, which results in a lot of
;; duplicate definitions. This can be avoided by defining
;; NO_C_HEADERS before including the R headers.
(add-after 'chdir 'patch-use-of-R-headers
(lambda _
(substitute* "src/spams.cpp"
(("#include <R.h>" line)
(string-append "#define NO_C_HEADERS\n" line)))
#t))
;; This looks like a syntax error.
(add-after 'chdir 'patch-isnan
(lambda _
(substitute* '"src/spams/linalg/linalg.h"
(("if isnan\\(lambda\\) \\{")
"if (isnan(lambda)) {"))
#t)))))
(home-page "http://spams-devel.gforge.inria.fr")
(synopsis "Toolbox for solving sparse estimation problems")
(description "SPAMS (SPArse Modeling Software) is an optimization toolbox
for solving various sparse estimation problems. It includes tools for the
following problems:
@enumerate
@item Dictionary learning and matrix factorization (NMF, sparse @dfn{principle
component analysis} (PCA), ...)
@item Solving sparse decomposition problems with LARS, coordinate descent,
OMP, SOMP, proximal methods
@item Solving structured sparse decomposition problems (l1/l2, l1/linf, sparse
group lasso, tree-structured regularization, structured sparsity with
overlapping groups,...).
@end enumerate\n")
(license license:gpl3+)))
(define-public r-rpart
(package
(name "r-rpart")
@ -3375,6 +3485,224 @@ conversion of R objects to LaTeX code, and recoding variables.")
framework, with additional code inspection and report generation tools.")
(license license:gpl2+)))
(define-public r-dynamictreecut
(package
(name "r-dynamictreecut")
(version "1.63-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "dynamicTreeCut" version))
(sha256
(base32
"1fadbql7g5r2vvlkr89nlrjxwp4yx4xrdqmv077qvmnx9vv0f4w3"))))
(properties `((upstream-name . "dynamicTreeCut")))
(build-system r-build-system)
(home-page
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/BranchCutting/")
(synopsis "Detect clusters in hierarchical clustering dendrograms")
(description
"This package contains methods for the detection of clusters in
hierarchical clustering dendrograms.")
(license license:gpl2+)))
(define-public r-preprocesscore
(package
(name "r-preprocesscore")
(version "1.36.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "preprocessCore" version))
(sha256
(base32
"1n8y12q7145f385gm2k3c6y3vwvin7jlb47la4mnl7mar6pq9kmp"))))
(properties
`((upstream-name . "preprocessCore")))
(build-system r-build-system)
(home-page "https://github.com/bmbolstad/preprocessCore")
(synopsis "Collection of pre-processing functions")
(description
"This package provides a library of core pre-processing and normalization
routines.")
(license license:lgpl2.0+)))
(define-public r-fastcluster
(package
(name "r-fastcluster")
(version "1.1.20")
(source
(origin
(method url-fetch)
(uri (cran-uri "fastcluster" version))
(sha256
(base32
"0rlbxhh894znf10x0xgkv9dzpibgq9jw5aqpgviccdnxc2c5hwid"))))
(build-system r-build-system)
(home-page "http://danifold.net/fastcluster.html")
(synopsis "Fast hierarchical clustering routines")
(description
"This package implements fast hierarchical, agglomerative clustering
routines. Part of the functionality is designed as drop-in replacement for
existing routines: @code{linkage()} in the SciPy package
@code{scipy.cluster.hierarchy}, @code{hclust()} in R's @code{stats} package,
and the @code{flashClust} package. It provides the same functionality with
the benefit of a much faster implementation. Moreover, there are
memory-saving routines for clustering of vector data, which go beyond what the
existing packages provide.")
(license license:bsd-2)))
(define-public r-sfsmisc
(package
(name "r-sfsmisc")
(version "1.1-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "sfsmisc" version))
(sha256
(base32
"0580piv4n1nispl3pa8nfjjfnb8iwaqky2dzdy0aqnxrxgrhqhvz"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/sfsmisc")
(synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
(description
"This package provides useful utilities from Seminar fuer Statistik ETH
Zurich, including many that are related to graphics.")
(license license:gpl2+)))
(define-public r-gtools
(package
(name "r-gtools")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gtools" version))
(sha256
(base32
"1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/gtools")
(synopsis "Various R programming tools")
(description
"This package contains a collection of various functions to assist in R
programming, such as tools to assist in developing, updating, and maintaining
R and R packages, calculating the logit and inverse logit transformations,
tests for whether a value is missing, empty or contains only @code{NA} and
@code{NULL} values, and many more.")
(license license:gpl2)))
(define-public r-gdata
(package
(name "r-gdata")
(version "2.17.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gdata" version))
(sha256
(base32
"0kiy3jbcszlpmarg311spdsfi5pn89wgy742dxsbzxk8907fr5w0"))))
(build-system r-build-system)
(inputs
`(("perl" ,perl)))
(propagated-inputs
`(("r-gtools" ,r-gtools)))
(home-page "http://cran.r-project.org/web/packages/gdata")
(synopsis "Various R programming tools for data manipulation")
(description
"This package provides various R programming tools for data manipulation,
including:
@itemize
@item medical unit conversions
@item combining objects
@item character vector operations
@item factor manipulation
@item obtaining information about R objects
@item manipulating MS-Excel formatted files
@item generating fixed-width format files
@item extricating components of date and time objects
@item operations on columns of data frames
@item matrix operations
@item operations on vectors and data frames
@item value of last evaluated expression
@item wrapper for @code{sample} that ensures consistent behavior for
both scalar and vector arguments
@end itemize\n")
(license license:gpl2+)))
(define-public r-gplots
(package
(name "r-gplots")
(version "3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gplots" version))
(sha256
(base32
"02nb8n3s7c1zxq2s7ycaq2ys72y7mzirxrwj954h6gdc4x1zhg9l"))))
(build-system r-build-system)
(propagated-inputs
`(("r-catools" ,r-catools)
("r-gdata" ,r-gdata)
("r-gtools" ,r-gtools)
("r-kernsmooth" ,r-kernsmooth)))
(home-page "http://cran.r-project.org/web/packages/gplots")
(synopsis "Various R programming tools for plotting data")
(description
"This package provides various R programming tools for plotting data,
including:
@itemize
@item calculating and plotting locally smoothed summary function
@item enhanced versions of standard plots
@item manipulating colors
@item calculating and plotting two-dimensional data summaries
@item enhanced regression diagnostic plots
@item formula-enabled interface to @code{stats::lowess} function
@item displaying textual data in plots
@item baloon plots
@item plotting \"Venn\" diagrams
@item displaying Open-Office style plots
@item plotting multiple data on same region, with separate axes
@item plotting means and confidence intervals
@item spacing points in an x-y plot so they don't overlap
@end itemize\n")
(license license:gpl2+)))
(define-public r-rocr
(package
(name "r-rocr")
(version "1.0-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "ROCR" version))
(sha256
(base32
"1jay8cm7lgq56i967vm5c2hgaxqkphfpip0gn941li3yhh7p3vz7"))))
(properties `((upstream-name . "ROCR")))
(build-system r-build-system)
(propagated-inputs
`(("r-gplots" ,r-gplots)))
(home-page "http://rocr.bioinf.mpi-sb.mpg.de/")
(synopsis "Visualizing the performance of scoring classifiers")
(description
"ROCR is a flexible tool for creating cutoff-parameterized 2D performance
curves by freely combining two from over 25 performance measures (new
performance measures can be added using a standard interface). Curves from
different cross-validation or bootstrapping runs can be averaged by different
methods, and standard deviations, standard errors or box plots can be used to
visualize the variability across the runs. The parameterization can be
visualized by printing cutoff values at the corresponding curve positions, or
by coloring the curve according to cutoff. All components of a performance
plot can be quickly adjusted using a flexible parameter dispatching
mechanism.")
(license license:gpl2+)))
(define-public r-kernsmooth
(package
(name "r-kernsmooth")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
;;; Copyright © 2016 ng0 <ng0@libertad.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,13 +25,20 @@
(define-module (gnu packages telephony)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages speech)
#:use-module (gnu packages tls)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -287,3 +295,107 @@ lists. All you need to join an existing conference is the host name or IP
address of one of the participants.")
(home-page "http://holdenc.altervista.org/seren/")
(license license:gpl3+)))
(define-public mumble
(package
(name "mumble")
(version "1.2.17")
(source (origin
(method url-fetch)
(uri (string-append "https://mumble.info/snapshot/"
name "-" version ".tar.gz"))
(sha256
(base32
"176br3b0pv5sz3zvgzsz9rxr3n79irlm902h7n1wh4f6vbph2dhw"))
(modules '((guix build utils)))
(snippet
`(begin
;; Remove bundled software.
(for-each delete-file-recursively '("3rdparty"
"speex"
"speexbuild"
"opus-build"
"opus-src"
"sbcelt-helper-build"
"sbcelt-lib-build"
"sbcelt-src"))
;; TODO: Celt is still bundled. It has been merged into Opus
;; and will be removed after 1.3.0.
;; https://github.com/mumble-voip/mumble/issues/1999
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "qmake" "main.pro" "-recursive"
(string-append "CONFIG+="
(string-join
(list "no-update"
"no-server"
"no-embed-qt-translations"
"no-bundled-speex"
"pch"
"no-bundled-opus"
"no-celt"
"no-alsa"
"no-oss"
"no-portaudio"
"speechd"
"no-g15"
"no-bonjour"
"release")))
(string-append "DEFINES+="
"PLUGIN_PATH="
(assoc-ref outputs "out")
"/lib/mumble")))))
(add-before 'configure 'fix-libspeechd-include
(lambda _
(substitute* "src/mumble/TextToSpeech_unix.cpp"
(("libspeechd.h") "speech-dispatcher/libspeechd.h"))))
(replace 'install ; install phase does not exist
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(services (string-append out "/share/services"))
(applications (string-append out "/share/applications"))
(icons (string-append out "/share/icons/hicolor/scalable/apps"))
(man (string-append out "/share/man/man1"))
(lib (string-append out "/lib/mumble")))
(install-file "release/mumble" bin)
(install-file "scripts/mumble-overlay" bin)
(install-file "scripts/mumble.protocol" services)
(install-file "scripts/mumble.desktop" applications)
(install-file "icons/mumble.svg" icons)
(install-file "man/mumble-overlay.1" man)
(install-file "man/mumble.1" man)
(for-each (lambda (file) (install-file file lib))
(find-files "." "\\.so\\."))
(for-each (lambda (file) (install-file file lib))
(find-files "release/plugins" "\\.so$"))))))))
(inputs
`(("avahi" ,avahi)
("protobuf" ,protobuf)
("openssl" ,openssl)
("libsndfile" ,libsndfile)
("boost" ,boost)
("opus" ,opus)
("speex" ,speex)
("speech-dispatcher" ,speech-dispatcher)
("libx11" ,libx11)
("libxi" ,libxi)
("qt-4" ,qt-4)
("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Low-latency, high quality voice chat software")
(description
"Mumble is an low-latency, high quality voice chat
software primarily intended for use while gaming.")
(home-page "https://wiki.mumble.info/wiki/Main_Page")
(license (list license:bsd-3
;; The bundled celt is bsd-2. Remove after 1.3.0.
license:bsd-2))))

View File

@ -161,8 +161,7 @@ insert mode and command mode where keybindings have different functions.")
(("'tput'")
(string-append "'" ncurses "/bin/tput'"))))
#t)))))
(inputs `(("ncurses" ,ncurses)
("python-setuptools" ,python-setuptools)))
(inputs `(("ncurses" ,ncurses)))
(home-page "https://asciinema.org")
(synopsis "Terminal session recorder")
(description

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (guix git-download)
@ -50,6 +52,8 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages shells)
#:use-module (gnu packages base)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
@ -382,6 +386,154 @@ world.
This package contains a small working part of the TeX Live distribution.")))
(define-public perl-text-bibtex
(package
(name "perl-text-bibtex")
(version "0.77")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-"
version ".tar.gz"))
(sha256
(base32
"0kkfx8skk763pivz6h2ffy2zdp1lvy6d5sz0kjaj0mdbjffvnnb4"))))
(build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-output-directory-to-rpath
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "inc/MyBuilder.pm"
(("-Lbtparse" line)
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib " line)))
#t))
(add-after 'unpack 'install-libraries-to-/lib
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Build.PL"
(("lib64") "lib"))
#t)))))
(native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)
("perl-config-autoconf" ,perl-config-autoconf)
("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
("perl-module-build" ,perl-module-build)))
(home-page "http://search.cpan.org/dist/Text-BibTeX")
(synopsis "Interface to read and parse BibTeX files")
(description "@code{Text::BibTeX} is a Perl library for reading, parsing,
and processing BibTeX files. @code{Text::BibTeX} gives you access to the data
at many different levels: you may work with BibTeX entries as simple field to
string mappings, or get at the original form of the data as a list of simple
values (strings, macros, or numbers) pasted together.")
(license (package-license perl))))
(define-public biber
(package
(name "biber-next")
(version "2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/plk/biber/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"158smzgjhjvyabdv97si5q88zjj5l8j1zbfnddvzy6fkpfhskgkp"))))
(build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(perl5lib (getenv "PERL5LIB")))
(wrap-program (string-append out "/bin/biber")
`("PERL5LIB" ":" prefix
(,(string-append perl5lib ":" out
"/lib/perl5/site_perl")))))
#t)))))
(inputs
`(("perl-autovivification" ,perl-autovivification)
("perl-class-accessor" ,perl-class-accessor)
("perl-data-dump" ,perl-data-dump)
("perl-data-compare" ,perl-data-compare)
("perl-data-uniqid" ,perl-data-uniqid)
("perl-datetime-format-builder" ,perl-datetime-format-builder)
("perl-datetime-calendar-julian" ,perl-datetime-calendar-julian)
("perl-file-slurp" ,perl-file-slurp)
("perl-ipc-cmd" ,perl-ipc-cmd)
("perl-ipc-run3" ,perl-ipc-run3)
("perl-list-allutils" ,perl-list-allutils)
("perl-list-moreutils" ,perl-list-moreutils)
("perl-mozilla-ca" ,perl-mozilla-ca)
("perl-regexp-common" ,perl-regexp-common)
("perl-log-log4perl" ,perl-log-log4perl)
;; We cannot use perl-unicode-collate here, because otherwise the
;; hardcoded hashes in the tests would differ. See
;; https://mail-archive.com/debian-bugs-dist@lists.debian.org/msg1469249.html
;;("perl-unicode-collate" ,perl-unicode-collate)
("perl-unicode-normalize" ,perl-unicode-normalize)
("perl-unicode-linebreak" ,perl-unicode-linebreak)
("perl-encode-eucjpascii" ,perl-encode-eucjpascii)
("perl-encode-jis2k" ,perl-encode-jis2k)
("perl-encode-hanextra" ,perl-encode-hanextra)
("perl-xml-libxml" ,perl-xml-libxml)
("perl-xml-libxml-simple" ,perl-xml-libxml-simple)
("perl-xml-libxslt" ,perl-xml-libxslt)
("perl-xml-writer" ,perl-xml-writer)
("perl-sort-key" ,perl-sort-key)
("perl-text-csv" ,perl-text-csv)
("perl-text-csv-xs" ,perl-text-csv-xs)
("perl-text-roman" ,perl-text-roman)
("perl-uri" ,perl-uri)
("perl-text-bibtex" ,perl-text-bibtex)
("perl-libwww" ,perl-libwww)
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
("perl-business-isbn" ,perl-business-isbn)
("perl-business-issn" ,perl-business-issn)
("perl-business-ismn" ,perl-business-ismn)
("perl-lingua-translit" ,perl-lingua-translit)))
(native-inputs
`(("perl-config-autoconf" ,perl-config-autoconf)
("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
("perl-module-build" ,perl-module-build)
;; for tests
("perl-file-which" ,perl-file-which)
("perl-test-more" ,perl-test-most) ; FIXME: "more" would be sufficient
("perl-test-differences" ,perl-test-differences)))
(home-page "http://biblatex-biber.sourceforge.net/")
(synopsis "Backend for the BibLaTeX citation management tool")
(description "Biber is a BibTeX replacement for users of biblatex. Among
other things it comes with full Unicode support.")
(license license:artistic2.0)))
;; Our version of texlive comes with biblatex 3.4, which is only compatible
;; with biber 2.5 according to the compatibility matrix in the biber
;; documentation.
(define-public biber-2.5
(package (inherit biber)
(name "biber")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/plk/biber/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"163sd343wkrzwnvj2003m2j0kz517jmjr4savw6f8bjxhj8fdrqv"))))
(arguments
(substitute-keyword-arguments (package-arguments biber)
((#:phases phases)
`(modify-phases ,phases
(add-before 'check 'delete-failing-test
(lambda _
(delete-file "t/sort-order.t")
#t))))))
(inputs
`(("perl-date-simple" ,perl-date-simple)
,@(package-inputs biber)))))
(define-public rubber
(package

View File

@ -437,15 +437,6 @@ security, and applying best practice development processes.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'disable-egg-compression
(lambda _
;; Do not compress the egg.
;; See <http://bugs.gnu.org/20765>.
(let ((port (open-file "setup.cfg" "a")))
(display "\n[easy_install]\nzip_ok = 0\n"
port)
(close-port port)
#t)))
(add-after 'install 'docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -462,7 +453,6 @@ security, and applying best practice development processes.")
("python-sphinx" ,python-sphinx)
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
("python-setuptools" ,python-setuptools)
("texinfo" ,texinfo)))
(propagated-inputs
`(("python-ndg-httpsclient" ,python-ndg-httpsclient)

View File

@ -208,11 +208,7 @@ networks.")
;; After all the patching we run the tests after installing.
;; This is also a known issue:
;; https://github.com/micahflee/onionshare/issues/284
(lambda _ (zero? (system* "nosetests" "test")))))
;; can't compress the egg because it expects to find all the resources
;; inside the egg as though it were a folder.
#:configure-flags '("--single-version-externally-managed" "--root=/")
))
(lambda _ (zero? (system* "nosetests" "test")))))))
(native-inputs
`(("python-nose" ,python-nose)))
(inputs

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,7 +28,7 @@
(define-public miniupnpc
(package
(name "miniupnpc")
(version "1.9")
(version "2.0")
(source
(origin
(method url-fetch)
@ -35,7 +36,7 @@
"http://miniupnp.tuxfamily.org/files/miniupnpc-"
version ".tar.gz"))
(sha256
(base32 "0r24jdqcyf839n30ppimdna0hvybscyziaad7ng99fw0x19y88r9"))))
(base32 "0fzrc6fs8vzb2yvk01bd3q5jkarysl7gjlyaqncy3yvfk2wcwd6l"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
@ -54,14 +55,22 @@
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
#:phases
(alist-delete 'configure %standard-phases)))
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'qualify-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "external-ip.sh"
(("upnpc")
(string-append (assoc-ref outputs "out") "/bin/upnpc"))))))))
(home-page "http://miniupnp.free.fr/")
(synopsis "Library implementing the client side UPnP protocol")
(synopsis "UPnP protocol client library")
(description
"MiniUPnPc is a library is useful whenever an application needs to listen
for incoming connections but is run behind a UPnP enabled router or firewall.
Examples for such applications include: P2P applications, FTP clients for
active mode, IRC (for DCC) or IM applications, network games, any server
software.")
"The MiniUPnPc client library facilitates access to the services provided
by any Universal Plug and Play (UPnP) Internet Gateway Device (IGD) present on
the network. In UPnP terminology, MiniUPnPc is a UPnP Control Point. It is
useful whenever an application needs to listen for incoming connections while
running behind a UPnP-enabled router or firewall. Such applications include
peer-to-peer applications, active-mode FTP clients, DCC file transfers over
IRC, instant messaging, network games, and most server software.")
(license
(x11-style "file://LICENSE" "See 'LICENSE' file in the distribution"))))

View File

@ -112,14 +112,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
(version "2.10.2")
(version "2.11.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"0wc64dzcxrzgi6kwcljz6y3cwm3ajdgf6aws7g58azbhvl1jk04l"))))
"02zx368id8rys0bh2sjrxz0ln2l2wm5nf1vhp1rj72clsilqszky"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -132,7 +132,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
"0vxaz23vf3ki0q5zgn6mxr9x1hjryqn1hsmgyrgdk6h3yqbs7c43"))))))
"1n18jnpi0z3skwc1ckrm7zdld6i3zvn0g95cg9r9pdn0564fglxk"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@ -1156,8 +1156,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
(build-system python-build-system)
(arguments `(#:python ,python-2))
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
;; for the tests
`(;; for the tests
("python2-six" ,python2-six)))
(propagated-inputs
`(("python2-dateutil" ,python2-dateutil-2)

View File

@ -441,14 +441,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
(version "3.2")
(version "3.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"1nnmd3h9pr2zic08isjcm1cmvcyd0aimpayb9r4qy45bihdhrxw8"))))
"1pxsy9s9n2nvz970rid3j3b45w6s7ziwnrbc16rny7k0bpd97kqy"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)

View File

@ -49,7 +49,7 @@
(define-public vim
(package
(name "vim")
(version "8.0.0095")
(version "8.0.0101")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/vim/vim/archive/v"
@ -57,7 +57,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1whib2zzqdpgfhpr7ymqxj3das6iyiapvx0izw4147mkg9yanmp7"))))
"0kzk1p5vnqr8j5jwb3p745zx3dki5jwlsp7rh6nli0ci2w6vg3r8"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"

View File

@ -123,14 +123,14 @@ and its related documentation.")
(define-public nginx
(package
(name "nginx")
(version "1.11.4")
(version "1.11.6")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"0fvb09ycxz3xnyynav6ybj6miwh9kv8jcb2vzrmvqhzn8cgiq8h6"))))
"1gc5phrzm2hbpvryaya6rlvasa00vjips4hv5q1rqbcfa6xsnlri"))))
(build-system gnu-build-system)
(inputs `(("pcre" ,pcre)
("openssl" ,openssl)
@ -150,7 +150,6 @@ and its related documentation.")
(list (string-append "--prefix=" (assoc-ref outputs "out"))
"--with-http_ssl_module"
"--with-pcre-jit"
"--with-ipv6"
"--with-debug"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
@ -3173,11 +3172,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
l:freebsd-doc)))) ; documentation
(define-public python2-feedparser
(let ((base (package-with-python2
(strip-python2-variant python-feedparser))))
(package (inherit base)
(native-inputs
`(("python2-setuptools" ,python2-setuptools))))))
(package-with-python2 python-feedparser))
(define-public r-httpuv
(package

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -60,3 +61,36 @@ HTTPS and FTP protocols. It can resume interrupted downloads, use file name
wild cards, supports proxies and cookies, and it can convert absolute links
in downloaded documents to relative links.")
(license gpl3+))) ; some files are under GPLv2+
(define-public wgetpaste
(package
(name "wgetpaste")
(version "2.28")
(source
(origin
(method url-fetch)
(uri (string-append "http://wgetpaste.zlin.dk/wgetpaste-"
version ".tar.bz2"))
(sha256
(base32
"1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(zsh (string-append out "/share/zsh/site-functions")))
(install-file "wgetpaste" bin)
(install-file "_wgetpaste" zsh)))))
#:tests? #f)) ; no test target
(home-page "http://wgetpaste.zlin.dk/")
(synopsis "Script that automates pasting to a number of pastebin services")
(description
"@code{wgetpaste} is an extremely simple command-line interface to various
online pastebin services.")
(license public-domain)))

View File

@ -67,6 +67,9 @@
(arguments
`(#:python ,python-2
#:tests? #f ; test suite requires networking
;; wicd directly extends distutils command classes,
;; we can't easily make setup.py use setuptools.
#:use-setuptools? #f
#:phases
(alist-cons-before
'build 'configure

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,7 +53,7 @@
(define-public wine
(package
(name "wine")
(version "1.9.15")
(version "1.9.24")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/"
@ -60,7 +61,7 @@
"/wine-" version ".tar.bz2"))
(sha256
(base32
"1nmd65knzyh8b0yhxlqqvzai5rpnmhhm0c46n789zr5hj74jm6fg"))))
"0qb07vfxwz41wj71lb0ss3apf22m4ch06382rqfksf7gg34pswnb"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
@ -117,19 +118,19 @@
(list "SHELL=bash")
#:phases
(alist-cons-after
'configure 'patch-dlopen-paths
;; Hardcode dlopened sonames to absolute paths.
(lambda _
(let* ((library-path (search-path-as-string->list
(getenv "LIBRARY_PATH")))
(find-so (lambda (soname)
(search-path library-path soname))))
(substitute* "include/config.h"
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
(format #f "~a\"~a\"" defso (find-so soname))))))
%standard-phases)))
(home-page "http://www.winehq.org/")
(modify-phases %standard-phases
(add-after 'configure 'patch-dlopen-paths
;; Hardcode dlopened sonames to absolute paths.
(lambda _
(let* ((library-path (search-path-as-string->list
(getenv "LIBRARY_PATH")))
(find-so (lambda (soname)
(search-path library-path soname))))
(substitute* "include/config.h"
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
(format #f "~a\"~a\"" defso (find-so soname))))
#t))))))
(home-page "https://www.winehq.org/")
(synopsis "Implementation of the Windows API")
(description
"Wine (originally an acronym for \"Wine Is Not an Emulator\") is a

View File

@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +24,7 @@
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (guix build utils)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
@ -31,6 +34,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages sdl)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
@ -109,3 +113,82 @@ and many other languages.")
(assoc-ref %outputs "out") "/lib"))
;; No 'check' target.
#:tests? #f))))
(define-public wxwidgets-gtk2
(package (inherit wxwidgets)
(inputs `(("gtk+" ,gtk+-2)
,@(alist-delete
"gtk+"
(package-inputs wxwidgets))))
(name "wxwidgets-gtk2")))
(define-public python2-wxpython
(package
(name "python2-wxpython")
(version "3.0.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wxpython/wxPython/"
version "/wxPython-src-" version ".tar.bz2"))
(sha256
(base32
"0qfzx3sqx4mwxv99sfybhsij4b5pc03ricl73h4vhkzazgjjjhfm"))
(modules '((guix build utils)))
(snippet
'(begin
(lambda (folder)
(delete-file-recursively (string-append "src/" folder))
'("expat" "jpeg" "png" "tiff" "zlib" "msw" "osx" "msdos"))
(substitute* '("wxPython/setup.py")
;; setup.py tries to keep its own license the same as wxwidget's
;; license (which it expects under $WXWIN/docs).
(("'preamble.txt', 'licence.txt', 'licendoc.txt', 'lgpl.txt'")
""))))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:tests? #f ; tests fail
;; wxPython directly extends distutils command classes,
;; we can't easily make setup.py use setuptools.
#:use-setuptools? #f
#:configure-flags (list "WXPORT=gtk2"
"UNICODE=1")
#:phases
(modify-phases %standard-phases
(add-before 'build 'chdir
(lambda _
(chdir "wxPython")
#t))
(add-after 'chdir 'set-wx-out-dir
(lambda* (#:key outputs #:allow-other-keys)
;; By default, install phase tries to copy the wxPython headers in
;; gnu/store/...-wxwidgets-3.0.2 , which it can't, so they are
;; redirected to the output directory by setting WXPREFIX.
(substitute* "config.py"
(("= getWxConfigValue\\('--prefix'\\)")
(string-append "= '" (assoc-ref outputs "out") "'")))
(substitute* "wx/build/config.py"
(("= getWxConfigValue\\('--prefix'\\)")
(string-append "= '" (assoc-ref outputs "out") "'")))
#t))
(add-after 'set-wx-out-dir 'setenv
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "WXWIN" (assoc-ref inputs "wxwidgets"))
(use-modules (ice-9 popen) (ice-9 rdelim))
(let ((port (open-pipe* OPEN_READ
(string-append (assoc-ref inputs "wxwidgets")
"/bin/wx-config") "--cppflags")))
(setenv "CPPFLAGS" (read-string port))
(close-pipe port))
#t)))))
(native-inputs
`(("mesa" ,mesa) ; for glcanvas
("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp
("wxwidgets" ,wxwidgets-gtk2)))
(synopsis "Python 2 Bindings for wxWidgets")
(description "@code{wxpython} provides Python 2 bindings for wxWidgets.")
(home-page "http://wxpython.org/")
(license (package-license wxwidgets))))

View File

@ -92,8 +92,7 @@
(inputs `(("pygtk" ,python2-pygtk)
("xrandr" ,xrandr)))
(native-inputs `(("gettext" ,gettext-minimal)
("python-docutils" ,python2-docutils)
("python-setuptools" ,python2-setuptools)))
("python-docutils" ,python2-docutils)))
(home-page "https://christian.amsuess.com/tools/arandr/")
(synopsis "Another RandR graphical user interface")
;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.

View File

@ -329,6 +329,29 @@ XML parser and the high performance DOM implementation.")
@code{XML::LibXML}.")
(license (package-license perl))))
(define-public perl-xml-libxslt
(package
(name "perl-xml-libxslt")
(version "1.95")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
"XML-LibXSLT-" version ".tar.gz"))
(sha256
(base32
"0dggycql18kfxzkb1kw3yc7gslxlrrgyyn2r2ygsylycb89j3jpi"))))
(build-system perl-build-system)
(inputs
`(("libxslt" ,libxslt)))
(propagated-inputs
`(("perl-xml-libxml" ,perl-xml-libxml)))
(home-page "http://search.cpan.org/dist/XML-LibXSLT")
(synopsis "Perl bindings to GNOME libxslt library")
(description "This Perl module is an interface to the GNOME project's
libxslt library.")
(license (package-license perl))))
(define-public perl-xml-namespacesupport
(package
(name "perl-xml-namespacesupport")

Some files were not shown because too many files have changed in this diff Show More