mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Merge branch 'master' into staging
This commit is contained in:
commit
613ef763a5
105 changed files with 23708 additions and 2120 deletions
|
@ -1,5 +1,5 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# GNU Guix --- Functional package management for GNU
|
||||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
|
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
|
||||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
|
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||||
|
@ -83,6 +83,7 @@ MODULES = \
|
||||||
guix/gnu-maintenance.scm \
|
guix/gnu-maintenance.scm \
|
||||||
guix/upstream.scm \
|
guix/upstream.scm \
|
||||||
guix/licenses.scm \
|
guix/licenses.scm \
|
||||||
|
guix/glob.scm \
|
||||||
guix/git.scm \
|
guix/git.scm \
|
||||||
guix/graph.scm \
|
guix/graph.scm \
|
||||||
guix/cache.scm \
|
guix/cache.scm \
|
||||||
|
@ -314,6 +315,7 @@ SCM_TESTS = \
|
||||||
tests/substitute.scm \
|
tests/substitute.scm \
|
||||||
tests/builders.scm \
|
tests/builders.scm \
|
||||||
tests/derivations.scm \
|
tests/derivations.scm \
|
||||||
|
tests/glob.scm \
|
||||||
tests/grafts.scm \
|
tests/grafts.scm \
|
||||||
tests/ui.scm \
|
tests/ui.scm \
|
||||||
tests/records.scm \
|
tests/records.scm \
|
||||||
|
|
|
@ -118,14 +118,18 @@ if test "x$guix_build_daemon" = "xyes"; then
|
||||||
dnl Check for <linux/fs.h> (for immutable file support).
|
dnl Check for <linux/fs.h> (for immutable file support).
|
||||||
AC_CHECK_HEADERS([linux/fs.h])
|
AC_CHECK_HEADERS([linux/fs.h])
|
||||||
|
|
||||||
dnl Determine the appropriate default list of substitute URLs.
|
dnl Determine the appropriate default list of substitute URLs (GnuTLS
|
||||||
GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)])
|
dnl is required so we can default to 'https'.)
|
||||||
if test "x$have_gnutls" = "xyes"; then
|
case "x$host_cpu" in
|
||||||
|
xaarch64)
|
||||||
|
# Currently only berlin.guixsd.org provides aarch64 binaries.
|
||||||
|
guix_substitute_urls="https://berlin.guixsd.org"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
guix_substitute_urls="https://mirror.hydra.gnu.org"
|
guix_substitute_urls="https://mirror.hydra.gnu.org"
|
||||||
else
|
;;
|
||||||
AC_MSG_WARN([GnuTLS is missing, substitutes will be downloaded in the clear])
|
esac
|
||||||
guix_substitute_urls="http://mirror.hydra.gnu.org"
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING([for default substitute URLs])
|
AC_MSG_CHECKING([for default substitute URLs])
|
||||||
AC_MSG_RESULT([$guix_substitute_urls])
|
AC_MSG_RESULT([$guix_substitute_urls])
|
||||||
|
|
||||||
|
|
183
doc/guix.texi
183
doc/guix.texi
|
@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
|
||||||
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
|
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
|
||||||
Copyright @copyright{} 2016 Ben Woodcroft@*
|
Copyright @copyright{} 2016 Ben Woodcroft@*
|
||||||
Copyright @copyright{} 2016, 2017 Chris Marusich@*
|
Copyright @copyright{} 2016, 2017 Chris Marusich@*
|
||||||
Copyright @copyright{} 2016, 2017 Efraim Flashner@*
|
Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@*
|
||||||
Copyright @copyright{} 2016 John Darrington@*
|
Copyright @copyright{} 2016 John Darrington@*
|
||||||
Copyright @copyright{} 2016, 2017 ng0@*
|
Copyright @copyright{} 2016, 2017 ng0@*
|
||||||
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
|
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
|
||||||
|
@ -46,7 +46,8 @@ Copyright @copyright{} 2017 Andy Wingo@*
|
||||||
Copyright @copyright{} 2017, 2018 Arun Isaac@*
|
Copyright @copyright{} 2017, 2018 Arun Isaac@*
|
||||||
Copyright @copyright{} 2017 nee@*
|
Copyright @copyright{} 2017 nee@*
|
||||||
Copyright @copyright{} 2018 Rutger Helling@*
|
Copyright @copyright{} 2018 Rutger Helling@*
|
||||||
Copyright @copyright{} 2018 Oleg Pykhalov
|
Copyright @copyright{} 2018 Oleg Pykhalov@*
|
||||||
|
Copyright @copyright{} 2018 Mike Gerwitz
|
||||||
|
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||||
|
@ -1571,8 +1572,10 @@ full name of a font using XLFD (X Logical Font Description), like this:
|
||||||
To be able to use such full names for the TrueType fonts installed in
|
To be able to use such full names for the TrueType fonts installed in
|
||||||
your Guix profile, you need to extend the font path of the X server:
|
your Guix profile, you need to extend the font path of the X server:
|
||||||
|
|
||||||
|
@c Note: 'xset' does not accept symlinks so the trick below arranges to
|
||||||
|
@c get at the real directory. See <https://bugs.gnu.org/30655>.
|
||||||
@example
|
@example
|
||||||
xset +fp ~/.guix-profile/share/fonts/truetype
|
xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@cindex @code{xlsfonts}
|
@cindex @code{xlsfonts}
|
||||||
|
@ -7285,10 +7288,11 @@ Attempt to build for @var{system}---e.g., @code{i686-linux}.
|
||||||
@cindex container
|
@cindex container
|
||||||
Run @var{command} within an isolated container. The current working
|
Run @var{command} within an isolated container. The current working
|
||||||
directory outside the container is mapped inside the container.
|
directory outside the container is mapped inside the container.
|
||||||
Additionally, a dummy home directory is created that matches the current
|
Additionally, unless overridden with @code{--user}, a dummy home
|
||||||
user's home directory, and @file{/etc/passwd} is configured accordingly.
|
directory is created that matches the current user's home directory, and
|
||||||
The spawned process runs as the current user outside the container, but
|
@file{/etc/passwd} is configured accordingly. The spawned process runs
|
||||||
has root privileges in the context of the container.
|
as the current user outside the container, but has root privileges in
|
||||||
|
the context of the container.
|
||||||
|
|
||||||
@item --network
|
@item --network
|
||||||
@itemx -N
|
@itemx -N
|
||||||
|
@ -7296,6 +7300,47 @@ For containers, share the network namespace with the host system.
|
||||||
Containers created without this flag only have access to the loopback
|
Containers created without this flag only have access to the loopback
|
||||||
device.
|
device.
|
||||||
|
|
||||||
|
@item --link-profile
|
||||||
|
@itemx -P
|
||||||
|
For containers, link the environment profile to
|
||||||
|
@file{~/.guix-profile} within the container. This is equivalent to
|
||||||
|
running the command @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile}
|
||||||
|
within the container. Linking will fail and abort the environment if
|
||||||
|
the directory already exists, which will certainly be the case if
|
||||||
|
@command{guix environment} was invoked in the user's home directory.
|
||||||
|
|
||||||
|
Certain packages are configured to look in
|
||||||
|
@code{~/.guix-profile} for configuration files and data;@footnote{For
|
||||||
|
example, the @code{fontconfig} package inspects
|
||||||
|
@file{~/.guix-profile/share/fonts} for additional fonts.}
|
||||||
|
@code{--link-profile} allows these programs to behave as expected within
|
||||||
|
the environment.
|
||||||
|
|
||||||
|
@item --user=@var{user}
|
||||||
|
@itemx -u @var{user}
|
||||||
|
For containers, use the username @var{user} in place of the current
|
||||||
|
user. The generated @file{/etc/passwd} entry within the container will
|
||||||
|
contain the name @var{user}; the home directory will be
|
||||||
|
@file{/home/USER}; and no user GECOS data will be copied. @var{user}
|
||||||
|
need not exist on the system.
|
||||||
|
|
||||||
|
Additionally, any shared or exposed path (see @code{--share} and
|
||||||
|
@code{--expose} respectively) whose target is within the current user's
|
||||||
|
home directory will be remapped relative to @file{/home/USER}; this
|
||||||
|
includes the automatic mapping of the current working directory.
|
||||||
|
|
||||||
|
@example
|
||||||
|
# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target
|
||||||
|
cd $HOME/wd
|
||||||
|
guix environment --container --user=foo \
|
||||||
|
--expose=$HOME/test \
|
||||||
|
--expose=/tmp/target=$HOME/target
|
||||||
|
@end example
|
||||||
|
|
||||||
|
While this will limit the leaking of user identity through home paths
|
||||||
|
and each of the user fields, this is only one useful component of a
|
||||||
|
broader privacy/anonymity solution---not one in and of itself.
|
||||||
|
|
||||||
@item --expose=@var{source}[=@var{target}]
|
@item --expose=@var{source}[=@var{target}]
|
||||||
For containers, expose the file system @var{source} from the host system
|
For containers, expose the file system @var{source} from the host system
|
||||||
as the read-only file system @var{target} within the container. If
|
as the read-only file system @var{target} within the container. If
|
||||||
|
@ -8846,11 +8891,16 @@ the command-line of the kernel---e.g., @code{("console=ttyS0")}.
|
||||||
@item @code{bootloader}
|
@item @code{bootloader}
|
||||||
The system bootloader configuration object. @xref{Bootloader Configuration}.
|
The system bootloader configuration object. @xref{Bootloader Configuration}.
|
||||||
|
|
||||||
@item @code{initrd} (default: @code{base-initrd})
|
@item @code{initrd-modules} (default: @code{%base-initrd-modules})
|
||||||
@cindex initrd
|
@cindex initrd
|
||||||
@cindex initial RAM disk
|
@cindex initial RAM disk
|
||||||
A two-argument monadic procedure that returns an initial RAM disk for
|
The list of Linux kernel modules that need to be available in the
|
||||||
the Linux kernel. @xref{Initial RAM Disk}.
|
initial RAM disk. @xref{Initial RAM Disk}.
|
||||||
|
|
||||||
|
@item @code{initrd} (default: @code{base-initrd})
|
||||||
|
A monadic procedure that returns an initial RAM disk for the Linux
|
||||||
|
kernel. This field is provided to support low-level customization and
|
||||||
|
should rarely be needed for casual use. @xref{Initial RAM Disk}.
|
||||||
|
|
||||||
@item @code{firmware} (default: @var{%base-firmware})
|
@item @code{firmware} (default: @var{%base-firmware})
|
||||||
@cindex firmware
|
@cindex firmware
|
||||||
|
@ -10719,6 +10769,59 @@ make an initial adjustment of more than 1,000 seconds.
|
||||||
List of host names used as the default NTP servers.
|
List of host names used as the default NTP servers.
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
|
@cindex OpenNTPD
|
||||||
|
@deffn {Scheme Procedure} openntpd-service-type
|
||||||
|
Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented
|
||||||
|
by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will keep the system
|
||||||
|
clock synchronized with that of the given servers.
|
||||||
|
|
||||||
|
@example
|
||||||
|
(service
|
||||||
|
openntpd-service-type
|
||||||
|
(openntpd-configuration
|
||||||
|
(listen-on '("127.0.0.1" "::1"))
|
||||||
|
(sensor '("udcf0 correction 70000"))
|
||||||
|
(constraint-from '("www.gnu.org"))
|
||||||
|
(constraints-from '("https://www.google.com/"))
|
||||||
|
(allow-large-adjustment? #t)))
|
||||||
|
|
||||||
|
@end example
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deftp {Data Type} openntpd-configuration
|
||||||
|
@table @asis
|
||||||
|
@item @code{openntpd} (default: @code{(file-append openntpd "/sbin/ntpd")})
|
||||||
|
The openntpd executable to use.
|
||||||
|
@item @code{listen-on} (default: @code{'("127.0.0.1" "::1")})
|
||||||
|
A list of local IP addresses or hostnames the ntpd daemon should listen on.
|
||||||
|
@item @code{query-from} (default: @code{'()})
|
||||||
|
A list of local IP address the ntpd daemon should use for outgoing queries.
|
||||||
|
@item @code{sensor} (default: @code{'()})
|
||||||
|
Specify a list of timedelta sensor devices ntpd should use. @code{ntpd}
|
||||||
|
will listen to each sensor that acutally exists and ignore non-existant ones.
|
||||||
|
See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more
|
||||||
|
information.
|
||||||
|
@item @code{server} (default: @var{%ntp-servers})
|
||||||
|
Specify a list of IP addresses or hostnames of NTP servers to synchronize to.
|
||||||
|
@item @code{servers} (default: @code{'()})
|
||||||
|
Specify a list of IP addresses or hostnames of NTP pools to synchronize to.
|
||||||
|
@item @code{constraint-from} (default: @code{'()})
|
||||||
|
@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS.
|
||||||
|
This time information is not used for precision but acts as an authenticated
|
||||||
|
constraint, thereby reducing the impact of unauthenticated NTP
|
||||||
|
man-in-the-middle attacks.
|
||||||
|
Specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide
|
||||||
|
a constraint.
|
||||||
|
@item @code{constraints-from} (default: @code{'()})
|
||||||
|
As with constraint from, specify a list of URLs, IP addresses or hostnames of
|
||||||
|
HTTPS servers to provide a constraint. Should the hostname resolve to multiple
|
||||||
|
IP addresses, @code{ntpd} will calculate a median constraint from all of them.
|
||||||
|
@item @code{allow-large-adjustment?} (default: @code{#f})
|
||||||
|
Determines if @code{ntpd} is allowed to make an initial adjustment of more
|
||||||
|
than 180 seconds.
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
@cindex inetd
|
@cindex inetd
|
||||||
@deffn {Scheme variable} inetd-service-type
|
@deffn {Scheme variable} inetd-service-type
|
||||||
This service runs the @command{inetd} (@pxref{inetd invocation,,,
|
This service runs the @command{inetd} (@pxref{inetd invocation,,,
|
||||||
|
@ -14210,6 +14313,9 @@ There is also a way to specify the configuration as a string, if you
|
||||||
have an old @code{prosody.cfg.lua} file that you want to port over from
|
have an old @code{prosody.cfg.lua} file that you want to port over from
|
||||||
some other system; see the end for more details.
|
some other system; see the end for more details.
|
||||||
|
|
||||||
|
The @code{file-object} type designates either a file-like object
|
||||||
|
(@pxref{G-Expressions, file-like objects}) or a file name.
|
||||||
|
|
||||||
@c The following documentation was initially generated by
|
@c The following documentation was initially generated by
|
||||||
@c (generate-documentation) in (gnu services messaging). Manually maintained
|
@c (generate-documentation) in (gnu services messaging). Manually maintained
|
||||||
@c documentation is better, so we shouldn't hesitate to edit below as
|
@c documentation is better, so we shouldn't hesitate to edit below as
|
||||||
|
@ -14230,7 +14336,7 @@ Location of the Prosody data storage directory. See
|
||||||
Defaults to @samp{"/var/lib/prosody"}.
|
Defaults to @samp{"/var/lib/prosody"}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@deftypevr {@code{prosody-configuration} parameter} file-name-list plugin-paths
|
@deftypevr {@code{prosody-configuration} parameter} file-object-list plugin-paths
|
||||||
Additional plugin directories. They are searched in all the specified
|
Additional plugin directories. They are searched in all the specified
|
||||||
paths in order. See @url{https://prosody.im/doc/plugins_directory}.
|
paths in order. See @url{https://prosody.im/doc/plugins_directory}.
|
||||||
Defaults to @samp{()}.
|
Defaults to @samp{()}.
|
||||||
|
@ -14271,7 +14377,7 @@ should you want to disable them then add them to this list.
|
||||||
Defaults to @samp{()}.
|
Defaults to @samp{()}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@deftypevr {@code{prosody-configuration} parameter} file-name groups-file
|
@deftypevr {@code{prosody-configuration} parameter} file-object groups-file
|
||||||
Path to a text file where the shared groups are defined. If this path is
|
Path to a text file where the shared groups are defined. If this path is
|
||||||
empty then @samp{mod_groups} does nothing. See
|
empty then @samp{mod_groups} does nothing. See
|
||||||
@url{https://prosody.im/doc/modules/mod_groups}.
|
@url{https://prosody.im/doc/modules/mod_groups}.
|
||||||
|
@ -14304,13 +14410,13 @@ Path to your private key file.
|
||||||
Path to your certificate file.
|
Path to your certificate file.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@deftypevr {@code{ssl-configuration} parameter} file-name capath
|
@deftypevr {@code{ssl-configuration} parameter} file-object capath
|
||||||
Path to directory containing root certificates that you wish Prosody to
|
Path to directory containing root certificates that you wish Prosody to
|
||||||
trust when verifying the certificates of remote servers.
|
trust when verifying the certificates of remote servers.
|
||||||
Defaults to @samp{"/etc/ssl/certs"}.
|
Defaults to @samp{"/etc/ssl/certs"}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@deftypevr {@code{ssl-configuration} parameter} maybe-file-name cafile
|
@deftypevr {@code{ssl-configuration} parameter} maybe-file-object cafile
|
||||||
Path to a file containing root certificates that you wish Prosody to trust.
|
Path to a file containing root certificates that you wish Prosody to trust.
|
||||||
Similar to @code{capath} but with all certificates concatenated together.
|
Similar to @code{capath} but with all certificates concatenated together.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
@ -14570,6 +14676,8 @@ string, you could instantiate a prosody service like this:
|
||||||
(prosody.cfg.lua "")))
|
(prosody.cfg.lua "")))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@c end of Prosody auto-generated documentation
|
||||||
|
|
||||||
@subsubheading BitlBee Service
|
@subsubheading BitlBee Service
|
||||||
|
|
||||||
@cindex IRC (Internet Relay Chat)
|
@cindex IRC (Internet Relay Chat)
|
||||||
|
@ -19725,7 +19833,27 @@ root file system as well as an initialization script. The latter is
|
||||||
responsible for mounting the real root file system, and for loading any
|
responsible for mounting the real root file system, and for loading any
|
||||||
kernel modules that may be needed to achieve that.
|
kernel modules that may be needed to achieve that.
|
||||||
|
|
||||||
The @code{initrd} field of an @code{operating-system} declaration allows
|
The @code{initrd-modules} field of an @code{operating-system}
|
||||||
|
declaration allows you to specify Linux-libre kernel modules that must
|
||||||
|
be available in the initrd. In particular, this is where you would list
|
||||||
|
modules needed to actually drive the hard disk where your root partition
|
||||||
|
is---although the default value of @code{initrd-modules} should cover
|
||||||
|
most use cases. For example, assuming you need the @code{megaraid_sas}
|
||||||
|
module in addition to the default modules to be able to access your root
|
||||||
|
file system, you would write:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(operating-system
|
||||||
|
;; @dots{}
|
||||||
|
(initrd-modules (cons "megaraid_sas" %base-initrd-modules)))
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@defvr {Scheme Variable} %base-initrd-modules
|
||||||
|
This is the list of kernel modules included in the initrd by default.
|
||||||
|
@end defvr
|
||||||
|
|
||||||
|
Furthermore, if you need lower-level customization, the @code{initrd}
|
||||||
|
field of an @code{operating-system} declaration allows
|
||||||
you to specify which initrd you would like to use. The @code{(gnu
|
you to specify which initrd you would like to use. The @code{(gnu
|
||||||
system linux-initrd)} module provides three ways to build an initrd: the
|
system linux-initrd)} module provides three ways to build an initrd: the
|
||||||
high-level @code{base-initrd} procedure and the low-level
|
high-level @code{base-initrd} procedure and the low-level
|
||||||
|
@ -19738,11 +19866,10 @@ system declaration like this:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(initrd (lambda (file-systems . rest)
|
(initrd (lambda (file-systems . rest)
|
||||||
;; Create a standard initrd that has modules "foo.ko"
|
;; Create a standard initrd but set up networking
|
||||||
;; and "bar.ko", as well as their dependencies, in
|
;; with the parameters QEMU expects by default.
|
||||||
;; addition to the modules available by default.
|
|
||||||
(apply base-initrd file-systems
|
(apply base-initrd file-systems
|
||||||
#:extra-modules '("foo" "bar")
|
#:qemu-networking? #t
|
||||||
rest)))
|
rest)))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@ -19826,18 +19953,18 @@ to it are lost.
|
||||||
|
|
||||||
@deffn {Monadic Procedure} base-initrd @var{file-systems} @
|
@deffn {Monadic Procedure} base-initrd @var{file-systems} @
|
||||||
[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
|
[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
|
||||||
[#:virtio? #t] [#:extra-modules '()]
|
[#:linux-modules '()]
|
||||||
Return a monadic derivation that builds a generic initrd. @var{file-systems} is
|
Return a monadic derivation that builds a generic initrd, with kernel
|
||||||
a list of file systems to be mounted by the initrd like for @code{raw-initrd}.
|
modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be
|
||||||
@var{mapped-devices}, @var{qemu-networking?} and @var{volatile-root?}
|
mounted by the initrd, possibly in addition to the root file system specified
|
||||||
also behaves as in @code{raw-initrd}.
|
on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device
|
||||||
|
mappings to realize before @var{file-systems} are mounted.
|
||||||
|
|
||||||
When @var{virtio?} is true, load additional modules so that the
|
@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}.
|
||||||
initrd can be used as a QEMU guest with para-virtualized I/O drivers.
|
|
||||||
|
|
||||||
The initrd is automatically populated with all the kernel modules necessary
|
The initrd is automatically populated with all the kernel modules necessary
|
||||||
for @var{file-systems} and for the given options. However, additional kernel
|
for @var{file-systems} and for the given options. Additional kernel
|
||||||
modules can be listed in @var{extra-modules}. They will be added to the initrd, and
|
modules can be listed in @var{linux-modules}. They will be added to the initrd, and
|
||||||
loaded at boot time in the order in which they appear.
|
loaded at boot time in the order in which they appear.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
(define-module (gnu build linux-modules)
|
(define-module (gnu build linux-modules)
|
||||||
#:use-module (guix elf)
|
#:use-module (guix elf)
|
||||||
|
#:use-module (guix glob)
|
||||||
#:use-module (guix build syscalls)
|
#:use-module (guix build syscalls)
|
||||||
#:use-module (rnrs io ports)
|
#:use-module (rnrs io ports)
|
||||||
#:use-module (rnrs bytevectors)
|
#:use-module (rnrs bytevectors)
|
||||||
|
@ -26,15 +27,21 @@
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (ice-9 vlist)
|
#:use-module (ice-9 vlist)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
|
#:use-module (ice-9 rdelim)
|
||||||
#:export (dot-ko
|
#:export (dot-ko
|
||||||
ensure-dot-ko
|
ensure-dot-ko
|
||||||
|
module-aliases
|
||||||
module-dependencies
|
module-dependencies
|
||||||
recursive-module-dependencies
|
recursive-module-dependencies
|
||||||
modules-loaded
|
modules-loaded
|
||||||
module-loaded?
|
module-loaded?
|
||||||
load-linux-module*
|
load-linux-module*
|
||||||
|
|
||||||
current-module-debugging-port))
|
current-module-debugging-port
|
||||||
|
|
||||||
|
device-module-aliases
|
||||||
|
known-module-aliases
|
||||||
|
matching-modules))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;;
|
;;;
|
||||||
|
@ -89,6 +96,15 @@ contains module names, not actual file names."
|
||||||
(('depends . what)
|
(('depends . what)
|
||||||
(string-tokenize what %not-comma)))))
|
(string-tokenize what %not-comma)))))
|
||||||
|
|
||||||
|
(define (module-aliases file)
|
||||||
|
"Return the list of aliases of module FILE."
|
||||||
|
(let ((info (modinfo-section-contents file)))
|
||||||
|
(filter-map (match-lambda
|
||||||
|
(('alias . value)
|
||||||
|
value)
|
||||||
|
(_ #f))
|
||||||
|
(modinfo-section-contents file))))
|
||||||
|
|
||||||
(define dot-ko
|
(define dot-ko
|
||||||
(cut string-append <> ".ko"))
|
(cut string-append <> ".ko"))
|
||||||
|
|
||||||
|
@ -213,4 +229,155 @@ appears in BLACK-LIST are not loaded."
|
||||||
(or (and recursive? (= EEXIST (system-error-errno args)))
|
(or (and recursive? (= EEXIST (system-error-errno args)))
|
||||||
(apply throw args)))))))
|
(apply throw args)))))))
|
||||||
|
|
||||||
|
|
||||||
|
;;;
|
||||||
|
;;; Device modules.
|
||||||
|
;;;
|
||||||
|
|
||||||
|
;; Copied from (guix utils). FIXME: Factorize.
|
||||||
|
(define (readlink* file)
|
||||||
|
"Call 'readlink' until the result is not a symlink."
|
||||||
|
(define %max-symlink-depth 50)
|
||||||
|
|
||||||
|
(let loop ((file file)
|
||||||
|
(depth 0))
|
||||||
|
(define (absolute target)
|
||||||
|
(if (absolute-file-name? target)
|
||||||
|
target
|
||||||
|
(string-append (dirname file) "/" target)))
|
||||||
|
|
||||||
|
(if (>= depth %max-symlink-depth)
|
||||||
|
file
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
(catch 'system-error
|
||||||
|
(lambda ()
|
||||||
|
(values #t (readlink file)))
|
||||||
|
(lambda args
|
||||||
|
(let ((errno (system-error-errno args)))
|
||||||
|
(if (or (= errno EINVAL))
|
||||||
|
(values #f file)
|
||||||
|
(apply throw args))))))
|
||||||
|
(lambda (success? target)
|
||||||
|
(if success?
|
||||||
|
(loop (absolute target) (+ depth 1))
|
||||||
|
file))))))
|
||||||
|
|
||||||
|
;; See 'major' and 'minor' in <sys/sysmacros.h>.
|
||||||
|
|
||||||
|
(define (stat->device-major st)
|
||||||
|
(ash (logand #xfff00 (stat:rdev st)) -8))
|
||||||
|
|
||||||
|
(define (stat->device-minor st)
|
||||||
|
(logand #xff (stat:rdev st)))
|
||||||
|
|
||||||
|
(define %not-slash
|
||||||
|
(char-set-complement (char-set #\/)))
|
||||||
|
|
||||||
|
(define (read-uevent port)
|
||||||
|
"Read a /sys 'uevent' file from PORT and return an alist where each car is a
|
||||||
|
key such as 'MAJOR or 'DEVTYPE and each cdr is the corresponding value."
|
||||||
|
(let loop ((result '()))
|
||||||
|
(match (read-line port)
|
||||||
|
((? eof-object?)
|
||||||
|
(reverse result))
|
||||||
|
(line
|
||||||
|
(loop (cons (key=value->pair line) result))))))
|
||||||
|
|
||||||
|
(define (device-module-aliases device)
|
||||||
|
"Return the list of module aliases required by DEVICE, a /dev file name, as
|
||||||
|
in this example:
|
||||||
|
|
||||||
|
(device-module-aliases \"/dev/sda\")
|
||||||
|
=> (\"scsi:t-0x00\" \"pci:v00008086d00009D03sv0000103Csd000080FAbc01sc06i01\")
|
||||||
|
|
||||||
|
The modules corresponding to these aliases can then be found using
|
||||||
|
'matching-modules'."
|
||||||
|
;; The approach is adapted from
|
||||||
|
;; <https://unix.stackexchange.com/questions/97676/how-to-find-the-driver-module-associated-with-a-device-on-linux>.
|
||||||
|
(let* ((st (stat device))
|
||||||
|
(type (stat:type st))
|
||||||
|
(major (stat->device-major st))
|
||||||
|
(minor (stat->device-minor st))
|
||||||
|
(sys-name (string-append "/sys/dev/"
|
||||||
|
(case type
|
||||||
|
((block-special) "block")
|
||||||
|
((char-special) "char")
|
||||||
|
(else (symbol->string type)))
|
||||||
|
"/" (number->string major) ":"
|
||||||
|
(number->string minor)))
|
||||||
|
(directory (canonicalize-path (readlink* sys-name))))
|
||||||
|
(let loop ((components (string-tokenize directory %not-slash))
|
||||||
|
(aliases '()))
|
||||||
|
(match components
|
||||||
|
(("sys" "devices" _)
|
||||||
|
(reverse aliases))
|
||||||
|
((head ... _)
|
||||||
|
(let ((uevent (string-append (string-join components "/" 'prefix)
|
||||||
|
"/uevent")))
|
||||||
|
(if (file-exists? uevent)
|
||||||
|
(let ((props (call-with-input-file uevent read-uevent)))
|
||||||
|
(match (assq-ref props 'MODALIAS)
|
||||||
|
(#f (loop head aliases))
|
||||||
|
(alias (loop head (cons alias aliases)))))
|
||||||
|
(loop head aliases))))))))
|
||||||
|
|
||||||
|
(define (read-module-aliases port)
|
||||||
|
"Read from PORT data in the Linux 'modules.alias' file format. Return a
|
||||||
|
list of alias/module pairs where each alias is a glob pattern as like the
|
||||||
|
result of:
|
||||||
|
|
||||||
|
(compile-glob-pattern \"scsi:t-0x01*\")
|
||||||
|
|
||||||
|
and each module is a module name like \"snd_hda_intel\"."
|
||||||
|
(define (comment? str)
|
||||||
|
(string-prefix? "#" str))
|
||||||
|
|
||||||
|
(define (tokenize str)
|
||||||
|
;; Lines have the form "alias ALIAS MODULE", where ALIAS can contain
|
||||||
|
;; whitespace. This is why we don't use 'string-tokenize'.
|
||||||
|
(let* ((str (string-trim-both str))
|
||||||
|
(left (string-index str #\space))
|
||||||
|
(right (string-rindex str #\space)))
|
||||||
|
(list (string-take str left)
|
||||||
|
(string-trim-both (substring str left right))
|
||||||
|
(string-trim-both (string-drop str right)))))
|
||||||
|
|
||||||
|
(let loop ((aliases '()))
|
||||||
|
(match (read-line port)
|
||||||
|
((? eof-object?)
|
||||||
|
(reverse aliases))
|
||||||
|
((? comment?)
|
||||||
|
(loop aliases))
|
||||||
|
(line
|
||||||
|
(match (tokenize line)
|
||||||
|
(("alias" alias module)
|
||||||
|
(loop (alist-cons (compile-glob-pattern alias) module
|
||||||
|
aliases)))
|
||||||
|
(() ;empty line
|
||||||
|
(loop aliases)))))))
|
||||||
|
|
||||||
|
(define (current-alias-file)
|
||||||
|
"Return the absolute file name of the default 'modules.alias' file."
|
||||||
|
(string-append (or (getenv "LINUX_MODULE_DIRECTORY")
|
||||||
|
"/run/booted-system/kernel/lib/modules")
|
||||||
|
"/" (utsname:release (uname))
|
||||||
|
"/" "modules.alias"))
|
||||||
|
|
||||||
|
(define* (known-module-aliases #:optional (alias-file (current-alias-file)))
|
||||||
|
"Return the list of alias/module pairs read from ALIAS-FILE. Each alias is
|
||||||
|
actually a pattern."
|
||||||
|
(call-with-input-file alias-file read-module-aliases))
|
||||||
|
|
||||||
|
(define* (matching-modules alias
|
||||||
|
#:optional (known-aliases (known-module-aliases)))
|
||||||
|
"Return the list of modules that match ALIAS according to KNOWN-ALIASES.
|
||||||
|
ALIAS is a string like \"scsi:t-0x00\" as returned by
|
||||||
|
'device-module-aliases'."
|
||||||
|
(filter-map (match-lambda
|
||||||
|
((pattern . module)
|
||||||
|
(and (glob-match? pattern alias)
|
||||||
|
module)))
|
||||||
|
known-aliases))
|
||||||
|
|
||||||
;;; linux-modules.scm ends here
|
;;; linux-modules.scm ends here
|
||||||
|
|
13
gnu/local.mk
13
gnu/local.mk
|
@ -7,7 +7,7 @@
|
||||||
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||||
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
|
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
|
||||||
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||||
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
@ -76,6 +76,7 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/bash.scm \
|
%D%/packages/bash.scm \
|
||||||
%D%/packages/bdw-gc.scm \
|
%D%/packages/bdw-gc.scm \
|
||||||
%D%/packages/benchmark.scm \
|
%D%/packages/benchmark.scm \
|
||||||
|
%D%/packages/bioconductor.scm \
|
||||||
%D%/packages/bioinformatics.scm \
|
%D%/packages/bioinformatics.scm \
|
||||||
%D%/packages/bittorrent.scm \
|
%D%/packages/bittorrent.scm \
|
||||||
%D%/packages/bison.scm \
|
%D%/packages/bison.scm \
|
||||||
|
@ -552,6 +553,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/agg-am_c_prototype.patch \
|
%D%/packages/patches/agg-am_c_prototype.patch \
|
||||||
%D%/packages/patches/ansible-wrap-program-hack.patch \
|
%D%/packages/patches/ansible-wrap-program-hack.patch \
|
||||||
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
||||||
|
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
|
||||||
|
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
|
||||||
%D%/packages/patches/ao-cad-aarch64-support.patch \
|
%D%/packages/patches/ao-cad-aarch64-support.patch \
|
||||||
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
||||||
%D%/packages/patches/aspell-default-dict-dir.patch \
|
%D%/packages/patches/aspell-default-dict-dir.patch \
|
||||||
|
@ -578,7 +581,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/cdparanoia-fpic.patch \
|
%D%/packages/patches/cdparanoia-fpic.patch \
|
||||||
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
|
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
|
||||||
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
|
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
|
||||||
%D%/packages/patches/ceph-disable-unittest-throttle.patch \
|
%D%/packages/patches/ceph-rocksdb-compat.patch \
|
||||||
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
|
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
|
||||||
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
|
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
|
||||||
%D%/packages/patches/chmlib-inttypes.patch \
|
%D%/packages/patches/chmlib-inttypes.patch \
|
||||||
|
@ -681,6 +684,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
|
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
|
||||||
%D%/packages/patches/gcr-disable-failing-tests.patch \
|
%D%/packages/patches/gcr-disable-failing-tests.patch \
|
||||||
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
|
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
|
||||||
|
%D%/packages/patches/gd-CVE-2018-5711.patch \
|
||||||
%D%/packages/patches/gd-fix-tests-on-i686.patch \
|
%D%/packages/patches/gd-fix-tests-on-i686.patch \
|
||||||
%D%/packages/patches/gd-freetype-test-failure.patch \
|
%D%/packages/patches/gd-freetype-test-failure.patch \
|
||||||
%D%/packages/patches/gegl-CVE-2012-4433.patch \
|
%D%/packages/patches/gegl-CVE-2012-4433.patch \
|
||||||
|
@ -708,6 +712,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
|
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
|
||||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
|
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
|
||||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
|
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
|
||||||
|
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
|
||||||
%D%/packages/patches/glibc-bootstrap-system.patch \
|
%D%/packages/patches/glibc-bootstrap-system.patch \
|
||||||
%D%/packages/patches/glibc-ldd-x86_64.patch \
|
%D%/packages/patches/glibc-ldd-x86_64.patch \
|
||||||
%D%/packages/patches/glibc-locales.patch \
|
%D%/packages/patches/glibc-locales.patch \
|
||||||
|
@ -771,10 +776,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/hwloc-tests-without-sysfs.patch \
|
%D%/packages/patches/hwloc-tests-without-sysfs.patch \
|
||||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||||
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
||||||
%D%/packages/patches/icecat-bug-1348660-pt5.patch \
|
|
||||||
%D%/packages/patches/icecat-bug-1415133.patch \
|
|
||||||
%D%/packages/patches/icecat-bug-1414945.patch \
|
|
||||||
%D%/packages/patches/icecat-bug-1424373-pt2.patch \
|
|
||||||
%D%/packages/patches/icecat-use-system-graphite2.patch \
|
%D%/packages/patches/icecat-use-system-graphite2.patch \
|
||||||
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
|
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
|
||||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
;; the tests to pass.
|
;; the tests to pass.
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:make-flags
|
#:make-flags
|
||||||
(list "CXXFLAGS=-std=c++11")))
|
(list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true")))
|
||||||
(inputs
|
(inputs
|
||||||
`(("boost" ,boost)
|
`(("boost" ,boost)
|
||||||
("enchant" ,enchant)
|
("enchant" ,enchant)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -82,10 +83,11 @@ available to help to click.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public footswitch
|
(define-public footswitch
|
||||||
(let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a"))
|
(let ((commit "deedd87fd90fad90ce342aeabafd4a3198d7d3d4")
|
||||||
|
(revision "2"))
|
||||||
(package
|
(package
|
||||||
(name "footswitch")
|
(name "footswitch")
|
||||||
(version (git-version "0.1" "1" commit))
|
(version (git-version "0.1" revision commit))
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -93,7 +95,7 @@ available to help to click.")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw"))))
|
(base32 "1ys90wqyz62kffa8m3hgaq1dl7f29x3mrc3zqfjrkbn2ps0k6ps0"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
@ -109,7 +111,6 @@ available to help to click.")
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((bin (string-append (assoc-ref outputs "out")
|
(let ((bin (string-append (assoc-ref outputs "out")
|
||||||
"/bin")))
|
"/bin")))
|
||||||
(mkdir-p bin)
|
|
||||||
(install-file "footswitch" bin)
|
(install-file "footswitch" bin)
|
||||||
#t))))))
|
#t))))))
|
||||||
(home-page "https://github.com/rgerganov/footswitch")
|
(home-page "https://github.com/rgerganov/footswitch")
|
||||||
|
|
|
@ -610,14 +610,14 @@ connection alive.")
|
||||||
bind-release-version)))
|
bind-release-version)))
|
||||||
(package
|
(package
|
||||||
(name "isc-dhcp")
|
(name "isc-dhcp")
|
||||||
(version "4.3.6")
|
(version "4.3.6-P1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
|
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
|
||||||
version "/dhcp-" version ".tar.gz"))
|
version "/dhcp-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"06vgxhm6agzkp6r1jy10467vrfw2rzcp2mnkcph7ydziciisy7m4"))))
|
"1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:parallel-build? #f
|
`(#:parallel-build? #f
|
||||||
|
@ -2433,6 +2433,7 @@ on systems running the Linux kernel.")
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/robertdavidgraham/masscan"
|
(uri (string-append "https://github.com/robertdavidgraham/masscan"
|
||||||
"/archive/" version ".tar.gz"))
|
"/archive/" version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
|
"1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||||
|
@ -35,6 +35,7 @@
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages mpi)
|
#:use-module (gnu packages mpi)
|
||||||
#:use-module (gnu packages multiprecision)
|
#:use-module (gnu packages multiprecision)
|
||||||
|
@ -46,9 +47,11 @@
|
||||||
#:use-module (gnu packages texinfo)
|
#:use-module (gnu packages texinfo)
|
||||||
#:use-module (gnu packages xiph)
|
#:use-module (gnu packages xiph)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
|
#:use-module (guix build-system ant)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix git-download)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils))
|
#:use-module (guix utils))
|
||||||
|
@ -612,6 +615,104 @@ cosine/ sine transforms or DCT/DST).")
|
||||||
(synopsis "Computing the discrete Fourier transform (AVX2-optimized)")
|
(synopsis "Computing the discrete Fourier transform (AVX2-optimized)")
|
||||||
(supported-systems '("x86_64-linux"))))
|
(supported-systems '("x86_64-linux"))))
|
||||||
|
|
||||||
|
(define-public java-la4j
|
||||||
|
(package
|
||||||
|
(name "java-la4j")
|
||||||
|
(version "0.6.0")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/vkostyukov/la4j.git")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1qir8dr978cfvz9k12m2kbdwpyf6cqdf1d0ilb7lnkhbgq5i53w3"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:jar-name "la4j.jar"
|
||||||
|
#:jdk ,icedtea-8
|
||||||
|
#:test-exclude (list "**/Abstract*.java"
|
||||||
|
"**/MatrixTest.java"
|
||||||
|
"**/DenseMatrixTest.java"
|
||||||
|
"**/SparseMatrixTest.java"
|
||||||
|
"**/VectorTest.java"
|
||||||
|
"**/SparseVectorTest.java"
|
||||||
|
"**/DenseVectorTest.java")))
|
||||||
|
(native-inputs
|
||||||
|
`(("java-junit" ,java-junit)
|
||||||
|
("java-hamcrest-core" ,java-hamcrest-core)))
|
||||||
|
(home-page "http://la4j.org/")
|
||||||
|
(synopsis "Java library that provides Linear Algebra primitives and algorithms")
|
||||||
|
(description "The la4j library is a Java library that provides Linear
|
||||||
|
Algebra primitives (matrices and vectors) and algorithms. The key features of
|
||||||
|
the la4j library are:
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
@item No dependencies and tiny size
|
||||||
|
@item Fluent object-oriented/functional API
|
||||||
|
@item Sparse (CRS, CCS) and dense (1D/2D arrays) matrices
|
||||||
|
@item Linear systems solving (Gaussian, Jacobi, Zeidel, Square Root, Sweep and other)
|
||||||
|
@item Matrices decomposition (Eigenvalues/Eigenvectors, SVD, QR, LU, Cholesky and other)
|
||||||
|
@item MatrixMarket/CSV IO formats support for matrices and vectors
|
||||||
|
@end itemize\n")
|
||||||
|
(license license:asl2.0)))
|
||||||
|
|
||||||
|
(define-public java-jlargearrays
|
||||||
|
(package
|
||||||
|
(name "java-jlargearrays")
|
||||||
|
(version "1.6")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://search.maven.org/remotecontent?"
|
||||||
|
"filepath=pl/edu/icm/JLargeArrays/"
|
||||||
|
version "/JLargeArrays-" version
|
||||||
|
"-sources.jar"))
|
||||||
|
(file-name (string-append name "-" version ".jar"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0v05iphpxbjnd7f4jf1rlqq3m8hslhcm0imdbsgxr20pi3xkaf2a"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:jar-name "jlargearrays.jar"
|
||||||
|
#:tests? #f ; tests are not included in the release archive
|
||||||
|
#:jdk ,icedtea-8))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("java-commons-math3" ,java-commons-math3)))
|
||||||
|
(home-page "https://gitlab.com/ICM-VisLab/JLargeArrays")
|
||||||
|
(synopsis "Library of one-dimensional arrays that can store up to 263 elements")
|
||||||
|
(description "JLargeArrays is a Java library of one-dimensional arrays
|
||||||
|
that can store up to 263 elements.")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public java-jtransforms
|
||||||
|
(package
|
||||||
|
(name "java-jtransforms")
|
||||||
|
(version "3.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://search.maven.org/remotecontent?"
|
||||||
|
"filepath=com/github/wendykierp/JTransforms/"
|
||||||
|
version "/JTransforms-" version "-sources.jar"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1haw5m8shv5srgcpwkl853dz8bv6h90bzlhcps6mdpb4cixjirsg"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:jar-name "jtransforms.jar"
|
||||||
|
#:tests? #f ; tests are not included in the release archive
|
||||||
|
#:jdk ,icedtea-8))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("java-commons-math3" ,java-commons-math3)
|
||||||
|
("java-jlargearrays" ,java-jlargearrays)))
|
||||||
|
(home-page "https://github.com/wendykierp/JTransforms")
|
||||||
|
(synopsis "Multithreaded FFT library written in pure Java")
|
||||||
|
(description "JTransforms is a multithreaded FFT library written in pure
|
||||||
|
Java. Currently, four types of transforms are available: @dfn{Discrete
|
||||||
|
Fourier Transform} (DFT), @dfn{Discrete Cosine Transform} (DCT), @dfn{Discrete
|
||||||
|
Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
||||||
(define-public eigen
|
(define-public eigen
|
||||||
(package
|
(package
|
||||||
(name "eigen")
|
(name "eigen")
|
||||||
|
|
|
@ -200,6 +200,7 @@ contains the graphical user interface for synfig.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/LostMoho/Papagayo.git")
|
(url "https://github.com/LostMoho/Papagayo.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
|
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
|
||||||
|
|
|
@ -1155,6 +1155,7 @@ PS, and DAB+.")
|
||||||
(string-map (lambda (c)
|
(string-map (lambda (c)
|
||||||
(if (char=? c #\.) #\- c))
|
(if (char=? c #\.) #\- c))
|
||||||
version)))))
|
version)))))
|
||||||
|
(file-name (string-append "faust-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
|
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
|
||||||
|
@ -1628,14 +1629,14 @@ essential distortions.")
|
||||||
(define-public liblo
|
(define-public liblo
|
||||||
(package
|
(package
|
||||||
(name "liblo")
|
(name "liblo")
|
||||||
(version "0.28")
|
(version "0.29")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/liblo/liblo/" version
|
(uri (string-append "mirror://sourceforge/liblo/liblo/" version
|
||||||
"/liblo-" version ".tar.gz"))
|
"/liblo-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
|
"0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(;; liblo test FAILED
|
`(;; liblo test FAILED
|
||||||
|
@ -1645,7 +1646,7 @@ essential distortions.")
|
||||||
(synopsis "Implementation of the Open Sound Control protocol")
|
(synopsis "Implementation of the Open Sound Control protocol")
|
||||||
(description
|
(description
|
||||||
"liblo is a lightweight library that provides an easy to use
|
"liblo is a lightweight library that provides an easy to use
|
||||||
implementation of the Open Sound Control (OSC) protocol.")
|
implementation of the Open Sound Control (@dfn{OSC}) protocol.")
|
||||||
(license license:lgpl2.1+)))
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
(define-public python-pyaudio
|
(define-public python-pyaudio
|
||||||
|
@ -1783,6 +1784,7 @@ software.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "http://lv2plug.in/git/lv2.git")
|
(url "http://lv2plug.in/git/lv2.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
|
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
|
||||||
|
@ -1796,6 +1798,7 @@ software.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "http://git.elephly.net/software/lv2-mdametapiano.git")
|
(url "http://git.elephly.net/software/lv2-mdametapiano.git")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
|
"07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
|
||||||
|
@ -2024,6 +2027,7 @@ into various outputs and to start, stop and configure jackd")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/orouits/qjackrcd.git")
|
(url "https://github.com/orouits/qjackrcd.git")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al"))))
|
"1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al"))))
|
||||||
|
@ -2103,6 +2107,7 @@ aimed at audio/musical applications.")
|
||||||
(string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
|
(string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
|
||||||
version
|
version
|
||||||
".tar.bz2"))
|
".tar.bz2"))
|
||||||
|
(file-name (string-append name "-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
|
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||||
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -537,6 +538,7 @@ store.")
|
||||||
;; Note: Always use a dot after the minor version since various places rely
|
;; Note: Always use a dot after the minor version since various places rely
|
||||||
;; on "version-major+minor" to determine where locales are found.
|
;; on "version-major+minor" to determine where locales are found.
|
||||||
(version "2.26.105-g0890d5379c")
|
(version "2.26.105-g0890d5379c")
|
||||||
|
(replacement glibc-2.26-patched)
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
|
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
|
||||||
|
@ -839,6 +841,15 @@ GLIBC/HURD for a Hurd host"
|
||||||
;; Below are old libc versions, which we use mostly to build locale data in
|
;; Below are old libc versions, which we use mostly to build locale data in
|
||||||
;; the old format (which the new libc cannot cope with.)
|
;; the old format (which the new libc cannot cope with.)
|
||||||
|
|
||||||
|
(define glibc-2.26-patched
|
||||||
|
(package
|
||||||
|
(inherit glibc)
|
||||||
|
(replacement #f)
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source glibc))
|
||||||
|
(patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")
|
||||||
|
(origin-patches (package-source glibc))))))))
|
||||||
|
|
||||||
(define-public glibc-2.25
|
(define-public glibc-2.25
|
||||||
(package
|
(package
|
||||||
(inherit glibc)
|
(inherit glibc)
|
||||||
|
|
42
gnu/packages/bioconductor.scm
Normal file
42
gnu/packages/bioconductor.scm
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2018 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 bioconductor)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system r)
|
||||||
|
#:use-module (gnu packages))
|
||||||
|
|
||||||
|
(define-public r-hpar
|
||||||
|
(package
|
||||||
|
(name "r-hpar")
|
||||||
|
(version "1.20.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (bioconductor-uri "hpar" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0s5v79mgxdx862v1jrdf5pdap81nz5vjx25ni8s3sl97ldckf6j8"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(home-page "https://bioconductor.org/packages/hpar/")
|
||||||
|
(synopsis "Human Protein Atlas in R")
|
||||||
|
(description "This package provides a simple interface to and data from
|
||||||
|
the Human Protein Atlas project.")
|
||||||
|
(license license:artistic2.0)))
|
File diff suppressed because it is too large
Load diff
|
@ -110,6 +110,20 @@ across a broad spectrum of applications.")
|
||||||
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
|
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
|
||||||
"Some components have other similar licences."))))
|
"Some components have other similar licences."))))
|
||||||
|
|
||||||
|
(define-public boost-1.66
|
||||||
|
(package
|
||||||
|
(inherit boost)
|
||||||
|
(version "1.66.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"mirror://sourceforge/boost/boost/" version "/boost_"
|
||||||
|
(string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
|
||||||
|
".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap"))))))
|
||||||
|
|
||||||
(define-public mdds
|
(define-public mdds
|
||||||
(package
|
(package
|
||||||
(name "mdds")
|
(name "mdds")
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -31,6 +31,7 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages backup)
|
#:use-module (gnu packages backup)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages crypto)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages file)
|
#:use-module (gnu packages file)
|
||||||
#:use-module (gnu packages libevent)
|
#:use-module (gnu packages libevent)
|
||||||
|
@ -149,3 +150,59 @@ and workspaces that can be used in the compiler environment of your choice.")
|
||||||
license:bsd-2 ; cmlibarchive
|
license:bsd-2 ; cmlibarchive
|
||||||
license:expat ; cmjsoncpp is dual MIT/public domain
|
license:expat ; cmjsoncpp is dual MIT/public domain
|
||||||
license:public-domain)))) ; cmlibarchive/archive_getdate.c
|
license:public-domain)))) ; cmlibarchive/archive_getdate.c
|
||||||
|
|
||||||
|
;; Recent Ceph requires Boost 1.66, which in turn requires CMake 3.11 for
|
||||||
|
;; its updated "FindBoost.cmake" facility.
|
||||||
|
(define-public cmake-3.11
|
||||||
|
(package
|
||||||
|
(inherit cmake)
|
||||||
|
(version "3.11.0-rc2")
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source cmake))
|
||||||
|
(uri (string-append "https://www.cmake.org/files/v"
|
||||||
|
(version-major+minor version)
|
||||||
|
"/cmake-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"14p6ais19nfcwl914n4n5rbzaqwafv3qkg6nd8jw54ykn6lz6mf3"))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Drop bundled software.
|
||||||
|
(with-directory-excursion "Utilities"
|
||||||
|
(for-each delete-file-recursively
|
||||||
|
'("cmbzip2"
|
||||||
|
"cmcurl"
|
||||||
|
"cmexpat"
|
||||||
|
"cmliblzma"
|
||||||
|
"cmzlib"))
|
||||||
|
#t)))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments cmake)
|
||||||
|
((#:make-flags flags ''()) `(cons (string-append
|
||||||
|
"ARGS=-j "
|
||||||
|
(number->string (parallel-job-count))
|
||||||
|
" --output-on-failure")
|
||||||
|
,flags))
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(replace 'patch-bin-sh
|
||||||
|
(lambda _
|
||||||
|
(substitute*
|
||||||
|
'("Modules/CompilerId/Xcode-3.pbxproj.in"
|
||||||
|
"Modules/CPack.RuntimeScript.in"
|
||||||
|
"Source/cmakexbuild.cxx"
|
||||||
|
"Source/cmGlobalXCodeGenerator.cxx"
|
||||||
|
"Source/cmLocalUnixMakefileGenerator3.cxx"
|
||||||
|
"Source/cmExecProgramCommand.cxx"
|
||||||
|
"Utilities/Release/release_cmake.cmake"
|
||||||
|
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
|
||||||
|
"Tests/CMakeLists.txt"
|
||||||
|
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
|
||||||
|
(("/bin/sh") (which "sh")))
|
||||||
|
#t))
|
||||||
|
;; This is now passed through #:make-flags.
|
||||||
|
(delete 'set-test-environment)))))
|
||||||
|
(inputs
|
||||||
|
`(("rhash" ,rhash)
|
||||||
|
,@(package-inputs cmake)))))
|
||||||
|
|
|
@ -204,23 +204,24 @@ COCOMO model or user-provided parameters.")
|
||||||
(define-public cloc
|
(define-public cloc
|
||||||
(package
|
(package
|
||||||
(name "cloc")
|
(name "cloc")
|
||||||
(version "1.74")
|
(version "1.76")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://github.com/AlDanial/cloc/releases/download/" version
|
"https://github.com/AlDanial/cloc/releases/download/v" version
|
||||||
"/cloc-" version ".tar.gz"))
|
"/cloc-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0rq5xfiln1wlv3yr9mg18ax4gskbss786iqaf0v45iv6awyl5b2m"))))
|
"05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("coreutils" ,coreutils)
|
`(("coreutils" ,coreutils)
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("perl-algorithm-diff" ,perl-algorithm-diff)
|
("perl-algorithm-diff" ,perl-algorithm-diff)
|
||||||
("perl-regexp-common" ,perl-regexp-common)
|
("perl-digest-md5" ,perl-digest-md5)
|
||||||
("perl-digest-md5" ,perl-digest-md5)))
|
("perl-parallel-forkmanager" ,perl-parallel-forkmanager)
|
||||||
|
("perl-regexp-common" ,perl-regexp-common)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (modify-phases %standard-phases
|
`(#:phases (modify-phases %standard-phases
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
|
@ -228,13 +229,13 @@ COCOMO model or user-provided parameters.")
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out")))
|
(let* ((out (assoc-ref outputs "out")))
|
||||||
(zero?
|
(invoke "make" "-C" "Unix"
|
||||||
(system* "make" "-C" "Unix"
|
|
||||||
(string-append "prefix=" out)
|
(string-append "prefix=" out)
|
||||||
(string-append "INSTALL="
|
(string-append "INSTALL="
|
||||||
(assoc-ref inputs "coreutils")
|
(assoc-ref inputs "coreutils")
|
||||||
"/bin/install")
|
"/bin/install")
|
||||||
"install")))))
|
"install")
|
||||||
|
#t)))
|
||||||
(add-after 'install 'wrap-program
|
(add-after 'install 'wrap-program
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
|
|
@ -600,6 +600,7 @@ with the sfArk algorithm.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/raboof/sfarkxtc.git")
|
(url "https://github.com/raboof/sfarkxtc.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj"))))
|
"0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj"))))
|
||||||
|
@ -1070,16 +1071,18 @@ algorithm within the Numpy framework.")
|
||||||
(define-public snappy
|
(define-public snappy
|
||||||
(package
|
(package
|
||||||
(name "snappy")
|
(name "snappy")
|
||||||
(version "1.1.3")
|
(version "1.1.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append "https://github.com/google/snappy/archive/"
|
||||||
"https://github.com/google/snappy/releases/download/"
|
version ".tar.gz"))
|
||||||
version "/" name "-" version ".tar.gz"))
|
(file-name (string-append "snappy-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig"))))
|
"1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix"))))
|
||||||
(build-system gnu-build-system)
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||||
(home-page "https://github.com/google/snappy")
|
(home-page "https://github.com/google/snappy")
|
||||||
(synopsis "Fast compressor/decompressor")
|
(synopsis "Fast compressor/decompressor")
|
||||||
(description "Snappy is a compression/decompression library. It does not
|
(description "Snappy is a compression/decompression library. It does not
|
||||||
|
@ -1130,7 +1133,7 @@ install: libbitshuffle.so
|
||||||
(define-public java-snappy
|
(define-public java-snappy
|
||||||
(package
|
(package
|
||||||
(name "java-snappy")
|
(name "java-snappy")
|
||||||
(version "1.1.4")
|
(version "1.1.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
|
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
|
||||||
|
@ -1138,7 +1141,7 @@ install: libbitshuffle.so
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1w58diryma7qz7aa24yv8shf3flxcbbw8jgcn2lih14wgmww58ww"))))
|
"0q4kxz2n97czf6g5gzq0d8yz22cgiaj7wp51rzsswh3bi99bpgg5"))))
|
||||||
(build-system ant-build-system)
|
(build-system ant-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:jar-name "snappy.jar"
|
`(#:jar-name "snappy.jar"
|
||||||
|
@ -1178,7 +1181,9 @@ install: libbitshuffle.so
|
||||||
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
|
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
|
||||||
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
|
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
|
||||||
;; Finally we can run the Makefile to build the dynamic library.
|
;; Finally we can run the Makefile to build the dynamic library.
|
||||||
(zero? (system* "make" "native"))))
|
;; Use the -nocmake target to avoid a dependency on cmake,
|
||||||
|
;; which in turn requires the "git_unpacked" directory.
|
||||||
|
(invoke "make" "native-nocmake")))
|
||||||
;; Once we have built the shared library, we need to place it in the
|
;; Once we have built the shared library, we need to place it in the
|
||||||
;; "build" directory so it can be added to the jar file.
|
;; "build" directory so it can be added to the jar file.
|
||||||
(add-after 'build-jni 'copy-jni
|
(add-after 'build-jni 'copy-jni
|
||||||
|
@ -1187,13 +1192,14 @@ install: libbitshuffle.so
|
||||||
"build/classes/org/xerial/snappy/native")))
|
"build/classes/org/xerial/snappy/native")))
|
||||||
(add-before 'check 'fix-failing
|
(add-before 'check 'fix-failing
|
||||||
(lambda _
|
(lambda _
|
||||||
|
(with-directory-excursion "src/test/java/org/xerial/snappy"
|
||||||
;; This package assumes maven build, which puts results in "target".
|
;; This package assumes maven build, which puts results in "target".
|
||||||
;; We put them in "build" instead, so fix that.
|
;; We put them in "build" instead, so fix that.
|
||||||
(substitute* "src/test/java/org/xerial/snappy/SnappyLoaderTest.java"
|
(substitute* "SnappyLoaderTest.java"
|
||||||
(("target/classes") "build/classes"))
|
(("target/classes") "build/classes"))
|
||||||
;; FIXME: probably an error
|
;; This requires Hadoop, which is not in Guix yet.
|
||||||
(substitute* "src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java"
|
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
|
||||||
(("91080") "91013")))))))
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("osgi-framework" ,java-osgi-framework)))
|
`(("osgi-framework" ,java-osgi-framework)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -1204,6 +1210,8 @@ install: libbitshuffle.so
|
||||||
("hamcrest" ,java-hamcrest-core)
|
("hamcrest" ,java-hamcrest-core)
|
||||||
("xerial-core" ,java-xerial-core)
|
("xerial-core" ,java-xerial-core)
|
||||||
("classworlds" ,java-plexus-classworlds)
|
("classworlds" ,java-plexus-classworlds)
|
||||||
|
("commons-lang" ,java-commons-lang)
|
||||||
|
("commons-io" ,java-commons-io)
|
||||||
("perl" ,perl)))
|
("perl" ,perl)))
|
||||||
(home-page "https://github.com/xerial/snappy-java")
|
(home-page "https://github.com/xerial/snappy-java")
|
||||||
(synopsis "Compression/decompression algorithm in Java")
|
(synopsis "Compression/decompression algorithm in Java")
|
||||||
|
@ -1533,6 +1541,7 @@ or junctions, and always follows hard links.")
|
||||||
(origin (method url-fetch)
|
(origin (method url-fetch)
|
||||||
(uri (string-append "http://github.com/twogood/unshield/archive/"
|
(uri (string-append "http://github.com/twogood/unshield/archive/"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x"))))
|
"0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x"))))
|
||||||
|
|
|
@ -60,8 +60,8 @@
|
||||||
#t))
|
#t))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(mkdir-p bin)
|
(bin (string-append out "/bin")))
|
||||||
(install-file "src/conky" bin))
|
(install-file "src/conky" bin))
|
||||||
#t)))))
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -1472,14 +1472,14 @@ imputations.")
|
||||||
(define-public r-truncnorm
|
(define-public r-truncnorm
|
||||||
(package
|
(package
|
||||||
(name "r-truncnorm")
|
(name "r-truncnorm")
|
||||||
(version "1.0-7")
|
(version "1.0-8")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "truncnorm" version))
|
(uri (cran-uri "truncnorm" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"))))
|
"0zn88wdd58223kibk085rhsikl4yhlrwiyq109hzjg06hy6lwmj9"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://cran.r-project.org/web/packages/truncnorm/")
|
(home-page "https://cran.r-project.org/web/packages/truncnorm/")
|
||||||
(synopsis "Truncated normal distribution")
|
(synopsis "Truncated normal distribution")
|
||||||
|
@ -1637,21 +1637,21 @@ simplifying cross-class interoperability.")
|
||||||
(define-public r-performanceanalytics
|
(define-public r-performanceanalytics
|
||||||
(package
|
(package
|
||||||
(name "r-performanceanalytics")
|
(name "r-performanceanalytics")
|
||||||
(version "1.4.3541")
|
(version "1.5.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "PerformanceAnalytics" version))
|
(uri (cran-uri "PerformanceAnalytics" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v"))))
|
"01bgm57z079g6r505w3bj293zkbd49fwa8sg55z87vizwavipml6"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "PerformanceAnalytics")))
|
`((upstream-name . "PerformanceAnalytics")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("r-xts" ,r-xts)
|
`(("r-quadprog" ,r-quadprog)
|
||||||
|
("r-xts" ,r-xts)
|
||||||
("r-zoo" ,r-zoo)))
|
("r-zoo" ,r-zoo)))
|
||||||
(native-inputs `(("gfortran" ,gfortran)))
|
|
||||||
(home-page "http://r-forge.r-project.org/projects/returnanalytics/")
|
(home-page "http://r-forge.r-project.org/projects/returnanalytics/")
|
||||||
(synopsis "Econometric tools for performance and risk analysis")
|
(synopsis "Econometric tools for performance and risk analysis")
|
||||||
(description "This is a collection of econometric functions for
|
(description "This is a collection of econometric functions for
|
||||||
|
@ -2139,14 +2139,14 @@ display.")
|
||||||
(define-public r-pillar
|
(define-public r-pillar
|
||||||
(package
|
(package
|
||||||
(name "r-pillar")
|
(name "r-pillar")
|
||||||
(version "1.1.0")
|
(version "1.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "pillar" version))
|
(uri (cran-uri "pillar" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1gh3j2pbbf5y4d5nyqnlr0x27jjyvjjspcccmw61airs1n6rx8jq"))))
|
"1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("r-cli" ,r-cli)
|
`(("r-cli" ,r-cli)
|
||||||
|
@ -2225,3 +2225,516 @@ meta-analysis of significance values including the methods of Edgington,
|
||||||
Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate
|
Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate
|
||||||
published results; and a routine for graphical display.")
|
published results; and a routine for graphical display.")
|
||||||
(license license:gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-network
|
||||||
|
(package
|
||||||
|
(name "r-network")
|
||||||
|
(version "1.13.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "network" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(home-page "http://statnet.org/")
|
||||||
|
(synopsis "Classes for relational data")
|
||||||
|
(description
|
||||||
|
"This package provides tools to create and modify network objects. The
|
||||||
|
@code{network} class can represent a range of relational data types, and
|
||||||
|
supports arbitrary vertex/edge/graph attributes.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-statnet-common
|
||||||
|
(package
|
||||||
|
(name "r-statnet-common")
|
||||||
|
(version "4.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "statnet.common" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yw6l5b4qv0jqlg4zyczas7m12a5pyqghs6ydxy2f6v6vxkijvi0"))))
|
||||||
|
(properties
|
||||||
|
`((upstream-name . "statnet.common")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(home-page "http://www.statnet.org")
|
||||||
|
(synopsis "R scripts and utilities used by the Statnet software")
|
||||||
|
(description "This package provides non-statistical utilities used by the
|
||||||
|
software developed by the Statnet Project.")
|
||||||
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public r-sna
|
||||||
|
(package
|
||||||
|
(name "r-sna")
|
||||||
|
(version "2.4")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "sna" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-network" ,r-network)
|
||||||
|
("r-statnet-common" ,r-statnet-common)))
|
||||||
|
(home-page "http://www.statnet.org")
|
||||||
|
(synopsis "Tools for social network analysis")
|
||||||
|
(description
|
||||||
|
"This package provides a range of tools for social network analysis,
|
||||||
|
including node and graph-level indices, structural distance and covariance
|
||||||
|
methods, structural equivalence detection, network regression, random graph
|
||||||
|
generation, and 2D/3D network visualization.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-ttr
|
||||||
|
(package
|
||||||
|
(name "r-ttr")
|
||||||
|
(version "0.23-3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "TTR" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"07r62ngyzjl4aszdxnr3n6bnbcgcap32yhd430jsilicg8n06di1"))))
|
||||||
|
(properties `((upstream-name . "TTR")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-curl" ,r-curl)
|
||||||
|
("r-xts" ,r-xts)
|
||||||
|
("r-zoo" ,r-zoo)))
|
||||||
|
(native-inputs `(("gfortran" ,gfortran)))
|
||||||
|
(home-page "https://github.com/joshuaulrich/TTR")
|
||||||
|
(synopsis "Technical trading rules")
|
||||||
|
(description
|
||||||
|
"This package provides functions and data to construct technical trading
|
||||||
|
rules with R.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-leaps
|
||||||
|
(package
|
||||||
|
(name "r-leaps")
|
||||||
|
(version "3.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "leaps" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(native-inputs `(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/leaps/")
|
||||||
|
(synopsis "Regression subset selection")
|
||||||
|
(description
|
||||||
|
"This package provides tools for regression subset selection, including
|
||||||
|
exhaustive search.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-splus2r
|
||||||
|
(package
|
||||||
|
(name "r-splus2r")
|
||||||
|
(version "1.2-2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "splus2R" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0xrbj8vxy0pc6hl7m8abv71d3hjw47cl51s7j7priadyqczkq6sz"))))
|
||||||
|
(properties `((upstream-name . "splus2R")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(native-inputs `(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/splus2R/")
|
||||||
|
(synopsis "Supplemental S-PLUS functionality in R")
|
||||||
|
(description
|
||||||
|
"Currently there are many functions in S-PLUS that are missing in R. To
|
||||||
|
facilitate the conversion of S-PLUS packages to R packages, this package
|
||||||
|
provides some missing S-PLUS functionality in R.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-ifultools
|
||||||
|
(package
|
||||||
|
(name "r-ifultools")
|
||||||
|
(version "2.0-4")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "ifultools" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0pv2msaa1rmj8csxdclzi2jwg9pfdvh87blj9j3xa3myisglq092"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-mass" ,r-mass)
|
||||||
|
("r-splus2r" ,r-splus2r)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/ifultools/")
|
||||||
|
(synopsis "Insightful research tools")
|
||||||
|
(description "This package provides C code used by the wmtsa, fractal, and
|
||||||
|
sapa R packages.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-sapa
|
||||||
|
(package
|
||||||
|
(name "r-sapa")
|
||||||
|
(version "2.0-2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "sapa" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"056xlh14dnzq4x7sbp7ff2k61jxy7110a742b502vz549qfrr5ds"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-ifultools" ,r-ifultools)
|
||||||
|
("r-splus2r" ,r-splus2r)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/sapa/")
|
||||||
|
(synopsis "Spectral analysis for physical applications")
|
||||||
|
(description "This package provides software for the book Spectral
|
||||||
|
Analysis for Physical Applications, Donald B. Percival and Andrew T. Walden,
|
||||||
|
Cambridge University Press, 1993.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-quantmod
|
||||||
|
(package
|
||||||
|
(name "r-quantmod")
|
||||||
|
(version "0.4-12")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "quantmod" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0y7gh0k1s10vdsfch8777avbhf99mc9crikvx7ahqrw0j631vmhq"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-curl" ,r-curl)
|
||||||
|
("r-ttr" ,r-ttr)
|
||||||
|
("r-xts" ,r-xts)
|
||||||
|
("r-zoo" ,r-zoo)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/quantmod/")
|
||||||
|
(synopsis "Quantitative financial modelling framework")
|
||||||
|
(description "This package provides a quantitative financial modelling
|
||||||
|
framework to allow users to specify, build, trade, and analyse quantitative
|
||||||
|
financial trading strategies.")
|
||||||
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public r-tseries
|
||||||
|
(package
|
||||||
|
(name "r-tseries")
|
||||||
|
(version "0.10-43")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "tseries" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-quadprog" ,r-quadprog)
|
||||||
|
("r-quantmod" ,r-quantmod)
|
||||||
|
("r-zoo" ,r-zoo)))
|
||||||
|
(native-inputs
|
||||||
|
`(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/tseries/")
|
||||||
|
(synopsis "Time series analysis and computational finance")
|
||||||
|
(description
|
||||||
|
"This package provides functions relating to time series analysis and
|
||||||
|
computational finance.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-wmtsa
|
||||||
|
(package
|
||||||
|
(name "r-wmtsa")
|
||||||
|
(version "2.0-3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "wmtsa" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-ifultools" ,r-ifultools)
|
||||||
|
("r-mass" ,r-mass)
|
||||||
|
("r-splus2r" ,r-splus2r)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/wmtsa/")
|
||||||
|
(synopsis "Wavelet methods for time series analysis")
|
||||||
|
(description
|
||||||
|
"This package provides software to accompany the book \"Wavelet Methods
|
||||||
|
for Time Series Analysis\", Donald B. Percival and Andrew T. Walden, Cambridge
|
||||||
|
University Press, 2000.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-tsa
|
||||||
|
(package
|
||||||
|
(name "r-tsa")
|
||||||
|
(version "1.01")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "TSA" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"))))
|
||||||
|
(properties `((upstream-name . "TSA")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-leaps" ,r-leaps)
|
||||||
|
("r-locfit" ,r-locfit)
|
||||||
|
("r-mgcv" ,r-mgcv)
|
||||||
|
("r-tseries" ,r-tseries)))
|
||||||
|
(home-page "http://www.stat.uiowa.edu/~kchan/TSA.htm")
|
||||||
|
(synopsis "Time series analysis")
|
||||||
|
(description
|
||||||
|
"This package contains R functions and datasets detailed in the book
|
||||||
|
\"Time Series Analysis with Applications in R (second edition)\" by Jonathan
|
||||||
|
Cryer and Kung-Sik Chan.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-extradistr
|
||||||
|
(package
|
||||||
|
(name "r-extradistr")
|
||||||
|
(version "1.8.8")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "extraDistr" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ywn4qwnamv36l1hw27l9y5kh3v6ha5781wsv2bz6szqjgg7kdb3"))))
|
||||||
|
(properties `((upstream-name . "extraDistr")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-rcpp" ,r-rcpp)))
|
||||||
|
(home-page "https://github.com/twolodzko/extraDistr")
|
||||||
|
(synopsis "Additional univariate and multivariate distributions")
|
||||||
|
(description
|
||||||
|
"This package implements density, distribution functions, quantile
|
||||||
|
functions and random generation functions for a large number of univariate and
|
||||||
|
multivariate distributions.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-fractal
|
||||||
|
(package
|
||||||
|
(name "r-fractal")
|
||||||
|
(version "2.0-4")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "fractal" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"18lr9z0gslvfc3z8vyj3krqj3bfhg60zv1fzinrwwkc4cpk1w7mp"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-ifultools" ,r-ifultools)
|
||||||
|
("r-mass" ,r-mass)
|
||||||
|
("r-sapa" ,r-sapa)
|
||||||
|
("r-scatterplot3d" ,r-scatterplot3d)
|
||||||
|
("r-splus2r" ,r-splus2r)
|
||||||
|
("r-wmtsa" ,r-wmtsa)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/fractal/")
|
||||||
|
(synopsis "Fractal time series modeling and analysis")
|
||||||
|
(description
|
||||||
|
"This package provides tools for stochastic fractal and deterministic
|
||||||
|
chaotic time series analysis.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-urca
|
||||||
|
(package
|
||||||
|
(name "r-urca")
|
||||||
|
(version "1.3-0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "urca" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs `(("r-nlme" ,r-nlme)))
|
||||||
|
(native-inputs `(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/urca/")
|
||||||
|
(synopsis "Unit root and cointegration tests for time series data")
|
||||||
|
(description
|
||||||
|
"This package provides unit root and cointegration tests encountered in
|
||||||
|
applied econometric analysis.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-cubature
|
||||||
|
(package
|
||||||
|
(name "r-cubature")
|
||||||
|
(version "1.3-11")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "cubature" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"06f6gsvbb732p80r6hxvzh4ik546icxfvx21dyh65ypmw3kgm64k"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-rcpp" ,r-rcpp)))
|
||||||
|
(home-page "https://github.com/bnaras/cubature")
|
||||||
|
(synopsis "Adaptive multivariate integration over hypercubes")
|
||||||
|
(description
|
||||||
|
"This package is an R wrapper around the cubature C library for adaptive
|
||||||
|
multivariate integration over hypercubes. This version provides both
|
||||||
|
@code{hcubature} and @code{pcubature} routines in addition to a vector
|
||||||
|
interface.")
|
||||||
|
;; The included cubature C library is released under GPLv2+, but the
|
||||||
|
;; wrapper declares the license to be GPLv3+.
|
||||||
|
(license (list license:gpl2+ license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public r-trend
|
||||||
|
(package
|
||||||
|
(name "r-trend")
|
||||||
|
(version "1.1.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "trend" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"06yifqbsvxbmk5gld4z2nnyhf59v8ks5xjwacmb25mv9r6bn388b"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-extradistr" ,r-extradistr)))
|
||||||
|
(native-inputs
|
||||||
|
`(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/trend/")
|
||||||
|
(synopsis "Non-parametric trend tests and change-point detection")
|
||||||
|
(description
|
||||||
|
"The analysis of environmental data often requires the detection of
|
||||||
|
trends and change-points. This package includes tests for trend
|
||||||
|
detection (Cox-Stuart Trend Test, Mann-Kendall Trend Test, (correlated)
|
||||||
|
Hirsch-Slack Test, partial Mann-Kendall Trend Test, multivariate (multisite)
|
||||||
|
Mann-Kendall Trend Test, (Seasonal) Sen's slope, partial Pearson and Spearman
|
||||||
|
correlation trend test), change-point detection (Lanzante's test procedures,
|
||||||
|
Pettitt's test, Buishand Range Test, Buishand U Test, Standard Normal
|
||||||
|
Homogeinity Test), detection of non-randomness (Wallis-Moore Phase Frequency
|
||||||
|
Test, Bartels rank von Neumann's ratio test, Wald-Wolfowitz Test) and the two
|
||||||
|
sample Robust Rank-Order Distributional Test.")
|
||||||
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public r-expm
|
||||||
|
(package
|
||||||
|
(name "r-expm")
|
||||||
|
(version "0.999-2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "expm" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1mihl67kvv1xv0figp25jkmwfn4iwkcx15cng2348y8gm6zybw9q"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs `(("r-matrix" ,r-matrix)))
|
||||||
|
(native-inputs `(("gfortran" ,gfortran)))
|
||||||
|
(home-page "http://r-forge.r-project.org/projects/expm/")
|
||||||
|
(synopsis "Tools for matrix exponentials and related quantities")
|
||||||
|
(description
|
||||||
|
"This package provides tools for the computation of the matrix
|
||||||
|
exponential, logarithm, square root, and related quantities.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public r-complexplus
|
||||||
|
(package
|
||||||
|
(name "r-complexplus")
|
||||||
|
(version "2.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "complexplus" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-expm" ,r-expm)
|
||||||
|
("r-matrix" ,r-matrix)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/complexplus/")
|
||||||
|
(synopsis "Functions of complex or real variables")
|
||||||
|
(description
|
||||||
|
"This package extends several functions to the complex domain, including
|
||||||
|
the matrix exponential and logarithm, and the determinant.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public r-phontools
|
||||||
|
(package
|
||||||
|
(name "r-phontools")
|
||||||
|
(version "0.2-2.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "phonTools" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"01i481mhswsys3gpasw9gn6nxkfmi7bz46g5c84m13pg0cv8hxc7"))))
|
||||||
|
(properties `((upstream-name . "phonTools")))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(home-page "http://www.santiagobarreda.com/rscripts.html")
|
||||||
|
(synopsis "Tools for phonetic and acoustic analyses")
|
||||||
|
(description
|
||||||
|
"This package contains tools for the organization, display, and analysis
|
||||||
|
of the sorts of data frequently encountered in phonetics research and
|
||||||
|
experimentation, including the easy creation of IPA vowel plots, and the
|
||||||
|
creation and manipulation of WAVE audio files.")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public r-np
|
||||||
|
(package
|
||||||
|
(name "r-np")
|
||||||
|
(version "0.60-6")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "np" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-boot" ,r-boot)
|
||||||
|
("r-cubature" ,r-cubature)
|
||||||
|
("r-quantreg" ,r-quantreg)))
|
||||||
|
(home-page "https://github.com/JeffreyRacine/R-Package-np")
|
||||||
|
(synopsis "Non-parametric kernel smoothing methods for mixed data types")
|
||||||
|
(description "This package provides non-parametric (and semi-parametric)
|
||||||
|
kernel methods that seamlessly handle a mix of continuous, unordered, and
|
||||||
|
ordered factor data types.")
|
||||||
|
;; Any version of the GPL.
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public r-powerplus
|
||||||
|
(package
|
||||||
|
(name "r-powerplus")
|
||||||
|
(version "3.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (cran-uri "powerplus" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ayp6x34hkzgris4j3zbbs0r23n81bhww3wgfyy630ri4sk6brrn"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-complexplus" ,r-complexplus)
|
||||||
|
("r-expm" ,r-expm)
|
||||||
|
("r-mass" ,r-mass)
|
||||||
|
("r-matrix" ,r-matrix)
|
||||||
|
("r-phontools" ,r-phontools)))
|
||||||
|
(home-page "http://cran.r-project.org/web/packages/powerplus/")
|
||||||
|
(synopsis "Exponentiation operations")
|
||||||
|
(description
|
||||||
|
"This package provides tools for the computation of matrix and scalar
|
||||||
|
exponentiation.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
|
@ -384,9 +384,9 @@ no man page, refer to the home page for usage details.")
|
||||||
(delete 'configure) ;no configuration to be done
|
(delete 'configure) ;no configuration to be done
|
||||||
(add-after 'install 'i18n
|
(add-after 'install 'i18n
|
||||||
(lambda* (#:key make-flags #:allow-other-keys)
|
(lambda* (#:key make-flags #:allow-other-keys)
|
||||||
(zero? (apply system*
|
(apply invoke "make" "-C" "extras/translations"
|
||||||
"make" "-C" "extras/translations"
|
"install" make-flags)
|
||||||
"install" make-flags))))
|
#t))
|
||||||
(add-after 'install 'wrap
|
(add-after 'install 'wrap
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
@ -411,8 +411,9 @@ no man page, refer to the home page for usage details.")
|
||||||
;; querying `tomb -h`.
|
;; querying `tomb -h`.
|
||||||
(let ((tomb (string-append (assoc-ref outputs "out")
|
(let ((tomb (string-append (assoc-ref outputs "out")
|
||||||
"/bin/tomb")))
|
"/bin/tomb")))
|
||||||
(zero? (system* tomb "dig" "-s" "10" "secrets.tomb"))))))))
|
(invoke tomb "dig" "-s" "10" "secrets.tomb")
|
||||||
(home-page "http://www.dyne.org/software/tomb")
|
#t))))))
|
||||||
|
(home-page "https://www.dyne.org/software/tomb")
|
||||||
(synopsis "File encryption for secret data")
|
(synopsis "File encryption for secret data")
|
||||||
(description
|
(description
|
||||||
"Tomb is an application to manage the creation and access of encrypted
|
"Tomb is an application to manage the creation and access of encrypted
|
||||||
|
|
|
@ -158,6 +158,7 @@ tunneling, and so on.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/davidjpeacock/kurly.git")
|
(url "https://github.com/davidjpeacock/kurly.git")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3"))))
|
"1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3"))))
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||||
|
@ -396,14 +396,15 @@ mapping from string keys to string values.")
|
||||||
(define-public memcached
|
(define-public memcached
|
||||||
(package
|
(package
|
||||||
(name "memcached")
|
(name "memcached")
|
||||||
(version "1.5.0")
|
(version "1.5.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0"))))
|
(base32
|
||||||
|
"00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("libevent" ,libevent)
|
`(("libevent" ,libevent)
|
||||||
|
@ -699,14 +700,14 @@ as a drop-in replacement of MySQL.")
|
||||||
(define-public postgresql
|
(define-public postgresql
|
||||||
(package
|
(package
|
||||||
(name "postgresql")
|
(name "postgresql")
|
||||||
(version "10.2")
|
(version "10.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||||
version "/postgresql-" version ".tar.bz2"))
|
version "/postgresql-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"))))
|
"06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("--with-uuid=e2fs")
|
`(#:configure-flags '("--with-uuid=e2fs")
|
||||||
|
@ -744,14 +745,14 @@ pictures, sounds, or video.")
|
||||||
(package
|
(package
|
||||||
(inherit postgresql)
|
(inherit postgresql)
|
||||||
(name "postgresql")
|
(name "postgresql")
|
||||||
(version "9.6.6")
|
(version "9.6.8")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||||
version "/postgresql-" version ".tar.bz2"))
|
version "/postgresql-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r"))))))
|
"0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga"))))))
|
||||||
|
|
||||||
(define-public qdbm
|
(define-public qdbm
|
||||||
(package
|
(package
|
||||||
|
@ -840,7 +841,7 @@ types are supported, as is encryption.")
|
||||||
(define-public rocksdb
|
(define-public rocksdb
|
||||||
(package
|
(package
|
||||||
(name "rocksdb")
|
(name "rocksdb")
|
||||||
(version "5.2.1")
|
(version "5.10.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/facebook/rocksdb"
|
(uri (string-append "https://github.com/facebook/rocksdb"
|
||||||
|
@ -848,18 +849,28 @@ types are supported, as is encryption.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb"))
|
"0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
;; TODO: unbundle gtest.
|
;; TODO: unbundle gtest.
|
||||||
(delete-file "build_tools/gnu_parallel")
|
(delete-file "build_tools/gnu_parallel")
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("build_tools/gnu_parallel") "parallel"))
|
||||||
#t))))
|
#t))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags (list "CC=gcc"
|
`(#:make-flags (list "CC=gcc" "V=1"
|
||||||
|
;; Ceph requires that RTTI is enabled.
|
||||||
|
"USE_RTTI=1"
|
||||||
(string-append "INSTALL_PATH="
|
(string-append "INSTALL_PATH="
|
||||||
(assoc-ref %outputs "out")))
|
(assoc-ref %outputs "out"))
|
||||||
|
|
||||||
|
;; Running the full test suite takes hours and require
|
||||||
|
;; a lot of disk space. Instead we only run a subset
|
||||||
|
;; (see .travis.yml and Makefile).
|
||||||
|
"ROCKSDBTESTS_END=db_tailing_iter_test")
|
||||||
|
#:test-target "check_some"
|
||||||
;; Many tests fail on 32-bit platforms. There are multiple reports about
|
;; Many tests fail on 32-bit platforms. There are multiple reports about
|
||||||
;; this upstream, but it's not going to be supported any time soon.
|
;; this upstream, but it's not going to be supported any time soon.
|
||||||
#:tests? (let ((system ,(or (%current-target-system)
|
#:tests? (let ((system ,(or (%current-target-system)
|
||||||
|
@ -871,7 +882,6 @@ types are supported, as is encryption.")
|
||||||
(add-after 'unpack 'patch-Makefile
|
(add-after 'unpack 'patch-Makefile
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Makefile"
|
(substitute* "Makefile"
|
||||||
(("build_tools/gnu_parallel") "parallel")
|
|
||||||
;; Don't depend on the static library when installing.
|
;; Don't depend on the static library when installing.
|
||||||
(("install: install-static")
|
(("install: install-static")
|
||||||
"install: install-shared")
|
"install: install-shared")
|
||||||
|
@ -888,20 +898,20 @@ types are supported, as is encryption.")
|
||||||
(add-before 'check 'disable-failing-tests
|
(add-before 'check 'disable-failing-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Makefile"
|
(substitute* "Makefile"
|
||||||
;; This test fails with GCC-5 and is unmaintained.
|
|
||||||
;; https://github.com/facebook/rocksdb/issues/2148
|
|
||||||
(("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\")
|
|
||||||
;; These tests reliably fail due to "Too many open files".
|
;; These tests reliably fail due to "Too many open files".
|
||||||
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
|
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
|
||||||
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
|
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
|
||||||
#t))
|
#t))
|
||||||
(add-after 'check 'build-release-libraries
|
(add-after 'check 'build
|
||||||
;; The default build target is a debug build for tests. The
|
;; The default build target is a debug build for tests. The
|
||||||
;; install target depends on "shared_lib" and "static_lib"
|
;; install target depends on the "shared_lib" release target
|
||||||
;; targets for release builds so we build them here for clarity.
|
;; so we build it here for clarity.
|
||||||
;; TODO: Add debug output.
|
(lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
|
||||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
(apply invoke "make" "shared_lib"
|
||||||
(zero? (apply system* "make" "shared_lib" make-flags)))))))
|
`(,@(if parallel-build?
|
||||||
|
`("-j" ,(number->string (parallel-job-count)))
|
||||||
|
'())
|
||||||
|
,@make-flags)))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("parallel" ,parallel)
|
`(("parallel" ,parallel)
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
|
@ -925,8 +935,9 @@ between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}
|
||||||
(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded
|
(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded
|
||||||
compactions, making it specially suitable for storing multiple terabytes of
|
compactions, making it specially suitable for storing multiple terabytes of
|
||||||
data in a single database. RocksDB is partially based on @code{LevelDB}.")
|
data in a single database. RocksDB is partially based on @code{LevelDB}.")
|
||||||
;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
|
;; RocksDB is dual licensed under GPL2 and ASL 2.0. Some header
|
||||||
(license (list license:bsd-3 license:asl2.0))))
|
;; files carry the 3-clause BSD license.
|
||||||
|
(license (list license:gpl2 license:asl2.0 license:bsd-3))))
|
||||||
|
|
||||||
(define-public sparql-query
|
(define-public sparql-query
|
||||||
(package
|
(package
|
||||||
|
@ -2042,14 +2053,14 @@ and web services platform functionality.")
|
||||||
(define-public r-rmysql
|
(define-public r-rmysql
|
||||||
(package
|
(package
|
||||||
(name "r-rmysql")
|
(name "r-rmysql")
|
||||||
(version "0.10.13")
|
(version "0.10.14")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "RMySQL" version))
|
(uri (cran-uri "RMySQL" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82"))))
|
"01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590"))))
|
||||||
(properties `((upstream-name . "RMySQL")))
|
(properties `((upstream-name . "RMySQL")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
|
@ -2284,6 +2295,7 @@ PickleShare.")
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/rogerbinns/apsw/archive/"
|
(uri (string-append "https://github.com/rogerbinns/apsw/archive/"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append "apsw-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
|
"00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
|
||||||
|
@ -2295,19 +2307,19 @@ PickleShare.")
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'build
|
(replace 'build
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero?
|
(invoke "python" "setup.py" "build" "--enable-all-extensions")
|
||||||
(system* "python" "setup.py" "build" "--enable-all-extensions"))))
|
#t))
|
||||||
(add-after 'build 'build-test-helper
|
(add-after 'build 'build-test-helper
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero?
|
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
|
||||||
(system
|
"-I." "-Isqlite3" "src/testextension.c")
|
||||||
(string-append "gcc -fPIC -shared -o ./testextension.sqlext "
|
#t))
|
||||||
"-I. -Isqlite3 src/testextension.c") ))))
|
|
||||||
(delete 'check)
|
(delete 'check)
|
||||||
(add-after 'install 'check
|
(add-after 'install 'check
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(add-installed-pythonpath inputs outputs)
|
(add-installed-pythonpath inputs outputs)
|
||||||
(zero? (system* "python" "setup.py" "test")))))))
|
(invoke "python" "setup.py" "test")
|
||||||
|
#t)))))
|
||||||
(home-page "https://github.com/rogerbinns/apsw/")
|
(home-page "https://github.com/rogerbinns/apsw/")
|
||||||
(synopsis "Another Python SQLite Wrapper")
|
(synopsis "Another Python SQLite Wrapper")
|
||||||
(description "APSW is a Python wrapper for the SQLite
|
(description "APSW is a Python wrapper for the SQLite
|
||||||
|
|
|
@ -66,8 +66,6 @@
|
||||||
(bin (string-append out "/bin"))
|
(bin (string-append out "/bin"))
|
||||||
(doc (string-append out "/share/doc/delta-" ,version)))
|
(doc (string-append out "/share/doc/delta-" ,version)))
|
||||||
(begin
|
(begin
|
||||||
(mkdir-p bin)
|
|
||||||
(mkdir-p doc)
|
|
||||||
(for-each (lambda (h)
|
(for-each (lambda (h)
|
||||||
(install-file h doc))
|
(install-file h doc))
|
||||||
`("License.txt" ,@(find-files "www" ".*\\.html")))
|
`("License.txt" ,@(find-files "www" ".*\\.html")))
|
||||||
|
@ -75,7 +73,7 @@
|
||||||
(install-file b bin))
|
(install-file b bin))
|
||||||
`("delta" "multidelta" "topformflat"))))
|
`("delta" "multidelta" "topformflat"))))
|
||||||
#t))
|
#t))
|
||||||
(delete 'configure))))
|
(delete 'configure)))) ; no configure script
|
||||||
(home-page "http://delta.tigris.org/")
|
(home-page "http://delta.tigris.org/")
|
||||||
(synopsis "Heuristical file minimizer")
|
(synopsis "Heuristical file minimizer")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||||
|
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -211,7 +212,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
||||||
(define-public grammalecte
|
(define-public grammalecte
|
||||||
(package
|
(package
|
||||||
(name "grammalecte")
|
(name "grammalecte")
|
||||||
(version "0.6.1")
|
(version "0.6.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch/zipbomb)
|
(method url-fetch/zipbomb)
|
||||||
|
@ -219,20 +220,8 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
||||||
"Grammalecte-fr-v" version ".zip"))
|
"Grammalecte-fr-v" version ".zip"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i"))))
|
"0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
|
||||||
'(#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'fix-setup.py
|
|
||||||
;; FIXME: "setup.py" contains a typo in 0.6.1 release. The
|
|
||||||
;; issue was reported and fixed upstream
|
|
||||||
;; (https://dicollecte.org/thread.php?prj=fr&t=674). This
|
|
||||||
;; phase can be removed in next release.
|
|
||||||
(lambda _
|
|
||||||
(substitute* "setup.py"
|
|
||||||
(("server_options\\.") "grammalecte-server-options."))
|
|
||||||
#t)))))
|
|
||||||
(home-page "https://www.dicollecte.org")
|
(home-page "https://www.dicollecte.org")
|
||||||
(synopsis "French spelling and grammar checker")
|
(synopsis "French spelling and grammar checker")
|
||||||
(description "Grammalecte is a grammar checker dedicated to the French
|
(description "Grammalecte is a grammar checker dedicated to the French
|
||||||
|
|
|
@ -36,13 +36,13 @@
|
||||||
(define-public python-django
|
(define-public python-django
|
||||||
(package
|
(package
|
||||||
(name "python-django")
|
(name "python-django")
|
||||||
(version "1.11.10")
|
(version "1.11.11")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "Django" version))
|
(uri (pypi-uri "Django" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ndc7axr7cz8jwhr4mz16fvwd0jcd6i81q2wi9nl172s71kkaf12"))))
|
"1p0fk0dszci9gx76hyhay3n8n0k8r4sznbdcrpd9g2xl15rps1vl"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:modules ((srfi srfi-1)
|
'(#:modules ((srfi srfi-1)
|
||||||
|
|
|
@ -614,7 +614,7 @@ process, passing on the arguments as command line arguments.")
|
||||||
'build 'pre-build
|
'build 'pre-build
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(define (el-dir store-dir)
|
(define (el-dir store-dir)
|
||||||
(match (find-files store-dir)
|
(match (find-files store-dir "\\.el$")
|
||||||
((f1 f2 ...) (dirname f1))
|
((f1 f2 ...) (dirname f1))
|
||||||
(_ "")))
|
(_ "")))
|
||||||
|
|
||||||
|
@ -3546,6 +3546,7 @@ It is recommended to use @code{clojure-mode} with paredit or smartparens.")
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://github.com/cask/epl/archive/"
|
"https://github.com/cask/epl/archive/"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
|
"1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
|
||||||
|
@ -4300,6 +4301,7 @@ CIDER).")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/joaotavora/sly.git")
|
(url "https://github.com/joaotavora/sly.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
|
"0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
|
||||||
|
@ -6889,7 +6891,7 @@ in a generalized CSV (character-separated values) format.")
|
||||||
(define-public emacs-transmission
|
(define-public emacs-transmission
|
||||||
(package
|
(package
|
||||||
(name "emacs-transmission")
|
(name "emacs-transmission")
|
||||||
(version "0.12")
|
(version "0.12.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -6898,7 +6900,7 @@ in a generalized CSV (character-separated values) format.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1y0bpsy16pycp6m9aqvfjh2x1yswfb305ib7m2slcjpb6njgxfi6"))))
|
"1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://github.com/holomorph/transmission")
|
(home-page "https://github.com/holomorph/transmission")
|
||||||
(synopsis "Emacs interface to a Transmission session")
|
(synopsis "Emacs interface to a Transmission session")
|
||||||
|
@ -7311,3 +7313,51 @@ Features:
|
||||||
(description "@code{epipe} provides an utility to use your editor in
|
(description "@code{epipe} provides an utility to use your editor in
|
||||||
the pipeline, featuring the support for running @code{emacsclient}.")
|
the pipeline, featuring the support for running @code{emacsclient}.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-hcl-mode
|
||||||
|
(package
|
||||||
|
(name "emacs-hcl-mode")
|
||||||
|
(version "0.03")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/syohex/emacs-hcl-mode/archive/"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://github.com/syohex/emacs-hcl-mode")
|
||||||
|
(synopsis "Major mode for the Hashicorp Configuration Language")
|
||||||
|
(description
|
||||||
|
"@code{emacs-hcl-mode} provides an Emacs major mode for working with
|
||||||
|
@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
|
||||||
|
highlighting and indentation support.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-terraform-mode
|
||||||
|
(package
|
||||||
|
(name "emacs-terraform-mode")
|
||||||
|
(version "0.06")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/syohex/emacs-terraform-mode/archive/"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("emacs-hcl-mode" ,emacs-hcl-mode)))
|
||||||
|
(home-page "https://github.com/syohex/emacs-terraform-mode")
|
||||||
|
(synopsis "Major mode for Terraform")
|
||||||
|
(description
|
||||||
|
"@code{emacs-terraform-mode} provides a major mode for working with
|
||||||
|
@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
|
||||||
|
functionality is inherited from @code{hcl-mode}.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
|
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
|
||||||
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
|
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
|
||||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
(define-public efl
|
(define-public efl
|
||||||
(package
|
(package
|
||||||
(name "efl")
|
(name "efl")
|
||||||
(version "1.20.6")
|
(version "1.20.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -68,7 +68,9 @@
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn"))))
|
"1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh"))))
|
||||||
|
(outputs '("out" ; 49 MB
|
||||||
|
"include")) ; 17 MB
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
|
|
@ -114,6 +114,7 @@ single file can be mounted.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/ReproducibleBuilds/disorderfs.git")
|
(url "https://github.com/ReproducibleBuilds/disorderfs.git")
|
||||||
(commit "0.5.2")))
|
(commit "0.5.2")))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1j028dq3d4m64mn9xmfamcnnc7i2drmra4pdmxdmqdsi8p7yj4sv"))))
|
"1j028dq3d4m64mn9xmfamcnnc7i2drmra4pdmxdmqdsi8p7yj4sv"))))
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2017 David Craven <david@craven.ch>
|
;;; Copyright © 2017 David Craven <david@craven.ch>
|
||||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -70,11 +71,8 @@
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(fw-dir (string-append out "/lib/firmware")))
|
(fw-dir (string-append out "/lib/firmware")))
|
||||||
(mkdir-p fw-dir)
|
|
||||||
(for-each (lambda (file)
|
(for-each (lambda (file)
|
||||||
(copy-file file
|
(install-file file fw-dir))
|
||||||
(string-append fw-dir "/"
|
|
||||||
(basename file))))
|
|
||||||
(find-files "." "\\.fw$"))
|
(find-files "." "\\.fw$"))
|
||||||
#t))))
|
#t))))
|
||||||
#:tests? #f))
|
#:tests? #f))
|
||||||
|
@ -94,11 +92,11 @@ Linux-libre.")
|
||||||
(license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
|
(license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
|
||||||
|
|
||||||
(define-public b43-tools
|
(define-public b43-tools
|
||||||
(let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
|
(let ((commit "27892ef741e7f1d08cb939744f8b8f5dac7b04ae")
|
||||||
(rev "1"))
|
(revision "1"))
|
||||||
(package
|
(package
|
||||||
(name "b43-tools")
|
(name "b43-tools")
|
||||||
(version (string-append "20140625-" rev "." (string-take commit 7)))
|
(version (git-version "0.0.0" revision commit))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -108,7 +106,7 @@ Linux-libre.")
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv"))))
|
"1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("flex" ,flex)
|
`(("flex" ,flex)
|
||||||
|
@ -121,7 +119,7 @@ Linux-libre.")
|
||||||
#:phases
|
#:phases
|
||||||
(let ((subdirs '("assembler" "disassembler")))
|
(let ((subdirs '("assembler" "disassembler")))
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(delete 'configure)
|
(delete 'configure) ; no configure script
|
||||||
(add-before 'build 'patch-/bin/true
|
(add-before 'build 'patch-/bin/true
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* (find-files "." "Makefile")
|
(substitute* (find-files "." "Makefile")
|
||||||
|
@ -129,21 +127,22 @@ Linux-libre.")
|
||||||
#t))
|
#t))
|
||||||
(replace 'build
|
(replace 'build
|
||||||
(lambda _
|
(lambda _
|
||||||
(every (lambda (dir)
|
(for-each (lambda (dir)
|
||||||
(zero? (system* "make" "-C" dir "CC=gcc")))
|
(invoke "make" "-C" dir "CC=gcc"))
|
||||||
subdirs)))
|
subdirs)
|
||||||
|
#t))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
(mkdir-p (string-append out "/bin"))
|
(mkdir-p (string-append out "/bin"))
|
||||||
(every (lambda (dir)
|
(for-each (lambda (dir)
|
||||||
(zero?
|
(invoke "make" "-C" dir
|
||||||
(system* "make" "-C" dir
|
|
||||||
(string-append "PREFIX=" out)
|
(string-append "PREFIX=" out)
|
||||||
"install")))
|
"install"))
|
||||||
subdirs))))))))
|
subdirs)
|
||||||
|
#t)))))))
|
||||||
(home-page
|
(home-page
|
||||||
"http://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools")
|
"https://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools")
|
||||||
(synopsis "Collection of tools for the b43 wireless driver")
|
(synopsis "Collection of tools for the b43 wireless driver")
|
||||||
(description
|
(description
|
||||||
"The b43 firmware tools is a collection of firmware extractor,
|
"The b43 firmware tools is a collection of firmware extractor,
|
||||||
|
@ -259,6 +258,8 @@ coreboot.")
|
||||||
(setenv "WORKSPACE" cwd)
|
(setenv "WORKSPACE" cwd)
|
||||||
(setenv "EDK_TOOLS_PATH" tools)
|
(setenv "EDK_TOOLS_PATH" tools)
|
||||||
(setenv "PATH" (string-append (getenv "PATH") ":" bin))
|
(setenv "PATH" (string-append (getenv "PATH") ":" bin))
|
||||||
|
; FIXME: The below script errors out. When using 'invoke' instead
|
||||||
|
; of 'system*' this causes the build to fail.
|
||||||
(system* "bash" "edksetup.sh" "BaseTools")
|
(system* "bash" "edksetup.sh" "BaseTools")
|
||||||
(substitute* "Conf/target.txt"
|
(substitute* "Conf/target.txt"
|
||||||
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
|
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
|
||||||
|
@ -268,14 +269,16 @@ coreboot.")
|
||||||
(number->string (parallel-job-count)))))
|
(number->string (parallel-job-count)))))
|
||||||
;; Build build support.
|
;; Build build support.
|
||||||
(setenv "BUILD_CC" "gcc")
|
(setenv "BUILD_CC" "gcc")
|
||||||
(zero? (system* "make" "-C" (string-append tools "/Source/C"))))))
|
(invoke "make" "-C" (string-append tools "/Source/C"))
|
||||||
|
#t)))
|
||||||
(add-after 'build 'build-ia32
|
(add-after 'build 'build-ia32
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Conf/target.txt"
|
(substitute* "Conf/target.txt"
|
||||||
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n")
|
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n")
|
||||||
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
||||||
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
|
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
|
||||||
(zero? (system* "build"))))
|
(invoke "build")
|
||||||
|
#t))
|
||||||
,@(if (string=? "x86_64-linux" (%current-system))
|
,@(if (string=? "x86_64-linux" (%current-system))
|
||||||
'((add-after 'build 'build-x64
|
'((add-after 'build 'build-x64
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -283,7 +286,8 @@ coreboot.")
|
||||||
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
|
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
|
||||||
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
||||||
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
|
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
|
||||||
(zero? (system* "build")))))
|
(invoke "build")
|
||||||
|
#t)))
|
||||||
'())
|
'())
|
||||||
(delete 'build)
|
(delete 'build)
|
||||||
(replace 'install
|
(replace 'install
|
||||||
|
@ -299,7 +303,7 @@ coreboot.")
|
||||||
'()))
|
'()))
|
||||||
#t)))))
|
#t)))))
|
||||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||||
(home-page "http://www.tianocore.org")
|
(home-page "https://www.tianocore.org")
|
||||||
(synopsis "UEFI firmware for QEMU")
|
(synopsis "UEFI firmware for QEMU")
|
||||||
(description "OVMF is an EDK II based project to enable UEFI support for
|
(description "OVMF is an EDK II based project to enable UEFI support for
|
||||||
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
|
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
|
||||||
|
|
|
@ -370,7 +370,7 @@ effects and music to make a completely free game.")
|
||||||
(version "3.1")
|
(version "3.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/golly/golly-"
|
(uri (string-append "mirror://sourceforge/golly/golly/golly-"
|
||||||
version "/golly-" version
|
version "/golly-" version
|
||||||
"-src.tar.gz"))
|
"-src.tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
|
@ -3491,6 +3491,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/freegish/freegish.git")
|
(url "https://github.com/freegish/freegish.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx"))
|
"1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx"))
|
||||||
|
|
|
@ -405,7 +405,7 @@ security standards.")
|
||||||
(define-public icecat
|
(define-public icecat
|
||||||
(package
|
(package
|
||||||
(name "icecat")
|
(name "icecat")
|
||||||
(version "52.3.0-gnu1")
|
(version "52.6.0-gnu1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -414,7 +414,7 @@ security standards.")
|
||||||
"/" name "-" version ".tar.bz2"))
|
"/" name "-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"00jki754d6310fxj1b7dbhqj69y5igck6gqg6rgfya243nsb56k9"))
|
"09fn54glqg1aa93hnz5zdcy07cps09dbni2b4200azh6nang630a"))
|
||||||
(patches
|
(patches
|
||||||
(list
|
(list
|
||||||
(search-patch "icecat-avoid-bundled-libraries.patch")
|
(search-patch "icecat-avoid-bundled-libraries.patch")
|
||||||
|
@ -422,125 +422,26 @@ security standards.")
|
||||||
(search-patch "icecat-use-system-graphite2.patch")
|
(search-patch "icecat-use-system-graphite2.patch")
|
||||||
(mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k")
|
(mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k")
|
||||||
(mozilla-patch "icecat-bug-1350152.patch" "f822bda79c28" "1wf56169ca874shr6r7qx40s17h2gwj7ngmpyylrpmd1c6hipvsj")
|
(mozilla-patch "icecat-bug-1350152.patch" "f822bda79c28" "1wf56169ca874shr6r7qx40s17h2gwj7ngmpyylrpmd1c6hipvsj")
|
||||||
(mozilla-patch "icecat-bug-1388166.patch" "fbb0bdb191d5" "1y8wpj38vw1dd6f375s9i0mrk9bd8z8gz5g70p4qynfllpkn072d")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt1.patch" "fbddb5cdd3c7" "0k5nyl2z1y2rx9fwqyfj64678yv6v3pnmshgk552pbzqmaf8i1hq")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt2.patch" "76c25987a275" "095b9vwsiza9ikbnnppfcld16h75x5bxjfxc73913y04n0i42ifh")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt3.patch" "32eec29a85a5" "057simakqg56jvas1wkskg5kszn96m74nca26x08d5w7rzmbv1q2")
|
|
||||||
(mozilla-patch "icecat-bug-1373222.patch" "ecef71fa933f" "0vsymgy5j702lamvh2riahni7rdj9ba3bd6i4a2m22d638rwp1i2")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7814.patch" "68a444daf85b" "1faaadaajidzb9i00710zxdyv370hlrdg1l5rw2ymfmzbjj4jqyd")
|
|
||||||
(mozilla-patch "icecat-bug-1376825.patch" "eeeec9cafc4e" "188qf6zi9kyxb33330yia6wmrd5mdyqn5hr1cl38zy7m3akv8srh")
|
|
||||||
(mozilla-patch "icecat-bug-1385272.patch" "d68fa12fbffc" "13gh97vz9n2b7303jcvr1072iy8bghy9chvbmxzvw82prvkscavw")
|
|
||||||
(mozilla-patch "icecat-bug-1390002.patch" "c24e6fc9f689" "0aswhy5fz2f6wzd5j5gg3nqvz707ip344089h2z2chcp146vxmf4")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt4.patch" "ae110cf77596" "0gdrkfq9wy9cfcdgbj14ci86xgh2prkbz69pfy97r9igd8059syw")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt5.patch" "b8417112486d" "1hya6lccz7vm51v4f6ww072794cwzmfn9xhxmvrnqbiyspxx5fz4")
|
|
||||||
(mozilla-patch "icecat-bug-1386905.patch" "badbf4308211" "0fj1pyjqfdsbrlfykwmkzav2nvdj1f4grwq3cal9f7ay6wjnfs9b")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt6.patch" "d78675515c78" "03w5hqy40xkckbaf5bm9kdbdqvp9ffvpk9mlrc9lja6b7qa4pjhg")
|
|
||||||
(mozilla-patch "icecat-bug-1382303.patch" "f01155fe4d54" "0hnz1kvmvspg6453kydsklbvrjgzn8x3djvrym3f2xl2yinaf90d")
|
|
||||||
(mozilla-patch "icecat-bug-1393467.patch" "4eec2a60622c" "1h006mwcsagq7mz7haymwgr7fn4zj14n5lxbjcmhdqrxdvma2hjj")
|
|
||||||
(mozilla-patch "icecat-bug-1384801.patch" "9556e792f905" "0i74r807189s8i78483caiifw68cn7fs543i4cys6k3gn12dhhjy")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7823.patch" "bd284765b5bc" "1c4hss87kc4qwx30magbqczm9h7zmwirjfc8zimqbrnwv9bbsfh3")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7805.patch" "113da8d46aa4" "1vy0lw659mwixmb57mgybga152rdwqd5zj1g7nfw1zgp15pfwr75")
|
|
||||||
(mozilla-patch "icecat-bug-1376399.patch" "58a574502ca9" "1zmg91pg0s5nwngc32a4fywidvxyaayvx1h052fsv0i4cfm16l9v")
|
|
||||||
(mozilla-patch "icecat-bug-1396570.patch" "24db61862c54" "0af1jjfma042xvn0xhgims1yvb2b51nhn4m0pcfwg3fn0llmka03")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7819.patch" "1a02f11c6efe" "18a9qvdvrqw34qw3lljg6gkn358jl23lyimhmbc964023rhs36sz")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt7.patch" "002686d9536f" "065g0d759wfiaj69b1sqg7l08p2knc0q9m9hvkgwwsf0r78xcbjj")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7810-pt8.patch" "eaadb31758d8" "0b3k3la6ykac5mbp9gyqqgjbmj19vx9sl1b0wp387qar0p12nyaz")
|
|
||||||
(mozilla-patch "icecat-bug-1368269.patch" "0cff5e66e0f4" "0jb0wqi7c0ih4441s1908j6gv18v4inh7k2w47h3c9nhz4rgyrw7")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7793.patch" "6ff3c82962f0" "0bw82034kdmrpznigbavzzsiybzrw8giyf8v0z2cxf6mwl72bf9k")
|
|
||||||
(mozilla-patch "icecat-bug-1400399.patch" "d6f78b1349b7" "0i3gwr2al3xl65yfa3nimvy8dp0jzpx21f6bjw18xwn7zkkh9j54")
|
|
||||||
(mozilla-patch "icecat-bug-1400721.patch" "285cde398833" "0a1i32zl30wfyw7zkqj595s94n6wdlg5c495m0910pd05pjg3qam")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt01.patch" "98b3988592a6" "03wy173lj6mvmh5q92brf596h8676h0zasgqfnndpvsmsiaih120")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt02.patch" "47590f0c274b" "0zsys6dcyhfb4a8k2dhsls7425jg6r1ijlrsn1lc5smwyf62zx5v")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt03.patch" "55b435cbbb55" "1gcasaqrxa13a55v05bkxl3d1md829kpfhqiaws83wn08x28l0my")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt04.patch" "8549cf2dab3e" "168gs32ncavaj9xn4gwhh9i01cbpnhgx9yn333apsrc1gwknpvsr")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt05.patch" "349acf56ff49" "1vwn87rdryfjsn809pl50xmr82q98gz3vz9h6clkd905vbd9rwz7")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt06.patch" "3af5bf8bdea0" "07az28dnpxr36j7i3llxkrlkrmg0bwk4f3sm75x1f0r1v5575p3p")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt07.patch" "592df6088926" "1gy27idik4b6wcg4szww08cmpcljssja8wql6w1d807h7ni65lr7")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt08.patch" "77a2d4610275" "13ysbwflnysj4rs45ibckd621s0vyg1s8dvannlvanvrz1g72zcz")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt09.patch" "2b30335d0b95" "0hs5cwickvfw7r5dn7y148jgr2b21hl613qp83k56634d0y64qwp")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt10.patch" "d6f008f95598" "0xclxrbg7pv8pa2j15p0gy9c8sigy2i9j0kvazl5fbyg6jsg3xgd")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt11.patch" "ab9b51cd75ac" "08jy3rbkyh934aw261ls0s87947d2mhss7xqk1xfdir9crij2g27")
|
|
||||||
(mozilla-patch "icecat-bug-1343147-pt1.patch" "971d6345bc3a" "13791cvc51i991i5qyz6gp94vwzwkx479bnr8fsf8dw7z72wrsch")
|
|
||||||
(mozilla-patch "icecat-bug-1343147-pt2.patch" "60df7db06669" "0r372g1zksvkzyz0qpq0mp30frilgsfxxx2xida8xc08wgxp5lh9")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt12.patch" "df49c25e6e4c" "0j77xbkxpflqf4jlccrv61vq0jgp4lfn8kb0zw1lswp3cyd6ml4i")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt13.patch" "3b899f872623" "01zjcpm8yp4s8yf4mj1bzq01aylmi69kd8qv0rrcl9hmj4g3pzr2")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt14.patch" "3d6d558ae6a6" "17wynknvs5wi7m9g5vn43rjmivbg1l6pnv8jymz1ccidy27qgdqi")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt15.patch" "8426754b7130" "0bbm2294bkvld55rdbpsc8b82ljqdcxpbg6cwdzvwfhqayl2pnqm")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7828-pt1.patch" "5ddd5d2aa769" "12z5i8h6qwjb1h1fvp2426bgsnsxx539d8k2is9x1q4133356niy")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt16.patch" "dd068f4e132a" "17qy9c1vfkz3pj6y8qmqbic73wrangsbdlylk2s54nbzhhp9cj1g")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt17.patch" "e6bd533b57e9" "1mmqav9yhxd0j47yffcdykaqjibfwjsk0jn0f44099s87y8qn9zy")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt18.patch" "2a87fb6b9c07" "0z0scw4y1vqhqkbw1ag14g8xrif14l95x7fd50q2sw425lli29lc")
|
|
||||||
(mozilla-patch "icecat-bug-1404910.patch" "5007f2472f64" "0ns1l4yipwbb52sps2xzg30qd1rkpwykxq4chjg3wllhmcxbvvpw")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7830.patch" "04e3b5c1f0b2" "0nmv3jnx94ykxg64xkiwc8kx4df8zw7y5yzjnxz1sll2v88b9hmf")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7828-pt2.patch" "2f48c03d9b3f" "16qdy3rahmkhsjnzqjcgzg1a4k7czd40m04gs9i75cd88kbripri")
|
|
||||||
(mozilla-patch "icecat-bug-1348660-pt1.patch" "a352bfcbaf55" "1j3kxnhci9fh3lj8rizbcfv8xzn5kikxwpfy8a091d51sdn20873")
|
|
||||||
(mozilla-patch "icecat-bug-1348660-pt2.patch" "57f43e2ab9b5" "1jva4y79zb85npak3mddrx5rsf4mxczb314kcr8yhlkwqv0nx5sp")
|
|
||||||
(mozilla-patch "icecat-bug-1348660-pt3.patch" "917d65bb8896" "0k29y8i96lanqjjm6vybg0s6gjbk1mz5bfnga6aj1g0hnb7c3s8d")
|
|
||||||
(mozilla-patch "icecat-bug-1348660-pt4.patch" "28934912eede" "1mhxw26050l3d09n8w912a86df87afcshvsk9k1k375anfk0927x")
|
|
||||||
(search-patch "icecat-bug-1348660-pt5.patch")
|
|
||||||
(mozilla-patch "icecat-bug-1348660-pt6.patch" "556ff3bfb9fc" "0kckjc8jp885xfaiwx2b9qnk1plqjhi0mwhjjcmfajvh3l3mrl8h")
|
|
||||||
(mozilla-patch "icecat-bug-1350564.patch" "2abf26abb2a2" "0axdzp9g9k74wpkwrsdx263h01sv9bd3rarhhl68xnvc7n6i45lx")
|
|
||||||
(mozilla-patch "icecat-bug-1404787.patch" "8335e1d7b140" "17d7kb8ginzflhdkrbi60vh2b907spbzmvwih7a595gqpihmnqqn")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7826-pt19.patch" "de336078d36b" "0gyzbap8hr1iywk0x2x0h7z7zp7q89hi56h8c03vvc7771dkvjkf")
|
|
||||||
(mozilla-patch "icecat-bug-1047098-pt1.patch" "088577f0c46e" "0y3sz6kx07ls7jsvhqhhrl6v69a94wqvv3lz7hnplah23y06h17z")
|
|
||||||
(mozilla-patch "icecat-bug-1047098-pt2.patch" "c7e3abf74023" "11dcjzx56v4yb2dvm23j2g86q8yva2hc69lmb7s5w18l6ygwwhzr")
|
|
||||||
(mozilla-patch "icecat-bug-1047098-pt3.patch" "36bd15d14c5a" "0cb3l3hpsgk674f08kfamxhqfga3ah5v904gpxq9ag006vzd2cxz")
|
|
||||||
(mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16")
|
|
||||||
(search-patch "icecat-bug-1415133.patch")
|
|
||||||
(mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m")
|
|
||||||
(mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl")
|
|
||||||
(mozilla-patch "icecat-bug-1413741.patch" "4e00ce2897c4" "0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt01.patch" "92d450811409" "0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt02.patch" "7eba7d14704a" "1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt03.patch" "457d023c167e" "11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt04.patch" "5e7b16213198" "14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5102.patch" "0712b6cbbdc8" "0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt05.patch" "084c427ccf99" "0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt06.patch" "1bfb3d8d4510" "0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j")
|
|
||||||
(mozilla-patch "icecat-bug-1414425.patch" "5623e01e63a8" "08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt07.patch" "14a389d40329" "0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1")
|
|
||||||
(mozilla-patch "icecat-bug-1415441.patch" "7339297cddb7" "017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5096.patch" "aa55d4cdaee5" "1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw")
|
|
||||||
(mozilla-patch "icecat-bug-1382358.patch" "762f4e53889a" "0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt08.patch" "0152d097672f" "16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg")
|
|
||||||
(search-patch "icecat-bug-1414945.patch")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt09.patch" "079356ed5317" "107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt10.patch" "93e4994a892c" "00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt11.patch" "f8a6e1864832" "1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt12.patch" "0cc1c9068714" "1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5095.patch" "ce6f3fb2bf58" "1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5103.patch" "6b4d3c5d5e51" "074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4")
|
|
||||||
(mozilla-patch "icecat-bug-1411745.patch" "1a510ee578a0" "1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5")
|
|
||||||
(mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip")
|
(mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip")
|
||||||
(mozilla-patch "icecat-CVE-2018-5091.patch" "bc166be85bb4" "0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt13.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5098.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3")
|
|
||||||
(mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7")
|
|
||||||
(search-patch "icecat-bug-1424373-pt2.patch")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt14.patch" "c2945f1249eb" "18p0344w6grpyfiz8dczfw977p0qy37iqv95whgnrjli2ab51kji")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5117-pt1.patch" "263165eacc54" "0518xnd9f4qkn7l0z73kldm9dr33y6hf054ril4f8r2j8s9fy33i")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5117-pt2.patch" "58e87d9cc44e" "0j9qwjm25bmhw0sj426yl4fqaa6zknf5cjk0yisdd3895652n5i4")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt15.patch" "aa4b11615431" "0whfvwaj3dmk89ah2kbv7zz7a8ckqa0xajf5fl12bgl7q8c8ndnm")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5104.patch" "66761c5bfbe1" "076128pxc7ik1zq2v0d5m6vd7nls2030jzdc4w0ggy8hd5yyb8g9")
|
|
||||||
(mozilla-patch "icecat-bug-1408631.patch" "6f5c8df1925d" "1hgr18p5dwhlsan6jxlj3ay7cbfyywk40bpbnjc8gqmq6y25cn48")
|
|
||||||
(mozilla-patch "icecat-bug-1422735.patch" "b88ef76f5687" "0rzpxfrhddc0238rq3r1b02j95g0rdplk1fjmk85m51xvggh9086")
|
|
||||||
(mozilla-patch "icecat-bug-1261963.patch" "d0c98f5b6c12" "1z9jn19hnwjand9c0ifc39gq71nz17jjqy2s5fqr2z06y8qys62h")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt16.patch" "f7865afb1fe6" "0i7ydmcr1g0ih3myyxaxjq6wfg3rvq5j4893kjqksqihfqrkzs4j")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5097.patch" "9fb7614319df" "1xirahk06w8pyw4pdh64f4pg3qcb7c8x8frrmad2895fagy14g4k")
|
|
||||||
(mozilla-patch "icecat-mitigate-spectre.patch" "81d6465bd7c2" "1za5l249pb5x7f283vrimy0ankjzvwa99hfql3v4fm5a4grjkj9n")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt17.patch" "5f753161df25" "1k2mpwagz08wzxfzwy2b4a0pz0hkhdqby6n11i7pasx3ary670km")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5099.patch" "b95d654de120" "1cv7nz2gsyjjigw6wv4xagh8q6bcg0971md8b6xjvz5m26aynlaw")
|
|
||||||
(mozilla-patch "icecat-bug-1408631.patch" "3b1faddc0e5f" "0817x5mrdyjj0gc9yi19m6d78d18ypc9nbld64d2axhc8v9bz3xf")
|
|
||||||
(mozilla-patch "icecat-glibc-2.26.patch" "57d4fae4dffe" "1sv7kp7m4i7n31ny8k7cpjsrqpxh5y5jm27sh2cgpj7fhi5kqsj2")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt18.patch" "fe271a2b9503" "11wr8mdxw01dlmzkq55hf0qd52cwmx4vk96cff66d4kkl1dbj6qn")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt19.patch" "410da936a1e8" "14dvaysz0svlh50kdabjhd2s5avz6p93sbyqhwik5rlvcg5ax5zp")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt20.patch" "8368a9a379e3" "0fqq01ms7m4kb9b10n8gy5n9n4x43crz2gn1r6c4ny52wzgm3j6f")
|
|
||||||
(mozilla-patch "icecat-CVE-2018-5089-pt21.patch" "a7c8e85285e2" "1caa2w5r8rqb1qrk4mgf2vw1k592idvqmgs8qfz2dp2744kk6z98")
|
|
||||||
(mozilla-patch "icecat-bug-1375217.patch" "00fc630c9a46" "17pcprp452nslk6sac6sili0p74zh8w3g0v1wsdn0ikm9xmnphhv")
|
(mozilla-patch "icecat-bug-1375217.patch" "00fc630c9a46" "17pcprp452nslk6sac6sili0p74zh8w3g0v1wsdn0ikm9xmnphhv")
|
||||||
(mozilla-patch "icecat-bug-1261175.patch" "f0ec180993d2" "0jiazxcwki83wr00fyh2g518ynsd33p7nk65zk4d1682gn22lc8v")
|
(mozilla-patch "icecat-bug-1261175.patch" "f0ec180993d2" "0jiazxcwki83wr00fyh2g518ynsd33p7nk65zk4d1682gn22lc8v")
|
||||||
(mozilla-patch "icecat-bug-1433005.patch" "a6a9e26688c1" "0cvizvilb4k422j2gzqcbakznvsffmk6n6xn1ayj5rgxfaizkkqk")
|
(mozilla-patch "icecat-bug-1433005.patch" "a6a9e26688c1" "0cvizvilb4k422j2gzqcbakznvsffmk6n6xn1ayj5rgxfaizkkqk")
|
||||||
(mozilla-patch "icecat-bug-1434580.patch" "198ad052621e" "1721zx8hifdlflrhvw6hmkdgjbvsmxl9n84iji5qywhlp2krdk9r")
|
(mozilla-patch "icecat-bug-1434580.patch" "198ad052621e" "1721zx8hifdlflrhvw6hmkdgjbvsmxl9n84iji5qywhlp2krdk9r")
|
||||||
(mozilla-patch "icecat-bug-1426087.patch" "391ea77ebfdb" "1fhkvd0z6mvdkj7m0d3jlj42rsdw5r4x122c1wb1i428228ifw6n")))
|
(mozilla-patch "icecat-bug-1426087.patch" "391ea77ebfdb" "1fhkvd0z6mvdkj7m0d3jlj42rsdw5r4x122c1wb1i428228ifw6n")
|
||||||
|
(mozilla-patch "icecat-bug-1416307.patch" "54f2f7f93b30" "1ncjir16mqya37wgf6fy2rqki3vl433c4grjr3fypmlig6xfgg1l")
|
||||||
|
(mozilla-patch "icecat-bug-1430557.patch" "2c4d7a59041b" "178c6gid89cvw52yqs43i6x6s5w0hslj0rfa2r8b4762ij3civ92")
|
||||||
|
(mozilla-patch "icecat-bug-1416529.patch" "f87ef3774d5e" "0payf3az2w93nzl5qknqx290jbxk8v39rwhdgq7wyd5f245dywxk")
|
||||||
|
(mozilla-patch "icecat-bug-1324042.patch" "ac743923f81d" "0msyr45xr1j5q4x6ah4r907pwjngyi0k6pp9y8ixk21cnwbzrdwx")
|
||||||
|
(mozilla-patch "icecat-bug-1428947.patch" "456913d7e8b5" "0fx0s06kxxj7g4hllinaskgh41z3k48zml6yqqzxx485qk3hdh9x")
|
||||||
|
(mozilla-patch "icecat-bug-1334465-pt1.patch" "f95c5b881442" "0iaddhf65jd9cycj4bw0b207n2jiqkr4q84jifzyqn4ygs75wdqd")
|
||||||
|
(mozilla-patch "icecat-bug-1334465-pt2.patch" "8a4265c8fb41" "1d9zfdbrlw9wzr84b7pj7lxgy487lsx0kfd89287hjk0al8m6vrw")
|
||||||
|
(mozilla-patch "icecat-bug-1398021.patch" "28855df568d8" "1kmq836gniplxpjnvq8lhbcc1aqi56al628r1mzdy94b5yb0lis3")
|
||||||
|
(mozilla-patch "icecat-bug-1388020.patch" "e8ab2736499b" "0n28vcd65rxsyq3z22rfcfksryfndhm1i3g6ah3akg11jnagqf5v")
|
||||||
|
(mozilla-patch "icecat-bug-1437087.patch" "014877bf17ea" "0hk90pnf7h7kvidji6ydvva1zpyraipn03pjhvprdqr7k2fqzmsz")
|
||||||
|
(mozilla-patch "icecat-bug-1437507.patch" "5b3a5de48912" "1ifya05rcd34ryp9zawdacihhkkf2m0xn2q8m8c6v78bvxj0mgig")
|
||||||
|
(mozilla-patch "icecat-bug-1440926.patch" "1df9b4404acd" "1sd59vsarfsbh3vlrzrqv6n1ni7vxdzm83j6s6g0fygl1h8kwijg")
|
||||||
|
(mozilla-patch "icecat-bug-1430173-pt1.patch" "9124c3972e2b" "13ns5yy39yzfx7lrkv4rgwdz6s6q0z4i09wkbxdvnkfsz17cd17i")
|
||||||
|
(mozilla-patch "icecat-bug-1430173-pt2.patch" "9f6dc031be51" "0bv2p98z5ahp3x9wxnhwxn87g21djvzzp7jy55ik90hqixsbhwdl")))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
|
|
@ -502,6 +502,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/alsm/ioprogress.git")
|
(url "https://github.com/alsm/ioprogress.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
|
"10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
|
||||||
|
@ -527,6 +528,7 @@ writers can be supplied for alternate environments.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/aki237/nscjar.git")
|
(url "https://github.com/aki237/nscjar.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
|
"03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
|
||||||
|
@ -551,6 +553,7 @@ jar struct to manage the cookies added to the cookie jar.")
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/davidjpeacock/cli.git")
|
(url "https://github.com/davidjpeacock/cli.git")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"01s53ny3p0fdx64rnwcnmjj4xpc5adihnh6islsfq5z1ph2phhnj"))))
|
"01s53ny3p0fdx64rnwcnmjj4xpc5adihnh6islsfq5z1ph2phhnj"))))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
(define-module (gnu packages graph)
|
(define-module (gnu packages graph)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
|
@ -172,3 +173,29 @@ model.")
|
||||||
"This package interfaces R with the graphviz library for plotting R graph
|
"This package interfaces R with the graphviz library for plotting R graph
|
||||||
objects from the @code{graph} package.")
|
objects from the @code{graph} package.")
|
||||||
(license license:epl1.0)))
|
(license license:epl1.0)))
|
||||||
|
|
||||||
|
(define-public r-rbiofabric
|
||||||
|
(let ((commit "666c2ae8b0a537c006592d067fac6285f71890ac")
|
||||||
|
(revision "1"))
|
||||||
|
(package
|
||||||
|
(name "r-rbiofabric")
|
||||||
|
(version (string-append "0.3-" revision "." (string-take commit 7)))
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/wjrl/RBioFabric.git")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1yahqrcrqpbcywv73y9rlmyz8apdnp08afialibrr93ch0p06f8z"))))
|
||||||
|
(build-system r-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("r-igraph" ,r-igraph)))
|
||||||
|
(home-page "http://www.biofabric.org/")
|
||||||
|
(synopsis "BioFabric network visualization")
|
||||||
|
(description "This package provides an implementation of the function
|
||||||
|
@code{bioFabric} for creating scalable network digrams where nodes are
|
||||||
|
represented by horizontal lines, and edges are represented by vertical
|
||||||
|
lines.")
|
||||||
|
(license license:expat))))
|
||||||
|
|
|
@ -1072,7 +1072,7 @@ patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
|
||||||
(synopsis "Specify refactorings to perform with apply-refact")
|
(synopsis "Specify refactorings to perform with apply-refact")
|
||||||
(description
|
(description
|
||||||
"This library provides a datatype which can be interpreted by
|
"This library provides a datatype which can be interpreted by
|
||||||
@code{apply-refact}. It exists as a seperate library so that applications can
|
@code{apply-refact}. It exists as a separate library so that applications can
|
||||||
specify refactorings without depending on GHC.")
|
specify refactorings without depending on GHC.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
@ -8181,12 +8181,12 @@ Background: There exists a feature space for queues that extends between:
|
||||||
@itemize
|
@itemize
|
||||||
@item Simple, single-ended, non-concurrent, bounded queues
|
@item Simple, single-ended, non-concurrent, bounded queues
|
||||||
|
|
||||||
@item Double-ended, threadsafe, growable queues with important points
|
@item Double-ended, thread-safe, growable queues with important points
|
||||||
inbetween (such as the queues used for work-stealing).
|
in between (such as the queues used for work stealing).
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
This package includes an interface for Deques that allows the programmer
|
This package includes an interface for Deques that allows the programmer
|
||||||
to use a single API for all of the above, while using the type-system to
|
to use a single API for all of the above, while using the type system to
|
||||||
select an efficient implementation given the requirements (using type families).
|
select an efficient implementation given the requirements (using type families).
|
||||||
|
|
||||||
This package also includes a simple reference implementation based on
|
This package also includes a simple reference implementation based on
|
||||||
|
@ -8532,6 +8532,8 @@ functions.")
|
||||||
(base32
|
(base32
|
||||||
"09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
|
"09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
|
||||||
(build-system haskell-build-system)
|
(build-system haskell-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags (list "--allow-newer=QuickCheck")))
|
||||||
(inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
|
(inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
|
||||||
("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
|
("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
|
||||||
("ghc-entropy" ,ghc-entropy)
|
("ghc-entropy" ,ghc-entropy)
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
(define-public feh
|
(define-public feh
|
||||||
(package
|
(package
|
||||||
(name "feh")
|
(name "feh")
|
||||||
(version "2.24")
|
(version "2.25")
|
||||||
(home-page "https://feh.finalrewind.org/")
|
(home-page "https://feh.finalrewind.org/")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"148qbxkk5m7i3cxymnfwi7aikqjyfxr306dlqm9ndp6x932js5wq"))))
|
"102rwi30n09l8rih6kv6bb7lhv3djklgzill4p2zag0h700yqfq6"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||||
|
|
|
@ -87,7 +87,10 @@
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
;; FIXME: tests require gmock
|
;; FIXME: tests require gmock
|
||||||
(arguments `(#:tests? #f))
|
(arguments
|
||||||
|
`(#:tests? #f
|
||||||
|
#:make-flags
|
||||||
|
'("gtk_update_icon_cache=true")))
|
||||||
(home-page "https://inkscape.org/")
|
(home-page "https://inkscape.org/")
|
||||||
(synopsis "Vector graphics editor")
|
(synopsis "Vector graphics editor")
|
||||||
(description "Inkscape is a vector graphics editor. What sets Inkscape
|
(description "Inkscape is a vector graphics editor. What sets Inkscape
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 ng0 <ng0@infotropique.org>
|
;;; Copyright © 2016 ng0 <ng0@infotropique.org>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -272,14 +272,14 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
|
||||||
(define-public ii
|
(define-public ii
|
||||||
(package
|
(package
|
||||||
(name "ii")
|
(name "ii")
|
||||||
(version "1.7")
|
(version "1.8")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://dl.suckless.org/tools/"
|
(uri (string-append "http://dl.suckless.org/tools/"
|
||||||
name "-" version ".tar.gz"))
|
name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"176cqwnn6h7w4kbfd66hzqa243l26pqp2b06bii0nmnm0rkaqwis"))))
|
"1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; no tests
|
`(#:tests? #f ; no tests
|
||||||
|
@ -288,7 +288,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(delete 'configure)))) ; no configure
|
(delete 'configure)))) ; no configure
|
||||||
(home-page "http://tools.suckless.org/ii/")
|
(home-page "https://tools.suckless.org/ii/")
|
||||||
(synopsis "FIFO and file system based IRC client")
|
(synopsis "FIFO and file system based IRC client")
|
||||||
(description
|
(description
|
||||||
"ii (Irc it) is a minimalist FIFO and file system based IRC client.")
|
"ii (Irc it) is a minimalist FIFO and file system based IRC client.")
|
||||||
|
@ -313,7 +313,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(delete 'configure)))) ; no configure
|
(delete 'configure)))) ; no configure
|
||||||
(home-page "http://tools.suckless.org/sic/")
|
(home-page "https://tools.suckless.org/sic/")
|
||||||
(synopsis "Simple IRC client")
|
(synopsis "Simple IRC client")
|
||||||
(description
|
(description
|
||||||
"sic is a simple IRC client, even more minimalistic than ii.")
|
"sic is a simple IRC client, even more minimalistic than ii.")
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages linux) ;alsa
|
#:use-module (gnu packages linux) ;alsa
|
||||||
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages wget)
|
#:use-module (gnu packages wget)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
@ -2084,6 +2085,444 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("unzip" ,unzip)))))
|
`(("unzip" ,unzip)))))
|
||||||
|
|
||||||
|
(define-public java-cisd-base
|
||||||
|
(let ((revision 38938)
|
||||||
|
(base-version "14.12.0"))
|
||||||
|
(package
|
||||||
|
(name "java-cisd-base")
|
||||||
|
(version (string-append base-version "-" (number->string revision)))
|
||||||
|
(source (origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"base/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version "/base/"))
|
||||||
|
(revision revision)))
|
||||||
|
(file-name (string-append "java-cisd-base-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1i5adyf7nzclb0wydgwa1az04qliid8035vpahaandmkmigbnxiy"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Delete included gradle jar
|
||||||
|
(delete-file-recursively "gradle/wrapper")
|
||||||
|
;; Delete pre-built native libraries
|
||||||
|
(delete-file-recursively "libs")
|
||||||
|
#t))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:make-flags '("-file" "build/build.xml")
|
||||||
|
#:test-target "jar-test"
|
||||||
|
#:jdk ,icedtea-8
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'unpack-build-resources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(copy-recursively (assoc-ref inputs "build-resources")
|
||||||
|
"../build_resources")
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack-build-resources 'fix-dependencies
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("\\$\\{lib\\}/testng/testng-jdk15.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-testng")
|
||||||
|
"/share/java/java-testng.jar"))
|
||||||
|
(("\\$\\{lib\\}/commons-lang/commons-lang.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-commons-lang")
|
||||||
|
"/share/java/commons-lang-"
|
||||||
|
,(package-version java-commons-lang) ".jar"))
|
||||||
|
(("\\$\\{lib\\}/commons-io/commons-io.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-commons-io")
|
||||||
|
"/share/java/commons-io-"
|
||||||
|
,(package-version java-commons-io)
|
||||||
|
"-SNAPSHOT.jar"))
|
||||||
|
;; Remove dependency on svn
|
||||||
|
(("<build-info.*") "")
|
||||||
|
(("\\$\\{revision.number\\}")
|
||||||
|
,(number->string revision))
|
||||||
|
(("\\$\\{version.number\\}") ,base-version))
|
||||||
|
;; Remove dependency on classycle
|
||||||
|
(substitute* "../build_resources/ant/build-common.xml"
|
||||||
|
(("<taskdef name=\"dependency-checker.*") "")
|
||||||
|
(("classname=\"classycle.*") "")
|
||||||
|
(("classpath=\"\\$\\{lib\\}/classycle.*") ""))
|
||||||
|
#t))
|
||||||
|
;; A few tests fail because of the lack of a proper /etc/groups and
|
||||||
|
;; /etc/passwd file in the build container.
|
||||||
|
(add-after 'unpack 'disable-broken-tests
|
||||||
|
(lambda _
|
||||||
|
(substitute* "sourceTest/java/ch/systemsx/cisd/base/AllTests.java"
|
||||||
|
(("Unix.isOperational\\(\\)") "false"))
|
||||||
|
#t))
|
||||||
|
;; These decorators are almost useless and pull in an unpackaged
|
||||||
|
;; dependency.
|
||||||
|
(add-after 'unpack 'remove-useless-decorators
|
||||||
|
(lambda _
|
||||||
|
(substitute* "source/java/ch/systemsx/cisd/base/unix/Unix.java"
|
||||||
|
(("@Private") "")
|
||||||
|
(("import ch.rinn.restrictions.Private;") ""))
|
||||||
|
(substitute* "sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java"
|
||||||
|
(("@Friend.*") "")
|
||||||
|
(("import ch.rinn.restrictions.Friend;") ""))
|
||||||
|
#t))
|
||||||
|
(add-before 'configure 'build-native-code
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((jdk (assoc-ref inputs "jdk"))
|
||||||
|
(dir ,(match (%current-system)
|
||||||
|
("i686-linux"
|
||||||
|
"i386-Linux")
|
||||||
|
((or "armhf-linux" "aarch64-linux")
|
||||||
|
"arm-Linux")
|
||||||
|
((or "x86_64-linux")
|
||||||
|
"amd64-Linux")
|
||||||
|
(_ "unknown-Linux"))))
|
||||||
|
(with-directory-excursion "source/c"
|
||||||
|
(invoke "gcc" "-shared" "-O3" "-fPIC" "unix.c"
|
||||||
|
(string-append "-I" jdk "/include")
|
||||||
|
(string-append "-I" jdk "/include/linux")
|
||||||
|
"-o" "libunix.so")
|
||||||
|
(invoke "gcc" "-shared" "-O3" "-fPIC"
|
||||||
|
"-DMACHINE_BYTE_ORDER=1"
|
||||||
|
"copyCommon.c"
|
||||||
|
"copyByteChar.c"
|
||||||
|
"copyByteDouble.c"
|
||||||
|
"copyByteFloat.c"
|
||||||
|
"copyByteInt.c"
|
||||||
|
"copyByteLong.c"
|
||||||
|
"copyByteShort.c"
|
||||||
|
(string-append "-I" jdk "/include")
|
||||||
|
(string-append "-I" jdk "/include/linux")
|
||||||
|
"-o" "libnativedata.so"))
|
||||||
|
(install-file "source/c/libunix.so"
|
||||||
|
(string-append "libs/native/unix/" dir))
|
||||||
|
(install-file "source/c/libnativedata.so"
|
||||||
|
(string-append "libs/native/nativedata/" dir))
|
||||||
|
#t)))
|
||||||
|
;; In the "check" phase we only build the test executable.
|
||||||
|
(add-after 'check 'run-tests
|
||||||
|
(lambda _
|
||||||
|
(invoke "java" "-jar" "targets/dist/sis-base-test.jar")
|
||||||
|
(delete-file "targets/dist/sis-base-test.jar")
|
||||||
|
#t))
|
||||||
|
(replace 'install (install-jars "targets/dist")))))
|
||||||
|
(native-inputs
|
||||||
|
`(("jdk" ,icedtea-8)
|
||||||
|
("java-commons-lang" ,java-commons-lang)
|
||||||
|
("java-commons-io" ,java-commons-io)
|
||||||
|
("java-testng" ,java-testng)
|
||||||
|
("build-resources"
|
||||||
|
,(origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"base/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version
|
||||||
|
"/build_resources/"))
|
||||||
|
(revision revision)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0b6335gkm4x895rac6kfg9d3rpq0sy19ph4zpg2gyw6asfsisjhk"))))))
|
||||||
|
(home-page "http://svnsis.ethz.ch")
|
||||||
|
(synopsis "Utility classes for libraries from ETH Zurich")
|
||||||
|
(description "This library supplies some utility classes needed for
|
||||||
|
libraries from the SIS division at ETH Zurich like jHDF5.")
|
||||||
|
;; The C sources are under a non-copyleft license, which looks like a
|
||||||
|
;; variant of the BSD licenses. The whole package is under the ASL2.0.
|
||||||
|
(license (list license:asl2.0
|
||||||
|
(license:non-copyleft "file://source/c/COPYING"))))))
|
||||||
|
|
||||||
|
(define-public java-cisd-args4j
|
||||||
|
(let ((revision 39162)
|
||||||
|
(base-version "9.11.2"))
|
||||||
|
(package
|
||||||
|
(name "java-cisd-args4j")
|
||||||
|
(version (string-append base-version "-" (number->string revision)))
|
||||||
|
(source (origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"args4j/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version "/args4j/"))
|
||||||
|
(revision revision)))
|
||||||
|
(file-name (string-append "java-cisd-args4j-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0hhqznjaivq7ips7mkwas78z42s6djsm20rrs7g1zd59rcsakxn2"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:make-flags '("-file" "build/build.xml")
|
||||||
|
#:tests? #f ; there are no tests
|
||||||
|
;; There are weird build failures with JDK8, such as: "The type
|
||||||
|
;; java.io.ObjectInputStream cannot be resolved. It is indirectly
|
||||||
|
;; referenced from required .class files"
|
||||||
|
#:jdk ,icedtea-7
|
||||||
|
#:modules ((guix build ant-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(guix build java-utils)
|
||||||
|
(sxml simple)
|
||||||
|
(sxml transform)
|
||||||
|
(sxml xpath))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'unpack-build-resources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(mkdir-p "../build_resources")
|
||||||
|
(invoke "tar" "xf" (assoc-ref inputs "build-resources")
|
||||||
|
"-C" "../build_resources"
|
||||||
|
"--strip-components=1")
|
||||||
|
(mkdir-p "../build_resources/lib")
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack-build-resources 'fix-dependencies
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; FIXME: There should be a more convenient abstraction for
|
||||||
|
;; editing XML files.
|
||||||
|
(with-directory-excursion "../build_resources/ant/"
|
||||||
|
(chmod "build-common.xml" #o664)
|
||||||
|
(call-with-output-file "build-common.xml.new"
|
||||||
|
(lambda (port)
|
||||||
|
(sxml->xml
|
||||||
|
(pre-post-order
|
||||||
|
(with-input-from-file "build-common.xml"
|
||||||
|
(lambda _ (xml->sxml #:trim-whitespace? #t)))
|
||||||
|
`(;; Remove dependency on classycle and custom ant tasks
|
||||||
|
(taskdef . ,(lambda (tag . kids)
|
||||||
|
(let ((name ((sxpath '(name *text*)) kids)))
|
||||||
|
(if (or (member "build-info" name)
|
||||||
|
(member "dependency-checker" name)
|
||||||
|
(member "build-java-subprojects" name)
|
||||||
|
(member "project-classpath" name))
|
||||||
|
'() ; skip
|
||||||
|
`(,tag ,@kids)))))
|
||||||
|
(typedef . ,(lambda (tag . kids)
|
||||||
|
(let ((name ((sxpath '(name *text*)) kids)))
|
||||||
|
(if (member "recursive-jar" name)
|
||||||
|
'() ; skip
|
||||||
|
`(,tag ,@kids)))))
|
||||||
|
(build-java-subprojects . ,(lambda _ '()))
|
||||||
|
;; Ignore everything else
|
||||||
|
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
|
||||||
|
(*text* . ,(lambda (_ txt) txt))))
|
||||||
|
port)))
|
||||||
|
(rename-file "build-common.xml.new" "build-common.xml"))
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("\\$\\{lib\\}/cisd-base/cisd-base.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-cisd-base")
|
||||||
|
"/share/java/sis-base.jar"))
|
||||||
|
;; Remove dependency on svn
|
||||||
|
(("<build-info.*") "")
|
||||||
|
(("\\$\\{revision.number\\}")
|
||||||
|
,(number->string revision))
|
||||||
|
(("\\$\\{version.number\\}") ,base-version)
|
||||||
|
;; Don't use custom ant tasks.
|
||||||
|
(("recursive-jar") "jar")
|
||||||
|
(("<project-classpath.*") ""))
|
||||||
|
#t))
|
||||||
|
(replace 'install (install-jars "targets/dist")))))
|
||||||
|
(inputs
|
||||||
|
`(("java-cisd-base" ,java-cisd-base)))
|
||||||
|
(native-inputs
|
||||||
|
`(("ecj" ,java-ecj-3.5)
|
||||||
|
("build-resources"
|
||||||
|
,(origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"args4j/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version
|
||||||
|
"/build_resources/"))
|
||||||
|
(revision revision)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"056cam4k8pll7ass31sy6gwn8g8719njc41yf4l02b0342nilkyf"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
;; Delete bundled pre-built jars.
|
||||||
|
(snippet
|
||||||
|
'(begin (delete-file-recursively "lib/") #t))))))
|
||||||
|
(home-page "http://svnsis.ethz.ch")
|
||||||
|
(synopsis "Command line parser library")
|
||||||
|
(description "This package provides a parser for command line arguments.")
|
||||||
|
(license license:asl2.0))))
|
||||||
|
|
||||||
|
(define-public java-cisd-jhdf5
|
||||||
|
(let ((revision 39162)
|
||||||
|
(base-version "14.12.6"))
|
||||||
|
(package
|
||||||
|
(name "java-cisd-jhdf5")
|
||||||
|
(version (string-append base-version "-" (number->string revision)))
|
||||||
|
(source (origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"jhdf5/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version "/jhdf5/"))
|
||||||
|
(revision revision)))
|
||||||
|
(file-name (string-append "java-cisd-jhdf5-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"13i17s2hn0q9drdqvp8csy7770p3hdbh9rp30ihln2ldkfawdmz0"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Delete included gradle jar
|
||||||
|
(delete-file-recursively "gradle/wrapper")
|
||||||
|
;; Delete pre-built native libraries
|
||||||
|
(delete-file-recursively "libs")
|
||||||
|
#t))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:make-flags '("-file" "build/build.xml")
|
||||||
|
#:build-target "jar-all"
|
||||||
|
#:test-target "jar-test"
|
||||||
|
#:jdk ,icedtea-8
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
;; Don't erase results from the build phase when building tests.
|
||||||
|
(add-after 'unpack 'separate-test-target-from-clean
|
||||||
|
(lambda _
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("\"jar-test\" depends=\"clean, ")
|
||||||
|
"\"jar-test\" depends=\""))
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack 'unpack-build-resources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(copy-recursively (assoc-ref inputs "build-resources")
|
||||||
|
"../build_resources")
|
||||||
|
(delete-file-recursively "../build_resources/lib/")
|
||||||
|
(mkdir-p "../build_resources/lib")
|
||||||
|
;; Remove dependency on classycle
|
||||||
|
(substitute* "../build_resources/ant/build-common.xml"
|
||||||
|
(("<taskdef name=\"dependency-checker.*") "")
|
||||||
|
(("classname=\"classycle.*") "")
|
||||||
|
(("classpath=\"\\$\\{lib\\}/classycle.*") ""))
|
||||||
|
;; Remove dependency on svn
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("<build-info.*") "")
|
||||||
|
(("\\$\\{revision.number\\}")
|
||||||
|
,(number->string revision))
|
||||||
|
(("\\$\\{version.number\\}") ,base-version))
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack-build-resources 'fix-dependencies
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "../build_resources/ant/build-common.xml"
|
||||||
|
(("../libraries/testng/testng-jdk15.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-testng")
|
||||||
|
"/share/java/java-testng.jar")))
|
||||||
|
(substitute* "build/build.xml"
|
||||||
|
(("\\$\\{lib\\}/sis-base/sis-base.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-cisd-base")
|
||||||
|
"/share/java/sis-base.jar"))
|
||||||
|
(("\\$\\{lib\\}/cisd-args4j/cisd-args4j.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-cisd-args4j")
|
||||||
|
"/share/java/cisd-args4j.jar"))
|
||||||
|
(("\\$\\{lib\\}/commons-lang/commons-lang.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-commons-lang")
|
||||||
|
"/share/java/commons-lang-"
|
||||||
|
,(package-version java-commons-lang) ".jar"))
|
||||||
|
(("\\$\\{lib\\}/commons-io/commons-io.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-commons-io")
|
||||||
|
"/share/java/commons-io-"
|
||||||
|
,(package-version java-commons-io)
|
||||||
|
"-SNAPSHOT.jar"))
|
||||||
|
(("\\$\\{lib\\}/testng/testng-jdk15.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-testng")
|
||||||
|
"/share/java/java-testng.jar"))
|
||||||
|
(("\\$\\{lib\\}/junit4/junit.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-junit")
|
||||||
|
"/share/java/junit.jar"))
|
||||||
|
(("\\$\\{lib\\}/jmock/hamcrest/hamcrest-core.jar")
|
||||||
|
(string-append (assoc-ref inputs "java-hamcrest-core")
|
||||||
|
"/share/java/hamcrest-core.jar")))
|
||||||
|
;; Remove dependency on ch.rinn.restrictions
|
||||||
|
(with-directory-excursion "source/java/ch/systemsx/cisd/hdf5/"
|
||||||
|
(substitute* '("BitSetConversionUtils.java"
|
||||||
|
"HDF5Utils.java")
|
||||||
|
(("import ch.rinn.restrictions.Private;") "")
|
||||||
|
(("@Private") "")))
|
||||||
|
(with-directory-excursion "sourceTest/java/ch/systemsx/cisd/hdf5/"
|
||||||
|
(substitute* '("BitSetConversionTest.java"
|
||||||
|
"h5ar/HDF5ArchiverTest.java")
|
||||||
|
(("import ch.rinn.restrictions.Friend;") "")
|
||||||
|
(("@Friend.*") ""))
|
||||||
|
;; Remove leftovers from removing @Friend
|
||||||
|
(substitute* "h5ar/HDF5ArchiverTest.java"
|
||||||
|
(("\\{ HDF5Archiver.class, IdCache.class, LinkRecord.class \\}\\)")
|
||||||
|
"")))
|
||||||
|
#t))
|
||||||
|
(add-before 'configure 'build-native-library
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((jdk (assoc-ref inputs "jdk"))
|
||||||
|
(hdf5 (assoc-ref inputs "hdf5"))
|
||||||
|
(dir ,(match (%current-system)
|
||||||
|
("i686-linux"
|
||||||
|
"i386-Linux")
|
||||||
|
((or "armhf-linux" "aarch64-linux")
|
||||||
|
"arm-Linux")
|
||||||
|
((or "x86_64-linux")
|
||||||
|
"amd64-Linux")
|
||||||
|
(_ "unknown-Linux"))))
|
||||||
|
(with-directory-excursion "source/c"
|
||||||
|
(apply invoke `("gcc" "-shared" "-O3"
|
||||||
|
"-fPIC"
|
||||||
|
"-Wl,--exclude-libs,ALL"
|
||||||
|
,@(find-files "jhdf5" "\\.c$")
|
||||||
|
,@(find-files "hdf-java" "\\.c$")
|
||||||
|
,(string-append "-I" hdf5 "/include")
|
||||||
|
,(string-append "-I" jdk "/include")
|
||||||
|
,(string-append "-I" jdk "/include/linux")
|
||||||
|
,(string-append hdf5 "/lib/libhdf5.a")
|
||||||
|
"-o" "libjhdf5.so" "-lz")))
|
||||||
|
(install-file "source/c/libjhdf5.so"
|
||||||
|
(string-append "libs/native/jhdf5/" dir))
|
||||||
|
#t)))
|
||||||
|
;; In the "check" phase we only build the test executable.
|
||||||
|
(add-after 'check 'run-tests
|
||||||
|
(lambda _
|
||||||
|
(invoke "java" "-jar" "targets/dist/sis-jhdf5-test.jar")
|
||||||
|
(delete-file "targets/dist/sis-jhdf5-test.jar")
|
||||||
|
#t))
|
||||||
|
(replace 'install
|
||||||
|
(install-jars "targets/dist")))))
|
||||||
|
(inputs
|
||||||
|
`(("java-cisd-base" ,java-cisd-base)
|
||||||
|
("java-cisd-args4j" ,java-cisd-args4j)
|
||||||
|
("java-commons-lang" ,java-commons-lang)
|
||||||
|
("java-commons-io" ,java-commons-io)
|
||||||
|
("hdf5" ,hdf5)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(native-inputs
|
||||||
|
`(("jdk" ,icedtea-8)
|
||||||
|
("java-testng" ,java-testng)
|
||||||
|
("java-junit" ,java-junit)
|
||||||
|
("java-jmock" ,java-jmock)
|
||||||
|
("java-hamcrest-core" ,java-hamcrest-core)
|
||||||
|
("build-resources"
|
||||||
|
,(origin
|
||||||
|
(method svn-fetch)
|
||||||
|
(uri (svn-reference
|
||||||
|
(url (string-append "http://svnsis.ethz.ch/repos/cisd/"
|
||||||
|
"jhdf5/tags/release/"
|
||||||
|
(version-major+minor base-version)
|
||||||
|
".x/" base-version
|
||||||
|
"/build_resources/"))
|
||||||
|
(revision revision)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0b6335gkm4x895rac6kfg9d3rpq0sy19ph4zpg2gyw6asfsisjhk"))))))
|
||||||
|
(home-page "https://wiki-bsse.ethz.ch/display/JHDF5/")
|
||||||
|
(synopsis "Java binding for HDF5")
|
||||||
|
(description "JHDF5 is a high-level API in Java for reading and writing
|
||||||
|
HDF5 files, building on the libraries provided by the HDF Group.")
|
||||||
|
;; The C sources are under a non-copyleft license, which looks like a
|
||||||
|
;; variant of the BSD licenses. The whole package is under the ASL2.0.
|
||||||
|
(license (list license:asl2.0
|
||||||
|
(license:non-copyleft "file://source/c/COPYING"))))))
|
||||||
|
|
||||||
(define-public java-classpathx-servletapi
|
(define-public java-classpathx-servletapi
|
||||||
(package
|
(package
|
||||||
(name "java-classpathx-servletapi")
|
(name "java-classpathx-servletapi")
|
||||||
|
@ -5584,7 +6023,9 @@ tree walking, and translation.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))))
|
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))
|
||||||
|
(patches
|
||||||
|
(search-patches "antlr3-3_3-fix-java8-compilation.patch"))))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:jar-name (string-append ,name "-" ,version ".jar")
|
`(#:jar-name (string-append ,name "-" ,version ".jar")
|
||||||
#:source-dir (string-join '("tool/src/main/java"
|
#:source-dir (string-join '("tool/src/main/java"
|
||||||
|
@ -5674,7 +6115,9 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z"))))
|
"0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z"))
|
||||||
|
(patches
|
||||||
|
(search-patches "antlr3-3_1-fix-java8-compilation.patch"))))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:jar-name (string-append "antlr3-" ,version ".jar")
|
`(#:jar-name (string-append "antlr3-" ,version ".jar")
|
||||||
#:source-dir "src:runtime/Java/src"
|
#:source-dir "src:runtime/Java/src"
|
||||||
|
@ -6537,7 +6980,8 @@ it manages project dependencies, gives diffs jars, and much more.")
|
||||||
;; packaging. It uses the version referenced in pom.xml. We replace
|
;; packaging. It uses the version referenced in pom.xml. We replace
|
||||||
;; it with our own version.
|
;; it with our own version.
|
||||||
(substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java"
|
(substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java"
|
||||||
(("2.4.0.201411031534") "3.4.0")))))))
|
(("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*")
|
||||||
|
,(package-version java-aqute-bndlib))))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("lang" ,java-ops4j-base-lang)
|
`(("lang" ,java-ops4j-base-lang)
|
||||||
("io" ,java-ops4j-base-io)
|
("io" ,java-ops4j-base-io)
|
||||||
|
@ -8853,3 +9297,44 @@ against expected outcomes.")
|
||||||
("java-junit" ,java-junit)))
|
("java-junit" ,java-junit)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("java-mockito-1" ,java-mockito-1)))))
|
`(("java-mockito-1" ,java-mockito-1)))))
|
||||||
|
|
||||||
|
(define-public java-openchart2
|
||||||
|
(package
|
||||||
|
(name "java-openchart2")
|
||||||
|
(version "1.4.3")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://download.approximatrix.com/openchart2/"
|
||||||
|
"openchart2-" version ".source.zip"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1xq96zm5r02n1blja0072jmmsifmxc40lbyfbnmcnr6mw42frh4g"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:test-target "test"
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-junit-errors
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "unittest/src/com/approximatrix/charting/"
|
||||||
|
(substitute* '("coordsystem/ticklocator/NumericXTickLocatorTest.java"
|
||||||
|
"coordsystem/ticklocator/NumericYTickLocatorTest.java"
|
||||||
|
"coordsystem/ticklocator/ObjectXTickLocatorTest.java"
|
||||||
|
"model/DefaultChartDataModelConstraintsTest.java"
|
||||||
|
"model/MultiScatterDataModelConstraintsTest.java"
|
||||||
|
"model/threedimensional/DotPlotDataModelConstraintsTest.java")
|
||||||
|
(("(assertEquals[^;]+);" before _)
|
||||||
|
(string-append (string-drop-right before 2) ", 1E-6);"))))
|
||||||
|
#t))
|
||||||
|
(replace 'install (install-jars ".")))))
|
||||||
|
(native-inputs
|
||||||
|
`(("unzip" ,unzip)
|
||||||
|
("java-junit" ,java-junit)
|
||||||
|
("java-hamcrest-core" ,java-hamcrest-core)))
|
||||||
|
(home-page "http://approximatrix.com/products/openchart2/")
|
||||||
|
(synopsis "Simple plotting for Java")
|
||||||
|
(description "Openchart2 provides a simple, yet powerful, interface for
|
||||||
|
Java programmers to create two-dimensional charts and plots. The library
|
||||||
|
features an assortment of graph styles, including advanced scatter plots, bar
|
||||||
|
graphs, and pie charts.")
|
||||||
|
(license license:lgpl2.1+)))
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("libusb" ,libusb))) ; required by libftdi1.pc
|
`(("libusb" ,libusb))) ; required by libftdi1.pc
|
||||||
(home-page "http://www.intra2net.com/en/developer/libftdi/")
|
(home-page "https://www.intra2net.com/en/developer/libftdi/")
|
||||||
(synopsis "FTDI USB driver with bitbang mode")
|
(synopsis "FTDI USB driver with bitbang mode")
|
||||||
(description
|
(description
|
||||||
"libFTDI is a library to talk to FTDI chips: FT232BM,
|
"libFTDI is a library to talk to FTDI chips: FT232BM,
|
||||||
|
|
|
@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.")
|
||||||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||||
|
|
||||||
(define %linux-libre-version "4.15.6")
|
(define %linux-libre-version "4.15.7")
|
||||||
(define %linux-libre-hash "13mv6wrhwjw2wll918c1r9l872wzzanvyi8rk6gv0k6cg0f56jal")
|
(define %linux-libre-hash "1h17wc12lvva5vcm2z06cf57ywxb6i2snm9vxixw1lwibnksrb6l")
|
||||||
|
|
||||||
(define-public linux-libre
|
(define-public linux-libre
|
||||||
(make-linux-libre %linux-libre-version
|
(make-linux-libre %linux-libre-version
|
||||||
|
@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
|
||||||
%linux-compatible-systems
|
%linux-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
(define %linux-libre-4.14-version "4.14.22")
|
(define %linux-libre-4.14-version "4.14.24")
|
||||||
(define %linux-libre-4.14-hash "1lhswcvgl077kzsln3nxmrdbnlc3b8mphjjmkqz0f2663wa6rhcv")
|
(define %linux-libre-4.14-hash "1i14djw3rmxb6syl6vfd5w76rjksbbaviynwj2dwwp9ki1h6p1hr")
|
||||||
|
|
||||||
(define-public linux-libre-4.14
|
(define-public linux-libre-4.14
|
||||||
(make-linux-libre %linux-libre-4.14-version
|
(make-linux-libre %linux-libre-4.14-version
|
||||||
|
@ -402,14 +402,14 @@ It has been modified to remove all non-free binary blobs.")
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
(define-public linux-libre-4.9
|
(define-public linux-libre-4.9
|
||||||
(make-linux-libre "4.9.84"
|
(make-linux-libre "4.9.86"
|
||||||
"08bgdcysva2igz4rc55slyz7nbzwz5skakh5c2iahsklg343pwbw"
|
"0fqixx3yyvznianygk8bfxzfqj8zpnjcalifhpfyb7rm3dyvi3wd"
|
||||||
%intel-compatible-systems
|
%intel-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
(define-public linux-libre-4.4
|
(define-public linux-libre-4.4
|
||||||
(make-linux-libre "4.4.118"
|
(make-linux-libre "4.4.120"
|
||||||
"0di91awl8ii1fxrfyqbpfpn134apcc98fas7yisjg87f16bn4azl"
|
"17zk5dbpa3kilf8m8i6r2jifjgi4yjim42gyk9j6n4218jjcszv6"
|
||||||
%intel-compatible-systems
|
%intel-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
|
@ -873,7 +873,7 @@ ext3 or ext4 partition.")
|
||||||
(define-public zerofree
|
(define-public zerofree
|
||||||
(package
|
(package
|
||||||
(name "zerofree")
|
(name "zerofree")
|
||||||
(version "1.1.0")
|
(version "1.1.1")
|
||||||
(home-page "https://frippery.org/uml/")
|
(home-page "https://frippery.org/uml/")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -881,7 +881,7 @@ ext3 or ext4 partition.")
|
||||||
".tgz"))
|
".tgz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"059g29x5r1xj6wcj4xj85l8w6qrxyl86yqbybjqqz6nxz4falxzf"))))
|
"0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
'(#:phases
|
||||||
|
@ -2530,14 +2530,14 @@ thanks to the use of namespaces.")
|
||||||
(define-public hdparm
|
(define-public hdparm
|
||||||
(package
|
(package
|
||||||
(name "hdparm")
|
(name "hdparm")
|
||||||
(version "9.53")
|
(version "9.54")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||||
name "-" version ".tar.gz"))
|
name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6"))))
|
"0ghnhdj7wfw6acfyhdawpfa5n9kvkvzgi1fw6i7sghgbjx5nhyjd"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
|
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||||
|
@ -2864,15 +2864,15 @@ arrays when needed.")
|
||||||
(define-public multipath-tools
|
(define-public multipath-tools
|
||||||
(package
|
(package
|
||||||
(name "multipath-tools")
|
(name "multipath-tools")
|
||||||
(version "0.7.1")
|
(version "0.7.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://git.opensvc.com/?p=multipath-tools/"
|
(uri (string-append "https://git.opensvc.com/?p=multipath-tools/"
|
||||||
".git;a=snapshot;h=" version ";sf=tgz"))
|
".git;a=snapshot;h=" version ";sf=tgz"))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p"))
|
"02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
@ -3717,7 +3717,7 @@ of flash storage.")
|
||||||
(define-public libseccomp
|
(define-public libseccomp
|
||||||
(package
|
(package
|
||||||
(name "libseccomp")
|
(name "libseccomp")
|
||||||
(version "2.3.2")
|
(version "2.3.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/seccomp/libseccomp/"
|
(uri (string-append "https://github.com/seccomp/libseccomp/"
|
||||||
|
@ -3725,7 +3725,7 @@ of flash storage.")
|
||||||
"/libseccomp-" version ".tar.gz"))
|
"/libseccomp-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
|
"0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("which" ,which)))
|
`(("which" ,which)))
|
||||||
|
|
|
@ -1375,7 +1375,7 @@ write simple, representation-independent mail handling code.")
|
||||||
(define-public perl-email-address
|
(define-public perl-email-address
|
||||||
(package
|
(package
|
||||||
(name "perl-email-address")
|
(name "perl-email-address")
|
||||||
(version "1.908")
|
(version "1.909")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -1383,7 +1383,7 @@ write simple, representation-independent mail handling code.")
|
||||||
"Email-Address-" version ".tar.gz"))
|
"Email-Address-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0i6ljdvpy279hpbqf6lgv4figr376rb2sh4yphj86xkdzsyn1y75"))))
|
"0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(home-page "http://search.cpan.org/dist/Email-Address")
|
(home-page "http://search.cpan.org/dist/Email-Address")
|
||||||
(synopsis "Email address parsing and creation")
|
(synopsis "Email address parsing and creation")
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -40,7 +41,7 @@
|
||||||
(define-public nagios
|
(define-public nagios
|
||||||
(package
|
(package
|
||||||
(name "nagios")
|
(name "nagios")
|
||||||
(version "4.2.4")
|
(version "4.3.4")
|
||||||
;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS.
|
;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS.
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -49,7 +50,7 @@
|
||||||
version "/nagios-" version ".tar.gz"))
|
version "/nagios-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0w0blbwiw0ps04b7gkyyk89qkgwsxh6gydhmggbm1kl3ar3mq1dh"))
|
"1wa4m952sb23dqi5w759adimsp21bkhp598rpq9dnhz3v497h2y9"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Ensure reproducibility.
|
;; Ensure reproducibility.
|
||||||
|
|
|
@ -3726,6 +3726,34 @@ notation and includes basic support for digital audio.")
|
||||||
(home-page "http://www.rosegardenmusic.com/")
|
(home-page "http://www.rosegardenmusic.com/")
|
||||||
(license license:gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public patchmatrix
|
||||||
|
(package
|
||||||
|
(name "patchmatrix")
|
||||||
|
(version "0.12.0")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (string-append "patchmatrix-" version "-checkout"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"19ivp7h5vq6r1qhmycjxzvrgg7fc4a3v5vb3n4c7afs4z3pj53zi"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments '(#:tests? #f)) ; no test target
|
||||||
|
(inputs
|
||||||
|
`(("jack" ,jack-1)
|
||||||
|
("lv2" ,lv2)
|
||||||
|
("mesa" ,mesa)))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(home-page "https://github.com/OpenMusicKontrollers/patchmatrix")
|
||||||
|
(synopsis "Simple JACK patch bay")
|
||||||
|
(description "PatchMatrix is a patch bay for the JACK audio connection
|
||||||
|
kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and
|
||||||
|
OSC connections.")
|
||||||
|
(license license:artistic2.0)))
|
||||||
|
|
||||||
(define-public sorcer
|
(define-public sorcer
|
||||||
(package
|
(package
|
||||||
(name "sorcer")
|
(name "sorcer")
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
||||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
|
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
|
||||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
|
@ -267,6 +267,42 @@ filtering (subscriptions), seamless access to multiple transport protocols and
|
||||||
more.")
|
more.")
|
||||||
(license license:lgpl3+)))
|
(license license:lgpl3+)))
|
||||||
|
|
||||||
|
(define-public czmq
|
||||||
|
(package
|
||||||
|
(name "czmq")
|
||||||
|
(version "4.1.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/zeromq/" name
|
||||||
|
"/releases/download/v" version
|
||||||
|
"/" name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"04gwf61rijwm6b2wblwv8gky1gdrbfmg1d19hf72kdc691ds7vrv"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(;; TODO Tests fail for some reason:
|
||||||
|
;; * zauth: OK
|
||||||
|
;; * zbeacon: OK (skipping test, no UDP broadcasting)
|
||||||
|
;; E: (czmq_selftest) 18-02-24 16:25:52 No broadcast interface found, (ZSYS_INTERFACE=lo)
|
||||||
|
;; make[2]: *** [Makefile:2245: check-local] Segmentation fault
|
||||||
|
;; make[2]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0'
|
||||||
|
;; make[1]: *** [Makefile:2032: check-am] Error 2
|
||||||
|
;; make[1]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0'
|
||||||
|
;; make: *** [Makefile:1588: check-recursive] Error 1
|
||||||
|
;; phase `check' failed after 19.4 seconds
|
||||||
|
#:tests? #f
|
||||||
|
#:configure-flags '("--enable-drafts")))
|
||||||
|
(inputs
|
||||||
|
`(("zeromq" ,zeromq)))
|
||||||
|
(home-page "http://zeromq.org")
|
||||||
|
(synopsis "High-level C bindings for ØMQ")
|
||||||
|
(description
|
||||||
|
"czmq provides bindings for the ØMQ core API that hides the differences
|
||||||
|
between different versions of ØMQ.")
|
||||||
|
(license license:mpl2.0)))
|
||||||
|
|
||||||
(define-public librdkafka
|
(define-public librdkafka
|
||||||
(package
|
(package
|
||||||
(name "librdkafka")
|
(name "librdkafka")
|
||||||
|
@ -498,7 +534,7 @@ of the same name.")
|
||||||
(define-public wireshark
|
(define-public wireshark
|
||||||
(package
|
(package
|
||||||
(name "wireshark")
|
(name "wireshark")
|
||||||
(version "2.4.4")
|
(version "2.4.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -506,7 +542,7 @@ of the same name.")
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0n3g28hrhifnchlz4av0blq4ykm4zaxwwxbzdm9wsba27677b6h4"))))
|
"1mvgy67rvnwj2kbc43s4il81jvz5ai0bx2j3j2js7x50zclyrcmk"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs `(("c-ares" ,c-ares)
|
(inputs `(("c-ares" ,c-ares)
|
||||||
("glib" ,glib)
|
("glib" ,glib)
|
||||||
|
@ -1031,7 +1067,7 @@ library remains flexible, portable, and easily embeddable.")
|
||||||
(define-public sslh
|
(define-public sslh
|
||||||
(package
|
(package
|
||||||
(name "sslh")
|
(name "sslh")
|
||||||
(version "1.19b")
|
(version "1.19c")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/yrutschle/sslh/archive/v"
|
(uri (string-append "https://github.com/yrutschle/sslh/archive/v"
|
||||||
|
@ -1039,7 +1075,7 @@ library remains flexible, portable, and easily embeddable.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0p0zfy5ifzj7508zqidgkf8g43frm7l5xcs5s6v7132lypcsbd4k"))))
|
"0pd8hifa9h0rm7vms3k6ic1k29xigrlv2idc5wgcafmb1v1243di"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(;; Test dependencies.
|
`(;; Test dependencies.
|
||||||
|
@ -1403,14 +1439,14 @@ does not use SSH and requires a pre-shared symmetric key.")
|
||||||
(define-public quagga
|
(define-public quagga
|
||||||
(package
|
(package
|
||||||
(name "quagga")
|
(name "quagga")
|
||||||
(version "1.2.3")
|
(version "1.2.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://savannah/quagga/quagga-"
|
(uri (string-append "mirror://savannah/quagga/quagga-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0cddxip9gd579parx64n6d7iq937ikrb8qxgvjxjm406l43hjb7f"))
|
"1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches "quagga-reproducible-build.patch"))))
|
(search-patches "quagga-reproducible-build.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -107,6 +107,17 @@ computers over a network.")
|
||||||
(base32
|
(base32
|
||||||
"0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv"))))
|
"0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:configure-flags '("--with-privsep-user=ntpd"
|
||||||
|
"--localstatedir=/var")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'modify-install-locations
|
||||||
|
(lambda _
|
||||||
|
;; Don't try to create /var/run or /var/db
|
||||||
|
(substitute* "src/Makefile.in"
|
||||||
|
(("DESTDIR\\)\\$\\(localstatedir") "TMPDIR"))
|
||||||
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("libressl" ,libressl))) ; enable TLS time constraints. See ntpd.conf(5).
|
`(("libressl" ,libressl))) ; enable TLS time constraints. See ntpd.conf(5).
|
||||||
(home-page "http://www.openntpd.org/")
|
(home-page "http://www.openntpd.org/")
|
||||||
|
|
35
gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch
Normal file
35
gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
Based on the upstream fix for the java8 compilation issue.
|
||||||
|
Simplified patch.
|
||||||
|
Upstream version of patch does not work with this source tree.
|
||||||
|
|
||||||
|
The issue is that in java8 it is an error to pass null to
|
||||||
|
removeAll. Results in null pointer exception. java7
|
||||||
|
behaviour was to return the list unmodified.
|
||||||
|
|
||||||
|
From db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
|
||||||
|
Date: Fri, 5 Jan 2018 17:05:31 +0100
|
||||||
|
Subject: [PATCH] Fix java8 compilation.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/org/antlr/tool/CompositeGrammar.java | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java
|
||||||
|
index f1408e7..7e02431 100644
|
||||||
|
--- a/src/org/antlr/tool/CompositeGrammar.java
|
||||||
|
+++ b/src/org/antlr/tool/CompositeGrammar.java
|
||||||
|
@@ -218,7 +218,9 @@ public class CompositeGrammar {
|
||||||
|
public List<Grammar> getIndirectDelegates(Grammar g) {
|
||||||
|
List<Grammar> direct = getDirectDelegates(g);
|
||||||
|
List<Grammar> delegates = getDelegates(g);
|
||||||
|
- delegates.removeAll(direct);
|
||||||
|
+ if (direct != null) {
|
||||||
|
+ delegates.removeAll(direct);
|
||||||
|
+ }
|
||||||
|
return delegates;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.15.1
|
||||||
|
|
35
gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch
Normal file
35
gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
Based on the upstream fix for the java8 compilation issue.
|
||||||
|
Simplified patch.
|
||||||
|
Upstream version of patch does not work with this source tree.
|
||||||
|
|
||||||
|
The issue is that in java8 it is an error to pass null to
|
||||||
|
removeAll. Results in null pointer exception. java7
|
||||||
|
behaviour was to return the list unmodified.
|
||||||
|
|
||||||
|
From 43867d50c05d1c06ab7220eb974a8874ae10c308 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
|
||||||
|
Date: Fri, 5 Jan 2018 19:08:24 +0100
|
||||||
|
Subject: [PATCH] Fix java8 complilation error.
|
||||||
|
|
||||||
|
---
|
||||||
|
tool/src/main/java/org/antlr/tool/CompositeGrammar.java | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
|
||||||
|
index f34ea73..63740a6 100644
|
||||||
|
--- a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
|
||||||
|
+++ b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
|
||||||
|
@@ -226,7 +226,9 @@ public class CompositeGrammar {
|
||||||
|
public List<Grammar> getIndirectDelegates(Grammar g) {
|
||||||
|
List<Grammar> direct = getDirectDelegates(g);
|
||||||
|
List<Grammar> delegates = getDelegates(g);
|
||||||
|
- delegates.removeAll(direct);
|
||||||
|
+ if(direct != null) {
|
||||||
|
+ delegates.removeAll(direct);
|
||||||
|
+ }
|
||||||
|
return delegates;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.15.1
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
Disable CPU optimizations not supported by all x86_64 systems. Also
|
Disable CPU optimizations not supported by all x86_64 systems.
|
||||||
don't add anything for i686.
|
|
||||||
|
|
||||||
--- a/cmake/modules/SIMDExt.cmake 2017-03-23 22:22:58.254071694 +0100
|
--- a/cmake/modules/SIMDExt.cmake 2017-03-23 22:22:58.254071694 +0100
|
||||||
+++ b/cmake/modules/SIMDExt.cmake 2017-03-23 22:23:22.446848845 +0100
|
+++ b/cmake/modules/SIMDExt.cmake 2017-03-23 22:23:22.446848845 +0100
|
||||||
|
@ -15,16 +14,7 @@ don't add anything for i686.
|
||||||
#
|
#
|
||||||
# SIMD_COMPILE_FLAGS
|
# SIMD_COMPILE_FLAGS
|
||||||
#
|
#
|
||||||
@@ -73,7 +68,7 @@
|
@@ -85,26 +80,6 @@
|
||||||
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mfpu=neon")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64")
|
|
||||||
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
|
|
||||||
set(HAVE_INTEL 1)
|
|
||||||
CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE)
|
|
||||||
if(HAVE_INTEL_SSE)
|
|
||||||
@@ -83,26 +78,6 @@
|
|
||||||
if(HAVE_INTEL_SSE2)
|
if(HAVE_INTEL_SSE2)
|
||||||
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
|
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
|
||||||
endif()
|
endif()
|
||||||
|
@ -48,6 +38,6 @@ don't add anything for i686.
|
||||||
- if(HAVE_INTEL_SSE4_2)
|
- if(HAVE_INTEL_SSE4_2)
|
||||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
|
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
|
||||||
- endif()
|
- endif()
|
||||||
|
endif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
|
||||||
|
endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le")
|
||||||
set(HAVE_PPC64LE 1)
|
|
||||||
message(STATUS " we are ppc64le")
|
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
FIXME: This test broke after the gcc-5/glibc-2.25 core-updates merge.
|
|
||||||
Not sure what's going on here, it hangs after spawning the first thread.
|
|
||||||
|
|
||||||
diff --git a/src/test/common/Throttle.cc b/src/test/common/Throttle.cc
|
|
||||||
index 5b6d73217d..40a477b2a3 100644
|
|
||||||
--- a/src/test/common/Throttle.cc
|
|
||||||
+++ b/src/test/common/Throttle.cc
|
|
||||||
@@ -216,44 +216,6 @@ TEST_F(ThrottleTest, wait) {
|
|
||||||
} while(!waited);
|
|
||||||
}
|
|
||||||
|
|
||||||
-TEST_F(ThrottleTest, destructor) {
|
|
||||||
- Thread_get *t;
|
|
||||||
- {
|
|
||||||
- int64_t throttle_max = 10;
|
|
||||||
- Throttle *throttle = new Throttle(g_ceph_context, "throttle", throttle_max);
|
|
||||||
-
|
|
||||||
- ASSERT_FALSE(throttle->get(5));
|
|
||||||
-
|
|
||||||
- t = new Thread_get(*throttle, 7);
|
|
||||||
- t->create("t_throttle");
|
|
||||||
- bool blocked;
|
|
||||||
- useconds_t delay = 1;
|
|
||||||
- do {
|
|
||||||
- usleep(delay);
|
|
||||||
- if (throttle->get_or_fail(1)) {
|
|
||||||
- throttle->put(1);
|
|
||||||
- blocked = false;
|
|
||||||
- } else {
|
|
||||||
- blocked = true;
|
|
||||||
- }
|
|
||||||
- delay *= 2;
|
|
||||||
- } while(!blocked);
|
|
||||||
- delete throttle;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- { //
|
|
||||||
- // The thread is left hanging, otherwise it will abort().
|
|
||||||
- // Deleting the Throttle on which it is waiting creates a
|
|
||||||
- // inconsistency that will be detected: the Throttle object that
|
|
||||||
- // it references no longer exists.
|
|
||||||
- //
|
|
||||||
- pthread_t id = t->get_thread_id();
|
|
||||||
- ASSERT_EQ(pthread_kill(id, 0), 0);
|
|
||||||
- delete t;
|
|
||||||
- ASSERT_EQ(pthread_kill(id, 0), 0);
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
std::pair<double, std::chrono::duration<double> > test_backoff(
|
|
||||||
double low_threshhold,
|
|
||||||
double high_threshhold,
|
|
63
gnu/packages/patches/ceph-rocksdb-compat.patch
Normal file
63
gnu/packages/patches/ceph-rocksdb-compat.patch
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
Fix compatibility with newer versions of RocksDB.
|
||||||
|
|
||||||
|
Adapted from this upstream patch, with some additional changes for 12.2:
|
||||||
|
https://github.com/ceph/ceph/commit/9d73a7121fdb1ae87cb1aa6f7d9d7a13f329ae68
|
||||||
|
|
||||||
|
diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc
|
||||||
|
index 8660afe1886d..bc0de79e23cb 100644
|
||||||
|
--- a/src/kv/RocksDBStore.cc
|
||||||
|
+++ b/src/kv/RocksDBStore.cc
|
||||||
|
@@ -505,7 +505,7 @@
|
||||||
|
// considering performance overhead, default is disabled
|
||||||
|
if (g_conf->rocksdb_perf) {
|
||||||
|
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
|
||||||
|
- rocksdb::perf_context.Reset();
|
||||||
|
+ rocksdb::get_perf_context()->Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
RocksDBTransactionImpl * _t =
|
||||||
|
@@ -532,13 +532,13 @@
|
||||||
|
utime_t write_wal_time;
|
||||||
|
utime_t write_pre_and_post_process_time;
|
||||||
|
write_wal_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
|
||||||
|
write_memtable_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
|
||||||
|
write_delay_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
|
||||||
|
write_pre_and_post_process_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
|
||||||
|
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
|
||||||
|
logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
|
||||||
|
logger->tinc(l_rocksdb_write_wal_time, write_wal_time);
|
||||||
|
@@ -558,7 +558,7 @@
|
||||||
|
// considering performance overhead, default is disabled
|
||||||
|
if (g_conf->rocksdb_perf) {
|
||||||
|
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
|
||||||
|
- rocksdb::perf_context.Reset();
|
||||||
|
+ rocksdb::get_perf_context()->Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
RocksDBTransactionImpl * _t =
|
||||||
|
@@ -586,13 +586,13 @@
|
||||||
|
utime_t write_wal_time;
|
||||||
|
utime_t write_pre_and_post_process_time;
|
||||||
|
write_wal_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
|
||||||
|
write_memtable_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
|
||||||
|
write_delay_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
|
||||||
|
write_pre_and_post_process_time.set_from_double(
|
||||||
|
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
|
||||||
|
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
|
||||||
|
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
|
||||||
|
logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
|
||||||
|
logger->tinc(l_rocksdb_write_wal_time, write_wal_time);
|
61
gnu/packages/patches/gd-CVE-2018-5711.patch
Normal file
61
gnu/packages/patches/gd-CVE-2018-5711.patch
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
This patch is adapted from commit a11f47475e6443b7f32d21f2271f28f417e2ac04 and
|
||||||
|
fixes CVE-2018-5711.
|
||||||
|
|
||||||
|
From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Christoph M. Becker" <cmbecker69@gmx.de>
|
||||||
|
Date: Wed, 29 Nov 2017 19:37:38 +0100
|
||||||
|
Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
|
||||||
|
|
||||||
|
Due to a signedness confusion in `GetCode_` a corrupt GIF file can
|
||||||
|
trigger an infinite loop. Furthermore we make sure that a GIF without
|
||||||
|
any palette entries is treated as invalid *after* open palette entries
|
||||||
|
have been removed.
|
||||||
|
|
||||||
|
CVE-2018-5711
|
||||||
|
|
||||||
|
See also https://bugs.php.net/bug.php?id=75571.
|
||||||
|
---
|
||||||
|
src/gd_gif_in.c | 12 ++++++------
|
||||||
|
1 file changed, 38 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
|
||||||
|
index daf26e7..0a8bd71 100644
|
||||||
|
--- a/src/gd_gif_in.c
|
||||||
|
+++ b/src/gd_gif_in.c
|
||||||
|
@@ -335,11 +335,6 @@ terminated:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(!im->colorsTotal) {
|
||||||
|
- gdImageDestroy(im);
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
/* Check for open colors at the end, so
|
||||||
|
* we can reduce colorsTotal and ultimately
|
||||||
|
* BitsPerPixel */
|
||||||
|
@@ -351,6 +346,11 @@ terminated:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if(!im->colorsTotal) {
|
||||||
|
+ gdImageDestroy(im);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return im;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -447,7 +447,7 @@ static int
|
||||||
|
GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
|
||||||
|
{
|
||||||
|
int i, j, ret;
|
||||||
|
- unsigned char count;
|
||||||
|
+ int count;
|
||||||
|
|
||||||
|
if(flag) {
|
||||||
|
scd->curbit = 0;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
39
gnu/packages/patches/glibc-allow-kernel-2.6.32.patch
Normal file
39
gnu/packages/patches/glibc-allow-kernel-2.6.32.patch
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
|
||||||
|
index cace758c01..38fe7fe0b0 100644
|
||||||
|
--- a/sysdeps/unix/sysv/linux/configure
|
||||||
|
+++ b/sysdeps/unix/sysv/linux/configure
|
||||||
|
@@ -69,7 +69,7 @@ fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
|
||||||
|
$as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
|
||||||
|
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
|
||||||
|
-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
|
||||||
|
+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <linux/version.h>
|
||||||
|
diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac
|
||||||
|
index 13abda0a51..6abc12eaed 100644
|
||||||
|
--- a/sysdeps/unix/sysv/linux/configure.ac
|
||||||
|
+++ b/sysdeps/unix/sysv/linux/configure.ac
|
||||||
|
@@ -50,7 +50,7 @@ fi
|
||||||
|
AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
|
||||||
|
changequote(,)dnl
|
||||||
|
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
|
||||||
|
-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
|
||||||
|
+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_TRY_COMPILE([#include <linux/version.h>
|
||||||
|
#if LINUX_VERSION_CODE < $decnum
|
||||||
|
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
|
||||||
|
index 823cd8224d..482caaeeec 100644
|
||||||
|
--- a/sysdeps/unix/sysv/linux/dl-osinfo.h
|
||||||
|
+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
|
||||||
|
@@ -39,7 +39,7 @@
|
||||||
|
GLRO(dl_osversion) = version; \
|
||||||
|
\
|
||||||
|
/* Now we can test with the required version. */ \
|
||||||
|
- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \
|
||||||
|
+ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \
|
||||||
|
/* Not sufficent. */ \
|
||||||
|
FATAL ("FATAL: kernel too old\n"); \
|
||||||
|
} \
|
|
@ -1,727 +0,0 @@
|
||||||
This is a subset of the following changeset from upstream:
|
|
||||||
https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/5e07bd37ac61
|
|
||||||
|
|
||||||
This excludes all test code from that changeset, including a GIT binary patch
|
|
||||||
that is not supported by Guix's patch-and-repack mechanism.
|
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Jan Varga <jan.varga@gmail.com>
|
|
||||||
# Date 1490181244 -3600
|
|
||||||
# Node ID 5e07bd37ac6162f218dfe03ed83b5dcca9653b68
|
|
||||||
# Parent 28934912eede9e14895baf4af7575ca9639f59ee
|
|
||||||
Bug 1348660 - Part 5: Implement a method to retrieve usage data for all origins at once. r=btseng, a=lizzard
|
|
||||||
|
|
||||||
diff --git a/dom/quota/ActorsChild.cpp b/dom/quota/ActorsChild.cpp
|
|
||||||
--- a/dom/quota/ActorsChild.cpp
|
|
||||||
+++ b/dom/quota/ActorsChild.cpp
|
|
||||||
@@ -137,16 +137,52 @@ QuotaUsageRequestChild::HandleResponse(n
|
|
||||||
AssertIsOnOwningThread();
|
|
||||||
MOZ_ASSERT(NS_FAILED(aResponse));
|
|
||||||
MOZ_ASSERT(mRequest);
|
|
||||||
|
|
||||||
mRequest->SetError(aResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
+QuotaUsageRequestChild::HandleResponse(const nsTArray<OriginUsage>& aResponse)
|
|
||||||
+{
|
|
||||||
+ AssertIsOnOwningThread();
|
|
||||||
+ MOZ_ASSERT(mRequest);
|
|
||||||
+
|
|
||||||
+ RefPtr<nsVariant> variant = new nsVariant();
|
|
||||||
+
|
|
||||||
+ if (aResponse.IsEmpty()) {
|
|
||||||
+ variant->SetAsEmptyArray();
|
|
||||||
+ } else {
|
|
||||||
+ nsTArray<RefPtr<UsageResult>> usageResults;
|
|
||||||
+
|
|
||||||
+ const uint32_t count = aResponse.Length();
|
|
||||||
+
|
|
||||||
+ usageResults.SetCapacity(count);
|
|
||||||
+
|
|
||||||
+ for (uint32_t index = 0; index < count; index++) {
|
|
||||||
+ auto& originUsage = aResponse[index];
|
|
||||||
+
|
|
||||||
+ RefPtr<UsageResult> usageResult = new UsageResult(originUsage.origin(),
|
|
||||||
+ originUsage.persisted(),
|
|
||||||
+ originUsage.usage());
|
|
||||||
+
|
|
||||||
+ usageResults.AppendElement(usageResult.forget());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ variant->SetAsArray(nsIDataType::VTYPE_INTERFACE_IS,
|
|
||||||
+ &NS_GET_IID(nsIQuotaUsageResult),
|
|
||||||
+ usageResults.Length(),
|
|
||||||
+ static_cast<void*>(usageResults.Elements()));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ mRequest->SetResult(variant);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
QuotaUsageRequestChild::HandleResponse(const OriginUsageResponse& aResponse)
|
|
||||||
{
|
|
||||||
AssertIsOnOwningThread();
|
|
||||||
MOZ_ASSERT(mRequest);
|
|
||||||
|
|
||||||
RefPtr<OriginUsageResult> result =
|
|
||||||
new OriginUsageResult(aResponse.usage(),
|
|
||||||
aResponse.fileUsage(),
|
|
||||||
@@ -177,16 +213,20 @@ QuotaUsageRequestChild::Recv__delete__(c
|
|
||||||
AssertIsOnOwningThread();
|
|
||||||
MOZ_ASSERT(mRequest);
|
|
||||||
|
|
||||||
switch (aResponse.type()) {
|
|
||||||
case UsageRequestResponse::Tnsresult:
|
|
||||||
HandleResponse(aResponse.get_nsresult());
|
|
||||||
break;
|
|
||||||
|
|
||||||
+ case UsageRequestResponse::TAllUsageResponse:
|
|
||||||
+ HandleResponse(aResponse.get_AllUsageResponse().originUsages());
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
case UsageRequestResponse::TOriginUsageResponse:
|
|
||||||
HandleResponse(aResponse.get_OriginUsageResponse());
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
MOZ_CRASH("Unknown response type!");
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/dom/quota/ActorsChild.h b/dom/quota/ActorsChild.h
|
|
||||||
--- a/dom/quota/ActorsChild.h
|
|
||||||
+++ b/dom/quota/ActorsChild.h
|
|
||||||
@@ -93,16 +93,19 @@ private:
|
|
||||||
|
|
||||||
// Only destroyed by QuotaChild.
|
|
||||||
~QuotaUsageRequestChild();
|
|
||||||
|
|
||||||
void
|
|
||||||
HandleResponse(nsresult aResponse);
|
|
||||||
|
|
||||||
void
|
|
||||||
+ HandleResponse(const nsTArray<OriginUsage>& aResponse);
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
HandleResponse(const OriginUsageResponse& aResponse);
|
|
||||||
|
|
||||||
// IPDL methods are only called by IPDL.
|
|
||||||
virtual void
|
|
||||||
ActorDestroy(ActorDestroyReason aWhy) override;
|
|
||||||
|
|
||||||
virtual bool
|
|
||||||
Recv__delete__(const UsageRequestResponse& aResponse) override;
|
|
||||||
diff --git a/dom/quota/ActorsParent.cpp b/dom/quota/ActorsParent.cpp
|
|
||||||
--- a/dom/quota/ActorsParent.cpp
|
|
||||||
+++ b/dom/quota/ActorsParent.cpp
|
|
||||||
@@ -1039,16 +1039,42 @@ private:
|
|
||||||
// IPDL methods.
|
|
||||||
void
|
|
||||||
ActorDestroy(ActorDestroyReason aWhy) override;
|
|
||||||
|
|
||||||
bool
|
|
||||||
RecvCancel() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
+class GetUsageOp final
|
|
||||||
+ : public QuotaUsageRequestBase
|
|
||||||
+{
|
|
||||||
+ nsTArray<OriginUsage> mOriginUsages;
|
|
||||||
+ nsDataHashtable<nsCStringHashKey, uint32_t> mOriginUsagesIndex;
|
|
||||||
+
|
|
||||||
+ bool mGetAll;
|
|
||||||
+
|
|
||||||
+public:
|
|
||||||
+ explicit GetUsageOp(const UsageRequestParams& aParams);
|
|
||||||
+
|
|
||||||
+private:
|
|
||||||
+ ~GetUsageOp()
|
|
||||||
+ { }
|
|
||||||
+
|
|
||||||
+ nsresult
|
|
||||||
+ TraverseRepository(QuotaManager* aQuotaManager,
|
|
||||||
+ PersistenceType aPersistenceType);
|
|
||||||
+
|
|
||||||
+ nsresult
|
|
||||||
+ DoDirectoryWork(QuotaManager* aQuotaManager) override;
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ GetResponse(UsageRequestResponse& aResponse) override;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
class GetOriginUsageOp final
|
|
||||||
: public QuotaUsageRequestBase
|
|
||||||
{
|
|
||||||
// If mGetGroupUsage is false, we use mUsageInfo to record the origin usage
|
|
||||||
// and the file usage. Otherwise, we use it to record the group usage and the
|
|
||||||
// limit.
|
|
||||||
UsageInfo mUsageInfo;
|
|
||||||
|
|
||||||
@@ -5693,16 +5719,20 @@ PQuotaUsageRequestParent*
|
|
||||||
Quota::AllocPQuotaUsageRequestParent(const UsageRequestParams& aParams)
|
|
||||||
{
|
|
||||||
AssertIsOnBackgroundThread();
|
|
||||||
MOZ_ASSERT(aParams.type() != UsageRequestParams::T__None);
|
|
||||||
|
|
||||||
RefPtr<QuotaUsageRequestBase> actor;
|
|
||||||
|
|
||||||
switch (aParams.type()) {
|
|
||||||
+ case UsageRequestParams::TAllUsageParams:
|
|
||||||
+ actor = new GetUsageOp(aParams);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
case UsageRequestParams::TOriginUsageParams:
|
|
||||||
actor = new GetOriginUsageOp(aParams);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
MOZ_CRASH("Should never get here!");
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -6033,16 +6063,189 @@ QuotaUsageRequestBase::RecvCancel()
|
|
||||||
if (mCanceled.exchange(true)) {
|
|
||||||
NS_WARNING("Canceled more than once?!");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
+GetUsageOp::GetUsageOp(const UsageRequestParams& aParams)
|
|
||||||
+ : mGetAll(aParams.get_AllUsageParams().getAll())
|
|
||||||
+{
|
|
||||||
+ AssertIsOnOwningThread();
|
|
||||||
+ MOZ_ASSERT(aParams.type() == UsageRequestParams::TAllUsageParams);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+nsresult
|
|
||||||
+GetUsageOp::TraverseRepository(QuotaManager* aQuotaManager,
|
|
||||||
+ PersistenceType aPersistenceType)
|
|
||||||
+{
|
|
||||||
+ AssertIsOnIOThread();
|
|
||||||
+ MOZ_ASSERT(aQuotaManager);
|
|
||||||
+
|
|
||||||
+ nsresult rv;
|
|
||||||
+
|
|
||||||
+ nsCOMPtr<nsIFile> directory =
|
|
||||||
+ do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ rv = directory->InitWithPath(aQuotaManager->GetStoragePath(aPersistenceType));
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool exists;
|
|
||||||
+ rv = directory->Exists(&exists);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!exists) {
|
|
||||||
+ return NS_OK;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ nsCOMPtr<nsISimpleEnumerator> entries;
|
|
||||||
+ rv = directory->GetDirectoryEntries(getter_AddRefs(entries));
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool persistent = aPersistenceType == PERSISTENCE_TYPE_PERSISTENT;
|
|
||||||
+
|
|
||||||
+ bool hasMore;
|
|
||||||
+ while (NS_SUCCEEDED((rv = entries->HasMoreElements(&hasMore))) &&
|
|
||||||
+ hasMore && !mCanceled) {
|
|
||||||
+ nsCOMPtr<nsISupports> entry;
|
|
||||||
+ rv = entries->GetNext(getter_AddRefs(entry));
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ nsCOMPtr<nsIFile> originDir = do_QueryInterface(entry);
|
|
||||||
+ MOZ_ASSERT(originDir);
|
|
||||||
+
|
|
||||||
+ bool isDirectory;
|
|
||||||
+ rv = originDir->IsDirectory(&isDirectory);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!isDirectory) {
|
|
||||||
+ nsString leafName;
|
|
||||||
+ rv = originDir->GetLeafName(leafName);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!leafName.EqualsLiteral(DSSTORE_FILE_NAME)) {
|
|
||||||
+ QM_WARNING("Something (%s) in the repository that doesn't belong!",
|
|
||||||
+ NS_ConvertUTF16toUTF8(leafName).get());
|
|
||||||
+ }
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int64_t timestamp;
|
|
||||||
+ nsCString suffix;
|
|
||||||
+ nsCString group;
|
|
||||||
+ nsCString origin;
|
|
||||||
+ bool isApp;
|
|
||||||
+ rv = aQuotaManager->GetDirectoryMetadata2WithRestore(originDir,
|
|
||||||
+ persistent,
|
|
||||||
+ ×tamp,
|
|
||||||
+ suffix,
|
|
||||||
+ group,
|
|
||||||
+ origin,
|
|
||||||
+ &isApp);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!mGetAll &&
|
|
||||||
+ aQuotaManager->IsOriginWhitelistedForPersistentStorage(origin)) {
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ OriginUsage* originUsage;
|
|
||||||
+
|
|
||||||
+ // We can't store pointers to OriginUsage objects in the hashtable
|
|
||||||
+ // since AppendElement() reallocates its internal array buffer as number
|
|
||||||
+ // of elements grows.
|
|
||||||
+ uint32_t index;
|
|
||||||
+ if (mOriginUsagesIndex.Get(origin, &index)) {
|
|
||||||
+ originUsage = &mOriginUsages[index];
|
|
||||||
+ } else {
|
|
||||||
+ index = mOriginUsages.Length();
|
|
||||||
+
|
|
||||||
+ originUsage = mOriginUsages.AppendElement();
|
|
||||||
+
|
|
||||||
+ originUsage->origin() = origin;
|
|
||||||
+ originUsage->persisted() = false;
|
|
||||||
+ originUsage->usage() = 0;
|
|
||||||
+
|
|
||||||
+ mOriginUsagesIndex.Put(origin, index);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ UsageInfo usageInfo;
|
|
||||||
+ rv = GetUsageForOrigin(aQuotaManager,
|
|
||||||
+ aPersistenceType,
|
|
||||||
+ group,
|
|
||||||
+ origin,
|
|
||||||
+ isApp,
|
|
||||||
+ &usageInfo);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ originUsage->usage() = originUsage->usage() + usageInfo.TotalUsage();
|
|
||||||
+ }
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+nsresult
|
|
||||||
+GetUsageOp::DoDirectoryWork(QuotaManager* aQuotaManager)
|
|
||||||
+{
|
|
||||||
+ AssertIsOnIOThread();
|
|
||||||
+
|
|
||||||
+ PROFILER_LABEL("Quota", "GetUsageOp::DoDirectoryWork",
|
|
||||||
+ js::ProfileEntry::Category::OTHER);
|
|
||||||
+
|
|
||||||
+ nsresult rv;
|
|
||||||
+
|
|
||||||
+ for (const PersistenceType type : kAllPersistenceTypes) {
|
|
||||||
+ rv = TraverseRepository(aQuotaManager, type);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+GetUsageOp::GetResponse(UsageRequestResponse& aResponse)
|
|
||||||
+{
|
|
||||||
+ AssertIsOnOwningThread();
|
|
||||||
+
|
|
||||||
+ aResponse = AllUsageResponse();
|
|
||||||
+
|
|
||||||
+ if (!mOriginUsages.IsEmpty()) {
|
|
||||||
+ nsTArray<OriginUsage>& originUsages =
|
|
||||||
+ aResponse.get_AllUsageResponse().originUsages();
|
|
||||||
+
|
|
||||||
+ mOriginUsages.SwapElements(originUsages);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
GetOriginUsageOp::GetOriginUsageOp(const UsageRequestParams& aParams)
|
|
||||||
: mParams(aParams.get_OriginUsageParams())
|
|
||||||
, mGetGroupUsage(aParams.get_OriginUsageParams().getGroupUsage())
|
|
||||||
{
|
|
||||||
AssertIsOnOwningThread();
|
|
||||||
MOZ_ASSERT(aParams.type() == UsageRequestParams::TOriginUsageParams);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/dom/quota/PQuota.ipdl b/dom/quota/PQuota.ipdl
|
|
||||||
--- a/dom/quota/PQuota.ipdl
|
|
||||||
+++ b/dom/quota/PQuota.ipdl
|
|
||||||
@@ -12,24 +12,30 @@ include "mozilla/dom/quota/Serialization
|
|
||||||
|
|
||||||
using mozilla::dom::quota::PersistenceType
|
|
||||||
from "mozilla/dom/quota/PersistenceType.h";
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
namespace quota {
|
|
||||||
|
|
||||||
+struct AllUsageParams
|
|
||||||
+{
|
|
||||||
+ bool getAll;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
struct OriginUsageParams
|
|
||||||
{
|
|
||||||
PrincipalInfo principalInfo;
|
|
||||||
bool getGroupUsage;
|
|
||||||
};
|
|
||||||
|
|
||||||
union UsageRequestParams
|
|
||||||
{
|
|
||||||
+ AllUsageParams;
|
|
||||||
OriginUsageParams;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ClearOriginParams
|
|
||||||
{
|
|
||||||
PrincipalInfo principalInfo;
|
|
||||||
PersistenceType persistenceType;
|
|
||||||
bool persistenceTypeIsExplicit;
|
|
||||||
diff --git a/dom/quota/PQuotaUsageRequest.ipdl b/dom/quota/PQuotaUsageRequest.ipdl
|
|
||||||
--- a/dom/quota/PQuotaUsageRequest.ipdl
|
|
||||||
+++ b/dom/quota/PQuotaUsageRequest.ipdl
|
|
||||||
@@ -3,26 +3,39 @@
|
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
include protocol PQuota;
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
namespace quota {
|
|
||||||
|
|
||||||
+struct OriginUsage
|
|
||||||
+{
|
|
||||||
+ nsCString origin;
|
|
||||||
+ bool persisted;
|
|
||||||
+ uint64_t usage;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+struct AllUsageResponse
|
|
||||||
+{
|
|
||||||
+ OriginUsage[] originUsages;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
struct OriginUsageResponse
|
|
||||||
{
|
|
||||||
uint64_t usage;
|
|
||||||
uint64_t fileUsage;
|
|
||||||
uint64_t limit;
|
|
||||||
};
|
|
||||||
|
|
||||||
union UsageRequestResponse
|
|
||||||
{
|
|
||||||
nsresult;
|
|
||||||
+ AllUsageResponse;
|
|
||||||
OriginUsageResponse;
|
|
||||||
};
|
|
||||||
|
|
||||||
protocol PQuotaUsageRequest
|
|
||||||
{
|
|
||||||
manager PQuota;
|
|
||||||
|
|
||||||
parent:
|
|
||||||
diff --git a/dom/quota/QuotaManagerService.cpp b/dom/quota/QuotaManagerService.cpp
|
|
||||||
--- a/dom/quota/QuotaManagerService.cpp
|
|
||||||
+++ b/dom/quota/QuotaManagerService.cpp
|
|
||||||
@@ -490,16 +490,41 @@ QuotaManagerService::RemoveIdleObserver(
|
|
||||||
|
|
||||||
NS_IMPL_ADDREF(QuotaManagerService)
|
|
||||||
NS_IMPL_RELEASE_WITH_DESTROY(QuotaManagerService, Destroy())
|
|
||||||
NS_IMPL_QUERY_INTERFACE(QuotaManagerService,
|
|
||||||
nsIQuotaManagerService,
|
|
||||||
nsIObserver)
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
+QuotaManagerService::GetUsage(nsIQuotaUsageCallback* aCallback,
|
|
||||||
+ bool aGetAll,
|
|
||||||
+ nsIQuotaUsageRequest** _retval)
|
|
||||||
+{
|
|
||||||
+ MOZ_ASSERT(NS_IsMainThread());
|
|
||||||
+ MOZ_ASSERT(aCallback);
|
|
||||||
+
|
|
||||||
+ RefPtr<UsageRequest> request = new UsageRequest(aCallback);
|
|
||||||
+
|
|
||||||
+ AllUsageParams params;
|
|
||||||
+
|
|
||||||
+ params.getAll() = aGetAll;
|
|
||||||
+
|
|
||||||
+ nsAutoPtr<PendingRequestInfo> info(new UsageRequestInfo(request, params));
|
|
||||||
+
|
|
||||||
+ nsresult rv = InitiateRequest(info);
|
|
||||||
+ if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
+ return rv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ request.forget(_retval);
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+NS_IMETHODIMP
|
|
||||||
QuotaManagerService::GetUsageForPrincipal(nsIPrincipal* aPrincipal,
|
|
||||||
nsIQuotaUsageCallback* aCallback,
|
|
||||||
bool aGetGroupUsage,
|
|
||||||
nsIQuotaUsageRequest** _retval)
|
|
||||||
{
|
|
||||||
MOZ_ASSERT(NS_IsMainThread());
|
|
||||||
MOZ_ASSERT(aPrincipal);
|
|
||||||
MOZ_ASSERT(aCallback);
|
|
||||||
diff --git a/dom/quota/QuotaRequests.cpp b/dom/quota/QuotaRequests.cpp
|
|
||||||
--- a/dom/quota/QuotaRequests.cpp
|
|
||||||
+++ b/dom/quota/QuotaRequests.cpp
|
|
||||||
@@ -86,16 +86,25 @@ RequestBase::GetResultCode(nsresult* aRe
|
|
||||||
if (!mHaveResultOrErrorCode) {
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
*aResultCode = mResultCode;
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
+UsageRequest::UsageRequest(nsIQuotaUsageCallback* aCallback)
|
|
||||||
+ : mCallback(aCallback)
|
|
||||||
+ , mBackgroundActor(nullptr)
|
|
||||||
+ , mCanceled(false)
|
|
||||||
+{
|
|
||||||
+ AssertIsOnOwningThread();
|
|
||||||
+ MOZ_ASSERT(aCallback);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
UsageRequest::UsageRequest(nsIPrincipal* aPrincipal,
|
|
||||||
nsIQuotaUsageCallback* aCallback)
|
|
||||||
: RequestBase(aPrincipal)
|
|
||||||
, mCallback(aCallback)
|
|
||||||
, mBackgroundActor(nullptr)
|
|
||||||
, mCanceled(false)
|
|
||||||
{
|
|
||||||
AssertIsOnOwningThread();
|
|
||||||
diff --git a/dom/quota/QuotaRequests.h b/dom/quota/QuotaRequests.h
|
|
||||||
--- a/dom/quota/QuotaRequests.h
|
|
||||||
+++ b/dom/quota/QuotaRequests.h
|
|
||||||
@@ -73,16 +73,18 @@ class UsageRequest final
|
|
||||||
|
|
||||||
nsCOMPtr<nsIVariant> mResult;
|
|
||||||
|
|
||||||
QuotaUsageRequestChild* mBackgroundActor;
|
|
||||||
|
|
||||||
bool mCanceled;
|
|
||||||
|
|
||||||
public:
|
|
||||||
+ explicit UsageRequest(nsIQuotaUsageCallback* aCallback);
|
|
||||||
+
|
|
||||||
UsageRequest(nsIPrincipal* aPrincipal,
|
|
||||||
nsIQuotaUsageCallback* aCallback);
|
|
||||||
|
|
||||||
void
|
|
||||||
SetBackgroundActor(QuotaUsageRequestChild* aBackgroundActor);
|
|
||||||
|
|
||||||
void
|
|
||||||
ClearBackgroundActor()
|
|
||||||
diff --git a/dom/quota/QuotaResults.cpp b/dom/quota/QuotaResults.cpp
|
|
||||||
--- a/dom/quota/QuotaResults.cpp
|
|
||||||
+++ b/dom/quota/QuotaResults.cpp
|
|
||||||
@@ -5,16 +5,53 @@
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
#include "QuotaResults.h"
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
namespace quota {
|
|
||||||
|
|
||||||
+UsageResult::UsageResult(const nsACString& aOrigin,
|
|
||||||
+ bool aPersisted,
|
|
||||||
+ uint64_t aUsage)
|
|
||||||
+ : mOrigin(aOrigin)
|
|
||||||
+ , mUsage(aUsage)
|
|
||||||
+ , mPersisted(aPersisted)
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+NS_IMPL_ISUPPORTS(UsageResult,
|
|
||||||
+ nsIQuotaUsageResult)
|
|
||||||
+
|
|
||||||
+NS_IMETHODIMP
|
|
||||||
+UsageResult::GetOrigin(nsACString& aOrigin)
|
|
||||||
+{
|
|
||||||
+ aOrigin = mOrigin;
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+NS_IMETHODIMP
|
|
||||||
+UsageResult::GetPersisted(bool* aPersisted)
|
|
||||||
+{
|
|
||||||
+ MOZ_ASSERT(aPersisted);
|
|
||||||
+
|
|
||||||
+ *aPersisted = mPersisted;
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+NS_IMETHODIMP
|
|
||||||
+UsageResult::GetUsage(uint64_t* aUsage)
|
|
||||||
+{
|
|
||||||
+ MOZ_ASSERT(aUsage);
|
|
||||||
+
|
|
||||||
+ *aUsage = mUsage;
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
OriginUsageResult::OriginUsageResult(uint64_t aUsage,
|
|
||||||
uint64_t aFileUsage,
|
|
||||||
uint64_t aLimit)
|
|
||||||
: mUsage(aUsage)
|
|
||||||
, mFileUsage(aFileUsage)
|
|
||||||
, mLimit(aLimit)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
diff --git a/dom/quota/QuotaResults.h b/dom/quota/QuotaResults.h
|
|
||||||
--- a/dom/quota/QuotaResults.h
|
|
||||||
+++ b/dom/quota/QuotaResults.h
|
|
||||||
@@ -8,16 +8,36 @@
|
|
||||||
#define mozilla_dom_quota_QuotaResults_h
|
|
||||||
|
|
||||||
#include "nsIQuotaResults.h"
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
namespace quota {
|
|
||||||
|
|
||||||
+class UsageResult
|
|
||||||
+ : public nsIQuotaUsageResult
|
|
||||||
+{
|
|
||||||
+ nsCString mOrigin;
|
|
||||||
+ uint64_t mUsage;
|
|
||||||
+ bool mPersisted;
|
|
||||||
+
|
|
||||||
+public:
|
|
||||||
+ UsageResult(const nsACString& aOrigin,
|
|
||||||
+ bool aPersisted,
|
|
||||||
+ uint64_t aUsage);
|
|
||||||
+
|
|
||||||
+private:
|
|
||||||
+ virtual ~UsageResult()
|
|
||||||
+ { }
|
|
||||||
+
|
|
||||||
+ NS_DECL_ISUPPORTS
|
|
||||||
+ NS_DECL_NSIQUOTAUSAGERESULT
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
class OriginUsageResult
|
|
||||||
: public nsIQuotaOriginUsageResult
|
|
||||||
{
|
|
||||||
uint64_t mUsage;
|
|
||||||
uint64_t mFileUsage;
|
|
||||||
uint64_t mLimit;
|
|
||||||
|
|
||||||
public:
|
|
||||||
diff --git a/dom/quota/nsIQuotaManagerService.idl b/dom/quota/nsIQuotaManagerService.idl
|
|
||||||
--- a/dom/quota/nsIQuotaManagerService.idl
|
|
||||||
+++ b/dom/quota/nsIQuotaManagerService.idl
|
|
||||||
@@ -10,16 +10,31 @@ interface nsIPrincipal;
|
|
||||||
interface nsIQuotaRequest;
|
|
||||||
interface nsIQuotaUsageCallback;
|
|
||||||
interface nsIQuotaUsageRequest;
|
|
||||||
|
|
||||||
[scriptable, builtinclass, uuid(1b3d0a38-8151-4cf9-89fa-4f92c2ef0e7e)]
|
|
||||||
interface nsIQuotaManagerService : nsISupports
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
+ * Schedules an asynchronous callback that will inspect all origins and
|
|
||||||
+ * return the total amount of disk space being used by storages for each
|
|
||||||
+ * origin separately.
|
|
||||||
+ *
|
|
||||||
+ * @param aCallback
|
|
||||||
+ * The callback that will be called when the usage is available.
|
|
||||||
+ * @param aGetAll
|
|
||||||
+ * An optional boolean to indicate inspection of all origins,
|
|
||||||
+ * including internal ones.
|
|
||||||
+ */
|
|
||||||
+ [must_use] nsIQuotaUsageRequest
|
|
||||||
+ getUsage(in nsIQuotaUsageCallback aCallback,
|
|
||||||
+ [optional] in boolean aGetAll);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
* Schedules an asynchronous callback that will return the total amount of
|
|
||||||
* disk space being used by storages for the given origin.
|
|
||||||
*
|
|
||||||
* @param aPrincipal
|
|
||||||
* A principal for the origin whose usage is being queried.
|
|
||||||
* @param aCallback
|
|
||||||
* The callback that will be called when the usage is available.
|
|
||||||
* @param aGetGroupUsage
|
|
||||||
diff --git a/dom/quota/nsIQuotaRequests.idl b/dom/quota/nsIQuotaRequests.idl
|
|
||||||
--- a/dom/quota/nsIQuotaRequests.idl
|
|
||||||
+++ b/dom/quota/nsIQuotaRequests.idl
|
|
||||||
@@ -18,16 +18,17 @@ interface nsIQuotaRequestBase : nsISuppo
|
|
||||||
|
|
||||||
[must_use] readonly attribute nsresult resultCode;
|
|
||||||
};
|
|
||||||
|
|
||||||
[scriptable, uuid(166e28e6-cf6d-4927-a6d7-b51bca9d3469)]
|
|
||||||
interface nsIQuotaUsageRequest : nsIQuotaRequestBase
|
|
||||||
{
|
|
||||||
// The result can contain one of these types:
|
|
||||||
+ // array of nsIQuotaUsageResult
|
|
||||||
// nsIQuotaOriginUsageResult
|
|
||||||
[must_use] readonly attribute nsIVariant result;
|
|
||||||
|
|
||||||
attribute nsIQuotaUsageCallback callback;
|
|
||||||
|
|
||||||
[must_use] void
|
|
||||||
cancel();
|
|
||||||
};
|
|
||||||
diff --git a/dom/quota/nsIQuotaResults.idl b/dom/quota/nsIQuotaResults.idl
|
|
||||||
--- a/dom/quota/nsIQuotaResults.idl
|
|
||||||
+++ b/dom/quota/nsIQuotaResults.idl
|
|
||||||
@@ -1,16 +1,26 @@
|
|
||||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
||||||
/* vim: set ts=2 et sw=2 tw=80: */
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
#include "nsISupports.idl"
|
|
||||||
|
|
||||||
+[scriptable, function, uuid(d8c9328b-9aa8-4f5d-90e6-482de4a6d5b8)]
|
|
||||||
+interface nsIQuotaUsageResult : nsISupports
|
|
||||||
+{
|
|
||||||
+ readonly attribute ACString origin;
|
|
||||||
+
|
|
||||||
+ readonly attribute boolean persisted;
|
|
||||||
+
|
|
||||||
+ readonly attribute unsigned long long usage;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
[scriptable, function, uuid(96df03d2-116a-493f-bb0b-118c212a6b32)]
|
|
||||||
interface nsIQuotaOriginUsageResult : nsISupports
|
|
||||||
{
|
|
||||||
readonly attribute unsigned long long usage;
|
|
||||||
|
|
||||||
readonly attribute unsigned long long fileUsage;
|
|
||||||
|
|
||||||
readonly attribute unsigned long long limit;
|
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
Based on:
|
|
||||||
https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3
|
|
||||||
|
|
||||||
Adapted to apply cleanly to IceCat.
|
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Philip Chimento <philip.chimento@gmail.com>
|
|
||||||
# Date 1510012155 28800
|
|
||||||
# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44
|
|
||||||
# Parent 0152d097672f7e99504815cf7b06d9f303419fba
|
|
||||||
Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu
|
|
||||||
|
|
||||||
On Darwin this would cause a race between two static initializers.
|
|
||||||
|
|
||||||
diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
|
|
||||||
--- a/js/src/shell/js.cpp
|
|
||||||
+++ b/js/src/shell/js.cpp
|
|
||||||
@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 *
|
|
||||||
#else
|
|
||||||
static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Limit the timeout to 30 minutes to prevent an overflow on platfoms
|
|
||||||
* that represent the time internally in microseconds using 32-bit int.
|
|
||||||
*/
|
|
||||||
-static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0);
|
|
||||||
+static const double MAX_TIMEOUT_SECONDS = 1800.0;
|
|
||||||
|
|
||||||
// SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting
|
|
||||||
// with --shared-memory={on,off}.
|
|
||||||
#ifndef RELEASE_OR_BETA
|
|
||||||
# define SHARED_MEMORY_DEFAULT 1
|
|
||||||
#else
|
|
||||||
# define SHARED_MEMORY_DEFAULT 0
|
|
||||||
#endif
|
|
||||||
@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V
|
|
||||||
if (!ToNumber(cx, args[0], &t_secs))
|
|
||||||
return false;
|
|
||||||
if (mozilla::IsNaN(t_secs)) {
|
|
||||||
JS_ReportErrorASCII(cx, "sleep interval is not a number");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
duration = TimeDuration::FromSeconds(Max(0.0, t_secs));
|
|
||||||
+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS);
|
|
||||||
if (duration > MAX_TIMEOUT_INTERVAL) {
|
|
||||||
JS_ReportErrorASCII(cx, "Excessive sleep interval");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
LockGuard<Mutex> guard(sc->watchdogLock);
|
|
||||||
TimeStamp toWakeup = TimeStamp::Now() + duration;
|
|
||||||
@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx)
|
|
||||||
|
|
||||||
static bool
|
|
||||||
SetTimeoutValue(JSContext* cx, double t)
|
|
||||||
{
|
|
||||||
if (mozilla::IsNaN(t)) {
|
|
||||||
JS_ReportErrorASCII(cx, "timeout is not a number");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS);
|
|
||||||
if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) {
|
|
||||||
JS_ReportErrorASCII(cx, "Excessive timeout value");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
GetShellContext(cx)->timeoutInterval = t;
|
|
||||||
if (!ScheduleWatchdog(cx, t)) {
|
|
||||||
JS_ReportErrorASCII(cx, "Failed to create the watchdog");
|
|
||||||
return false;
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
Based on:
|
|
||||||
https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/22fe3ff3f923
|
|
||||||
|
|
||||||
Adapted to apply cleanly to IceCat.
|
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Marco Bonardo <mbonardo@mozilla.com>
|
|
||||||
# Date 1510052455 -3600
|
|
||||||
# Node ID 22fe3ff3f92358596521f7155ddc512006022207
|
|
||||||
# Parent 2909ba991f3134f9fbf4859cf08582f1c9845594
|
|
||||||
Bug 1415133 - Downgrades from 55+ to ESR lose bookmarks. r=past a=lizzard
|
|
||||||
|
|
||||||
MozReview-Commit-ID: 44Rw7m1FP4h
|
|
||||||
|
|
||||||
diff --git a/toolkit/components/places/Database.cpp b/toolkit/components/places/Database.cpp
|
|
||||||
--- a/toolkit/components/places/Database.cpp
|
|
||||||
+++ b/toolkit/components/places/Database.cpp
|
|
||||||
@@ -761,16 +761,21 @@ Database::InitSchema(bool* aDatabaseMigr
|
|
||||||
// 2. implement a method that performs upgrade to your version from the
|
|
||||||
// previous one.
|
|
||||||
//
|
|
||||||
// NOTE: The downgrade process is pretty much complicated by the fact old
|
|
||||||
// versions cannot know what a new version is going to implement.
|
|
||||||
// The only thing we will do for downgrades is setting back the schema
|
|
||||||
// version, so that next upgrades will run again the migration step.
|
|
||||||
|
|
||||||
+ if (currentSchemaVersion > 36) {
|
|
||||||
+ // These versions are not downgradable.
|
|
||||||
+ return NS_ERROR_FILE_CORRUPTED;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (currentSchemaVersion < DATABASE_SCHEMA_VERSION) {
|
|
||||||
*aDatabaseMigrated = true;
|
|
||||||
|
|
||||||
if (currentSchemaVersion < 11) {
|
|
||||||
// These are versions older than IceCat 4 that are not supported
|
|
||||||
// anymore. In this case it's safer to just replace the database.
|
|
||||||
return NS_ERROR_FILE_CORRUPTED;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,183 +0,0 @@
|
||||||
Based on:
|
|
||||||
https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d
|
|
||||||
|
|
||||||
Adapted to apply cleanly to IceCat.
|
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Mike Conley <mconley@mozilla.com>
|
|
||||||
# Date 1513892173 18000
|
|
||||||
# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1
|
|
||||||
# Parent 320032aaa06899f5585dcd0288059e5342118714
|
|
||||||
Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau
|
|
||||||
|
|
||||||
diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js
|
|
||||||
--- a/browser/app/profile/icecat.js
|
|
||||||
+++ b/browser/app/profile/icecat.js
|
|
||||||
@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh
|
|
||||||
pref("browser.crashReports.unsubmittedCheck.enabled", false);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// chancesUntilSuppress is how many times we'll show the unsubmitted
|
|
||||||
// crash report notification across different days and shutdown
|
|
||||||
// without a user choice before we suppress the notification for
|
|
||||||
// some number of days.
|
|
||||||
pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4);
|
|
||||||
-pref("browser.crashReports.unsubmittedCheck.autoSubmit", false);
|
|
||||||
+pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
|
||||||
|
|
||||||
#ifdef NIGHTLY_BUILD
|
|
||||||
// Enable the (fairly costly) client/server validation on nightly only. The other prefs
|
|
||||||
// controlling validation are located in /services/sync/services-sync.js
|
|
||||||
pref("services.sync.validation.enabled", true);
|
|
||||||
#endif
|
|
||||||
diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
|
|
||||||
--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
|
|
||||||
+++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
|
|
||||||
@@ -1,12 +1,12 @@
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.";
|
|
||||||
-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit";
|
|
||||||
+const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2";
|
|
||||||
|
|
||||||
const {TabStateFlusher} =
|
|
||||||
Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {});
|
|
||||||
|
|
||||||
// On debug builds, crashing tabs results in much thinking, which
|
|
||||||
// slows down the test and results in intermittent test timeouts,
|
|
||||||
// so we'll pump up the expected timeout for this test.
|
|
||||||
requestLongerTimeout(2);
|
|
||||||
diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul
|
|
||||||
--- a/browser/components/preferences/in-content/advanced.xul
|
|
||||||
+++ b/browser/components/preferences/in-content/advanced.xul
|
|
||||||
@@ -51,18 +51,18 @@
|
|
||||||
#ifdef MOZ_TELEMETRY_REPORTING
|
|
||||||
<preference id="toolkit.telemetry.enabled"
|
|
||||||
name="toolkit.telemetry.enabled"
|
|
||||||
type="bool"/>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
<!-- Data Choices tab -->
|
|
||||||
#ifdef MOZ_CRASHREPORTER
|
|
||||||
- <preference id="browser.crashReports.unsubmittedCheck.autoSubmit"
|
|
||||||
- name="browser.crashReports.unsubmittedCheck.autoSubmit"
|
|
||||||
+ <preference id="browser.crashReports.unsubmittedCheck.autoSubmit2"
|
|
||||||
+ name="browser.crashReports.unsubmittedCheck.autoSubmit2"
|
|
||||||
type="bool"/>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
<!-- Network tab -->
|
|
||||||
<preference id="browser.cache.disk.capacity"
|
|
||||||
name="browser.cache.disk.capacity"
|
|
||||||
type="int"/>
|
|
||||||
<preference id="browser.offline-apps.notify"
|
|
||||||
@@ -232,17 +232,17 @@
|
|
||||||
</hbox>
|
|
||||||
</vbox>
|
|
||||||
</groupbox>
|
|
||||||
#endif
|
|
||||||
#ifdef MOZ_CRASHREPORTER
|
|
||||||
<groupbox>
|
|
||||||
<caption>
|
|
||||||
<checkbox id="automaticallySubmitCrashesBox"
|
|
||||||
- preference="browser.crashReports.unsubmittedCheck.autoSubmit"
|
|
||||||
+ preference="browser.crashReports.unsubmittedCheck.autoSubmit2"
|
|
||||||
label="&alwaysSubmitCrashReports.label;"
|
|
||||||
accesskey="&alwaysSubmitCrashReports.accesskey;"/>
|
|
||||||
</caption>
|
|
||||||
<hbox class="indent">
|
|
||||||
<label flex="1">&crashReporterDesc2.label;</label>
|
|
||||||
<spacer flex="10"/>
|
|
||||||
<label id="crashReporterLearnMore"
|
|
||||||
class="text-link">&crashReporterLearnMore.label;</label>
|
|
||||||
diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js
|
|
||||||
--- a/browser/components/sessionstore/test/browser_background_tab_crash.js
|
|
||||||
+++ b/browser/components/sessionstore/test/browser_background_tab_crash.js
|
|
||||||
@@ -142,17 +142,17 @@ add_task(function* test_background_crash
|
|
||||||
/**
|
|
||||||
* Tests that if a content process crashes taking down only
|
|
||||||
* background tabs, and the user is configured to send backlogged
|
|
||||||
* crash reports automatically, that the tab crashed page is not
|
|
||||||
* shown.
|
|
||||||
*/
|
|
||||||
add_task(function* test_background_crash_autosubmit_backlogged() {
|
|
||||||
yield SpecialPowers.pushPrefEnv({
|
|
||||||
- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]],
|
|
||||||
+ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]],
|
|
||||||
});
|
|
||||||
|
|
||||||
yield setupBackgroundTabs(function*([tab1, tab2]) {
|
|
||||||
// Let's crash one of those background tabs now...
|
|
||||||
yield crashBackgroundTabs([tab1, tab2]);
|
|
||||||
|
|
||||||
// Selecting the first tab should restore it.
|
|
||||||
let tabRestored = promiseTabRestored(tab1);
|
|
||||||
diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm
|
|
||||||
--- a/browser/modules/ContentCrashHandlers.jsm
|
|
||||||
+++ b/browser/modules/ContentCrashHandlers.jsm
|
|
||||||
@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = {
|
|
||||||
return nb.appendNotification(message, notificationID,
|
|
||||||
"chrome://browser/skin/tab-crashed.svg",
|
|
||||||
nb.PRIORITY_INFO_HIGH, buttons,
|
|
||||||
eventCallback);
|
|
||||||
},
|
|
||||||
|
|
||||||
get autoSubmit() {
|
|
||||||
return Services.prefs
|
|
||||||
- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit");
|
|
||||||
+ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2");
|
|
||||||
},
|
|
||||||
|
|
||||||
set autoSubmit(val) {
|
|
||||||
- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit",
|
|
||||||
+ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2",
|
|
||||||
val);
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attempt to submit reports to the crash report server. Each
|
|
||||||
* report will have the "SubmittedFromInfobar" extra key set
|
|
||||||
* to true.
|
|
||||||
*
|
|
||||||
diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js
|
|
||||||
--- a/browser/modules/test/browser_UnsubmittedCrashHandler.js
|
|
||||||
+++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js
|
|
||||||
@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever
|
|
||||||
clearPendingCrashReports();
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that choosing "Send Always" flips the autoSubmit pref
|
|
||||||
* and sends the pending crash reports.
|
|
||||||
*/
|
|
||||||
add_task(function* test_can_submit_always() {
|
|
||||||
- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit";
|
|
||||||
+ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2";
|
|
||||||
Assert.equal(Services.prefs.getBoolPref(pref), false,
|
|
||||||
"We should not be auto-submitting by default");
|
|
||||||
|
|
||||||
let reportIDs = yield createPendingCrashReports(1);
|
|
||||||
let notification =
|
|
||||||
yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
|
||||||
Assert.ok(notification, "There should be a notification");
|
|
||||||
|
|
||||||
@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that if the user has chosen to automatically send
|
|
||||||
* crash reports that no notification is displayed to the
|
|
||||||
* user.
|
|
||||||
*/
|
|
||||||
add_task(function* test_can_auto_submit() {
|
|
||||||
yield SpecialPowers.pushPrefEnv({ set: [
|
|
||||||
- ["browser.crashReports.unsubmittedCheck.autoSubmit", true],
|
|
||||||
+ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true],
|
|
||||||
]});
|
|
||||||
|
|
||||||
let reportIDs = yield createPendingCrashReports(3);
|
|
||||||
let promiseReports = waitForSubmittedReports(reportIDs);
|
|
||||||
let notification =
|
|
||||||
yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
|
||||||
Assert.equal(notification, null, "There should be no notification");
|
|
||||||
info("Waiting on reports to be received.");
|
|
||||||
|
|
|
@ -529,7 +529,7 @@ contents of a file is equal to a particular string.")
|
||||||
(define-public perl-test-harness
|
(define-public perl-test-harness
|
||||||
(package
|
(package
|
||||||
(name "perl-test-harness")
|
(name "perl-test-harness")
|
||||||
(version "3.39")
|
(version "3.41")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -537,7 +537,7 @@ contents of a file is equal to a particular string.")
|
||||||
"Test-Harness-" version ".tar.gz"))
|
"Test-Harness-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0chiqnzmna2mglm37nzxvn9qhq2j31iwz3i9isqjs7bf3k449gb9"))))
|
"0cgdgzywvscbvb9i0dmd2ls5jwqlnf2z6hx4f4lljpvdjd59v3m8"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
|
|
@ -6008,7 +6008,7 @@ of data.")
|
||||||
(define-public perl-mozilla-ca
|
(define-public perl-mozilla-ca
|
||||||
(package
|
(package
|
||||||
(name "perl-mozilla-ca")
|
(name "perl-mozilla-ca")
|
||||||
(version "20160104")
|
(version "20180117")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -6016,7 +6016,7 @@ of data.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0aizn08lrdrgjz9vagkjmw2c7sxn46fzz521v9dbcqii4jd0d9r7"))))
|
"01p4ykyilk1639dxgjaa2n7rz1f0zbqxkq11yc9n6xcz26z9zk7j"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(home-page "http://search.cpan.org/dist/Mozilla-CA/")
|
(home-page "http://search.cpan.org/dist/Mozilla-CA/")
|
||||||
(synopsis "Mozilla's CA cert bundle in PEM format")
|
(synopsis "Mozilla's CA cert bundle in PEM format")
|
||||||
|
@ -7340,7 +7340,7 @@ return value is the sub.")
|
||||||
(define-public perl-sub-quote
|
(define-public perl-sub-quote
|
||||||
(package
|
(package
|
||||||
(name "perl-sub-quote")
|
(name "perl-sub-quote")
|
||||||
(version "2.004000")
|
(version "2.005000")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -7349,7 +7349,7 @@ return value is the sub.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq"))))
|
"1zv45cvj4ifkbr61ydcpphnj6lvib37gfxwfh40h0yzf3c8lbca4"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("perl-test-fatal" ,perl-test-fatal)))
|
`(("perl-test-fatal" ,perl-test-fatal)))
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
|
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -49,10 +50,19 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module ((guix licenses) #:prefix license:))
|
#:use-module ((guix licenses) #:prefix license:))
|
||||||
|
|
||||||
|
(define gd-for-php
|
||||||
|
(package
|
||||||
|
(inherit gd)
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source gd))
|
||||||
|
(patches (search-patches "gd-fix-tests-on-i686.patch"
|
||||||
|
"gd-freetype-test-failure.patch"
|
||||||
|
"gd-CVE-2018-5711.patch"))))))
|
||||||
|
|
||||||
(define-public php
|
(define-public php
|
||||||
(package
|
(package
|
||||||
(name "php")
|
(name "php")
|
||||||
(version "7.2.1")
|
(version "7.2.3")
|
||||||
(home-page "https://secure.php.net/")
|
(home-page "https://secure.php.net/")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -60,7 +70,7 @@
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"08l8zmp8wbavq6wlgx19irz59csb44jhbsr172bfsq36v8pzhv3c"))
|
"07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(with-directory-excursion "ext"
|
'(with-directory-excursion "ext"
|
||||||
|
@ -277,11 +287,7 @@
|
||||||
"ext/mbstring/tests/mb_ereg_variation3.phpt"
|
"ext/mbstring/tests/mb_ereg_variation3.phpt"
|
||||||
"ext/mbstring/tests/mb_ereg_replace_variation1.phpt"
|
"ext/mbstring/tests/mb_ereg_replace_variation1.phpt"
|
||||||
"ext/mbstring/tests/bug72994.phpt"
|
"ext/mbstring/tests/bug72994.phpt"
|
||||||
"ext/ldap/tests/ldap_set_option_error.phpt"
|
"ext/ldap/tests/ldap_set_option_error.phpt"))
|
||||||
|
|
||||||
;; XXX: This is CVE-2018-5711. There is no fix yet in libgd.
|
|
||||||
;; See https://github.com/libgd/libgd/issues/420
|
|
||||||
"ext/gd/tests/bug75571.phpt"))
|
|
||||||
|
|
||||||
;; Skip tests requiring network access.
|
;; Skip tests requiring network access.
|
||||||
(setenv "SKIP_ONLINE_TESTS" "1")
|
(setenv "SKIP_ONLINE_TESTS" "1")
|
||||||
|
@ -298,7 +304,7 @@
|
||||||
("curl" ,curl)
|
("curl" ,curl)
|
||||||
("cyrus-sasl" ,cyrus-sasl)
|
("cyrus-sasl" ,cyrus-sasl)
|
||||||
("freetype" ,freetype)
|
("freetype" ,freetype)
|
||||||
("gd" ,gd)
|
("gd" ,gd-for-php)
|
||||||
("gdbm" ,gdbm)
|
("gdbm" ,gdbm)
|
||||||
("glibc" ,glibc)
|
("glibc" ,glibc)
|
||||||
("gmp" ,gmp)
|
("gmp" ,gmp)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,6 +27,7 @@
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (guix utils)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages ghostscript)
|
#:use-module (gnu packages ghostscript)
|
||||||
#:use-module (gnu packages groff)
|
#:use-module (gnu packages groff)
|
||||||
|
@ -242,7 +243,7 @@ seen in a terminal.")
|
||||||
(define-public highlight
|
(define-public highlight
|
||||||
(package
|
(package
|
||||||
(name "highlight")
|
(name "highlight")
|
||||||
(version "3.33")
|
(version "3.42")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -250,7 +251,7 @@ seen in a terminal.")
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0g2whi6pxl640795vymikm82a1my841jmh7fiqzbrjpc9wsk1db4"))))
|
"07iihzy8ckzdrxqd6bzbij4hy4mmlixibjnjviqfihd0hh1q30m5"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; no tests
|
`(#:tests? #f ; no tests
|
||||||
|
@ -261,12 +262,13 @@ seen in a terminal.")
|
||||||
(string-append "conf_dir=" confdir)))
|
(string-append "conf_dir=" confdir)))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(delete 'configure)
|
(delete 'configure) ; no configure script
|
||||||
(add-after 'unpack 'fix-search-for-lua
|
(add-after 'unpack 'fix-search-for-lua
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "src/makefile"
|
(substitute* "src/makefile"
|
||||||
(("(pkg-config.*)lua" _ prefix)
|
(("(pkg-config.*)lua" _ prefix)
|
||||||
(string-append prefix "lua-5.3")))
|
(string-append prefix "lua-" ,(version-major+minor
|
||||||
|
(package-version lua)))))
|
||||||
#t)))))
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("lua" ,lua)
|
`(("lua" ,lua)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -65,7 +66,7 @@
|
||||||
`(("autoconf" ,autoconf)
|
`(("autoconf" ,autoconf)
|
||||||
("gfortran" ,gfortran)))
|
("gfortran" ,gfortran)))
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f ; no check target
|
`(#:tests? #f ; no check target
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
;; These are roughly per Fedora, but elide mx (assumed to be dead, even
|
;; These are roughly per Fedora, but elide mx (assumed to be dead, even
|
||||||
;; Open-MX) and add and powercap -- I don't know the pros/cons of
|
;; Open-MX) and add and powercap -- I don't know the pros/cons of
|
||||||
|
@ -84,7 +85,8 @@ stealtime lmsensors infiniband powercap"
|
||||||
(add-before 'configure 'autoconf
|
(add-before 'configure 'autoconf
|
||||||
(lambda _
|
(lambda _
|
||||||
(chdir "src")
|
(chdir "src")
|
||||||
(zero? (system* "autoconf"))))
|
(invoke "autoconf")
|
||||||
|
#t))
|
||||||
;; Amalgamating with the following clause gives double substitution.
|
;; Amalgamating with the following clause gives double substitution.
|
||||||
(add-before 'patch-source-shebangs 'patch-components
|
(add-before 'patch-source-shebangs 'patch-components
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -95,28 +97,26 @@ stealtime lmsensors infiniband powercap"
|
||||||
(add-after 'configure 'components
|
(add-after 'configure 'components
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(with-directory-excursion "components"
|
(with-directory-excursion "components"
|
||||||
(and
|
|
||||||
(with-directory-excursion "infiniband_umad"
|
(with-directory-excursion "infiniband_umad"
|
||||||
(zero? (system* "./configure")))
|
(invoke "./configure"))
|
||||||
(with-directory-excursion "lmsensors"
|
(with-directory-excursion "lmsensors"
|
||||||
(let ((base (assoc-ref inputs "lm-sensors")))
|
(let ((base (assoc-ref inputs "lm-sensors")))
|
||||||
(zero?
|
(invoke "./configure"
|
||||||
(system*
|
(string-append "--with-sensors_incdir="
|
||||||
"./configure"
|
base "/include/sensors")
|
||||||
(string-append "--with-sensors_incdir=" base
|
(string-append "--with-sensors_libdir="
|
||||||
"/include/sensors")
|
base "/lib")))))
|
||||||
(string-append "--with-sensors_libdir=" base "/lib")))))))))
|
#t))
|
||||||
(add-after 'install 'extra-doc
|
(add-after 'install 'extra-doc
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((doc (string-append (assoc-ref outputs "out")
|
(let ((doc (string-append (assoc-ref outputs "out")
|
||||||
"/share/doc")))
|
"/share/doc/" ,name "-" ,version)))
|
||||||
(mkdir-p doc)
|
|
||||||
(chdir "..") ; we went into src above
|
(chdir "..") ; we went into src above
|
||||||
(for-each (lambda (file)
|
(for-each (lambda (file)
|
||||||
(install-file file doc))
|
(install-file file doc))
|
||||||
'("README" "RELEASENOTES.txt" "LICENSE.txt"))
|
'("README" "RELEASENOTES.txt"))
|
||||||
#t))))))
|
#t))))))
|
||||||
(home-page "http://icl.cs.utk.edu/papi/")
|
(home-page "https://icl.utk.edu/papi/")
|
||||||
(synopsis "Performance Application Programming Interface")
|
(synopsis "Performance Application Programming Interface")
|
||||||
(description
|
(description
|
||||||
"PAPI provides the tool designer and application engineer with a consistent
|
"PAPI provides the tool designer and application engineer with a consistent
|
||||||
|
|
|
@ -138,14 +138,14 @@ between a web browser and web server.")
|
||||||
(define-public python-flask-babel
|
(define-public python-flask-babel
|
||||||
(package
|
(package
|
||||||
(name "python-flask-babel")
|
(name "python-flask-babel")
|
||||||
(version "0.11.1")
|
(version "0.11.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "Flask-Babel" version))
|
(uri (pypi-uri "Flask-Babel" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"16b80cipdba9xj3jlaiaq6wgrgpjb70w3j01jjy9hbp4k71kd6yj"))))
|
"0ff9n165vhf1nhv6807ckhpp224jw7k7sd7jz5kfh3sbpl85gmy0"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-flask" ,python-flask)
|
`(("python-flask" ,python-flask)
|
||||||
|
@ -254,7 +254,8 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "py.test" "-v" "webencodings/tests.py")))))))
|
(invoke "py.test" "-v" "webencodings/tests.py")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pytest" ,python-pytest)))
|
`(("python-pytest" ,python-pytest)))
|
||||||
(home-page "https://github.com/SimonSapin/python-webencodings")
|
(home-page "https://github.com/SimonSapin/python-webencodings")
|
||||||
|
@ -264,7 +265,7 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
|
||||||
something like @code{Content-Type: text/html; charset=latin1}, tools need
|
something like @code{Content-Type: text/html; charset=latin1}, tools need
|
||||||
to use a particular set of aliases for encoding labels as well as some
|
to use a particular set of aliases for encoding labels as well as some
|
||||||
overriding rules. For example, @code{US-ASCII} and @code{iso-8859-1} on
|
overriding rules. For example, @code{US-ASCII} and @code{iso-8859-1} on
|
||||||
the web are actually aliases for @code{windows-1252}, and an @code{UTF-8}
|
the web are actually aliases for @code{windows-1252}, and a @code{UTF-8}
|
||||||
or @code{UTF-16} BOM takes precedence over any other encoding declaration.
|
or @code{UTF-16} BOM takes precedence over any other encoding declaration.
|
||||||
The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard
|
The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard
|
||||||
defines all such details so that implementations do not have to
|
defines all such details so that implementations do not have to
|
||||||
|
@ -295,7 +296,8 @@ is Python’s.")
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "./admin/runtests")))))))
|
(invoke "./admin/runtests")
|
||||||
|
#t)))))
|
||||||
(properties `((python2-variant . ,(delay python2-openid))))
|
(properties `((python2-variant . ,(delay python2-openid))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-defusedxml" ,python-defusedxml)))
|
`(("python-defusedxml" ,python-defusedxml)))
|
||||||
|
@ -332,14 +334,14 @@ for clients and servers.")
|
||||||
(define-public python-cssutils
|
(define-public python-cssutils
|
||||||
(package
|
(package
|
||||||
(name "python-cssutils")
|
(name "python-cssutils")
|
||||||
(version "1.0.1")
|
(version "1.0.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "cssutils" version))
|
(uri (pypi-uri "cssutils" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq"))))
|
"1bxchrbqzapwijap0yhlxdil1w9bmwvgx77aizlkhc2mcxjg1z52"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("unzip" ,unzip))) ; for unpacking the source
|
`(("unzip" ,unzip))) ; for unpacking the source
|
||||||
|
@ -451,7 +453,8 @@ teams extension for python-openid.")
|
||||||
;; (lambda _
|
;; (lambda _
|
||||||
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
|
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
|
||||||
;; ;; "tornado/platform/kqueue.py". This is the supported method:
|
;; ;; "tornado/platform/kqueue.py". This is the supported method:
|
||||||
;; (zero? (system* "python" "-m" "tornado.test")))))
|
;; (invoke- "python" "-m" "tornado.test")
|
||||||
|
;; #t)))
|
||||||
#:tests? #f))
|
#:tests? #f))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-certifi" ,python-certifi)))
|
`(("python-certifi" ,python-certifi)))
|
||||||
|
@ -522,7 +525,8 @@ web framework, either via the basic or digest authentication schemes.")
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "nosetests")))))))
|
(invoke "nosetests")
|
||||||
|
#t)))))
|
||||||
(home-page "https://github.com/takluyver/terminado")
|
(home-page "https://github.com/takluyver/terminado")
|
||||||
(synopsis "Terminals served to term.js using Tornado websockets")
|
(synopsis "Terminals served to term.js using Tornado websockets")
|
||||||
(description "This package provides a Tornado websocket backend for the
|
(description "This package provides a Tornado websocket backend for the
|
||||||
|
@ -956,13 +960,13 @@ facilities for defining, registering and looking up components.")
|
||||||
(define-public python-ndg-httpsclient
|
(define-public python-ndg-httpsclient
|
||||||
(package
|
(package
|
||||||
(name "python-ndg-httpsclient")
|
(name "python-ndg-httpsclient")
|
||||||
(version "0.4.2")
|
(version "0.4.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "ndg_httpsclient" version))
|
(uri (pypi-uri "ndg_httpsclient" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1b5qirv46v4dpnmfqviwq42mdwfcby4dxmz0i41wad2337pqf2aq"))))
|
"0sl5ak1r1xil9ms0a9fh9fm6ncml65kgnjpjfic9dhnaimwx997v"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(;; The tests appear to require networking.
|
'(;; The tests appear to require networking.
|
||||||
|
@ -1306,14 +1310,14 @@ file.")
|
||||||
(define-public python-webtest
|
(define-public python-webtest
|
||||||
(package
|
(package
|
||||||
(name "python-webtest")
|
(name "python-webtest")
|
||||||
(version "2.0.20")
|
(version "2.0.29")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "WebTest" version))
|
(uri (pypi-uri "WebTest" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv"))))
|
"0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(;; Unfortunately we have to disable tests!
|
`(;; Unfortunately we have to disable tests!
|
||||||
|
@ -1519,7 +1523,8 @@ library.")
|
||||||
(add-after 'install 'check
|
(add-after 'install 'check
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(add-installed-pythonpath inputs outputs)
|
(add-installed-pythonpath inputs outputs)
|
||||||
(zero? (system* "py.test" "src/geventhttpclient/tests" "-v")))))))
|
(invoke "py.test" "src/geventhttpclient/tests" "-v")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pytest" ,python-pytest)))
|
`(("python-pytest" ,python-pytest)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -1629,7 +1634,8 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
|
||||||
(setenv "PYTHONPATH"
|
(setenv "PYTHONPATH"
|
||||||
(string-append (getcwd) "/build/lib:"
|
(string-append (getcwd) "/build/lib:"
|
||||||
(getenv "PYTHONPATH")))
|
(getenv "PYTHONPATH")))
|
||||||
(zero? (system* "py.test" "-vv")))))))
|
(invoke "py.test" "-vv")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pytest" ,python-pytest)
|
`(("python-pytest" ,python-pytest)
|
||||||
("python-redis" ,python-redis)
|
("python-redis" ,python-redis)
|
||||||
|
@ -1700,13 +1706,13 @@ Betamax.")
|
||||||
(define-public python-s3transfer
|
(define-public python-s3transfer
|
||||||
(package
|
(package
|
||||||
(name "python-s3transfer")
|
(name "python-s3transfer")
|
||||||
(version "0.1.11")
|
(version "0.1.13")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "s3transfer" version))
|
(uri (pypi-uri "s3transfer" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0yfrfnf404cxzn3iswibqjxklsl0b1lwgqiml6pwiqj79a7zbwbn"))))
|
"1harvyn1s8v54n1w5h7c0lg4bgjh68aylhg28s8n174q53h1ip4h"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
@ -1715,7 +1721,8 @@ Betamax.")
|
||||||
(lambda _
|
(lambda _
|
||||||
;; 7 of the 'integration' tests require network access or login
|
;; 7 of the 'integration' tests require network access or login
|
||||||
;; credentials.
|
;; credentials.
|
||||||
(zero? (system* "nosetests" "--exclude=integration")))))))
|
(invoke "nosetests" "--exclude=integration")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-docutils" ,python-docutils)
|
`(("python-docutils" ,python-docutils)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -1831,7 +1838,8 @@ transfers.")
|
||||||
;; (modify-phases %standard-phases
|
;; (modify-phases %standard-phases
|
||||||
;; (replace 'check
|
;; (replace 'check
|
||||||
;; (lambda _
|
;; (lambda _
|
||||||
;; (zero? (system* "nosetests")))))))
|
;; (invoke "nosetests")
|
||||||
|
;; #t)))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-aniso8601" ,python-aniso8601)
|
`(("python-aniso8601" ,python-aniso8601)
|
||||||
("python-flask" ,python-flask)
|
("python-flask" ,python-flask)
|
||||||
|
@ -1877,16 +1885,16 @@ specs from your Flask-Restful projects.")
|
||||||
(define-public python-htmlmin
|
(define-public python-htmlmin
|
||||||
(package
|
(package
|
||||||
(name "python-htmlmin")
|
(name "python-htmlmin")
|
||||||
(version "0.1.10")
|
(version "0.1.12")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "htmlmin" version))
|
(uri (pypi-uri "htmlmin" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qxa93j3p1ak32qh8d9kshqv8v3z0hkc13dwbhp5cn7sn3xmsp6a"))))
|
"0y51xhabw6x8jk8k93xl8vznshpz3jb6l28075r5sjip613fzhah"))))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f)) ;htmlmin has no tests
|
`(#:tests? #f)) ; no tests
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(home-page "https://htmlmin.readthedocs.org/en/latest/")
|
(home-page "https://htmlmin.readthedocs.org/en/latest/")
|
||||||
(synopsis "HTML minifier")
|
(synopsis "HTML minifier")
|
||||||
|
@ -2081,14 +2089,14 @@ this it tries to be opinion-free and very extendable.")
|
||||||
(define-public python-flask-script
|
(define-public python-flask-script
|
||||||
(package
|
(package
|
||||||
(name "python-flask-script")
|
(name "python-flask-script")
|
||||||
(version "2.0.5")
|
(version "2.0.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "Flask-Script" version))
|
(uri (pypi-uri "Flask-Script" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf"))))
|
"0r8w2v89nj6b9p91p495cga5m72a673l2wc0hp0zqk05j4yrc9b4"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-flask" ,python-flask)
|
`(("python-flask" ,python-flask)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
|
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||||
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
|
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
|
||||||
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
|
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
|
||||||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||||
|
@ -9352,21 +9352,29 @@ etc.")
|
||||||
(define-public python-stem
|
(define-public python-stem
|
||||||
(package
|
(package
|
||||||
(name "python-stem")
|
(name "python-stem")
|
||||||
(version "1.5.4")
|
(version "1.6.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "stem" version))
|
(uri (pypi-uri "stem" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1j7pnblrn0yr6jmxvsq6y0ihmxmj5x50jl2n2606w67f6wq16j9n"))))
|
"1va9p3ij7lxg6ixfsvaql06dn11l3fgpxmss1dhlvafm7sqizznp"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'check 'fix-test-environment
|
||||||
|
(lambda _
|
||||||
|
;; Fixes: FileNotFoundError: [Errno 2] No such file or directory:
|
||||||
|
;; '/tmp/guix-build-python-stem-1.6.0.drv-0/stem-1.6.0/.gitignore'.
|
||||||
|
(with-output-to-file ".gitignore"
|
||||||
|
(lambda _ (format #t "%")))
|
||||||
|
#t))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "./run_tests.py" "--unit")))))))
|
(invoke "./run_tests.py" "--unit")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-mock" ,python-mock)
|
`(("python-mock" ,python-mock)
|
||||||
("python-pep8" ,python-pep8)
|
("python-pep8" ,python-pep8)
|
||||||
|
@ -10165,14 +10173,14 @@ network.")
|
||||||
(define-public python-xopen
|
(define-public python-xopen
|
||||||
(package
|
(package
|
||||||
(name "python-xopen")
|
(name "python-xopen")
|
||||||
(version "0.1.1")
|
(version "0.3.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "xopen" version))
|
(uri (pypi-uri "xopen" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1wx6mylzcsyhjl19ycb83qq6iqpmr927lz62njfsar6ldsj0qcni"))
|
"0bzjmn3rl1cd3d2q39cjwnkhaspk2b0hfj3rl64pclm44ihg5fb6"))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))))
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(home-page "https://github.com/marcelm/xopen/")
|
(home-page "https://github.com/marcelm/xopen/")
|
||||||
|
@ -12717,7 +12725,6 @@ functions by partial application of operators.")
|
||||||
(invoke "py.test"))))))
|
(invoke "py.test"))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pytest" ,python-pytest)
|
`(("python-pytest" ,python-pytest)
|
||||||
("python-pytest-warnings" ,python-pytest-warnings)
|
|
||||||
("python-whatever" ,python-whatever)))
|
("python-whatever" ,python-whatever)))
|
||||||
(home-page "http://github.com/Suor/funcy")
|
(home-page "http://github.com/Suor/funcy")
|
||||||
(synopsis "Functional tools")
|
(synopsis "Functional tools")
|
||||||
|
|
|
@ -1735,7 +1735,7 @@ contain over 620 classes.")
|
||||||
(string-append out "/lib/qt$${QT_MAJOR_VERSION}")))
|
(string-append out "/lib/qt$${QT_MAJOR_VERSION}")))
|
||||||
(invoke "qmake")))))))
|
(invoke "qmake")))))))
|
||||||
(native-inputs `(("qtbase" ,qtbase)))
|
(native-inputs `(("qtbase" ,qtbase)))
|
||||||
(home-page "http://www.riverbankcomputing.co.uk/software/qscintilla/intro")
|
(home-page "https://www.riverbankcomputing.co.uk/software/qscintilla/intro")
|
||||||
(synopsis "Qt port of the Scintilla C++ editor control")
|
(synopsis "Qt port of the Scintilla C++ editor control")
|
||||||
(description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
|
(description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
|
||||||
editor control. QScintilla includes features especially useful when editing
|
editor control. QScintilla includes features especially useful when editing
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
(define-public re2
|
(define-public re2
|
||||||
(package
|
(package
|
||||||
(name "re2")
|
(name "re2")
|
||||||
(version "2018-02-01")
|
(version "2018-03-01")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri
|
(uri
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1131hwgid76la15hh2g15gj20fzz8iq3krniwks6wxn9h4q87ay8"))))
|
"0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build gnu-build-system)
|
`(#:modules ((guix build gnu-build-system)
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
|
#:use-module (gnu packages networking)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages ragel)
|
#:use-module (gnu packages ragel)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
|
@ -280,6 +281,62 @@ an extensible architecture with a swappable backend.")
|
||||||
(home-page "https://github.com/svenfuchs/i18n")
|
(home-page "https://github.com/svenfuchs/i18n")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-iruby
|
||||||
|
(package
|
||||||
|
(name "ruby-iruby")
|
||||||
|
(version "0.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "iruby" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1wdf2c0x8y6cya0n3y0p3p7b1sxkb2fdavdn2k58rf4rs37s7rzn"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
;; TODO: Tests currently fail.
|
||||||
|
;;
|
||||||
|
;; Finished in 1.764405s, 1.1335 runs/s, 5.1009 assertions/s.
|
||||||
|
;;
|
||||||
|
;; 1) Failure:
|
||||||
|
;; IntegrationTest#test_interaction [/tmp/guix-build-ruby-iruby-0.3.drv-0/gem/test/integration_test.rb:25]:
|
||||||
|
;; In [ expected
|
||||||
|
;;
|
||||||
|
;; 2 runs, 9 assertions, 1 failures, 0 errors, 0 skips
|
||||||
|
'(#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-ipython
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "lib/iruby/command.rb"
|
||||||
|
(("version = `")
|
||||||
|
(string-append
|
||||||
|
"version = `"
|
||||||
|
(assoc-ref inputs "python-ipython")
|
||||||
|
"/bin/"))
|
||||||
|
(("Kernel\\.exec\\('")
|
||||||
|
(string-append
|
||||||
|
"Kernel.exec('"
|
||||||
|
(assoc-ref inputs "python-ipython")
|
||||||
|
"/bin/")))
|
||||||
|
#t)))))
|
||||||
|
(inputs
|
||||||
|
`(("python-ipython" ,python-ipython)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("ruby-bond" ,ruby-bond)
|
||||||
|
("ruby-data_uri" ,ruby-data_uri)
|
||||||
|
("ruby-mimemagic" ,ruby-mimemagic)
|
||||||
|
("ruby-multi-json" ,ruby-multi-json)
|
||||||
|
("ruby-cztop" ,ruby-cztop)
|
||||||
|
;; Optional inputs
|
||||||
|
("ruby-pry" ,ruby-pry)))
|
||||||
|
(synopsis "Ruby kernel for Jupyter/IPython")
|
||||||
|
(description
|
||||||
|
"This package provides a Ruby kernel for Jupyter/IPython frontends (e.g.
|
||||||
|
notebook).")
|
||||||
|
(home-page "https://github.com/SciRuby/iruby")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
;; RSpec is the dominant testing library for Ruby projects. Even RSpec's
|
;; RSpec is the dominant testing library for Ruby projects. Even RSpec's
|
||||||
;; dependencies use RSpec for their test suites! To avoid these circular
|
;; dependencies use RSpec for their test suites! To avoid these circular
|
||||||
;; dependencies, we disable tests for all of the RSpec-related packages.
|
;; dependencies, we disable tests for all of the RSpec-related packages.
|
||||||
|
@ -635,6 +692,84 @@ format.")
|
||||||
(home-page "https://github.com/nicksieger/ci_reporter")
|
(home-page "https://github.com/nicksieger/ci_reporter")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-czmq-ffi-gen
|
||||||
|
(package
|
||||||
|
(name "ruby-czmq-ffi-gen")
|
||||||
|
(version "0.13.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "czmq-ffi-gen" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1yf719dmf4mwks1hqdsy6i5kzfvlsha69sfnhb2fr2cgk2snbys3"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:tests? #f ;; Tests are not included in the release on rubygems.org
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-lib_dirs
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "lib/czmq-ffi-gen/czmq/ffi.rb"
|
||||||
|
(("lib\\_dirs = \\[.*\\]")
|
||||||
|
(string-append "lib_dirs = ['"
|
||||||
|
(assoc-ref inputs "czmq") "/lib"
|
||||||
|
"']")))
|
||||||
|
(substitute* "lib/czmq-ffi-gen/libzmq.rb"
|
||||||
|
(("lib\\_dirs = \\[.*\\]")
|
||||||
|
(string-append "lib_dirs = ['"
|
||||||
|
(assoc-ref inputs "zeromq") "/lib"
|
||||||
|
"']"))))))))
|
||||||
|
(inputs
|
||||||
|
`(("zeromq" ,zeromq)
|
||||||
|
("czmq" ,czmq)))
|
||||||
|
(propagated-inputs `(("ruby-ffi" ,ruby-ffi)))
|
||||||
|
(synopsis "Low-level Ruby bindings for CZMQ (generated using zproject)")
|
||||||
|
(description
|
||||||
|
"These Ruby bindings are not intended to be directly used, but rather
|
||||||
|
used by higher level bindings like those provided by CZTop.")
|
||||||
|
(home-page
|
||||||
|
"https://github.com/paddor/czmq-ffi-gen")
|
||||||
|
(license license:isc)))
|
||||||
|
|
||||||
|
(define-public ruby-cztop
|
||||||
|
(package
|
||||||
|
(name "ruby-cztop")
|
||||||
|
(version "0.12.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "cztop" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yqbpaiw5d7f271d73lyrsh8xpx6n4zi6xqwfgi00dacxrq3s3fa"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:test-target "spec"
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-lib_paths
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "lib/cztop/poller/zmq.rb"
|
||||||
|
(("lib\\_paths = \\[.*\\]")
|
||||||
|
(string-append "lib_paths = ['"
|
||||||
|
(assoc-ref inputs "zeromq") "/lib"
|
||||||
|
"']"))))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("bundler" ,bundler)
|
||||||
|
("ruby-rspec" ,ruby-rspec)))
|
||||||
|
(inputs
|
||||||
|
`(("zeromq" ,zeromq)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("ruby-czmq-ffi-gen" ,ruby-czmq-ffi-gen)))
|
||||||
|
(synopsis "CZMQ Ruby bindings")
|
||||||
|
(description
|
||||||
|
"CZMQ Ruby bindings, based on the generated low-level FFI bindings of
|
||||||
|
CZMQ. The focus of of CZTop is on being easy to use and providing first class
|
||||||
|
support for security mechanisms.")
|
||||||
|
(home-page "https://github.com/paddor/cztop")
|
||||||
|
(license license:isc)))
|
||||||
|
|
||||||
(define-public ruby-saikuro-treemap
|
(define-public ruby-saikuro-treemap
|
||||||
(package
|
(package
|
||||||
(name "ruby-saikuro-treemap")
|
(name "ruby-saikuro-treemap")
|
||||||
|
@ -1094,6 +1229,30 @@ features.")
|
||||||
(home-page "https://github.com/chneukirchen/bacon")
|
(home-page "https://github.com/chneukirchen/bacon")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-bacon-bits
|
||||||
|
(package
|
||||||
|
(name "ruby-bacon-bits")
|
||||||
|
(version "0.1.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "bacon-bits" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1ghpj8ja94lhi8rgi872hqk4fd2amz2k7g9znd64z5dj7v6l0dmx"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
;; No tests
|
||||||
|
'(#:tests? #f))
|
||||||
|
(propagated-inputs `(("ruby-bacon" ,ruby-bacon)))
|
||||||
|
(synopsis "Extensions to Bacon, for disabling tests, before and after
|
||||||
|
blocks and more")
|
||||||
|
(description
|
||||||
|
"This extends the bacon testing framework with useful extensions to
|
||||||
|
disable tests, have before and after blocks that run once and more.")
|
||||||
|
(home-page "https://github.com/cldwalker/bacon-bits")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ruby-connection-pool
|
(define-public ruby-connection-pool
|
||||||
(package
|
(package
|
||||||
(name "ruby-connection-pool")
|
(name "ruby-connection-pool")
|
||||||
|
@ -1337,6 +1496,34 @@ as a base class when writing classes that depend upon
|
||||||
(home-page "https://github.com/masover/blankslate")
|
(home-page "https://github.com/masover/blankslate")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-bond
|
||||||
|
(package
|
||||||
|
(name "ruby-bond")
|
||||||
|
(version "0.5.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "bond" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1r19ifc4skyl2gxnifrxa5jvbbay9fb2in79ppgv02b6n4bhsw90"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("ruby-bacon" ,ruby-bacon)
|
||||||
|
("ruby-bacon-bits" ,ruby-bacon-bits)
|
||||||
|
("ruby-mocha-on-bacon" ,ruby-mocha-on-bacon)))
|
||||||
|
(synopsis "Bond can provide custom autocompletion for arguments, methods
|
||||||
|
and more")
|
||||||
|
(description
|
||||||
|
"Bond can autocomplete argument(s) to methods, uniquely completing per
|
||||||
|
module, per method and per argument. Bond provides a configuration system and
|
||||||
|
a DSL for creating custom completions and completion rules. Bond can also
|
||||||
|
load completions that ship with gems. Bond is able to offer more than irb's
|
||||||
|
completion since it uses the full line of input when completing as opposed to
|
||||||
|
irb's last-word approach.")
|
||||||
|
(home-page "http://tagaholic.me/bond/")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ruby-instantiator
|
(define-public ruby-instantiator
|
||||||
(package
|
(package
|
||||||
(name "ruby-instantiator")
|
(name "ruby-instantiator")
|
||||||
|
@ -1502,6 +1689,30 @@ allows mocking and stubbing of methods on real (non-mock) classes.")
|
||||||
(home-page "http://gofreerange.com/mocha/docs")
|
(home-page "http://gofreerange.com/mocha/docs")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-mocha-on-bacon
|
||||||
|
(package
|
||||||
|
(name "ruby-mocha-on-bacon")
|
||||||
|
(version "0.2.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "mocha-on-bacon" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1h49b33rq889hn8x3wp9byczl91va16jh1w4d2wyy4yj23icdrcp"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
;; rubygems.org release missing tests
|
||||||
|
'(#:tests? #f))
|
||||||
|
(propagated-inputs `(("ruby-mocha" ,ruby-mocha)))
|
||||||
|
(synopsis "Mocha adapter for Bacon")
|
||||||
|
(description
|
||||||
|
"This package provides a Mocha adapter for Bacon, allowing you to use the
|
||||||
|
Mocha stubbing and mocking library with Bacon, a small RSpec clone.")
|
||||||
|
(home-page
|
||||||
|
"https://github.com/alloy/mocha-on-bacon")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ruby-net-ssh
|
(define-public ruby-net-ssh
|
||||||
(package
|
(package
|
||||||
(name "ruby-net-ssh")
|
(name "ruby-net-ssh")
|
||||||
|
@ -1810,6 +2021,26 @@ run as a daemon and to be controlled by simple start/stop/restart commands.")
|
||||||
(home-page "https://github.com/thuehlinger/daemons")
|
(home-page "https://github.com/thuehlinger/daemons")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-data_uri
|
||||||
|
(package
|
||||||
|
(name "ruby-data_uri")
|
||||||
|
(version "0.1.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "data_uri" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0fzkxgdxrlbfl4537y3n9mjxbm28kir639gcw3x47ffchwsgdcky"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(synopsis "URI class for parsing data URIs")
|
||||||
|
(description
|
||||||
|
"Data @acronym{URI, universal resource idenfitier}s allow resources to be
|
||||||
|
embedded inside a URI. The URI::Data class provides support for parsing these
|
||||||
|
URIs using the normal URI.parse method.")
|
||||||
|
(home-page "https://github.com/dball/data_uri")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ruby-git
|
(define-public ruby-git
|
||||||
(package
|
(package
|
||||||
(name "ruby-git")
|
(name "ruby-git")
|
||||||
|
@ -3328,6 +3559,33 @@ that TURN is no longer being maintained.")
|
||||||
(home-page "http://rubygems.org/gems/turn")
|
(home-page "http://rubygems.org/gems/turn")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ruby-mimemagic
|
||||||
|
(package
|
||||||
|
(name "ruby-mimemagic")
|
||||||
|
(version "0.3.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (rubygems-uri "mimemagic" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q"))))
|
||||||
|
(build-system ruby-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
;; This phase breaks the tests, as it patches some of the test data.
|
||||||
|
(delete 'patch-source-shebangs))))
|
||||||
|
(native-inputs
|
||||||
|
`(("ruby-bacon" ,ruby-bacon)))
|
||||||
|
(synopsis "Ruby library for MIME detection by extension or content")
|
||||||
|
(description
|
||||||
|
"@acronym{MIME, Multipurpose Internet Mail Extensions} detection by
|
||||||
|
extension or content, using the freedesktop.org.xml shared-mime-info
|
||||||
|
database.")
|
||||||
|
(home-page "https://github.com/minad/mimemagic")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ruby-mime-types-data
|
(define-public ruby-mime-types-data
|
||||||
(package
|
(package
|
||||||
(name "ruby-mime-types-data")
|
(name "ruby-mime-types-data")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -30,7 +31,7 @@
|
||||||
(define-public sdcc
|
(define-public sdcc
|
||||||
(package
|
(package
|
||||||
(name "sdcc")
|
(name "sdcc")
|
||||||
(version "3.6.0")
|
(version "3.7.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -38,7 +39,7 @@
|
||||||
"/" version "/sdcc-src-" version ".tar.bz2"))
|
"/" version "/sdcc-src-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8"))))
|
"13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("bison" ,bison)
|
`(("bison" ,bison)
|
||||||
|
@ -59,10 +60,10 @@
|
||||||
#t)))))
|
#t)))))
|
||||||
(home-page "http://sdcc.sourceforge.net")
|
(home-page "http://sdcc.sourceforge.net")
|
||||||
(synopsis "Small devices C compiler")
|
(synopsis "Small devices C compiler")
|
||||||
(description "SDCC is a retargettable, optimizing Standard C compiler suite
|
(description "SDCC is a retargetable, optimizing Standard C compiler suite
|
||||||
that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, ...),
|
that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...),
|
||||||
Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola)
|
Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola)
|
||||||
HC08 based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit
|
HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit
|
||||||
2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
|
2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
|
||||||
Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
|
Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
|
||||||
It can be retargeted for other microprocessors.")
|
It can be retargeted for other microprocessors.")
|
||||||
|
|
|
@ -99,7 +99,7 @@ joystick, and graphics hardware.")
|
||||||
(define-public sdl2
|
(define-public sdl2
|
||||||
(package (inherit sdl)
|
(package (inherit sdl)
|
||||||
(name "sdl2")
|
(name "sdl2")
|
||||||
(version "2.0.7")
|
(version "2.0.8")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri
|
(uri
|
||||||
|
@ -107,7 +107,7 @@ joystick, and graphics hardware.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0pjdpxla5kh1w1b0shxrx97a116vyy31njxi0jhyvqhk8d6cfdgf"))))
|
"1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments sdl)
|
(substitute-keyword-arguments (package-arguments sdl)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
|
|
|
@ -137,7 +137,7 @@ rich set of boolean query operators.")
|
||||||
"-Wl,-rpath=../src/.libs")))
|
"-Wl,-rpath=../src/.libs")))
|
||||||
(zero? (system* "make"))
|
(zero? (system* "make"))
|
||||||
(zero? (system* "./libtocctests")))))))))
|
(zero? (system* "./libtocctests")))))))))
|
||||||
(home-page "http://t-o-c-c.com/")
|
(home-page "https://t-o-c-c.com/")
|
||||||
(synopsis "Tool for Obsessive Compulsive Classifiers")
|
(synopsis "Tool for Obsessive Compulsive Classifiers")
|
||||||
(description
|
(description
|
||||||
"libtocc is the engine of the Tocc project, a tag-based file management
|
"libtocc is the engine of the Tocc project, a tag-based file management
|
||||||
|
@ -161,7 +161,7 @@ files and directories.")
|
||||||
(add-after
|
(add-after
|
||||||
'unpack 'chdir-source
|
'unpack 'chdir-source
|
||||||
(lambda _ (chdir "cli/src"))))))
|
(lambda _ (chdir "cli/src"))))))
|
||||||
(home-page "http://t-o-c-c.com/")
|
(home-page "https://t-o-c-c.com/")
|
||||||
(synopsis "Command-line interface to libtocc")
|
(synopsis "Command-line interface to libtocc")
|
||||||
(description
|
(description
|
||||||
"Tocc is a tag-based file management system. This package contains the
|
"Tocc is a tag-based file management system. This package contains the
|
||||||
|
|
|
@ -32,11 +32,13 @@
|
||||||
#:use-module (guix hg-download)
|
#:use-module (guix hg-download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
|
#:use-module (guix build-system ant)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system r)
|
#:use-module (guix build-system r)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages algebra)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cran)
|
#:use-module (gnu packages cran)
|
||||||
|
@ -318,14 +320,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.")
|
||||||
(define-public r-mass
|
(define-public r-mass
|
||||||
(package
|
(package
|
||||||
(name "r-mass")
|
(name "r-mass")
|
||||||
(version "7.3-48")
|
(version "7.3-49")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "MASS" version))
|
(uri (cran-uri "MASS" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"02q95ba909p2gxnzfp295ipxjnv14f7bm55nicxwn2kj8hizpzqd"))))
|
"1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs"))))
|
||||||
(properties `((upstream-name . "MASS")))
|
(properties `((upstream-name . "MASS")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "http://www.stats.ox.ac.uk/pub/MASS4/")
|
(home-page "http://www.stats.ox.ac.uk/pub/MASS4/")
|
||||||
|
@ -554,14 +556,14 @@ single hidden layer, and for multinomial log-linear models.")
|
||||||
(define-public r-rpart
|
(define-public r-rpart
|
||||||
(package
|
(package
|
||||||
(name "r-rpart")
|
(name "r-rpart")
|
||||||
(version "4.1-12")
|
(version "4.1-13")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rpart" version))
|
(uri (cran-uri "rpart" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"177p03w4m0qshb3sqkdyixim3f44g2an31v3vlbjmpzjvd5ff6yq"))))
|
"0k29qx3k3pj5sgrpg0p47yd8i811rmdakaw57bigpq1449asc4cf"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://cran.r-project.org/web/packages/rpart")
|
(home-page "https://cran.r-project.org/web/packages/rpart")
|
||||||
(synopsis "Recursive partitioning and regression trees")
|
(synopsis "Recursive partitioning and regression trees")
|
||||||
|
@ -1098,20 +1100,21 @@ agnes cluster diagrams.")
|
||||||
(define-public r-gdtools
|
(define-public r-gdtools
|
||||||
(package
|
(package
|
||||||
(name "r-gdtools")
|
(name "r-gdtools")
|
||||||
(version "0.1.6")
|
(version "0.1.7")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "gdtools" version))
|
(uri (cran-uri "gdtools" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"103wnc8sq0iwcnj4j14hd420d2dqdyf13s3f25icsznrlyzdkhf5"))))
|
"122k9spymawfnfyksxyapwq9cigydy5nrjwhrwrhy3qkax3aycf6"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("r-rcpp" ,r-rcpp)
|
`(("r-rcpp" ,r-rcpp)
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("cairo" ,cairo)))
|
`(("cairo" ,cairo)
|
||||||
|
("zlib" ,zlib)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("r-withr" ,r-withr)))
|
`(("r-withr" ,r-withr)))
|
||||||
(home-page "https://cran.r-project.org/web/packages/gdtools")
|
(home-page "https://cran.r-project.org/web/packages/gdtools")
|
||||||
|
@ -1187,13 +1190,13 @@ evaluation (NSE) in R.")
|
||||||
(define-public r-dbi
|
(define-public r-dbi
|
||||||
(package
|
(package
|
||||||
(name "r-dbi")
|
(name "r-dbi")
|
||||||
(version "0.7")
|
(version "0.8")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "DBI" version))
|
(uri (cran-uri "DBI" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"04fyrxdpqcygg5wviy637y6lgk64xqjjq31lvv4hwqj5kbaxamr5"))))
|
"16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://github.com/rstats-db/DBI")
|
(home-page "https://github.com/rstats-db/DBI")
|
||||||
(synopsis "R database interface")
|
(synopsis "R database interface")
|
||||||
|
@ -1330,13 +1333,13 @@ syntax that can be converted to XHTML or other formats.")
|
||||||
(define-public r-yaml
|
(define-public r-yaml
|
||||||
(package
|
(package
|
||||||
(name "r-yaml")
|
(name "r-yaml")
|
||||||
(version "2.1.16")
|
(version "2.1.17")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "yaml" version))
|
(uri (cran-uri "yaml" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1xlsmqal607w6c9rx86061y1fwpbyd5lqp9bad5n7cc9a0blpnkm"))))
|
"10y6wnv2v8k396far29haqv2s82p4zm04rrsxk183wg19gb51was"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://cran.r-project.org/web/packages/yaml/")
|
(home-page "https://cran.r-project.org/web/packages/yaml/")
|
||||||
(synopsis "Methods to convert R data to YAML and back")
|
(synopsis "Methods to convert R data to YAML and back")
|
||||||
|
@ -2481,13 +2484,13 @@ well as additional utilities such as panel and axis annotation functions.")
|
||||||
(define-public r-rcpparmadillo
|
(define-public r-rcpparmadillo
|
||||||
(package
|
(package
|
||||||
(name "r-rcpparmadillo")
|
(name "r-rcpparmadillo")
|
||||||
(version "0.8.300.1.0")
|
(version "0.8.400.0.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "RcppArmadillo" version))
|
(uri (cran-uri "RcppArmadillo" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0p6cbnwxgzigf7n5qhqvxdr3nd3pq3c2qq6pskqz7avzf813fy83"))))
|
"11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr"))))
|
||||||
(properties `((upstream-name . "RcppArmadillo")))
|
(properties `((upstream-name . "RcppArmadillo")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
|
@ -2575,14 +2578,14 @@ certain criterion, e.g., it contains a certain regular file.")
|
||||||
(define-public r-rmarkdown
|
(define-public r-rmarkdown
|
||||||
(package
|
(package
|
||||||
(name "r-rmarkdown")
|
(name "r-rmarkdown")
|
||||||
(version "1.8")
|
(version "1.9")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rmarkdown" version))
|
(uri (cran-uri "rmarkdown" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0q1y1qx87xp6vf9h7mfl77rqhmd01xl53l9ap9qj99bfvpabb572"))))
|
"0wq6kbhrkv3fhcy4hg5yyv9gdvf8gr4nsjwdifs4ih8lnn0dmdyb"))))
|
||||||
(properties `((upstream-name . "rmarkdown")))
|
(properties `((upstream-name . "rmarkdown")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -2811,6 +2814,19 @@ plotted and compared with the asymptotic curve.")
|
||||||
"0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x"))))
|
"0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x"))))
|
||||||
(properties `((upstream-name . "lambda.r")))
|
(properties `((upstream-name . "lambda.r")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'check 'delete-test-log
|
||||||
|
;; The test report contains time stamps and is not important for
|
||||||
|
;; the installed package.
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(delete-file-recursively
|
||||||
|
(string-append (assoc-ref outputs "out")
|
||||||
|
"/site-library/lambda.r/unitTests"))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("r-runit" ,r-runit)))
|
||||||
(home-page "https://cran.r-project.org/web/packages/lambda.r")
|
(home-page "https://cran.r-project.org/web/packages/lambda.r")
|
||||||
(synopsis "Functional programming extension for R")
|
(synopsis "Functional programming extension for R")
|
||||||
(description
|
(description
|
||||||
|
@ -3577,14 +3593,14 @@ the 'lite' version of the more complete @code{viridis} package.")
|
||||||
(define-public r-tidyselect
|
(define-public r-tidyselect
|
||||||
(package
|
(package
|
||||||
(name "r-tidyselect")
|
(name "r-tidyselect")
|
||||||
(version "0.2.3")
|
(version "0.2.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "tidyselect" version))
|
(uri (cran-uri "tidyselect" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0b0w30yq30c7bwpaghp3hp0nncqwcmvrra9j58fhx9jihay3l68c"))))
|
"1592dbzawhd1hpsp9919l4sifyiaaj6xr7lnhsbwa6jwmmb0xcsw"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("r-glue" ,r-glue)
|
`(("r-glue" ,r-glue)
|
||||||
|
@ -4039,6 +4055,14 @@ Zurich, including many that are related to graphics.")
|
||||||
(base32
|
(base32
|
||||||
"1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"))))
|
"1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'make-deterministic
|
||||||
|
(lambda _
|
||||||
|
(substitute* "R/checkReverseDependencies.R"
|
||||||
|
(("tempdir\\(\\)") "\"/tmp\""))
|
||||||
|
#t)))))
|
||||||
(home-page "https://cran.r-project.org/web/packages/gtools")
|
(home-page "https://cran.r-project.org/web/packages/gtools")
|
||||||
(synopsis "Various R programming tools")
|
(synopsis "Various R programming tools")
|
||||||
(description
|
(description
|
||||||
|
@ -5356,14 +5380,14 @@ is supported.")
|
||||||
(define-public r-lubridate
|
(define-public r-lubridate
|
||||||
(package
|
(package
|
||||||
(name "r-lubridate")
|
(name "r-lubridate")
|
||||||
(version "1.7.2")
|
(version "1.7.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "lubridate" version))
|
(uri (cran-uri "lubridate" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0k417a1xp5gxf77ycbnx5apzpc5d25sjm83ss7wmqpbnhnr5dcav"))))
|
"1pzkqfiahnsdm3zx46asgn8fw43vlxvbh7r4cn70c7ffmxabzzrc"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("r-rcpp" ,r-rcpp)
|
`(("r-rcpp" ,r-rcpp)
|
||||||
|
@ -5539,3 +5563,40 @@ inferring an appropriate positioning method.")
|
||||||
(description "Did you ever wish you could make scatter plots with cat
|
(description "Did you ever wish you could make scatter plots with cat
|
||||||
shaped points? Now you can!")
|
shaped points? Now you can!")
|
||||||
(license license:asl2.0))))
|
(license license:asl2.0))))
|
||||||
|
|
||||||
|
(define-public java-jdistlib
|
||||||
|
(package
|
||||||
|
(name "java-jdistlib")
|
||||||
|
(version "0.4.5")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "mirror://sourceforge/jdistlib/jdistlib-"
|
||||||
|
version "-src.jar"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1pkj8aahw9ydr1isbaqrkd05nvq98ik5jwwhf3yf3rky3z869v11"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:jar-name "jdistlib.jar"
|
||||||
|
#:jdk ,icedtea-8
|
||||||
|
#:tests? #f ; no dedicated test directory
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-broken-encoding
|
||||||
|
(lambda _
|
||||||
|
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||||
|
(substitute* "src/jdistlib/Beta.java"
|
||||||
|
(("Scheff.+-Tukey") "Scheffe-Tukey")))
|
||||||
|
#t)))))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("java-jtransforms" ,java-jtransforms)))
|
||||||
|
(native-inputs
|
||||||
|
`(("java-junit" ,java-junit)))
|
||||||
|
(home-page "http://jdistlib.sourceforge.net/")
|
||||||
|
(synopsis "Java library of statistical distributions")
|
||||||
|
(description "JDistlib is the Java Statistical Distribution Library, a
|
||||||
|
Java package that provides routines for various statistical distributions.")
|
||||||
|
;; The files that were translated from R code are under GPLv2+; some files
|
||||||
|
;; are under the GPLv3, which is a mistake. The author confirmed in an
|
||||||
|
;; email that this whole project should be under GPLv2+.
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
#:use-module (gnu packages bdw-gc)
|
#:use-module (gnu packages bdw-gc)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
|
#:use-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages crypto)
|
#:use-module (gnu packages crypto)
|
||||||
#:use-module (gnu packages cryptsetup)
|
#:use-module (gnu packages cryptsetup)
|
||||||
|
@ -36,6 +37,7 @@
|
||||||
#:use-module (gnu packages databases)
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages disk)
|
#:use-module (gnu packages disk)
|
||||||
#:use-module (gnu packages gnuzilla)
|
#:use-module (gnu packages gnuzilla)
|
||||||
|
#:use-module (gnu packages gperf)
|
||||||
#:use-module (gnu packages jemalloc)
|
#:use-module (gnu packages jemalloc)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages lua)
|
#:use-module (gnu packages lua)
|
||||||
|
@ -50,18 +52,18 @@
|
||||||
(define-public ceph
|
(define-public ceph
|
||||||
(package
|
(package
|
||||||
(name "ceph")
|
(name "ceph")
|
||||||
(version "12.0.2")
|
(version "12.2.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
|
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0l9v072ba28i984y5rwny9i11nmpyx5bl7awxg48plyadm2l3g14"))
|
"13hv8scaxc1gdvrhzbfnsk4yy3pla6n1i4j4j4zf7schmbf0j8mp"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches "ceph-skip-unittest_blockdev.patch"
|
(search-patches "ceph-skip-unittest_blockdev.patch"
|
||||||
"ceph-skip-collect-sys-info-test.patch"
|
"ceph-skip-collect-sys-info-test.patch"
|
||||||
"ceph-disable-unittest-throttle.patch"
|
"ceph-rocksdb-compat.patch"
|
||||||
"ceph-disable-cpu-optimizations.patch"))
|
"ceph-disable-cpu-optimizations.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
|
@ -74,7 +76,6 @@
|
||||||
;"src/xxHash"
|
;"src/xxHash"
|
||||||
;"src/zstd"
|
;"src/zstd"
|
||||||
;"src/civetweb"
|
;"src/civetweb"
|
||||||
;"src/Beast"
|
|
||||||
"src/test/downloads"
|
"src/test/downloads"
|
||||||
"src/dpdk"
|
"src/dpdk"
|
||||||
"src/spdk"
|
"src/spdk"
|
||||||
|
@ -105,6 +106,7 @@
|
||||||
"-DWITH_SYSTEM_BOOST=ON"
|
"-DWITH_SYSTEM_BOOST=ON"
|
||||||
"-DWITH_PYTHON3=ON"
|
"-DWITH_PYTHON3=ON"
|
||||||
;; TODO: Enable these when available in Guix.
|
;; TODO: Enable these when available in Guix.
|
||||||
|
"-DWITH_BABELTRACE=OFF"
|
||||||
"-DWITH_LTTNG=OFF"
|
"-DWITH_LTTNG=OFF"
|
||||||
"-DWITH_XFS=OFF"
|
"-DWITH_XFS=OFF"
|
||||||
"-DWITH_XIO=OFF"
|
"-DWITH_XIO=OFF"
|
||||||
|
@ -114,6 +116,7 @@
|
||||||
;; <https://bugs.gnu.org/29674> for details. Disable tests until
|
;; <https://bugs.gnu.org/29674> for details. Disable tests until
|
||||||
;; resolved.
|
;; resolved.
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
|
#:cmake ,cmake-3.11
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-source
|
(add-after 'unpack 'patch-source
|
||||||
|
@ -152,21 +155,17 @@
|
||||||
|
|
||||||
(substitute* "src/test/test_subprocess.cc"
|
(substitute* "src/test/test_subprocess.cc"
|
||||||
(("/bin/sh") (which "sh")))
|
(("/bin/sh") (which "sh")))
|
||||||
(substitute* "src/test/ceph_objectstore_tool.py"
|
(substitute* "qa/standalone/special/ceph_objectstore_tool.py"
|
||||||
(("/bin/rm") (which "rm")))
|
(("/bin/rm") (which "rm")))
|
||||||
(substitute* "src/ceph-disk/ceph_disk/main.py"
|
(substitute* "src/ceph-disk/ceph_disk/main.py"
|
||||||
(("/bin/mount") "mount")
|
(("/bin/mount") "mount")
|
||||||
(("/bin/umount") "umount")
|
(("/bin/umount") "umount")
|
||||||
(("/sbin/blkid") (which "blkid"))
|
(("/sbin/blkid") (which "blkid"))
|
||||||
|
(("'cryptsetup'") (string-append "'" (which "cryptsetup") "'"))
|
||||||
(("'sgdisk'") (string-append "'" (which "sgdisk") "'"))
|
(("'sgdisk'") (string-append "'" (which "sgdisk") "'"))
|
||||||
(("'parted'") (string-append "'" (which "parted") "'"))
|
(("'parted'") (string-append "'" (which "parted") "'"))
|
||||||
(("'udevadm'") (string-append "'" (which "udevadm") "'")))
|
(("'udevadm'") (string-append "'" (which "udevadm") "'")))
|
||||||
|
|
||||||
(substitute* "src/ceph-disk-udev"
|
|
||||||
(("/sbin/cryptsetup") (which "cryptsetup"))
|
|
||||||
(("/usr/sbin/sgdisk") (which "sgdisk"))
|
|
||||||
(("/usr/sbin/ceph-disk")
|
|
||||||
(string-append out "/bin/ceph-disk")))
|
|
||||||
(substitute* "udev/50-rbd.rules"
|
(substitute* "udev/50-rbd.rules"
|
||||||
(("/usr/bin/ceph-rbdnamer")
|
(("/usr/bin/ceph-rbdnamer")
|
||||||
(string-append out "/bin/ceph-rbdnamer")))
|
(string-append out "/bin/ceph-rbdnamer")))
|
||||||
|
@ -263,23 +262,31 @@
|
||||||
(getenv "PYTHONPATH")))
|
(getenv "PYTHONPATH")))
|
||||||
#t)))
|
#t)))
|
||||||
(add-after 'install 'wrap-python-scripts
|
(add-after 'install 'wrap-python-scripts
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(ceph (string-append out "/bin/ceph"))
|
||||||
(ceph-disk (string-append out "/bin/ceph-disk"))
|
(ceph-disk (string-append out "/bin/ceph-disk"))
|
||||||
(ceph-detect-init (string-append
|
(ceph-detect-init (string-append
|
||||||
out "/bin/ceph-detect-init"))
|
out "/bin/ceph-detect-init"))
|
||||||
(PYTHONPATH (string-append
|
|
||||||
out "/lib/python2.7/site-packages")))
|
|
||||||
|
|
||||||
|
(prettytable (assoc-ref inputs "python2-prettytable"))
|
||||||
|
|
||||||
|
(sitedir (lambda (package)
|
||||||
|
(string-append package
|
||||||
|
"/lib/python2.7/site-packages")))
|
||||||
|
(PYTHONPATH (string-append
|
||||||
|
(sitedir out) ":"
|
||||||
|
(sitedir prettytable))))
|
||||||
(for-each (lambda (executable)
|
(for-each (lambda (executable)
|
||||||
(wrap-program executable
|
(wrap-program executable
|
||||||
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
|
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
|
||||||
(list ceph-disk ceph-detect-init))
|
(list ceph ceph-disk ceph-detect-init))
|
||||||
#t))))))
|
#t))))))
|
||||||
(outputs
|
(outputs
|
||||||
'("out" "lib"))
|
'("out" "lib"))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)
|
`(("gperf" ,gperf)
|
||||||
|
("pkg-config" ,pkg-config)
|
||||||
("python-cython" ,python-cython)
|
("python-cython" ,python-cython)
|
||||||
("python-sphinx" ,python-sphinx)
|
("python-sphinx" ,python-sphinx)
|
||||||
("yasm" ,yasm)
|
("yasm" ,yasm)
|
||||||
|
@ -310,7 +317,7 @@
|
||||||
("python2-testtools" ,python2-testtools)
|
("python2-testtools" ,python2-testtools)
|
||||||
("python2-tox" ,python2-tox)))
|
("python2-tox" ,python2-tox)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("boost" ,boost)
|
`(("boost" ,boost-1.66)
|
||||||
("curl" ,curl)
|
("curl" ,curl)
|
||||||
("cryptsetup" ,cryptsetup)
|
("cryptsetup" ,cryptsetup)
|
||||||
("expat" ,expat)
|
("expat" ,expat)
|
||||||
|
@ -329,6 +336,7 @@
|
||||||
("nss" ,nss)
|
("nss" ,nss)
|
||||||
("parted" ,parted)
|
("parted" ,parted)
|
||||||
("python@2" ,python-2)
|
("python@2" ,python-2)
|
||||||
|
("python2-prettytable" ,python2-prettytable) ;used by ceph_daemon.py
|
||||||
("python@3" ,python-3)
|
("python@3" ,python-3)
|
||||||
("rocksdb" ,rocksdb)
|
("rocksdb" ,rocksdb)
|
||||||
("snappy" ,snappy)
|
("snappy" ,snappy)
|
||||||
|
|
|
@ -564,7 +564,7 @@ environment variable.")
|
||||||
(define-public fortify-headers
|
(define-public fortify-headers
|
||||||
(package
|
(package
|
||||||
(name "fortify-headers")
|
(name "fortify-headers")
|
||||||
(version "0.8")
|
(version "0.9")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -572,7 +572,7 @@ environment variable.")
|
||||||
name "-" version ".tar.gz"))
|
name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cacdczpjb49c4i1168g541wnl3i3gbpv2m2wbnmw5wddlyhgkdg"))))
|
"1z517ajy34l2k5lz2gvhbmia9xjgagffi4s22azqxnlmgb1g2xfg"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; No tests
|
`(#:tests? #f ; No tests
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
(define-public syncthing
|
(define-public syncthing
|
||||||
(package
|
(package
|
||||||
(name "syncthing")
|
(name "syncthing")
|
||||||
(version "0.14.44")
|
(version "0.14.45")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
"/syncthing-source-v" version ".tar.gz"))
|
"/syncthing-source-v" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0fxq52w1b05928xp0a333rg23fabj0nykgg7v4gz01f3vrxyydi1"))
|
"0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
;; Delete bundled ("vendored") free software source code.
|
;; Delete bundled ("vendored") free software source code.
|
||||||
(snippet
|
(snippet
|
||||||
|
@ -110,8 +110,6 @@
|
||||||
(inputs
|
(inputs
|
||||||
`(("go-github-com-audriusbutkevicius-cli"
|
`(("go-github-com-audriusbutkevicius-cli"
|
||||||
,go-github-com-audriusbutkevicius-cli)
|
,go-github-com-audriusbutkevicius-cli)
|
||||||
("go-github-com-xtaci-kcp-go"
|
|
||||||
,go-github-com-xtaci-kcp-go)
|
|
||||||
("go-github-com-audriusbutkevicius-go-nat-pmp"
|
("go-github-com-audriusbutkevicius-go-nat-pmp"
|
||||||
,go-github-com-audriusbutkevicius-go-nat-pmp)
|
,go-github-com-audriusbutkevicius-go-nat-pmp)
|
||||||
("go-github-com-audriusbutkevicius-pfilter"
|
("go-github-com-audriusbutkevicius-pfilter"
|
||||||
|
@ -119,8 +117,6 @@
|
||||||
("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
|
("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
|
||||||
("go-github-com-calmh-du" ,go-github-com-calmh-du)
|
("go-github-com-calmh-du" ,go-github-com-calmh-du)
|
||||||
("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
|
("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
|
||||||
("go-github-com-ccding-go-stun"
|
|
||||||
,go-github-com-ccding-go-stun)
|
|
||||||
("go-github-com-prometheus-union" ,(go-github-com-prometheus-union))
|
("go-github-com-prometheus-union" ,(go-github-com-prometheus-union))
|
||||||
("go-github-com-chmduquesne-rollinghash-adler32"
|
("go-github-com-chmduquesne-rollinghash-adler32"
|
||||||
,go-github-com-chmduquesne-rollinghash-adler32)
|
,go-github-com-chmduquesne-rollinghash-adler32)
|
||||||
|
@ -137,12 +133,12 @@
|
||||||
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
|
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
|
||||||
("go-github-com-oschwald-geoip2-golang"
|
("go-github-com-oschwald-geoip2-golang"
|
||||||
,go-github-com-oschwald-geoip2-golang)
|
,go-github-com-oschwald-geoip2-golang)
|
||||||
|
("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
|
||||||
("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
|
("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
|
||||||
("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
|
("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
|
||||||
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
|
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
|
||||||
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
|
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
|
||||||
("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
|
("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
|
||||||
("go-github-com-xtaci-smux" ,go-github-com-xtaci-smux)
|
|
||||||
("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
|
("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
|
||||||
("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
|
("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
|
||||||
("go-golang-org-x-text" ,(go-golang-org-x-text-union))
|
("go-golang-org-x-text" ,(go-golang-org-x-text-union))
|
||||||
|
@ -1526,31 +1522,6 @@ virtual connections from a single physical connection.")
|
||||||
(home-page "https://github.com/AudriusButkevicius/pfilter")
|
(home-page "https://github.com/AudriusButkevicius/pfilter")
|
||||||
(license expat))))
|
(license expat))))
|
||||||
|
|
||||||
(define-public go-github-com-ccding-go-stun
|
|
||||||
(let ((commit "d9bbe8f8fa7bf7ed03e6cfc6a2796bb36139e1f4")
|
|
||||||
(revision "1"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-ccding-go-stun")
|
|
||||||
(version (git-version "0.0.0" revision commit))
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/ccding/go-stun.git")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"04a4q69cmw6snlx54wikyj1y6gk94qzm9xv9als17inmj8z60xv7"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/ccding/go-stun"))
|
|
||||||
(synopsis "STUN client implementation")
|
|
||||||
(description "Go-stun is a go implementation of the STUN client (RFC 3489
|
|
||||||
and RFC 5389).")
|
|
||||||
(home-page "https://github.com/ccding/go-stun")
|
|
||||||
(license asl2.0))))
|
|
||||||
|
|
||||||
(define-public go-github-com-chmduquesne-rollinghash-adler32
|
(define-public go-github-com-chmduquesne-rollinghash-adler32
|
||||||
(let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb")
|
(let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb")
|
||||||
(revision "1"))
|
(revision "1"))
|
||||||
|
@ -1577,97 +1548,6 @@ rolling hash.")
|
||||||
(home-page "https://github.com/chmduquesne/rollinghash")
|
(home-page "https://github.com/chmduquesne/rollinghash")
|
||||||
(license expat))))
|
(license expat))))
|
||||||
|
|
||||||
(define-public go-github-com-xtaci-kcp-go
|
|
||||||
(let ((commit "86eebd5cadb519b7c9306082c7eb3bcee2c49a7b")
|
|
||||||
(revision "0"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-xtaci-kcp-go")
|
|
||||||
(version (git-version "0.0.0" revision commit))
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/xtaci/kcp-go")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1mdfsya4y04nycfgsk9ghm67zpim5pw78si3f1566xgrv4ghl0ni"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(propagated-inputs
|
|
||||||
`(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
|
|
||||||
("go-github-com-klauspost-reedsolomon"
|
|
||||||
,go-github-com-klauspost-reedsolomon)
|
|
||||||
("go-github-com-tjfoc-gmsm-sm4" ,go-github-com-tjfoc-gmsm-sm4)
|
|
||||||
("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
|
|
||||||
("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
|
|
||||||
("go-github-com-templexxx-xor" ,go-github-com-templexxx-xor)))
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/xtaci/kcp-go"
|
|
||||||
;; XXX update comment
|
|
||||||
;; 'TestListenerClose' is known to fail. It seems that the test suite
|
|
||||||
;; is not being used upstream:
|
|
||||||
;; https://github.com/AudriusButkevicius/kcp-go/pull/1
|
|
||||||
#:tests? #f))
|
|
||||||
(synopsis "Reliable UDP connections in Go")
|
|
||||||
(description "This package provides @code{kcp-go}, a reliable UDP library
|
|
||||||
written in Go. It offers fast, ordered and error-checked delivery of streams
|
|
||||||
over UDP packets.")
|
|
||||||
(home-page "https://github.com/xtaci/kcp-go")
|
|
||||||
(license expat))))
|
|
||||||
|
|
||||||
(define-public go-github-com-templexxx-xor
|
|
||||||
(package
|
|
||||||
(name "go-github-com-templexxx-xor")
|
|
||||||
(version "0.1.2")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/templexxx/xor.git")
|
|
||||||
(commit version)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0v1maiii0sggmxk9bgpy6pypb40j3hy2328pc4kd5bldkpdb67d5"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/templexxx/xor"))
|
|
||||||
(propagated-inputs
|
|
||||||
`(("go-github-com-templexxx-cpufeat" ,go-github-com-templexxx-cpufeat)))
|
|
||||||
(synopsis "XOR in Go")
|
|
||||||
(description "This packages provides a Go implementation of XOR.")
|
|
||||||
(home-page "https://github.com/templexxx/xor")
|
|
||||||
(license expat)))
|
|
||||||
|
|
||||||
(define-public go-github-com-xtaci-smux
|
|
||||||
(let ((commit "c3e18246ff2252a6e9d6b529fcbf22ae5c74c007")
|
|
||||||
(revision "0"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-xtaci-smux")
|
|
||||||
(version (git-version "1.0.6" revision commit))
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/xtaci/smux.git")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1dfmxd9g31idldhq6n7r998gi4jw51ji3xvkjrzypsw2ypbjx1dz"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(propagated-inputs
|
|
||||||
`(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/xtaci/smux"))
|
|
||||||
(synopsis "Network multiplexing in Go")
|
|
||||||
(description "Smux ( Simple MUltipleXing) is a multiplexing library for
|
|
||||||
Golang. It relies on an underlying connection to provide reliability and
|
|
||||||
ordering, such as TCP or KCP, and provides stream-oriented multiplexing.")
|
|
||||||
(home-page "https://github.com/xtaci/smux")
|
|
||||||
(license expat))))
|
|
||||||
|
|
||||||
(define-public go-github-com-pkg-errors
|
(define-public go-github-com-pkg-errors
|
||||||
(let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc")
|
(let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc")
|
||||||
(revision "1"))
|
(revision "1"))
|
||||||
|
@ -1792,56 +1672,6 @@ using sh's word-splitting rules.")
|
||||||
(home-page "https://github.com/kballard/go-shellquote")
|
(home-page "https://github.com/kballard/go-shellquote")
|
||||||
(license expat))))
|
(license expat))))
|
||||||
|
|
||||||
(define-public go-github-com-templexxx-cpufeat
|
|
||||||
(let ((commit "3794dfbfb04749f896b521032f69383f24c3687e")
|
|
||||||
(revision "0"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-templexxx-cpufeat")
|
|
||||||
(version (git-version "0.0.0" revision commit))
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/templexxx/cpufeat.git")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0b9f5p6nsiv907rz5d66qzgxnsz4k68r2f45vxi2hwdbnkjfxz8j"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/templexxx/cpufeat"))
|
|
||||||
(synopsis "CPU feature identification for Go")
|
|
||||||
(description "This package provides @code{cpu}, which implements
|
|
||||||
processor feature detection used by the Go standard libary.")
|
|
||||||
(home-page "https://github.com/templexxx/cpufeat")
|
|
||||||
(license bsd-3))))
|
|
||||||
|
|
||||||
(define-public go-github-com-tjfoc-gmsm-sm4
|
|
||||||
(let ((commit "98aa888b79d8de04afe0fccf45ed10594efc858b")
|
|
||||||
(revision "1"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-tjfoc-gmsm-sm4")
|
|
||||||
(version (git-version "0.0.0" revision commit))
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/tjfoc/gmsm")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1ii4imnz3ims2s23pdv0l4ijzxjsvl82h4yzgfqm5y809ph6pjq9"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/tjfoc/gmsm/sm4"
|
|
||||||
#:unpack-path "github.com/tjfoc/gmsm"))
|
|
||||||
(synopsis "SM4 block cipher")
|
|
||||||
(description "This package provides a Go implementation of SM4, a block
|
|
||||||
cipher used in the Chinese National Standard for Wireless LAN WAPI (Wired
|
|
||||||
Authentication and Privacy Infrastructure).")
|
|
||||||
(home-page "https://github.com/tjfoc/gmsm")
|
|
||||||
(license asl2.0))))
|
|
||||||
|
|
||||||
(define-public go-github-com-zillode-notify
|
(define-public go-github-com-zillode-notify
|
||||||
(let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3")
|
(let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3")
|
||||||
(revision "2"))
|
(revision "2"))
|
||||||
|
@ -1868,56 +1698,6 @@ notification library in Go.")
|
||||||
(home-page "https://github.com/zillode/notify")
|
(home-page "https://github.com/zillode/notify")
|
||||||
(license expat))))
|
(license expat))))
|
||||||
|
|
||||||
(define-public go-github-com-klauspost-cpuid
|
|
||||||
(let ((commit "eae9b3e628d72774e13bdf024e78c0802f85a5b9")
|
|
||||||
(revision "0"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-klauspost-cpuid")
|
|
||||||
(version (git-version "1.1" revision commit))
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/klauspost/cpuid.git")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0dgxlsxdfhfapmz1qlvc919m3kcbmfqcfpxk78zl9am5zc3zr689"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/klauspost/cpuid"))
|
|
||||||
(synopsis "CPU feature identification library")
|
|
||||||
(description "This package provides @code{cpuid}, a Go library that provides information about the CPU running the current program")
|
|
||||||
(home-page "https://github.com/klauspost/cpuid")
|
|
||||||
(license expat))))
|
|
||||||
|
|
||||||
(define-public go-github-com-klauspost-reedsolomon
|
|
||||||
(let ((commit "0b30fa71cc8e4e9010c9aba6d0320e2e5b163b29")
|
|
||||||
(revision "0"))
|
|
||||||
(package
|
|
||||||
(name "go-github-com-klauspost-reedsolomon")
|
|
||||||
(version (git-version "1.6" revision commit))
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/klauspost/reedsolomon.git")
|
|
||||||
(commit commit)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"04jvf65ybsa7w4d7s2n0s174p0q2fl0dqd5hhn2krw66z9i3rc6d"))))
|
|
||||||
(build-system go-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:import-path "github.com/klauspost/reedsolomon"))
|
|
||||||
(propagated-inputs
|
|
||||||
`(("go-github-com-klauspost-cpuid"
|
|
||||||
,go-github-com-klauspost-cpuid)))
|
|
||||||
(synopsis "Reed-Solomon Erasure Coding in Go")
|
|
||||||
(description "This package provides and implemenation of Reed-Solomon
|
|
||||||
Erasure Coding in Go.")
|
|
||||||
(home-page "https://github.com/klauspost/reedsolomon")
|
|
||||||
(license expat))))
|
|
||||||
|
|
||||||
(define-public go-github-com-beorn7-perks-quantile
|
(define-public go-github-com-beorn7-perks-quantile
|
||||||
(let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
|
(let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
|
|
|
@ -3424,6 +3424,47 @@ TeX metrics (VF and TFM files) and macros for use with LaTeX.")
|
||||||
;; Any version of the GPL with font exception.
|
;; Any version of the GPL with font exception.
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public texlive-fonts-iwona
|
||||||
|
(package
|
||||||
|
(name "texlive-fonts-iwona")
|
||||||
|
(version "0.995b")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://jmn.pl/pliki/Iwona-tex-"
|
||||||
|
(string-map (lambda (c)
|
||||||
|
(if (char=? c #\.)
|
||||||
|
#\_ c))
|
||||||
|
version)
|
||||||
|
".zip"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"13684iqx5granpc5rfvqnmyvdpgpbr1x9y7i7y7bcaq0qxv7ph1x"))))
|
||||||
|
(build-system trivial-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:modules ((guix build utils))
|
||||||
|
#:builder
|
||||||
|
(begin
|
||||||
|
(use-modules (guix build utils))
|
||||||
|
(let ((target (string-append (assoc-ref %outputs "out")
|
||||||
|
"/share/texmf-dist/"))
|
||||||
|
(unzip (string-append (assoc-ref %build-inputs "unzip")
|
||||||
|
"/bin/unzip")))
|
||||||
|
(system* unzip (assoc-ref %build-inputs "source"))
|
||||||
|
(mkdir-p target)
|
||||||
|
(copy-recursively "iwona" target)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("unzip" ,unzip)))
|
||||||
|
(home-page "http://jmn.pl/en/kurier-i-iwona/")
|
||||||
|
(synopsis "Sans-serif typeface for TeX")
|
||||||
|
(description "Iwona is a two-element sans-serif typeface. It was created
|
||||||
|
as an alternative version of the Kurier typeface, which was designed in 1975
|
||||||
|
for a diploma in typeface design at the Warsaw Academy of Fine Arts under the
|
||||||
|
supervision of Roman Tomaszewski. Kurier was designed for linotype
|
||||||
|
typesetting of newspapers and similar periodicals. The Iwona fonts are an
|
||||||
|
alternative version of the Kurier fonts. The difference lies in the absence
|
||||||
|
of ink traps which typify the Kurier font.")
|
||||||
|
(license license:gfl1.0)))
|
||||||
|
|
||||||
(define-public texlive-latex-titlesec
|
(define-public texlive-latex-titlesec
|
||||||
(package
|
(package
|
||||||
(name "texlive-latex-titlesec")
|
(name "texlive-latex-titlesec")
|
||||||
|
|
|
@ -508,10 +508,12 @@ in a portable way.")
|
||||||
(add-after 'unpack 'delete-test
|
(add-after 'unpack 'delete-test
|
||||||
;; See comments about the license.
|
;; See comments about the license.
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file "src/tests/dbacl-jap.shin")))
|
(delete-file "src/tests/dbacl-jap.shin")
|
||||||
|
#t))
|
||||||
(add-after 'delete-sample6-and-japanese 'autoreconf
|
(add-after 'delete-sample6-and-japanese 'autoreconf
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "autoreconf" "-vif"))))
|
(invoke "autoreconf" "-vif")
|
||||||
|
#t))
|
||||||
(add-after 'unpack 'fix-test-files
|
(add-after 'unpack 'fix-test-files
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
@ -532,7 +534,7 @@ in a portable way.")
|
||||||
("autoconf" ,autoconf)
|
("autoconf" ,autoconf)
|
||||||
("automake" ,automake)
|
("automake" ,automake)
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
(home-page "http://www.lbreyer.com/dbacl.html")
|
(home-page "https://www.lbreyer.com/dbacl.html")
|
||||||
(synopsis "Bayesian text and email classifier")
|
(synopsis "Bayesian text and email classifier")
|
||||||
(description
|
(description
|
||||||
"dbacl is a fast Bayesian text and email classifier. It builds a variety
|
"dbacl is a fast Bayesian text and email classifier. It builds a variety
|
||||||
|
|
|
@ -47,14 +47,14 @@
|
||||||
(define-public tor
|
(define-public tor
|
||||||
(package
|
(package
|
||||||
(name "tor")
|
(name "tor")
|
||||||
(version "0.3.2.9")
|
(version "0.3.2.10")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://dist.torproject.org/tor-"
|
(uri (string-append "https://dist.torproject.org/tor-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03qn55c969zynnx71r82iaqnadpzq0qclq0zmjhb3n4qma8pnnj3"))))
|
"1vnb2wkcmm8rnz0fqi3k7arl60mpycs8rjn8hvbgv56g3p1pgpv0"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (list "--enable-gcc-hardening"
|
`(#:configure-flags (list "--enable-gcc-hardening"
|
||||||
|
@ -146,7 +146,8 @@ rejects UDP traffic from the application you're using.")
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Unfortunately, this is not a tarball produced by
|
;; Unfortunately, this is not a tarball produced by
|
||||||
;; "make dist".
|
;; "make dist".
|
||||||
(zero? (system* "autoreconf" "-vfi")))))
|
(invoke "autoreconf" "-vfi")
|
||||||
|
#t)))
|
||||||
#:tests? #f))
|
#:tests? #f))
|
||||||
(inputs
|
(inputs
|
||||||
`(("w3m" ,w3m)
|
`(("w3m" ,w3m)
|
||||||
|
@ -230,7 +231,9 @@ networks.")
|
||||||
;; After all the patching we run the tests after installing.
|
;; After all the patching we run the tests after installing.
|
||||||
;; This is also a known issue:
|
;; This is also a known issue:
|
||||||
;; https://github.com/micahflee/onionshare/issues/284
|
;; https://github.com/micahflee/onionshare/issues/284
|
||||||
(lambda _ (zero? (system* "nosetests" "test")))))))
|
(lambda _
|
||||||
|
(invoke "nosetests" "test")
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)))
|
`(("python-nose" ,python-nose)))
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -928,7 +928,7 @@ also walk each side of a merge and test those changes individually.")
|
||||||
(define-public gitolite
|
(define-public gitolite
|
||||||
(package
|
(package
|
||||||
(name "gitolite")
|
(name "gitolite")
|
||||||
(version "3.6.6")
|
(version "3.6.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -937,7 +937,7 @@ also walk each side of a merge and test those changes individually.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"07q33f86694s0x3k9lcmy1vzfw9appdrlmmb9j3bz4qkrxqdnwb9"))))
|
"1idxipg0df80bhjcxgwxs3lllqnkvhwpinmfv1xvg1l98fxiapgp"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f ; no tests
|
'(#:tests? #f ; no tests
|
||||||
|
@ -958,7 +958,8 @@ also walk each side of a merge and test those changes individually.")
|
||||||
;; This works because gitolite-shell is in the PATH.
|
;; This works because gitolite-shell is in the PATH.
|
||||||
(substitute* "src/triggers/post-compile/ssh-authkeys"
|
(substitute* "src/triggers/post-compile/ssh-authkeys"
|
||||||
(("\\$glshell \\$user")
|
(("\\$glshell \\$user")
|
||||||
"gitolite-shell $user")))))
|
"gitolite-shell $user"))
|
||||||
|
#t)))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((output (assoc-ref outputs "out"))
|
(let* ((output (assoc-ref outputs "out"))
|
||||||
|
@ -966,7 +967,7 @@ also walk each side of a merge and test those changes individually.")
|
||||||
(bindir (string-append output "/bin")))
|
(bindir (string-append output "/bin")))
|
||||||
(mkdir-p sharedir)
|
(mkdir-p sharedir)
|
||||||
(mkdir-p bindir)
|
(mkdir-p bindir)
|
||||||
(system* "./install" "-to" sharedir)
|
(invoke "./install" "-to" sharedir)
|
||||||
;; Create symlinks for executable scripts in /bin.
|
;; Create symlinks for executable scripts in /bin.
|
||||||
(for-each (lambda (script)
|
(for-each (lambda (script)
|
||||||
(symlink (string-append sharedir "/" script)
|
(symlink (string-append sharedir "/" script)
|
||||||
|
@ -1646,11 +1647,12 @@ repository\" with git-annex.")
|
||||||
#:allow-other-keys)
|
#:allow-other-keys)
|
||||||
;; The 'configure' script is not an autoconf script and
|
;; The 'configure' script is not an autoconf script and
|
||||||
;; chokes on unrecognized options.
|
;; chokes on unrecognized options.
|
||||||
(zero? (apply system*
|
(apply invoke
|
||||||
"./configure"
|
"./configure"
|
||||||
(string-append "--prefix="
|
(string-append "--prefix="
|
||||||
(assoc-ref outputs "out"))
|
(assoc-ref outputs "out"))
|
||||||
configure-flags))))
|
configure-flags)
|
||||||
|
#t))
|
||||||
(add-before 'check 'test-setup
|
(add-before 'check 'test-setup
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "USER" "guix")
|
(setenv "USER" "guix")
|
||||||
|
|
|
@ -1091,7 +1091,7 @@ projects while introducing many more.")
|
||||||
(define-public gnome-mpv
|
(define-public gnome-mpv
|
||||||
(package
|
(package
|
||||||
(name "gnome-mpv")
|
(name "gnome-mpv")
|
||||||
(version "0.13")
|
(version "0.14")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -1100,7 +1100,7 @@ projects while introducing many more.")
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1w944ymyssgfcjiczrq4saig90crw9b9hhdsnchfbjsw173qi8n5"))))
|
"03kjwd5jq0i5ajnvhjwf5019bjjaa16xkdrhdkiz1k58ipjvvj93"))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("intltool" ,intltool)
|
`(("intltool" ,intltool)
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
|
|
|
@ -241,7 +241,7 @@ and probably others.")
|
||||||
(define-public openvpn
|
(define-public openvpn
|
||||||
(package
|
(package
|
||||||
(name "openvpn")
|
(name "openvpn")
|
||||||
(version "2.4.4")
|
(version "2.4.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -249,7 +249,7 @@ and probably others.")
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn"))))
|
"17njq59hsraqyxrbhkrxr7dvx0p066s3pn8w1mi0yd9jldis7h23"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:configure-flags '("--enable-iproute2=yes")))
|
'(#:configure-flags '("--enable-iproute2=yes")))
|
||||||
|
@ -262,11 +262,12 @@ and probably others.")
|
||||||
("linux-pam" ,linux-pam)))
|
("linux-pam" ,linux-pam)))
|
||||||
(home-page "https://openvpn.net/")
|
(home-page "https://openvpn.net/")
|
||||||
(synopsis "Virtual private network daemon")
|
(synopsis "Virtual private network daemon")
|
||||||
(description "OpenVPN implements virtual private network (VPN) techniques
|
(description
|
||||||
|
"OpenVPN implements virtual private network (@dfn{VPN}) techniques
|
||||||
for creating secure point-to-point or site-to-site connections in routed or
|
for creating secure point-to-point or site-to-site connections in routed or
|
||||||
bridged configurations and remote access facilities. It uses a custom
|
bridged configurations and remote access facilities. It uses a custom
|
||||||
security protocol that utilizes SSL/TLS for key exchange. It is capable of
|
security protocol that utilizes SSL/TLS for key exchange. It is capable of
|
||||||
traversing network address translators (NATs) and firewalls.")
|
traversing network address translators (@dfn{NAT}s) and firewalls.")
|
||||||
(license license:gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public tinc
|
(define-public tinc
|
||||||
|
|
|
@ -799,7 +799,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
(define-public libpsl
|
(define-public libpsl
|
||||||
(package
|
(package
|
||||||
(name "libpsl")
|
(name "libpsl")
|
||||||
(version "0.20.0")
|
(version "0.20.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
||||||
|
@ -807,7 +807,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
"/libpsl-" version ".tar.gz"))
|
"/libpsl-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0rsjm6mb71nnj6ikr2dq5qmny314v3j7m07zz1i7m6v8hxxm98i7"))))
|
"17r18y25ka2ck2ykfidbg4a7jpyzmkqwrzplgqjp7mwd2l9rc6cm"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
@ -2933,7 +2933,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.")
|
||||||
(define-public perl-io-socket-ip
|
(define-public perl-io-socket-ip
|
||||||
(package
|
(package
|
||||||
(name "perl-io-socket-ip")
|
(name "perl-io-socket-ip")
|
||||||
(version "0.38")
|
(version "0.39")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -2941,7 +2941,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.")
|
||||||
"IO-Socket-IP-" version ".tar.gz"))
|
"IO-Socket-IP-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0scsnahxwnymg80a3k0p0cnr574nk7x9inn9wjniz0iycicclyhb"))))
|
"15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
||||||
(home-page "http://search.cpan.org/dist/IO-Socket-IP")
|
(home-page "http://search.cpan.org/dist/IO-Socket-IP")
|
||||||
|
@ -3660,7 +3660,7 @@ library.")
|
||||||
(define-public perl-www-mechanize
|
(define-public perl-www-mechanize
|
||||||
(package
|
(package
|
||||||
(name "perl-www-mechanize")
|
(name "perl-www-mechanize")
|
||||||
(version "1.86")
|
(version "1.87")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -3668,7 +3668,7 @@ library.")
|
||||||
"WWW-Mechanize-" version ".tar.gz"))
|
"WWW-Mechanize-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f"))))
|
"1kxrydhl7nxlyjv0xvyiyj4igdv4fwnggv0ihlp79bysbjjl54w1"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(native-inputs ;only for tests
|
(native-inputs ;only for tests
|
||||||
`(("perl-cgi" ,perl-cgi)
|
`(("perl-cgi" ,perl-cgi)
|
||||||
|
@ -3783,13 +3783,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
|
||||||
(define-public r-httpuv
|
(define-public r-httpuv
|
||||||
(package
|
(package
|
||||||
(name "r-httpuv")
|
(name "r-httpuv")
|
||||||
(version "1.3.6")
|
(version "1.3.6.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "httpuv" version))
|
(uri (cran-uri "httpuv" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1nzbcw1dm4l5qc9156kz95rdb8bwnpdr57wfc87w8arv7m0i40bc"))))
|
"0h3hkw575b211bxma23inbq1565wkhiapgasd539h219apqs534f"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs `(("r-rcpp" ,r-rcpp)))
|
(native-inputs `(("r-rcpp" ,r-rcpp)))
|
||||||
(home-page "https://github.com/rstudio/httpuv")
|
(home-page "https://github.com/rstudio/httpuv")
|
||||||
|
@ -6353,7 +6353,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
|
||||||
(define-public nghttp2
|
(define-public nghttp2
|
||||||
(package
|
(package
|
||||||
(name "nghttp2")
|
(name "nghttp2")
|
||||||
(version "1.30.0")
|
(version "1.31.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -6362,7 +6362,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1b2j7il0wp8hi4jl3cah7fkshmg29cchdski9cw74gx5496gp6h8"))))
|
"1ivs74v9sa2sds3dq0s7vn9bkmhr2hgwyg1an1rah3agqwnkqmrn"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs (list "out"
|
(outputs (list "out"
|
||||||
"lib")) ; only libnghttp2
|
"lib")) ; only libnghttp2
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
|
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
|
||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||||
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -52,11 +53,12 @@
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
(synopsis "Microsoft Word conversion library and utilities")
|
(synopsis "Microsoft Word conversion library and utilities")
|
||||||
(description
|
(description
|
||||||
"wv converts Word 2,6,7,8,9 files to HTML and LaTeX. The Word 2
|
"wv converts files written by Word 2000, 97, 95, and 6 (known internally as
|
||||||
conversion is still incomplete (no formatting), but it will do a passable job
|
Word 9, 8, 7, and 6) to HTML or LaTeX. Word 2 documents can still be converted
|
||||||
extracting the text, which is what you probably want anyway.
|
to plain text but will lack formatting.
|
||||||
|
|
||||||
libwv can be used as a library by third party programs, AbiWord uses it as its
|
Othe programs can use wv as a library to convert Word documents to other
|
||||||
word importer, and KWord may use it in the future.")
|
formats. AbiWord uses it as its Word importer, and KWord uses concepts and
|
||||||
|
code from wv in theirs.")
|
||||||
(home-page "http://wvware.sourceforge.net/")
|
(home-page "http://wvware.sourceforge.net/")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
|
@ -469,14 +469,14 @@ checks.")
|
||||||
(define-public perl-xml-rss
|
(define-public perl-xml-rss
|
||||||
(package
|
(package
|
||||||
(name "perl-xml-rss")
|
(name "perl-xml-rss")
|
||||||
(version "1.59")
|
(version "1.60")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
|
(uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
|
||||||
"XML-RSS-" version ".tar.gz"))
|
"XML-RSS-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0v6vfizn2psy6av057kp7fv3z3y73s6b3w56jm3zr6hlq48llsx2"))))
|
"0xw6aaqka3vqwbv152sbh6fbi8j306q1gvg7v83br8miif3mjcsb"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("perl-module-build" ,perl-module-build)
|
`(("perl-module-build" ,perl-module-build)
|
||||||
|
@ -684,14 +684,14 @@ a schema.")
|
||||||
(define-public perl-xml-compile-cache
|
(define-public perl-xml-compile-cache
|
||||||
(package
|
(package
|
||||||
(name "perl-xml-compile-cache")
|
(name "perl-xml-compile-cache")
|
||||||
(version "1.05")
|
(version "1.06")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
|
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
|
||||||
"XML-Compile-Cache-" version ".tar.gz"))
|
"XML-Compile-Cache-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0xbwlszhi9hg8sxm5ylglm2qvnb689i595p913awrj2g4mp9yfsw"))))
|
"181qf1s7ymgi7saph3cf9p6dbxkxyh1ja23na4dchhi8v5mi66sr"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("perl-log-report" ,perl-log-report)
|
`(("perl-log-report" ,perl-log-report)
|
||||||
|
@ -1249,14 +1249,14 @@ libxls cannot write Excel files.")
|
||||||
(define-public freexl
|
(define-public freexl
|
||||||
(package
|
(package
|
||||||
(name "freexl")
|
(name "freexl")
|
||||||
(version "1.0.4")
|
(version "1.0.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://www.gaia-gis.it/gaia-sins/"
|
(uri (string-append "http://www.gaia-gis.it/gaia-sins/"
|
||||||
name "-" version ".tar.gz"))
|
name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"09bwzqjc41cc8qw8qkw9wq58rg9nax8r3fg19iny5vmw1c0z23sh"))))
|
"03bmwq6hngmzwpqpb7c2amqlspz4q69iv96nlf0f5c0qs98b3j9x"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "https://www.gaia-gis.it/fossil/freexl/index")
|
(home-page "https://www.gaia-gis.it/fossil/freexl/index")
|
||||||
(synopsis "Read Excel files")
|
(synopsis "Read Excel files")
|
||||||
|
|
|
@ -357,7 +357,7 @@ provided.")
|
||||||
(define-public editres
|
(define-public editres
|
||||||
(package
|
(package
|
||||||
(name "editres")
|
(name "editres")
|
||||||
(version "1.0.6")
|
(version "1.0.7")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -367,7 +367,7 @@ provided.")
|
||||||
".tar.bz2"))
|
".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1w2d5hb5pw9ii2jlf4yjlp899402zfwc8hdkpdr3i1fy1cjd2riv"))))
|
"04awfwmy3f9f0bchidc4ssbgrbicn5gzasg3jydpfnp5513d76h8"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags
|
`(#:configure-flags
|
||||||
|
@ -918,7 +918,7 @@ rendering commands to the X server.")
|
||||||
(define-public iceauth
|
(define-public iceauth
|
||||||
(package
|
(package
|
||||||
(name "iceauth")
|
(name "iceauth")
|
||||||
(version "1.0.7")
|
(version "1.0.8")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -928,7 +928,7 @@ rendering commands to the X server.")
|
||||||
".tar.bz2"))
|
".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj"))))
|
"1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("libice" ,libice)))
|
`(("libice" ,libice)))
|
||||||
|
@ -5944,7 +5944,7 @@ basic eye-candy effects.")
|
||||||
(define-public xpra
|
(define-public xpra
|
||||||
(package
|
(package
|
||||||
(name "xpra")
|
(name "xpra")
|
||||||
(version "2.2.4")
|
(version "2.2.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -5952,7 +5952,7 @@ basic eye-candy effects.")
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy"))))
|
"1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(inputs `(("ffmpeg" ,ffmpeg)
|
(inputs `(("ffmpeg" ,ffmpeg)
|
||||||
("flac" ,flac)
|
("flac" ,flac)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
|
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -74,11 +74,12 @@
|
||||||
(documentation configuration-field-documentation))
|
(documentation configuration-field-documentation))
|
||||||
|
|
||||||
(define (serialize-configuration config fields)
|
(define (serialize-configuration config fields)
|
||||||
(for-each (lambda (field)
|
#~(string-append
|
||||||
|
#$@(map (lambda (field)
|
||||||
((configuration-field-serializer field)
|
((configuration-field-serializer field)
|
||||||
(configuration-field-name field)
|
(configuration-field-name field)
|
||||||
((configuration-field-getter field) config)))
|
((configuration-field-getter field) config)))
|
||||||
fields))
|
fields)))
|
||||||
|
|
||||||
(define (validate-configuration config fields)
|
(define (validate-configuration config fields)
|
||||||
(for-each (lambda (field)
|
(for-each (lambda (field)
|
||||||
|
@ -105,7 +106,7 @@
|
||||||
(define (maybe-stem? val)
|
(define (maybe-stem? val)
|
||||||
(or (eq? val 'disabled) (stem? val)))
|
(or (eq? val 'disabled) (stem? val)))
|
||||||
(define (serialize-maybe-stem field-name val)
|
(define (serialize-maybe-stem field-name val)
|
||||||
(when (stem? val) (serialize-stem field-name val)))))))))
|
(if (stem? val) (serialize-stem field-name val) ""))))))))
|
||||||
|
|
||||||
(define-syntax define-configuration
|
(define-syntax define-configuration
|
||||||
(lambda (stx)
|
(lambda (stx)
|
||||||
|
@ -147,7 +148,7 @@
|
||||||
conf))))))))
|
conf))))))))
|
||||||
|
|
||||||
(define (serialize-package field-name val)
|
(define (serialize-package field-name val)
|
||||||
#f)
|
"")
|
||||||
|
|
||||||
;; A little helper to make it easier to document all those fields.
|
;; A little helper to make it easier to document all those fields.
|
||||||
(define (generate-documentation documentation documentation-name)
|
(define (generate-documentation documentation documentation-name)
|
||||||
|
|
|
@ -77,8 +77,10 @@
|
||||||
(default 5432))
|
(default 5432))
|
||||||
(locale postgresql-configuration-locale
|
(locale postgresql-configuration-locale
|
||||||
(default "en_US.utf8"))
|
(default "en_US.utf8"))
|
||||||
(config-file postgresql-configuration-file)
|
(config-file postgresql-configuration-file
|
||||||
(data-directory postgresql-configuration-data-directory))
|
(default %default-postgres-config))
|
||||||
|
(data-directory postgresql-configuration-data-directory
|
||||||
|
(default "/var/lib/postgresql/data")))
|
||||||
|
|
||||||
(define %default-postgres-hba
|
(define %default-postgres-hba
|
||||||
(plain-file "pg_hba.conf"
|
(plain-file "pg_hba.conf"
|
||||||
|
@ -184,7 +186,8 @@ host all all ::1/128 trust"))
|
||||||
(service-extension activation-service-type
|
(service-extension activation-service-type
|
||||||
postgresql-activation)
|
postgresql-activation)
|
||||||
(service-extension account-service-type
|
(service-extension account-service-type
|
||||||
(const %postgresql-accounts))))))
|
(const %postgresql-accounts))))
|
||||||
|
(default-value (postgresql-configuration))))
|
||||||
|
|
||||||
(define* (postgresql-service #:key (postgresql postgresql)
|
(define* (postgresql-service #:key (postgresql postgresql)
|
||||||
(port 5432)
|
(port 5432)
|
||||||
|
@ -466,7 +469,8 @@ FLUSH PRIVILEGES;
|
||||||
(service-extension activation-service-type
|
(service-extension activation-service-type
|
||||||
%mysql-activation)
|
%mysql-activation)
|
||||||
(service-extension shepherd-root-service-type
|
(service-extension shepherd-root-service-type
|
||||||
mysql-shepherd-service)))))
|
mysql-shepherd-service)))
|
||||||
|
(default-value (mysql-configuration))))
|
||||||
|
|
||||||
(define* (mysql-service #:key (config (mysql-configuration)))
|
(define* (mysql-service #:key (config (mysql-configuration)))
|
||||||
"Return a service that runs @command{mysqld}, the MySQL or MariaDB
|
"Return a service that runs @command{mysqld}, the MySQL or MariaDB
|
||||||
|
@ -548,4 +552,5 @@ The optional @var{config} argument specifies the configuration for
|
||||||
(service-extension activation-service-type
|
(service-extension activation-service-type
|
||||||
redis-activation)
|
redis-activation)
|
||||||
(service-extension account-service-type
|
(service-extension account-service-type
|
||||||
(const %redis-accounts))))))
|
(const %redis-accounts))))
|
||||||
|
(default-value (redis-configuration))))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
|
@ -115,16 +115,9 @@
|
||||||
"_")))
|
"_")))
|
||||||
|
|
||||||
(define (serialize-field field-name val)
|
(define (serialize-field field-name val)
|
||||||
(format #t "~a = ~a;\n" (uglify-field-name field-name) val))
|
#~(format #f "~a = ~a;\n" #$(uglify-field-name field-name) #$val))
|
||||||
(define (serialize-field-list field-name val)
|
(define (serialize-field-list field-name val)
|
||||||
(serialize-field field-name
|
(serialize-field field-name #~(format #f "{\n~@{~a;\n~}}" #$@val)))
|
||||||
(with-output-to-string
|
|
||||||
(lambda ()
|
|
||||||
(format #t "{\n")
|
|
||||||
(for-each (lambda (x)
|
|
||||||
(format #t "~a;\n" x))
|
|
||||||
val)
|
|
||||||
(format #t "}")))))
|
|
||||||
|
|
||||||
(define (serialize-boolean field-name val)
|
(define (serialize-boolean field-name val)
|
||||||
(serialize-field field-name (if val "true" "false")))
|
(serialize-field field-name (if val "true" "false")))
|
||||||
|
@ -140,17 +133,17 @@
|
||||||
(define (non-negative-integer? val)
|
(define (non-negative-integer? val)
|
||||||
(and (exact-integer? val) (not (negative? val))))
|
(and (exact-integer? val) (not (negative? val))))
|
||||||
(define (serialize-non-negative-integer field-name val)
|
(define (serialize-non-negative-integer field-name val)
|
||||||
(serialize-field field-name val))
|
(serialize-field field-name (number->string val)))
|
||||||
(define-maybe non-negative-integer)
|
(define-maybe non-negative-integer)
|
||||||
|
|
||||||
(define (non-negative-integer-list? val)
|
(define (non-negative-integer-list? val)
|
||||||
(and (list? val) (and-map non-negative-integer? val)))
|
(and (list? val) (and-map non-negative-integer? val)))
|
||||||
(define (serialize-non-negative-integer-list field-name val)
|
(define (serialize-non-negative-integer-list field-name val)
|
||||||
(serialize-field-list field-name val))
|
(serialize-field-list field-name (map number->string val)))
|
||||||
(define-maybe non-negative-integer-list)
|
(define-maybe non-negative-integer-list)
|
||||||
|
|
||||||
(define (enclose-quotes s)
|
(define (enclose-quotes s)
|
||||||
(format #f "\"~a\"" s))
|
#~(string-append "\"" #$s "\""))
|
||||||
(define (serialize-string field-name val)
|
(define (serialize-string field-name val)
|
||||||
(serialize-field field-name (enclose-quotes val)))
|
(serialize-field field-name (enclose-quotes val)))
|
||||||
(define-maybe string)
|
(define-maybe string)
|
||||||
|
@ -183,10 +176,22 @@
|
||||||
(serialize-string-list field-name val))
|
(serialize-string-list field-name val))
|
||||||
(define-maybe file-name)
|
(define-maybe file-name)
|
||||||
|
|
||||||
|
(define (file-object? val)
|
||||||
|
(or (file-like? val) (file-name? val)))
|
||||||
|
(define (serialize-file-object field-name val)
|
||||||
|
(serialize-string field-name val))
|
||||||
|
(define-maybe file-object)
|
||||||
|
|
||||||
|
(define (file-object-list? val)
|
||||||
|
(and (list? val) (and-map file-object? val)))
|
||||||
|
(define (serialize-file-object-list field-name val)
|
||||||
|
(serialize-string-list field-name val))
|
||||||
|
(define-maybe file-object)
|
||||||
|
|
||||||
(define (raw-content? val)
|
(define (raw-content? val)
|
||||||
(not (eq? val 'disabled)))
|
(not (eq? val 'disabled)))
|
||||||
(define (serialize-raw-content field-name val)
|
(define (serialize-raw-content field-name val)
|
||||||
(format #t "~a" val))
|
val)
|
||||||
(define-maybe raw-content)
|
(define-maybe raw-content)
|
||||||
|
|
||||||
(define-configuration mod-muc-configuration
|
(define-configuration mod-muc-configuration
|
||||||
|
@ -224,12 +229,12 @@ just joined the room."))
|
||||||
"Path to your certificate file.")
|
"Path to your certificate file.")
|
||||||
|
|
||||||
(capath
|
(capath
|
||||||
(file-name "/etc/ssl/certs")
|
(file-object "/etc/ssl/certs")
|
||||||
"Path to directory containing root certificates that you wish Prosody to
|
"Path to directory containing root certificates that you wish Prosody to
|
||||||
trust when verifying the certificates of remote servers.")
|
trust when verifying the certificates of remote servers.")
|
||||||
|
|
||||||
(cafile
|
(cafile
|
||||||
(maybe-file-name 'disabled)
|
(maybe-file-object 'disabled)
|
||||||
"Path to a file containing root certificates that you wish Prosody to trust.
|
"Path to a file containing root certificates that you wish Prosody to trust.
|
||||||
Similar to @code{capath} but with all certificates concatenated together.")
|
Similar to @code{capath} but with all certificates concatenated together.")
|
||||||
|
|
||||||
|
@ -273,9 +278,8 @@ can create such a file with:
|
||||||
(maybe-string 'disabled)
|
(maybe-string 'disabled)
|
||||||
"Password for encrypted private keys."))
|
"Password for encrypted private keys."))
|
||||||
(define (serialize-ssl-configuration field-name val)
|
(define (serialize-ssl-configuration field-name val)
|
||||||
(format #t "ssl = {\n")
|
#~(format #f "ssl = {\n~a};\n"
|
||||||
(serialize-configuration val ssl-configuration-fields)
|
#$(serialize-configuration val ssl-configuration-fields)))
|
||||||
(format #t "};\n"))
|
|
||||||
(define-maybe ssl-configuration)
|
(define-maybe ssl-configuration)
|
||||||
|
|
||||||
(define %default-modules-enabled
|
(define %default-modules-enabled
|
||||||
|
@ -303,20 +307,23 @@ can create such a file with:
|
||||||
(define (virtualhost-configuration-list? val)
|
(define (virtualhost-configuration-list? val)
|
||||||
(and (list? val) (and-map virtualhost-configuration? val)))
|
(and (list? val) (and-map virtualhost-configuration? val)))
|
||||||
(define (serialize-virtualhost-configuration-list l)
|
(define (serialize-virtualhost-configuration-list l)
|
||||||
(for-each
|
#~(string-append
|
||||||
(lambda (val) (serialize-virtualhost-configuration val)) l))
|
#$@(map (lambda (val)
|
||||||
|
(serialize-virtualhost-configuration val)) l)))
|
||||||
|
|
||||||
(define (int-component-configuration-list? val)
|
(define (int-component-configuration-list? val)
|
||||||
(and (list? val) (and-map int-component-configuration? val)))
|
(and (list? val) (and-map int-component-configuration? val)))
|
||||||
(define (serialize-int-component-configuration-list l)
|
(define (serialize-int-component-configuration-list l)
|
||||||
(for-each
|
#~(string-append
|
||||||
(lambda (val) (serialize-int-component-configuration val)) l))
|
#$@(map (lambda (val)
|
||||||
|
(serialize-int-component-configuration val)) l)))
|
||||||
|
|
||||||
(define (ext-component-configuration-list? val)
|
(define (ext-component-configuration-list? val)
|
||||||
(and (list? val) (and-map ext-component-configuration? val)))
|
(and (list? val) (and-map ext-component-configuration? val)))
|
||||||
(define (serialize-ext-component-configuration-list l)
|
(define (serialize-ext-component-configuration-list l)
|
||||||
(for-each
|
#~(string-append
|
||||||
(lambda (val) (serialize-ext-component-configuration val)) l))
|
#$@(map (lambda (val)
|
||||||
|
(serialize-ext-component-configuration val)) l)))
|
||||||
|
|
||||||
(define-all-configurations prosody-configuration
|
(define-all-configurations prosody-configuration
|
||||||
(prosody
|
(prosody
|
||||||
|
@ -331,7 +338,7 @@ can create such a file with:
|
||||||
global)
|
global)
|
||||||
|
|
||||||
(plugin-paths
|
(plugin-paths
|
||||||
(file-name-list '())
|
(file-object-list '())
|
||||||
"Additional plugin directories. They are searched in all the specified
|
"Additional plugin directories. They are searched in all the specified
|
||||||
paths in order. See @url{https://prosody.im/doc/plugins_directory}."
|
paths in order. See @url{https://prosody.im/doc/plugins_directory}."
|
||||||
global)
|
global)
|
||||||
|
@ -372,7 +379,7 @@ should you want to disable them then add them to this list."
|
||||||
common)
|
common)
|
||||||
|
|
||||||
(groups-file
|
(groups-file
|
||||||
(file-name "/var/lib/prosody/sharedgroups.txt")
|
(file-object "/var/lib/prosody/sharedgroups.txt")
|
||||||
"Path to a text file where the shared groups are defined. If this path is
|
"Path to a text file where the shared groups are defined. If this path is
|
||||||
empty then @samp{mod_groups} does nothing. See
|
empty then @samp{mod_groups} does nothing. See
|
||||||
@url{https://prosody.im/doc/modules/mod_groups}."
|
@url{https://prosody.im/doc/modules/mod_groups}."
|
||||||
|
@ -566,8 +573,9 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
||||||
'(domain))))
|
'(domain))))
|
||||||
(let ((domain (virtualhost-configuration-domain config))
|
(let ((domain (virtualhost-configuration-domain config))
|
||||||
(rest (filter rest? virtualhost-configuration-fields)))
|
(rest (filter rest? virtualhost-configuration-fields)))
|
||||||
(format #t "VirtualHost \"~a\"\n" domain)
|
#~(string-append
|
||||||
(serialize-configuration config rest)))
|
#$(format #f "VirtualHost \"~a\"\n" domain)
|
||||||
|
#$(serialize-configuration config rest))))
|
||||||
|
|
||||||
;; Serialize Component line first.
|
;; Serialize Component line first.
|
||||||
(define (serialize-int-component-configuration config)
|
(define (serialize-int-component-configuration config)
|
||||||
|
@ -577,8 +585,9 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
||||||
(let ((hostname (int-component-configuration-hostname config))
|
(let ((hostname (int-component-configuration-hostname config))
|
||||||
(plugin (int-component-configuration-plugin config))
|
(plugin (int-component-configuration-plugin config))
|
||||||
(rest (filter rest? int-component-configuration-fields)))
|
(rest (filter rest? int-component-configuration-fields)))
|
||||||
(format #t "Component \"~a\" \"~a\"\n" hostname plugin)
|
#~(string-append
|
||||||
(serialize-configuration config rest)))
|
#$(format #f "Component \"~a\" \"~a\"\n" hostname plugin)
|
||||||
|
#$(serialize-configuration config rest))))
|
||||||
|
|
||||||
;; Serialize Component line first.
|
;; Serialize Component line first.
|
||||||
(define (serialize-ext-component-configuration config)
|
(define (serialize-ext-component-configuration config)
|
||||||
|
@ -587,22 +596,24 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
||||||
'(hostname))))
|
'(hostname))))
|
||||||
(let ((hostname (ext-component-configuration-hostname config))
|
(let ((hostname (ext-component-configuration-hostname config))
|
||||||
(rest (filter rest? ext-component-configuration-fields)))
|
(rest (filter rest? ext-component-configuration-fields)))
|
||||||
(format #t "Component \"~a\"\n" hostname)
|
#~(string-append
|
||||||
(serialize-configuration config rest)))
|
#$(format #f "Component \"~a\"\n" hostname)
|
||||||
|
#$(serialize-configuration config rest))))
|
||||||
|
|
||||||
;; Serialize virtualhosts and components last.
|
;; Serialize virtualhosts and components last.
|
||||||
(define (serialize-prosody-configuration config)
|
(define (serialize-prosody-configuration config)
|
||||||
(define (rest? field)
|
(define (rest? field)
|
||||||
(not (memq (configuration-field-name field)
|
(not (memq (configuration-field-name field)
|
||||||
'(virtualhosts int-components ext-components))))
|
'(virtualhosts int-components ext-components))))
|
||||||
(let ((rest (filter rest? prosody-configuration-fields)))
|
#~(string-append
|
||||||
|
#$(let ((rest (filter rest? prosody-configuration-fields)))
|
||||||
(serialize-configuration config rest))
|
(serialize-configuration config rest))
|
||||||
(serialize-virtualhost-configuration-list
|
#$(serialize-virtualhost-configuration-list
|
||||||
(prosody-configuration-virtualhosts config))
|
(prosody-configuration-virtualhosts config))
|
||||||
(serialize-int-component-configuration-list
|
#$(serialize-int-component-configuration-list
|
||||||
(prosody-configuration-int-components config))
|
(prosody-configuration-int-components config))
|
||||||
(serialize-ext-component-configuration-list
|
#$(serialize-ext-component-configuration-list
|
||||||
(prosody-configuration-ext-components config)))
|
(prosody-configuration-ext-components config))))
|
||||||
|
|
||||||
(define-configuration opaque-prosody-configuration
|
(define-configuration opaque-prosody-configuration
|
||||||
(prosody
|
(prosody
|
||||||
|
@ -646,13 +657,12 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
||||||
(default-certs-dir "/etc/prosody/certs")
|
(default-certs-dir "/etc/prosody/certs")
|
||||||
(data-path (prosody-configuration-data-path config))
|
(data-path (prosody-configuration-data-path config))
|
||||||
(pidfile-dir (dirname (prosody-configuration-pidfile config)))
|
(pidfile-dir (dirname (prosody-configuration-pidfile config)))
|
||||||
(config-str
|
(config-str (if (opaque-prosody-configuration? config)
|
||||||
(if (opaque-prosody-configuration? config)
|
|
||||||
(opaque-prosody-configuration-prosody.cfg.lua config)
|
(opaque-prosody-configuration-prosody.cfg.lua config)
|
||||||
(with-output-to-string
|
#~(begin
|
||||||
(lambda ()
|
(use-modules (ice-9 format))
|
||||||
(serialize-prosody-configuration config)))))
|
#$(serialize-prosody-configuration config))))
|
||||||
(config-file (plain-file "prosody.cfg.lua" config-str)))
|
(config-file (mixed-text-file "prosody.cfg.lua" config-str)))
|
||||||
#~(begin
|
#~(begin
|
||||||
(use-modules (guix build utils))
|
(use-modules (guix build utils))
|
||||||
(define %user (getpw "prosody"))
|
(define %user (getpw "prosody"))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||||
|
@ -64,6 +64,10 @@
|
||||||
ntp-service
|
ntp-service
|
||||||
ntp-service-type
|
ntp-service-type
|
||||||
|
|
||||||
|
openntpd-configuration
|
||||||
|
openntpd-configuration?
|
||||||
|
openntpd-service-type
|
||||||
|
|
||||||
inetd-configuration
|
inetd-configuration
|
||||||
inetd-entry
|
inetd-entry
|
||||||
inetd-service-type
|
inetd-service-type
|
||||||
|
@ -446,6 +450,102 @@ make an initial adjustment of more than 1,000 seconds."
|
||||||
(allow-large-adjustment?
|
(allow-large-adjustment?
|
||||||
allow-large-adjustment?))))
|
allow-large-adjustment?))))
|
||||||
|
|
||||||
|
|
||||||
|
;;;
|
||||||
|
;;; OpenNTPD.
|
||||||
|
;;;
|
||||||
|
|
||||||
|
(define-record-type* <openntpd-configuration>
|
||||||
|
openntpd-configuration make-openntpd-configuration
|
||||||
|
openntpd-configuration?
|
||||||
|
(openntpd openntpd-configuration-openntpd
|
||||||
|
(default openntpd))
|
||||||
|
(listen-on openntpd-listen-on
|
||||||
|
(default '("127.0.0.1"
|
||||||
|
"::1")))
|
||||||
|
(query-from openntpd-query-from
|
||||||
|
(default '()))
|
||||||
|
(sensor openntpd-sensor
|
||||||
|
(default '()))
|
||||||
|
(server openntpd-server
|
||||||
|
(default %ntp-servers))
|
||||||
|
(servers openntpd-servers
|
||||||
|
(default '()))
|
||||||
|
(constraint-from openntpd-constraint-from
|
||||||
|
(default '()))
|
||||||
|
(constraints-from openntpd-constraints-from
|
||||||
|
(default '()))
|
||||||
|
(allow-large-adjustment? openntpd-allow-large-adjustment?
|
||||||
|
(default #f))) ; upstream default
|
||||||
|
|
||||||
|
(define (openntpd-shepherd-service config)
|
||||||
|
(match-record config <openntpd-configuration>
|
||||||
|
(openntpd listen-on query-from sensor server servers constraint-from
|
||||||
|
constraints-from allow-large-adjustment?)
|
||||||
|
(let ()
|
||||||
|
(define config
|
||||||
|
(string-join
|
||||||
|
(filter-map
|
||||||
|
(lambda (field value)
|
||||||
|
(string-join
|
||||||
|
(map (cut string-append field <> "\n")
|
||||||
|
value)))
|
||||||
|
'("listen on " "query from " "sensor " "server " "servers "
|
||||||
|
"constraint from ")
|
||||||
|
(list listen-on query-from sensor server servers constraint-from))
|
||||||
|
;; The 'constraints from' field needs to be enclosed in double quotes.
|
||||||
|
(string-join
|
||||||
|
(map (cut string-append "constraints from \"" <> "\"\n")
|
||||||
|
constraints-from))))
|
||||||
|
|
||||||
|
(define ntpd.conf
|
||||||
|
(plain-file "ntpd.conf" config))
|
||||||
|
|
||||||
|
(list (shepherd-service
|
||||||
|
(provision '(ntpd))
|
||||||
|
(documentation "Run the Network Time Protocol (NTP) daemon.")
|
||||||
|
(requirement '(user-processes networking))
|
||||||
|
(start #~(make-forkexec-constructor
|
||||||
|
(list (string-append #$openntpd "/sbin/ntpd")
|
||||||
|
"-f" #$ntpd.conf
|
||||||
|
"-d" ;; don't daemonize
|
||||||
|
#$@(if allow-large-adjustment?
|
||||||
|
'("-s")
|
||||||
|
'()))
|
||||||
|
;; When ntpd is daemonized it repeatedly tries to respawn
|
||||||
|
;; while running, leading shepherd to disable it. To
|
||||||
|
;; prevent spamming stderr, redirect output to logfile.
|
||||||
|
#:log-file "/var/log/ntpd"))
|
||||||
|
(stop #~(make-kill-destructor)))))))
|
||||||
|
|
||||||
|
(define (openntpd-service-activation config)
|
||||||
|
"Return the activation gexp for CONFIG."
|
||||||
|
(with-imported-modules '((guix build utils))
|
||||||
|
#~(begin
|
||||||
|
(use-modules (guix build utils))
|
||||||
|
|
||||||
|
(mkdir-p "/var/db")
|
||||||
|
(mkdir-p "/var/run")
|
||||||
|
(unless (file-exists? "/var/db/ntpd.drift")
|
||||||
|
(with-output-to-file "/var/db/ntpd.drift"
|
||||||
|
(lambda _
|
||||||
|
(format #t "0.0")))))))
|
||||||
|
|
||||||
|
(define openntpd-service-type
|
||||||
|
(service-type (name 'openntpd)
|
||||||
|
(extensions
|
||||||
|
(list (service-extension shepherd-root-service-type
|
||||||
|
openntpd-shepherd-service)
|
||||||
|
(service-extension account-service-type
|
||||||
|
(const %ntp-accounts))
|
||||||
|
(service-extension activation-service-type
|
||||||
|
openntpd-service-activation)))
|
||||||
|
(default-value (openntpd-configuration))
|
||||||
|
(description
|
||||||
|
"Run the @command{ntpd}, the Network Time Protocol (NTP)
|
||||||
|
daemon, as implemented by @uref{http://www.openntpd.org, OpenNTPD}. The
|
||||||
|
daemon will keep the system clock synchronized with that of the given servers.")))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Inetd.
|
;;; Inetd.
|
||||||
|
|
|
@ -74,6 +74,7 @@
|
||||||
operating-system-kernel
|
operating-system-kernel
|
||||||
operating-system-kernel-file
|
operating-system-kernel-file
|
||||||
operating-system-kernel-arguments
|
operating-system-kernel-arguments
|
||||||
|
operating-system-initrd-modules
|
||||||
operating-system-initrd
|
operating-system-initrd
|
||||||
operating-system-users
|
operating-system-users
|
||||||
operating-system-groups
|
operating-system-groups
|
||||||
|
@ -154,6 +155,10 @@ booted from ROOT-DEVICE"
|
||||||
|
|
||||||
(initrd operating-system-initrd ; (list fs) -> M derivation
|
(initrd operating-system-initrd ; (list fs) -> M derivation
|
||||||
(default base-initrd))
|
(default base-initrd))
|
||||||
|
(initrd-modules operating-system-initrd-modules ; list of strings
|
||||||
|
(thunked) ; it's system-dependent
|
||||||
|
(default %base-initrd-modules))
|
||||||
|
|
||||||
(firmware operating-system-firmware ; list of packages
|
(firmware operating-system-firmware ; list of packages
|
||||||
(default %base-firmware))
|
(default %base-firmware))
|
||||||
|
|
||||||
|
@ -846,6 +851,8 @@ hardware-related operations as necessary when booting a Linux container."
|
||||||
|
|
||||||
(mlet %store-monad ((initrd (make-initrd boot-file-systems
|
(mlet %store-monad ((initrd (make-initrd boot-file-systems
|
||||||
#:linux (operating-system-kernel os)
|
#:linux (operating-system-kernel os)
|
||||||
|
#:linux-modules
|
||||||
|
(operating-system-initrd-modules os)
|
||||||
#:mapped-devices mapped-devices)))
|
#:mapped-devices mapped-devices)))
|
||||||
(return (file-append initrd "/initrd"))))
|
(return (file-append initrd "/initrd"))))
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,10 @@
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader u-boot-beaglebone-black-bootloader)
|
(bootloader u-boot-beaglebone-black-bootloader)
|
||||||
(target "/dev/mmcblk1")))
|
(target "/dev/mmcblk1")))
|
||||||
(initrd (lambda (fs . rest)
|
|
||||||
(apply base-initrd fs
|
;; This module is required to mount the SD card.
|
||||||
;; This module is required to mount the sd card.
|
(initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
|
||||||
#:extra-modules (list "omap_hsmmc")
|
|
||||||
rest)))
|
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
(title 'label)
|
(title 'label)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||||
|
@ -396,10 +396,7 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
|
||||||
(kernel-arguments
|
(kernel-arguments
|
||||||
(cons (string-append "console=" tty)
|
(cons (string-append "console=" tty)
|
||||||
(operating-system-user-kernel-arguments installation-os)))
|
(operating-system-user-kernel-arguments installation-os)))
|
||||||
(initrd (lambda (fs . rest)
|
(initrd-modules (append extra-modules %base-initrd-modules))))
|
||||||
(apply base-initrd fs
|
|
||||||
#:extra-modules extra-modules
|
|
||||||
rest)))))
|
|
||||||
|
|
||||||
(define beaglebone-black-installation-os
|
(define beaglebone-black-installation-os
|
||||||
(embedded-installation-os u-boot-beaglebone-black-bootloader
|
(embedded-installation-os u-boot-beaglebone-black-bootloader
|
||||||
|
|
|
@ -39,9 +39,11 @@
|
||||||
#:use-module (gnu system mapped-devices)
|
#:use-module (gnu system mapped-devices)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 regex)
|
#:use-module (ice-9 regex)
|
||||||
|
#:use-module (ice-9 vlist)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:export (expression->initrd
|
#:export (expression->initrd
|
||||||
|
%base-initrd-modules
|
||||||
raw-initrd
|
raw-initrd
|
||||||
file-system-packages
|
file-system-packages
|
||||||
base-initrd))
|
base-initrd))
|
||||||
|
@ -242,14 +244,71 @@ FILE-SYSTEMS."
|
||||||
(list btrfs-progs/static)
|
(list btrfs-progs/static)
|
||||||
'())))
|
'())))
|
||||||
|
|
||||||
|
(define-syntax vhash ;TODO: factorize
|
||||||
|
(syntax-rules (=>)
|
||||||
|
"Build a vhash with the given key/value mappings."
|
||||||
|
((_)
|
||||||
|
vlist-null)
|
||||||
|
((_ (key others ... => value) rest ...)
|
||||||
|
(vhash-cons key value
|
||||||
|
(vhash (others ... => value) rest ...)))
|
||||||
|
((_ (=> value) rest ...)
|
||||||
|
(vhash rest ...))))
|
||||||
|
|
||||||
|
(define-syntax lookup-procedure
|
||||||
|
(syntax-rules (else)
|
||||||
|
"Return a procedure that lookups keys in the given dictionary."
|
||||||
|
((_ mapping ... (else default))
|
||||||
|
(let ((table (vhash mapping ...)))
|
||||||
|
(lambda (key)
|
||||||
|
(match (vhash-assoc key table)
|
||||||
|
(#f default)
|
||||||
|
((key . value) value)))))))
|
||||||
|
|
||||||
|
(define file-system-type-modules
|
||||||
|
;; Given a file system type, return the list of modules it needs.
|
||||||
|
(lookup-procedure ("cifs" => '("md4" "ecb" "cifs"))
|
||||||
|
("9p" => '("9p" "9pnet_virtio"))
|
||||||
|
("btrfs" => '("btrfs"))
|
||||||
|
("iso9660" => '("isofs"))
|
||||||
|
(else '())))
|
||||||
|
|
||||||
|
(define (file-system-modules file-systems)
|
||||||
|
"Return the list of Linux modules needed to mount FILE-SYSTEMS."
|
||||||
|
(append-map (compose file-system-type-modules file-system-type)
|
||||||
|
file-systems))
|
||||||
|
|
||||||
|
(define* (default-initrd-modules #:optional (system (%current-system)))
|
||||||
|
"Return the list of modules included in the initrd by default."
|
||||||
|
(define virtio-modules
|
||||||
|
;; Modules for Linux para-virtualized devices, for use in QEMU guests.
|
||||||
|
'("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net"
|
||||||
|
"virtio_console"))
|
||||||
|
|
||||||
|
`("ahci" ;for SATA controllers
|
||||||
|
"usb-storage" "uas" ;for the installation image etc.
|
||||||
|
"usbhid" "hid-generic" "hid-apple" ;keyboards during early boot
|
||||||
|
"dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
|
||||||
|
"nls_iso8859-1" ;for `mkfs.fat`, et.al
|
||||||
|
,@(if (string-match "^(x86_64|i[3-6]86)-" system)
|
||||||
|
'("pata_acpi" "pata_atiixp" ;for ATA controllers
|
||||||
|
"isci") ;for SAS controllers like Intel C602
|
||||||
|
'())
|
||||||
|
|
||||||
|
,@virtio-modules))
|
||||||
|
|
||||||
|
(define-syntax %base-initrd-modules
|
||||||
|
;; This more closely matches our naming convention.
|
||||||
|
(identifier-syntax (default-initrd-modules)))
|
||||||
|
|
||||||
(define* (base-initrd file-systems
|
(define* (base-initrd file-systems
|
||||||
#:key
|
#:key
|
||||||
(linux linux-libre)
|
(linux linux-libre)
|
||||||
|
(linux-modules '())
|
||||||
(mapped-devices '())
|
(mapped-devices '())
|
||||||
qemu-networking?
|
qemu-networking?
|
||||||
volatile-root?
|
volatile-root?
|
||||||
(virtio? #t)
|
(extra-modules '()) ;deprecated
|
||||||
(extra-modules '())
|
|
||||||
(on-error 'debug))
|
(on-error 'debug))
|
||||||
"Return a monadic derivation that builds a generic initrd, with kernel
|
"Return a monadic derivation that builds a generic initrd, with kernel
|
||||||
modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be
|
modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be
|
||||||
|
@ -259,57 +318,14 @@ mappings to realize before FILE-SYSTEMS are mounted.
|
||||||
|
|
||||||
QEMU-NETWORKING? and VOLATILE-ROOT? behaves as in raw-initrd.
|
QEMU-NETWORKING? and VOLATILE-ROOT? behaves as in raw-initrd.
|
||||||
|
|
||||||
When VIRTIO? is true, load additional modules so the initrd can
|
|
||||||
be used as a QEMU guest with the root file system on a para-virtualized block
|
|
||||||
device.
|
|
||||||
|
|
||||||
The initrd is automatically populated with all the kernel modules necessary
|
The initrd is automatically populated with all the kernel modules necessary
|
||||||
for FILE-SYSTEMS and for the given options. However, additional kernel
|
for FILE-SYSTEMS and for the given options. Additional kernel
|
||||||
modules can be listed in EXTRA-MODULES. They will be added to the initrd, and
|
modules can be listed in LINUX-MODULES. They will be added to the initrd, and
|
||||||
loaded at boot time in the order in which they appear."
|
loaded at boot time in the order in which they appear."
|
||||||
(define virtio-modules
|
(define linux-modules*
|
||||||
;; Modules for Linux para-virtualized devices, for use in QEMU guests.
|
|
||||||
'("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net"
|
|
||||||
"virtio_console"))
|
|
||||||
|
|
||||||
(define cifs-modules
|
|
||||||
;; Modules needed to mount CIFS file systems.
|
|
||||||
'("md4" "ecb" "cifs"))
|
|
||||||
|
|
||||||
(define virtio-9p-modules
|
|
||||||
;; Modules for the 9p paravirtualized file system.
|
|
||||||
'("9p" "9pnet_virtio"))
|
|
||||||
|
|
||||||
(define (file-system-type-predicate type)
|
|
||||||
(lambda (fs)
|
|
||||||
(string=? (file-system-type fs) type)))
|
|
||||||
|
|
||||||
(define linux-modules
|
|
||||||
;; Modules added to the initrd and loaded from the initrd.
|
;; Modules added to the initrd and loaded from the initrd.
|
||||||
`("ahci" ;for SATA controllers
|
`(,@linux-modules
|
||||||
"usb-storage" "uas" ;for the installation image etc.
|
,@(file-system-modules file-systems)
|
||||||
"usbhid" "hid-generic" "hid-apple" ;keyboards during early boot
|
|
||||||
"dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
|
|
||||||
"nls_iso8859-1" ;for `mkfs.fat`, et.al
|
|
||||||
,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system))
|
|
||||||
'("pata_acpi" "pata_atiixp" ;for ATA controllers
|
|
||||||
"isci") ;for SAS controllers like Intel C602
|
|
||||||
'())
|
|
||||||
,@(if (or virtio? qemu-networking?)
|
|
||||||
virtio-modules
|
|
||||||
'())
|
|
||||||
,@(if (find (file-system-type-predicate "cifs") file-systems)
|
|
||||||
cifs-modules
|
|
||||||
'())
|
|
||||||
,@(if (find (file-system-type-predicate "9p") file-systems)
|
|
||||||
virtio-9p-modules
|
|
||||||
'())
|
|
||||||
,@(if (find (file-system-type-predicate "btrfs") file-systems)
|
|
||||||
'("btrfs")
|
|
||||||
'())
|
|
||||||
,@(if (find (file-system-type-predicate "iso9660") file-systems)
|
|
||||||
'("isofs")
|
|
||||||
'())
|
|
||||||
,@(if volatile-root?
|
,@(if volatile-root?
|
||||||
'("overlay")
|
'("overlay")
|
||||||
'())
|
'())
|
||||||
|
@ -320,7 +336,7 @@ loaded at boot time in the order in which they appear."
|
||||||
|
|
||||||
(raw-initrd file-systems
|
(raw-initrd file-systems
|
||||||
#:linux linux
|
#:linux linux
|
||||||
#:linux-modules linux-modules
|
#:linux-modules linux-modules*
|
||||||
#:mapped-devices mapped-devices
|
#:mapped-devices mapped-devices
|
||||||
#:helper-packages helper-packages
|
#:helper-packages helper-packages
|
||||||
#:qemu-networking? qemu-networking?
|
#:qemu-networking? qemu-networking?
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
|
@ -30,9 +30,12 @@
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
#:use-module (gnu system uuid)
|
#:use-module (gnu system uuid)
|
||||||
#:autoload (gnu build file-systems) (find-partition-by-luks-uuid)
|
#:autoload (gnu build file-systems) (find-partition-by-luks-uuid)
|
||||||
|
#:autoload (gnu build linux-modules)
|
||||||
|
(device-module-aliases matching-modules)
|
||||||
#:autoload (gnu packages cryptsetup) (cryptsetup-static)
|
#:autoload (gnu packages cryptsetup) (cryptsetup-static)
|
||||||
#:autoload (gnu packages linux) (mdadm-static)
|
#:autoload (gnu packages linux) (mdadm-static)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (srfi srfi-34)
|
#:use-module (srfi srfi-34)
|
||||||
#:use-module (srfi srfi-35)
|
#:use-module (srfi srfi-35)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
|
@ -151,19 +154,43 @@
|
||||||
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
|
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
|
||||||
"close" #$target)))
|
"close" #$target)))
|
||||||
|
|
||||||
(define (check-luks-device md)
|
(define (check-device-initrd-modules device linux-modules location)
|
||||||
|
"Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
|
||||||
|
DEVICE must be a \"/dev\" file name."
|
||||||
|
(let ((modules (delete-duplicates
|
||||||
|
(append-map matching-modules
|
||||||
|
(device-module-aliases device)))))
|
||||||
|
(unless (every (cute member <> linux-modules) modules)
|
||||||
|
(raise (condition
|
||||||
|
(&message
|
||||||
|
(message (format #f (G_ "you may need these modules \
|
||||||
|
in the initrd for ~a:~{ ~a~}")
|
||||||
|
device modules)))
|
||||||
|
(&error-location
|
||||||
|
(location (source-properties->location location))))))))
|
||||||
|
|
||||||
|
(define* (check-luks-device md #:key
|
||||||
|
needed-for-boot?
|
||||||
|
(initrd-modules '())
|
||||||
|
#:allow-other-keys
|
||||||
|
#:rest rest)
|
||||||
"Ensure the source of MD is valid."
|
"Ensure the source of MD is valid."
|
||||||
(let ((source (mapped-device-source md)))
|
(let ((source (mapped-device-source md))
|
||||||
(or (not (uuid? source))
|
(location (mapped-device-location md)))
|
||||||
(not (zero? (getuid)))
|
(or (not (zero? (getuid)))
|
||||||
(find-partition-by-luks-uuid (uuid-bytevector source))
|
(if (uuid? source)
|
||||||
|
(match (find-partition-by-luks-uuid (uuid-bytevector source))
|
||||||
|
(#f
|
||||||
(raise (condition
|
(raise (condition
|
||||||
(&message
|
(&message
|
||||||
(message (format #f (G_ "no LUKS partition with UUID '~a'")
|
(message (format #f (G_ "no LUKS partition with UUID '~a'")
|
||||||
(uuid->string source))))
|
(uuid->string source))))
|
||||||
(&error-location
|
(&error-location
|
||||||
(location (source-properties->location
|
(location (source-properties->location
|
||||||
(mapped-device-location md)))))))))
|
(mapped-device-location md)))))))
|
||||||
|
((? string? device)
|
||||||
|
(check-device-initrd-modules device initrd-modules location)))
|
||||||
|
(check-device-initrd-modules source initrd-modules location)))))
|
||||||
|
|
||||||
(define luks-device-mapping
|
(define luks-device-mapping
|
||||||
;; The type of LUKS mapped devices.
|
;; The type of LUKS mapped devices.
|
||||||
|
|
|
@ -143,7 +143,7 @@ made available under the /xchg CIFS share."
|
||||||
(return initrd)
|
(return initrd)
|
||||||
(base-initrd %linux-vm-file-systems
|
(base-initrd %linux-vm-file-systems
|
||||||
#:linux linux
|
#:linux linux
|
||||||
#:virtio? #t
|
#:linux-modules %base-initrd-modules
|
||||||
#:qemu-networking? #t))))
|
#:qemu-networking? #t))))
|
||||||
|
|
||||||
(define builder
|
(define builder
|
||||||
|
@ -512,12 +512,7 @@ of the GNU system as described by OS."
|
||||||
|
|
||||||
|
|
||||||
(let ((os (operating-system (inherit os)
|
(let ((os (operating-system (inherit os)
|
||||||
;; Use an initrd with the whole QEMU shebang.
|
;; Assume we have an initrd with the whole QEMU shebang.
|
||||||
(initrd (lambda (file-systems . rest)
|
|
||||||
(apply (operating-system-initrd os)
|
|
||||||
file-systems
|
|
||||||
#:virtio? #t
|
|
||||||
rest)))
|
|
||||||
|
|
||||||
;; Force our own root file system. Refer to it by UUID so that
|
;; Force our own root file system. Refer to it by UUID so that
|
||||||
;; it works regardless of how the image is used ("qemu -hda",
|
;; it works regardless of how the image is used ("qemu -hda",
|
||||||
|
@ -614,7 +609,6 @@ environment with the store shared with the host. MAPPINGS is a list of
|
||||||
(apply (operating-system-initrd os)
|
(apply (operating-system-initrd os)
|
||||||
file-systems
|
file-systems
|
||||||
#:volatile-root? #t
|
#:volatile-root? #t
|
||||||
#:virtio? #t
|
|
||||||
rest)))
|
rest)))
|
||||||
|
|
||||||
;; Disable swap.
|
;; Disable swap.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -565,11 +565,10 @@ where /gnu lives on a separate partition.")
|
||||||
(bootloader grub-bootloader)
|
(bootloader grub-bootloader)
|
||||||
(target "/dev/vdb")))
|
(target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(initrd (lambda (file-systems . rest)
|
|
||||||
;; Add a kernel module for RAID-0 (aka. "stripe").
|
;; Add a kernel module for RAID-0 (aka. "stripe").
|
||||||
(apply base-initrd file-systems
|
(initrd-modules (cons "raid0" %base-initrd-modules))
|
||||||
#:extra-modules '("raid0")
|
|
||||||
rest)))
|
|
||||||
(mapped-devices (list (mapped-device
|
(mapped-devices (list (mapped-device
|
||||||
(source (list "/dev/vda2" "/dev/vda3"))
|
(source (list "/dev/vda2" "/dev/vda3"))
|
||||||
(target "/dev/md0")
|
(target "/dev/md0")
|
||||||
|
|
|
@ -37,13 +37,16 @@ recursively. Return #t on success, #f otherwise."
|
||||||
;; in advance anyway.
|
;; in advance anyway.
|
||||||
(setenv "GIT_SSL_NO_VERIFY" "true")
|
(setenv "GIT_SSL_NO_VERIFY" "true")
|
||||||
|
|
||||||
;; We cannot use "git clone --recursive" since the following "git checkout"
|
(mkdir-p directory)
|
||||||
;; effectively removes sub-module checkouts as of Git 2.6.3.
|
|
||||||
(and (zero? (system* git-command "clone" url directory))
|
|
||||||
(with-directory-excursion directory
|
(with-directory-excursion directory
|
||||||
(system* git-command "tag" "-l")
|
(invoke git-command "init")
|
||||||
(and (zero? (system* git-command "checkout" commit))
|
(invoke git-command "remote" "add" "origin" url)
|
||||||
|
(if (zero? (system* git-command "fetch" "--depth" "1" "origin" commit))
|
||||||
|
(invoke git-command "checkout" "FETCH_HEAD")
|
||||||
(begin
|
(begin
|
||||||
|
(invoke git-command "fetch" "origin")
|
||||||
|
(invoke git-command "checkout" commit)))
|
||||||
(when recursive?
|
(when recursive?
|
||||||
;; Now is the time to fetch sub-modules.
|
;; Now is the time to fetch sub-modules.
|
||||||
(unless (zero? (system* git-command "submodule" "update"
|
(unless (zero? (system* git-command "submodule" "update"
|
||||||
|
@ -59,6 +62,6 @@ recursively. Return #t on success, #f otherwise."
|
||||||
;; status of the Git repo. Since we want a fixed output, this
|
;; status of the Git repo. Since we want a fixed output, this
|
||||||
;; directory needs to be taken out.
|
;; directory needs to be taken out.
|
||||||
(delete-file-recursively ".git")
|
(delete-file-recursively ".git")
|
||||||
#t)))))
|
#t))
|
||||||
|
|
||||||
;;; git.scm ends here
|
;;; git.scm ends here
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -86,6 +87,7 @@
|
||||||
|
|
||||||
define-gexp-compiler
|
define-gexp-compiler
|
||||||
gexp-compiler?
|
gexp-compiler?
|
||||||
|
file-like?
|
||||||
lower-object
|
lower-object
|
||||||
|
|
||||||
lower-inputs
|
lower-inputs
|
||||||
|
@ -182,6 +184,11 @@ procedure to lower it; otherwise return #f."
|
||||||
(and=> (hashq-ref %gexp-compilers (struct-vtable object))
|
(and=> (hashq-ref %gexp-compilers (struct-vtable object))
|
||||||
gexp-compiler-lower))
|
gexp-compiler-lower))
|
||||||
|
|
||||||
|
(define (file-like? object)
|
||||||
|
"Return #t if OBJECT leads to a file in the store once unquoted in a
|
||||||
|
G-expression; otherwise return #f."
|
||||||
|
(and (struct? object) (->bool (lookup-compiler object))))
|
||||||
|
|
||||||
(define (lookup-expander object)
|
(define (lookup-expander object)
|
||||||
"Search for an expander for OBJECT. Upon success, return the three argument
|
"Search for an expander for OBJECT. Upon success, return the three argument
|
||||||
procedure to expand it; otherwise return #f."
|
procedure to expand it; otherwise return #f."
|
||||||
|
|
97
guix/glob.scm
Normal file
97
guix/glob.scm
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;;
|
||||||
|
;;; 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 (guix glob)
|
||||||
|
#:use-module (ice-9 match)
|
||||||
|
#:export (compile-glob-pattern
|
||||||
|
glob-match?))
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
;;;
|
||||||
|
;;; This is a minimal implementation of "glob patterns" (info "(libc)
|
||||||
|
;;; Globbbing"). It is currently limited to simple patterns and does not
|
||||||
|
;;; support braces and square brackets, for instance.
|
||||||
|
;;;
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(define (wildcard-indices str)
|
||||||
|
"Return the list of indices in STR where wildcards can be found."
|
||||||
|
(let loop ((index 0)
|
||||||
|
(result '()))
|
||||||
|
(if (= index (string-length str))
|
||||||
|
(reverse result)
|
||||||
|
(loop (+ 1 index)
|
||||||
|
(case (string-ref str index)
|
||||||
|
((#\? #\*) (cons index result))
|
||||||
|
(else result))))))
|
||||||
|
|
||||||
|
(define (compile-glob-pattern str)
|
||||||
|
"Return an sexp that represents the compiled form of STR, a glob pattern
|
||||||
|
such as \"foo*\" or \"foo??bar\"."
|
||||||
|
(define flatten
|
||||||
|
(match-lambda
|
||||||
|
(((? string? str)) str)
|
||||||
|
(x x)))
|
||||||
|
|
||||||
|
(let loop ((index 0)
|
||||||
|
(indices (wildcard-indices str))
|
||||||
|
(result '()))
|
||||||
|
(match indices
|
||||||
|
(()
|
||||||
|
(flatten (cond ((zero? index)
|
||||||
|
(list str))
|
||||||
|
((= index (string-length str))
|
||||||
|
(reverse result))
|
||||||
|
(else
|
||||||
|
(reverse (cons (string-drop str index)
|
||||||
|
result))))))
|
||||||
|
((wildcard-index . rest)
|
||||||
|
(let ((wildcard (match (string-ref str wildcard-index)
|
||||||
|
(#\? '?)
|
||||||
|
(#\* '*))))
|
||||||
|
(match (substring str index wildcard-index)
|
||||||
|
("" (loop (+ 1 wildcard-index)
|
||||||
|
rest
|
||||||
|
(cons wildcard result)))
|
||||||
|
(str (loop (+ 1 wildcard-index)
|
||||||
|
rest
|
||||||
|
(cons* wildcard str result)))))))))
|
||||||
|
|
||||||
|
(define (glob-match? pattern str)
|
||||||
|
"Return true if STR matches PATTERN, a compiled glob pattern as returned by
|
||||||
|
'compile-glob-pattern'."
|
||||||
|
(let loop ((pattern pattern)
|
||||||
|
(str str))
|
||||||
|
(match pattern
|
||||||
|
((? string? literal) (string=? literal str))
|
||||||
|
(((? string? one)) (string=? one str))
|
||||||
|
(('*) #t)
|
||||||
|
(('?) (= 1 (string-length str)))
|
||||||
|
(() #t)
|
||||||
|
(('* suffix . rest)
|
||||||
|
(match (string-contains str suffix)
|
||||||
|
(#f #f)
|
||||||
|
(index (loop rest
|
||||||
|
(string-drop str
|
||||||
|
(+ index (string-length suffix)))))))
|
||||||
|
(('? . rest)
|
||||||
|
(and (>= (string-length str) 1)
|
||||||
|
(loop rest (string-drop str 1))))
|
||||||
|
((prefix . rest)
|
||||||
|
(and (string-prefix? prefix str)
|
||||||
|
(loop rest (string-drop str (string-length prefix))))))))
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
|
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
|
||||||
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -159,6 +160,13 @@ COMMAND or an interactive shell in that environment.\n"))
|
||||||
-C, --container run command within an isolated container"))
|
-C, --container run command within an isolated container"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
-N, --network allow containers to access the network"))
|
-N, --network allow containers to access the network"))
|
||||||
|
(display (G_ "
|
||||||
|
-P, --link-profile link environment profile to ~/.guix-profile within
|
||||||
|
an isolated container"))
|
||||||
|
(display (G_ "
|
||||||
|
-u, --user=USER instead of copying the name and home of the current
|
||||||
|
user into an isolated container, use the name USER
|
||||||
|
with home directory /home/USER"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
--share=SPEC for containers, share writable host file system
|
--share=SPEC for containers, share writable host file system
|
||||||
according to SPEC"))
|
according to SPEC"))
|
||||||
|
@ -243,6 +251,13 @@ COMMAND or an interactive shell in that environment.\n"))
|
||||||
(option '(#\N "network") #f #f
|
(option '(#\N "network") #f #f
|
||||||
(lambda (opt name arg result)
|
(lambda (opt name arg result)
|
||||||
(alist-cons 'network? #t result)))
|
(alist-cons 'network? #t result)))
|
||||||
|
(option '(#\P "link-profile") #f #f
|
||||||
|
(lambda (opt name arg result)
|
||||||
|
(alist-cons 'link-profile? #t result)))
|
||||||
|
(option '(#\u "user") #t #f
|
||||||
|
(lambda (opt name arg result)
|
||||||
|
(alist-cons 'user arg
|
||||||
|
(alist-delete 'user result eq?))))
|
||||||
(option '("share") #t #f
|
(option '("share") #t #f
|
||||||
(lambda (opt name arg result)
|
(lambda (opt name arg result)
|
||||||
(alist-cons 'file-system-mapping
|
(alist-cons 'file-system-mapping
|
||||||
|
@ -403,23 +418,32 @@ environment variables are cleared before setting the new ones."
|
||||||
(pid (match (waitpid pid)
|
(pid (match (waitpid pid)
|
||||||
((_ . status) status)))))
|
((_ . status) status)))))
|
||||||
|
|
||||||
(define* (launch-environment/container #:key command bash user-mappings
|
(define* (launch-environment/container #:key command bash user user-mappings
|
||||||
profile paths network?)
|
profile paths link-profile? network?)
|
||||||
"Run COMMAND within a container that features the software in PROFILE.
|
"Run COMMAND within a container that features the software in PROFILE.
|
||||||
Environment variables are set according to PATHS, a list of native search
|
Environment variables are set according to PATHS, a list of native search
|
||||||
paths. The global shell is BASH, a file name for a GNU Bash binary in the
|
paths. The global shell is BASH, a file name for a GNU Bash binary in the
|
||||||
store. When NETWORK?, access to the host system network is permitted.
|
store. When NETWORK?, access to the host system network is permitted.
|
||||||
USER-MAPPINGS, a list of file system mappings, contains the user-specified
|
USER-MAPPINGS, a list of file system mappings, contains the user-specified
|
||||||
host file systems to mount inside the container."
|
host file systems to mount inside the container. If USER is not #f, each
|
||||||
|
target of USER-MAPPINGS will be re-written relative to '/home/USER', and USER
|
||||||
|
will be used for the passwd entry. LINK-PROFILE? creates a symbolic link from
|
||||||
|
~/.guix-profile to the environment profile."
|
||||||
(mlet %store-monad ((reqs (inputs->requisites
|
(mlet %store-monad ((reqs (inputs->requisites
|
||||||
(list (direct-store-path bash) profile))))
|
(list (direct-store-path bash) profile))))
|
||||||
(return
|
(return
|
||||||
(let* ((cwd (getcwd))
|
(let* ((cwd (getcwd))
|
||||||
(passwd (getpwuid (getuid)))
|
(home (getenv "HOME"))
|
||||||
|
(passwd (mock-passwd (getpwuid (getuid))
|
||||||
|
user
|
||||||
|
bash))
|
||||||
|
(home-dir (passwd:dir passwd))
|
||||||
;; Bind-mount all requisite store items, user-specified mappings,
|
;; Bind-mount all requisite store items, user-specified mappings,
|
||||||
;; /bin/sh, the current working directory, and possibly networking
|
;; /bin/sh, the current working directory, and possibly networking
|
||||||
;; configuration files within the container.
|
;; configuration files within the container.
|
||||||
(mappings
|
(mappings
|
||||||
|
(override-user-mappings
|
||||||
|
user home
|
||||||
(append user-mappings
|
(append user-mappings
|
||||||
;; Current working directory.
|
;; Current working directory.
|
||||||
(list (file-system-mapping
|
(list (file-system-mapping
|
||||||
|
@ -437,7 +461,7 @@ host file systems to mount inside the container."
|
||||||
(source dir)
|
(source dir)
|
||||||
(target dir)
|
(target dir)
|
||||||
(writable? #f)))
|
(writable? #f)))
|
||||||
reqs)))
|
reqs))))
|
||||||
(file-systems (append %container-file-systems
|
(file-systems (append %container-file-systems
|
||||||
(map file-system-mapping->bind-mount
|
(map file-system-mapping->bind-mount
|
||||||
mappings))))
|
mappings))))
|
||||||
|
@ -458,10 +482,14 @@ host file systems to mount inside the container."
|
||||||
;; The same variables as in Nix's 'build.cc'.
|
;; The same variables as in Nix's 'build.cc'.
|
||||||
'("TMPDIR" "TEMPDIR" "TMP" "TEMP"))
|
'("TMPDIR" "TEMPDIR" "TMP" "TEMP"))
|
||||||
|
|
||||||
;; Create a dummy home directory under the same name as on the
|
;; Create a dummy home directory.
|
||||||
;; host.
|
(mkdir-p home-dir)
|
||||||
(mkdir-p (passwd:dir passwd))
|
(setenv "HOME" home-dir)
|
||||||
(setenv "HOME" (passwd:dir passwd))
|
|
||||||
|
;; If requested, link $GUIX_ENVIRONMENT to $HOME/.guix-profile;
|
||||||
|
;; this allows programs expecting that path to continue working as
|
||||||
|
;; expected within a container.
|
||||||
|
(when link-profile? (link-environment profile home-dir))
|
||||||
|
|
||||||
;; Create a dummy /etc/passwd to satisfy applications that demand
|
;; Create a dummy /etc/passwd to satisfy applications that demand
|
||||||
;; to read it, such as 'git clone' over SSH, a valid use-case when
|
;; to read it, such as 'git clone' over SSH, a valid use-case when
|
||||||
|
@ -481,7 +509,7 @@ host file systems to mount inside the container."
|
||||||
|
|
||||||
;; For convenience, start in the user's current working
|
;; For convenience, start in the user's current working
|
||||||
;; directory rather than the root directory.
|
;; directory rather than the root directory.
|
||||||
(chdir cwd)
|
(chdir (override-user-dir user home cwd))
|
||||||
|
|
||||||
(primitive-exit/status
|
(primitive-exit/status
|
||||||
;; A container's environment is already purified, so no need to
|
;; A container's environment is already purified, so no need to
|
||||||
|
@ -491,6 +519,72 @@ host file systems to mount inside the container."
|
||||||
(delq 'net %namespaces) ; share host network
|
(delq 'net %namespaces) ; share host network
|
||||||
%namespaces)))))))
|
%namespaces)))))))
|
||||||
|
|
||||||
|
(define (mock-passwd passwd user-override shell)
|
||||||
|
"Generate mock information for '/etc/passwd'. If USER-OVERRIDE is not '#f',
|
||||||
|
it is expected to be a string representing the mock username; it will produce
|
||||||
|
a user of that name, with a home directory of '/home/USER-OVERRIDE', and no
|
||||||
|
GECOS field. If USER-OVERRIDE is '#f', data will be inherited from PASSWD.
|
||||||
|
In either case, the shadow password and UID/GID are cleared, since the user
|
||||||
|
runs as root within the container. SHELL will always be used in place of the
|
||||||
|
shell in PASSWD.
|
||||||
|
|
||||||
|
The resulting vector is suitable for use with Guile's POSIX user procedures.
|
||||||
|
|
||||||
|
See passwd(5) for more information each of the fields."
|
||||||
|
(if user-override
|
||||||
|
(vector
|
||||||
|
user-override
|
||||||
|
"x" "0" "0" ;; no shadow, user is now root
|
||||||
|
"" ;; no personal information
|
||||||
|
(user-override-home user-override)
|
||||||
|
shell)
|
||||||
|
(vector
|
||||||
|
(passwd:name passwd)
|
||||||
|
"x" "0" "0" ;; no shadow, user is now root
|
||||||
|
(passwd:gecos passwd)
|
||||||
|
(passwd:dir passwd)
|
||||||
|
shell)))
|
||||||
|
|
||||||
|
(define (user-override-home user)
|
||||||
|
"Return home directory for override user USER."
|
||||||
|
(string-append "/home/" user))
|
||||||
|
|
||||||
|
(define (override-user-mappings user home mappings)
|
||||||
|
"If a username USER is provided, rewrite each HOME prefix in file system
|
||||||
|
mappings MAPPINGS to a home directory determined by 'override-user-dir';
|
||||||
|
otherwise, return MAPPINGS."
|
||||||
|
(if (not user)
|
||||||
|
mappings
|
||||||
|
(map (lambda (mapping)
|
||||||
|
(let ((target (file-system-mapping-target mapping)))
|
||||||
|
(if (string-prefix? home target)
|
||||||
|
(file-system-mapping
|
||||||
|
(source (file-system-mapping-source mapping))
|
||||||
|
(target (override-user-dir user home target))
|
||||||
|
(writable? (file-system-mapping-writable? mapping)))
|
||||||
|
mapping)))
|
||||||
|
mappings)))
|
||||||
|
|
||||||
|
(define (override-user-dir user home dir)
|
||||||
|
"If username USER is provided, overwrite string prefix HOME in DIR with a
|
||||||
|
directory determined by 'user-override-home'; otherwise, return DIR."
|
||||||
|
(if (and user (string-prefix? home dir))
|
||||||
|
(string-append (user-override-home user)
|
||||||
|
(substring dir (string-length home)))
|
||||||
|
dir))
|
||||||
|
|
||||||
|
(define (link-environment profile home-dir)
|
||||||
|
"Create a symbolic link from HOME-DIR/.guix-profile to PROFILE."
|
||||||
|
(let ((profile-dir (string-append home-dir "/.guix-profile")))
|
||||||
|
(catch 'system-error
|
||||||
|
(lambda ()
|
||||||
|
(symlink profile profile-dir))
|
||||||
|
(lambda args
|
||||||
|
(if (= EEXIST (system-error-errno args))
|
||||||
|
(leave (G_ "cannot link profile: '~a' already exists within container~%")
|
||||||
|
profile-dir)
|
||||||
|
(apply throw args))))))
|
||||||
|
|
||||||
(define (environment-bash container? bootstrap? system)
|
(define (environment-bash container? bootstrap? system)
|
||||||
"Return a monadic value in the store monad for the version of GNU Bash
|
"Return a monadic value in the store monad for the version of GNU Bash
|
||||||
needed in the environment for SYSTEM, if any. If CONTAINER? is #f, return #f.
|
needed in the environment for SYSTEM, if any. If CONTAINER? is #f, return #f.
|
||||||
|
@ -564,7 +658,9 @@ message if any test fails."
|
||||||
(let* ((opts (parse-args args))
|
(let* ((opts (parse-args args))
|
||||||
(pure? (assoc-ref opts 'pure))
|
(pure? (assoc-ref opts 'pure))
|
||||||
(container? (assoc-ref opts 'container?))
|
(container? (assoc-ref opts 'container?))
|
||||||
|
(link-prof? (assoc-ref opts 'link-profile?))
|
||||||
(network? (assoc-ref opts 'network?))
|
(network? (assoc-ref opts 'network?))
|
||||||
|
(user (assoc-ref opts 'user))
|
||||||
(bootstrap? (assoc-ref opts 'bootstrap?))
|
(bootstrap? (assoc-ref opts 'bootstrap?))
|
||||||
(system (assoc-ref opts 'system))
|
(system (assoc-ref opts 'system))
|
||||||
(command (or (assoc-ref opts 'exec)
|
(command (or (assoc-ref opts 'exec)
|
||||||
|
@ -597,6 +693,11 @@ message if any test fails."
|
||||||
|
|
||||||
(when container? (assert-container-features))
|
(when container? (assert-container-features))
|
||||||
|
|
||||||
|
(when (and (not container?) link-prof?)
|
||||||
|
(leave (G_ "'--link-profile' cannot be used without '--container'~%")))
|
||||||
|
(when (and (not container?) user)
|
||||||
|
(leave (G_ "'--user' cannot be used without '--container'~%")))
|
||||||
|
|
||||||
(with-store store
|
(with-store store
|
||||||
(set-build-options-from-command-line store opts)
|
(set-build-options-from-command-line store opts)
|
||||||
|
|
||||||
|
@ -643,9 +744,11 @@ message if any test fails."
|
||||||
"/bin/sh"))))
|
"/bin/sh"))))
|
||||||
(launch-environment/container #:command command
|
(launch-environment/container #:command command
|
||||||
#:bash bash-binary
|
#:bash bash-binary
|
||||||
|
#:user user
|
||||||
#:user-mappings mappings
|
#:user-mappings mappings
|
||||||
#:profile profile
|
#:profile profile
|
||||||
#:paths paths
|
#:paths paths
|
||||||
|
#:link-profile? link-prof?
|
||||||
#:network? network?)))
|
#:network? network?)))
|
||||||
(else
|
(else
|
||||||
(return
|
(return
|
||||||
|
|
|
@ -41,6 +41,10 @@
|
||||||
#:use-module (gnu build install)
|
#:use-module (gnu build install)
|
||||||
#:autoload (gnu build file-systems)
|
#:autoload (gnu build file-systems)
|
||||||
(find-partition-by-label find-partition-by-uuid)
|
(find-partition-by-label find-partition-by-uuid)
|
||||||
|
#:autoload (gnu build linux-modules)
|
||||||
|
(device-module-aliases matching-modules)
|
||||||
|
#:autoload (gnu system linux-initrd)
|
||||||
|
(base-initrd default-initrd-modules)
|
||||||
#:use-module (gnu system)
|
#:use-module (gnu system)
|
||||||
#:use-module (gnu bootloader)
|
#:use-module (gnu bootloader)
|
||||||
#:use-module (gnu system file-systems)
|
#:use-module (gnu system file-systems)
|
||||||
|
@ -624,21 +628,61 @@ any, are available. Raise an error if they're not."
|
||||||
;; Better be safe than sorry.
|
;; Better be safe than sorry.
|
||||||
(exit 1))))
|
(exit 1))))
|
||||||
|
|
||||||
(define (check-mapped-devices mapped-devices)
|
(define (check-mapped-devices os)
|
||||||
"Check that each of MAPPED-DEVICES is valid according to the 'check'
|
"Check that each of MAPPED-DEVICES is valid according to the 'check'
|
||||||
procedure of its type."
|
procedure of its type."
|
||||||
|
(define boot-mapped-devices
|
||||||
|
(operating-system-boot-mapped-devices os))
|
||||||
|
|
||||||
|
(define (needed-for-boot? md)
|
||||||
|
(memq md boot-mapped-devices))
|
||||||
|
|
||||||
|
(define initrd-modules
|
||||||
|
(operating-system-initrd-modules os))
|
||||||
|
|
||||||
(for-each (lambda (md)
|
(for-each (lambda (md)
|
||||||
(let ((check (mapped-device-kind-check
|
(let ((check (mapped-device-kind-check
|
||||||
(mapped-device-type md))))
|
(mapped-device-type md))))
|
||||||
;; We expect CHECK to raise an exception with a detailed
|
;; We expect CHECK to raise an exception with a detailed
|
||||||
;; '&message' if something goes wrong, but handle the case
|
;; '&message' if something goes wrong.
|
||||||
;; where it just returns #f.
|
(check md
|
||||||
(unless (check md)
|
#:needed-for-boot? (needed-for-boot? md)
|
||||||
(leave (G_ "~a: invalid '~a' mapped device~%")
|
#:initrd-modules initrd-modules)))
|
||||||
(location->string
|
(operating-system-mapped-devices os)))
|
||||||
|
|
||||||
|
(define (check-initrd-modules os)
|
||||||
|
"Check that modules needed by 'needed-for-boot' file systems in OS are
|
||||||
|
available in the initrd. Note that mapped devices are responsible for
|
||||||
|
checking this by themselves in their 'check' procedure."
|
||||||
|
(define (file-system-/dev fs)
|
||||||
|
(let ((device (file-system-device fs)))
|
||||||
|
(match (file-system-title fs)
|
||||||
|
('device device)
|
||||||
|
('uuid (find-partition-by-uuid device))
|
||||||
|
('label (find-partition-by-label device)))))
|
||||||
|
|
||||||
|
(define (check-device device location)
|
||||||
|
(let ((modules (delete-duplicates
|
||||||
|
(append-map matching-modules
|
||||||
|
(device-module-aliases device)))))
|
||||||
|
(unless (every (cute member <> (operating-system-initrd-modules os))
|
||||||
|
modules)
|
||||||
|
(raise (condition
|
||||||
|
(&message
|
||||||
|
(message (format #f (G_ "you need these modules \
|
||||||
|
in the initrd for ~a:~{ ~a~}")
|
||||||
|
device modules)))
|
||||||
|
(&error-location (location location)))))))
|
||||||
|
|
||||||
|
(define file-systems
|
||||||
|
(filter file-system-needed-for-boot?
|
||||||
|
(operating-system-file-systems os)))
|
||||||
|
|
||||||
|
(for-each (lambda (fs)
|
||||||
|
(check-device (file-system-/dev fs)
|
||||||
(source-properties->location
|
(source-properties->location
|
||||||
(mapped-device-location md)))))))
|
(file-system-location fs))))
|
||||||
mapped-devices))
|
file-systems))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
@ -730,9 +774,10 @@ output when building a system derivation, such as a disk image."
|
||||||
;; instantiating a broken configuration. Assume that we can only check if
|
;; instantiating a broken configuration. Assume that we can only check if
|
||||||
;; running as root.
|
;; running as root.
|
||||||
(when (memq action '(init reconfigure))
|
(when (memq action '(init reconfigure))
|
||||||
|
(check-mapped-devices os)
|
||||||
(when (zero? (getuid))
|
(when (zero? (getuid))
|
||||||
(check-file-system-availability (operating-system-file-systems os)))
|
(check-file-system-availability (operating-system-file-systems os))
|
||||||
(check-mapped-devices (operating-system-mapped-devices os)))
|
(check-initrd-modules os)))
|
||||||
|
|
||||||
(mlet* %store-monad
|
(mlet* %store-monad
|
||||||
((sys (system-derivation-for-action os action
|
((sys (system-derivation-for-action os action
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue