Merge branch 'master' into staging
This commit is contained in:
commit
613ef763a5
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
|
||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||
|
@ -83,6 +83,7 @@ MODULES = \
|
|||
guix/gnu-maintenance.scm \
|
||||
guix/upstream.scm \
|
||||
guix/licenses.scm \
|
||||
guix/glob.scm \
|
||||
guix/git.scm \
|
||||
guix/graph.scm \
|
||||
guix/cache.scm \
|
||||
|
@ -314,6 +315,7 @@ SCM_TESTS = \
|
|||
tests/substitute.scm \
|
||||
tests/builders.scm \
|
||||
tests/derivations.scm \
|
||||
tests/glob.scm \
|
||||
tests/grafts.scm \
|
||||
tests/ui.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).
|
||||
AC_CHECK_HEADERS([linux/fs.h])
|
||||
|
||||
dnl Determine the appropriate default list of substitute URLs.
|
||||
GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)])
|
||||
if test "x$have_gnutls" = "xyes"; then
|
||||
guix_substitute_urls="https://mirror.hydra.gnu.org"
|
||||
else
|
||||
AC_MSG_WARN([GnuTLS is missing, substitutes will be downloaded in the clear])
|
||||
guix_substitute_urls="http://mirror.hydra.gnu.org"
|
||||
fi
|
||||
dnl Determine the appropriate default list of substitute URLs (GnuTLS
|
||||
dnl is required so we can default to 'https'.)
|
||||
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"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING([for default 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{} 2016 Ben Woodcroft@*
|
||||
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, 2017 ng0@*
|
||||
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
|
||||
|
@ -46,7 +46,8 @@ Copyright @copyright{} 2017 Andy Wingo@*
|
|||
Copyright @copyright{} 2017, 2018 Arun Isaac@*
|
||||
Copyright @copyright{} 2017 nee@*
|
||||
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
|
||||
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
|
||||
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
|
||||
xset +fp ~/.guix-profile/share/fonts/truetype
|
||||
xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))
|
||||
@end example
|
||||
|
||||
@cindex @code{xlsfonts}
|
||||
|
@ -7285,10 +7288,11 @@ Attempt to build for @var{system}---e.g., @code{i686-linux}.
|
|||
@cindex container
|
||||
Run @var{command} within an isolated container. The current working
|
||||
directory outside the container is mapped inside the container.
|
||||
Additionally, a dummy home directory is created that matches the current
|
||||
user's home directory, and @file{/etc/passwd} is configured accordingly.
|
||||
The spawned process runs as the current user outside the container, but
|
||||
has root privileges in the context of the container.
|
||||
Additionally, unless overridden with @code{--user}, a dummy home
|
||||
directory is created that matches the current user's home directory, and
|
||||
@file{/etc/passwd} is configured accordingly. The spawned process runs
|
||||
as the current user outside the container, but has root privileges in
|
||||
the context of the container.
|
||||
|
||||
@item --network
|
||||
@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
|
||||
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}]
|
||||
For containers, expose the file system @var{source} from the host system
|
||||
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}
|
||||
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 initial RAM disk
|
||||
A two-argument monadic procedure that returns an initial RAM disk for
|
||||
the Linux kernel. @xref{Initial RAM Disk}.
|
||||
The list of Linux kernel modules that need to be available in the
|
||||
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})
|
||||
@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.
|
||||
@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
|
||||
@deffn {Scheme variable} inetd-service-type
|
||||
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
|
||||
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 (generate-documentation) in (gnu services messaging). Manually maintained
|
||||
@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"}.
|
||||
@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
|
||||
paths in order. See @url{https://prosody.im/doc/plugins_directory}.
|
||||
Defaults to @samp{()}.
|
||||
|
@ -14271,7 +14377,7 @@ should you want to disable them then add them to this list.
|
|||
Defaults to @samp{()}.
|
||||
@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
|
||||
empty then @samp{mod_groups} does nothing. See
|
||||
@url{https://prosody.im/doc/modules/mod_groups}.
|
||||
|
@ -14304,13 +14410,13 @@ Path to your private key file.
|
|||
Path to your certificate file.
|
||||
@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
|
||||
trust when verifying the certificates of remote servers.
|
||||
Defaults to @samp{"/etc/ssl/certs"}.
|
||||
@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.
|
||||
Similar to @code{capath} but with all certificates concatenated together.
|
||||
@end deftypevr
|
||||
|
@ -14570,6 +14676,8 @@ string, you could instantiate a prosody service like this:
|
|||
(prosody.cfg.lua "")))
|
||||
@end example
|
||||
|
||||
@c end of Prosody auto-generated documentation
|
||||
|
||||
@subsubheading BitlBee Service
|
||||
|
||||
@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
|
||||
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
|
||||
system linux-initrd)} module provides three ways to build an initrd: the
|
||||
high-level @code{base-initrd} procedure and the low-level
|
||||
|
@ -19738,11 +19866,10 @@ system declaration like this:
|
|||
|
||||
@example
|
||||
(initrd (lambda (file-systems . rest)
|
||||
;; Create a standard initrd that has modules "foo.ko"
|
||||
;; and "bar.ko", as well as their dependencies, in
|
||||
;; addition to the modules available by default.
|
||||
;; Create a standard initrd but set up networking
|
||||
;; with the parameters QEMU expects by default.
|
||||
(apply base-initrd file-systems
|
||||
#:extra-modules '("foo" "bar")
|
||||
#:qemu-networking? #t
|
||||
rest)))
|
||||
@end example
|
||||
|
||||
|
@ -19826,18 +19953,18 @@ to it are lost.
|
|||
|
||||
@deffn {Monadic Procedure} base-initrd @var{file-systems} @
|
||||
[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
|
||||
[#:virtio? #t] [#:extra-modules '()]
|
||||
Return a monadic derivation that builds a generic initrd. @var{file-systems} is
|
||||
a list of file systems to be mounted by the initrd like for @code{raw-initrd}.
|
||||
@var{mapped-devices}, @var{qemu-networking?} and @var{volatile-root?}
|
||||
also behaves as in @code{raw-initrd}.
|
||||
[#:linux-modules '()]
|
||||
Return a monadic derivation that builds a generic initrd, with kernel
|
||||
modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be
|
||||
mounted by the initrd, possibly in addition to the root file system specified
|
||||
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
|
||||
initrd can be used as a QEMU guest with para-virtualized I/O drivers.
|
||||
@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}.
|
||||
|
||||
The initrd is automatically populated with all the kernel modules necessary
|
||||
for @var{file-systems} and for the given options. However, additional kernel
|
||||
modules can be listed in @var{extra-modules}. They will be added to the initrd, and
|
||||
for @var{file-systems} and for the given options. Additional kernel
|
||||
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.
|
||||
@end deffn
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
(define-module (gnu build linux-modules)
|
||||
#:use-module (guix elf)
|
||||
#:use-module (guix glob)
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (rnrs bytevectors)
|
||||
|
@ -26,15 +27,21 @@
|
|||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:export (dot-ko
|
||||
ensure-dot-ko
|
||||
module-aliases
|
||||
module-dependencies
|
||||
recursive-module-dependencies
|
||||
modules-loaded
|
||||
module-loaded?
|
||||
load-linux-module*
|
||||
|
||||
current-module-debugging-port))
|
||||
current-module-debugging-port
|
||||
|
||||
device-module-aliases
|
||||
known-module-aliases
|
||||
matching-modules))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -89,6 +96,15 @@ contains module names, not actual file names."
|
|||
(('depends . what)
|
||||
(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
|
||||
(cut string-append <> ".ko"))
|
||||
|
||||
|
@ -213,4 +229,155 @@ appears in BLACK-LIST are not loaded."
|
|||
(or (and recursive? (= EEXIST (system-error-errno 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
|
||||
|
|
13
gnu/local.mk
13
gnu/local.mk
|
@ -7,7 +7,7 @@
|
|||
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
|
||||
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -76,6 +76,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/bash.scm \
|
||||
%D%/packages/bdw-gc.scm \
|
||||
%D%/packages/benchmark.scm \
|
||||
%D%/packages/bioconductor.scm \
|
||||
%D%/packages/bioinformatics.scm \
|
||||
%D%/packages/bittorrent.scm \
|
||||
%D%/packages/bison.scm \
|
||||
|
@ -552,6 +553,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/agg-am_c_prototype.patch \
|
||||
%D%/packages/patches/ansible-wrap-program-hack.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/apr-skip-getservbyname-test.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/cdrtools-3.01-mkisofs-isoinfo.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-unittest_blockdev.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/gcr-disable-failing-tests.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-freetype-test-failure.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-pt2.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-ldd-x86_64.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/hydra-disable-darcs-test.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-harfbuzz.patch \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
;; the tests to pass.
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
(list "CXXFLAGS=-std=c++11")))
|
||||
(list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true")))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("enchant" ,enchant)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -82,10 +83,11 @@ available to help to click.")
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public footswitch
|
||||
(let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a"))
|
||||
(let ((commit "deedd87fd90fad90ce342aeabafd4a3198d7d3d4")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "footswitch")
|
||||
(version (git-version "0.1" "1" commit))
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -93,7 +95,7 @@ available to help to click.")
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw"))))
|
||||
(base32 "1ys90wqyz62kffa8m3hgaq1dl7f29x3mrc3zqfjrkbn2ps0k6ps0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -109,7 +111,6 @@ available to help to click.")
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out")
|
||||
"/bin")))
|
||||
(mkdir-p bin)
|
||||
(install-file "footswitch" bin)
|
||||
#t))))))
|
||||
(home-page "https://github.com/rgerganov/footswitch")
|
||||
|
|
|
@ -610,14 +610,14 @@ connection alive.")
|
|||
bind-release-version)))
|
||||
(package
|
||||
(name "isc-dhcp")
|
||||
(version "4.3.6")
|
||||
(version "4.3.6-P1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
|
||||
version "/dhcp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06vgxhm6agzkp6r1jy10467vrfw2rzcp2mnkcph7ydziciisy7m4"))))
|
||||
"1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
|
@ -2433,6 +2433,7 @@ on systems running the Linux kernel.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/robertdavidgraham/masscan"
|
||||
"/archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; 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 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -35,6 +35,7 @@
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
@ -46,9 +47,11 @@
|
|||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
@ -612,6 +615,104 @@ cosine/ sine transforms or DCT/DST).")
|
|||
(synopsis "Computing the discrete Fourier transform (AVX2-optimized)")
|
||||
(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
|
||||
(package
|
||||
(name "eigen")
|
||||
|
|
|
@ -200,6 +200,7 @@ contains the graphical user interface for synfig.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/LostMoho/Papagayo.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
|
||||
|
|
|
@ -1155,6 +1155,7 @@ PS, and DAB+.")
|
|||
(string-map (lambda (c)
|
||||
(if (char=? c #\.) #\- c))
|
||||
version)))))
|
||||
(file-name (string-append "faust-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
|
||||
|
@ -1628,14 +1629,14 @@ essential distortions.")
|
|||
(define-public liblo
|
||||
(package
|
||||
(name "liblo")
|
||||
(version "0.28")
|
||||
(version "0.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/liblo/liblo/" version
|
||||
"/liblo-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
|
||||
"0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; liblo test FAILED
|
||||
|
@ -1645,7 +1646,7 @@ essential distortions.")
|
|||
(synopsis "Implementation of the Open Sound Control protocol")
|
||||
(description
|
||||
"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+)))
|
||||
|
||||
(define-public python-pyaudio
|
||||
|
@ -1783,6 +1784,7 @@ software.")
|
|||
(uri (git-reference
|
||||
(url "http://lv2plug.in/git/lv2.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
|
||||
|
@ -1796,6 +1798,7 @@ software.")
|
|||
(uri (git-reference
|
||||
(url "http://git.elephly.net/software/lv2-mdametapiano.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
|
||||
|
@ -2024,6 +2027,7 @@ into various outputs and to start, stop and configure jackd")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/orouits/qjackrcd.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al"))))
|
||||
|
@ -2103,6 +2107,7 @@ aimed at audio/musical applications.")
|
|||
(string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; 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
|
||||
;; on "version-major+minor" to determine where locales are found.
|
||||
(version "2.26.105-g0890d5379c")
|
||||
(replacement glibc-2.26-patched)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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
|
||||
;; 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
|
||||
(package
|
||||
(inherit glibc)
|
||||
|
|
|
@ -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"
|
||||
"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
|
||||
(package
|
||||
(name "mdds")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -31,6 +31,7 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages file)
|
||||
#: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:expat ; cmjsoncpp is dual MIT/public domain
|
||||
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
|
||||
(package
|
||||
(name "cloc")
|
||||
(version "1.74")
|
||||
(version "1.76")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/AlDanial/cloc/releases/download/" version
|
||||
"https://github.com/AlDanial/cloc/releases/download/v" version
|
||||
"/cloc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rq5xfiln1wlv3yr9mg18ax4gskbss786iqaf0v45iv6awyl5b2m"))))
|
||||
"05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("perl" ,perl)
|
||||
("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
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -228,13 +229,13 @@ COCOMO model or user-provided parameters.")
|
|||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "make" "-C" "Unix"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "INSTALL="
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/install")
|
||||
"install")))))
|
||||
(invoke "make" "-C" "Unix"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "INSTALL="
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/install")
|
||||
"install")
|
||||
#t)))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
|
|
@ -600,6 +600,7 @@ with the sfArk algorithm.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/raboof/sfarkxtc.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj"))))
|
||||
|
@ -1070,21 +1071,23 @@ algorithm within the Numpy framework.")
|
|||
(define-public snappy
|
||||
(package
|
||||
(name "snappy")
|
||||
(version "1.1.3")
|
||||
(version "1.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/google/snappy/releases/download/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/google/snappy/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append "snappy-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig"))))
|
||||
(build-system gnu-build-system)
|
||||
"1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||
(home-page "https://github.com/google/snappy")
|
||||
(synopsis "Fast compressor/decompressor")
|
||||
(description "Snappy is a compression/decompression library. It does not
|
||||
(description "Snappy is a compression/decompression library. It does not
|
||||
aim for maximum compression, or compatibility with any other compression library;
|
||||
instead, it aims for very high speeds and reasonable compression. For instance,
|
||||
instead, it aims for very high speeds and reasonable compression. For instance,
|
||||
compared to the fastest mode of zlib, Snappy is an order of magnitude faster
|
||||
for most inputs, but the resulting compressed files are anywhere from 20% to
|
||||
100% bigger.")
|
||||
|
@ -1130,7 +1133,7 @@ install: libbitshuffle.so
|
|||
(define-public java-snappy
|
||||
(package
|
||||
(name "java-snappy")
|
||||
(version "1.1.4")
|
||||
(version "1.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w58diryma7qz7aa24yv8shf3flxcbbw8jgcn2lih14wgmww58ww"))))
|
||||
"0q4kxz2n97czf6g5gzq0d8yz22cgiaj7wp51rzsswh3bi99bpgg5"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "snappy.jar"
|
||||
|
@ -1178,7 +1181,9 @@ install: libbitshuffle.so
|
|||
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
|
||||
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
|
||||
;; 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
|
||||
;; "build" directory so it can be added to the jar file.
|
||||
(add-after 'build-jni 'copy-jni
|
||||
|
@ -1187,13 +1192,14 @@ install: libbitshuffle.so
|
|||
"build/classes/org/xerial/snappy/native")))
|
||||
(add-before 'check 'fix-failing
|
||||
(lambda _
|
||||
;; This package assumes maven build, which puts results in "target".
|
||||
;; We put them in "build" instead, so fix that.
|
||||
(substitute* "src/test/java/org/xerial/snappy/SnappyLoaderTest.java"
|
||||
(("target/classes") "build/classes"))
|
||||
;; FIXME: probably an error
|
||||
(substitute* "src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java"
|
||||
(("91080") "91013")))))))
|
||||
(with-directory-excursion "src/test/java/org/xerial/snappy"
|
||||
;; This package assumes maven build, which puts results in "target".
|
||||
;; We put them in "build" instead, so fix that.
|
||||
(substitute* "SnappyLoaderTest.java"
|
||||
(("target/classes") "build/classes"))
|
||||
;; This requires Hadoop, which is not in Guix yet.
|
||||
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("osgi-framework" ,java-osgi-framework)))
|
||||
(propagated-inputs
|
||||
|
@ -1204,6 +1210,8 @@ install: libbitshuffle.so
|
|||
("hamcrest" ,java-hamcrest-core)
|
||||
("xerial-core" ,java-xerial-core)
|
||||
("classworlds" ,java-plexus-classworlds)
|
||||
("commons-lang" ,java-commons-lang)
|
||||
("commons-io" ,java-commons-io)
|
||||
("perl" ,perl)))
|
||||
(home-page "https://github.com/xerial/snappy-java")
|
||||
(synopsis "Compression/decompression algorithm in Java")
|
||||
|
@ -1533,6 +1541,7 @@ or junctions, and always follows hard links.")
|
|||
(origin (method url-fetch)
|
||||
(uri (string-append "http://github.com/twogood/unshield/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x"))))
|
||||
|
|
|
@ -60,8 +60,8 @@
|
|||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(mkdir-p bin)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "src/conky" bin))
|
||||
#t)))))
|
||||
(inputs
|
||||
|
|
|
@ -1472,14 +1472,14 @@ imputations.")
|
|||
(define-public r-truncnorm
|
||||
(package
|
||||
(name "r-truncnorm")
|
||||
(version "1.0-7")
|
||||
(version "1.0-8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "truncnorm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"))))
|
||||
"0zn88wdd58223kibk085rhsikl4yhlrwiyq109hzjg06hy6lwmj9"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/truncnorm/")
|
||||
(synopsis "Truncated normal distribution")
|
||||
|
@ -1637,21 +1637,21 @@ simplifying cross-class interoperability.")
|
|||
(define-public r-performanceanalytics
|
||||
(package
|
||||
(name "r-performanceanalytics")
|
||||
(version "1.4.3541")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "PerformanceAnalytics" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v"))))
|
||||
"01bgm57z079g6r505w3bj293zkbd49fwa8sg55z87vizwavipml6"))))
|
||||
(properties
|
||||
`((upstream-name . "PerformanceAnalytics")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-xts" ,r-xts)
|
||||
`(("r-quadprog" ,r-quadprog)
|
||||
("r-xts" ,r-xts)
|
||||
("r-zoo" ,r-zoo)))
|
||||
(native-inputs `(("gfortran" ,gfortran)))
|
||||
(home-page "http://r-forge.r-project.org/projects/returnanalytics/")
|
||||
(synopsis "Econometric tools for performance and risk analysis")
|
||||
(description "This is a collection of econometric functions for
|
||||
|
@ -2139,14 +2139,14 @@ display.")
|
|||
(define-public r-pillar
|
||||
(package
|
||||
(name "r-pillar")
|
||||
(version "1.1.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "pillar" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gh3j2pbbf5y4d5nyqnlr0x27jjyvjjspcccmw61airs1n6rx8jq"))))
|
||||
"1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("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
|
||||
published results; and a routine for graphical display.")
|
||||
(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
|
||||
(add-after 'install 'i18n
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system*
|
||||
"make" "-C" "extras/translations"
|
||||
"install" make-flags))))
|
||||
(apply invoke "make" "-C" "extras/translations"
|
||||
"install" make-flags)
|
||||
#t))
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
@ -411,8 +411,9 @@ no man page, refer to the home page for usage details.")
|
|||
;; querying `tomb -h`.
|
||||
(let ((tomb (string-append (assoc-ref outputs "out")
|
||||
"/bin/tomb")))
|
||||
(zero? (system* tomb "dig" "-s" "10" "secrets.tomb"))))))))
|
||||
(home-page "http://www.dyne.org/software/tomb")
|
||||
(invoke tomb "dig" "-s" "10" "secrets.tomb")
|
||||
#t))))))
|
||||
(home-page "https://www.dyne.org/software/tomb")
|
||||
(synopsis "File encryption for secret data")
|
||||
(description
|
||||
"Tomb is an application to manage the creation and access of encrypted
|
||||
|
|
|
@ -158,6 +158,7 @@ tunneling, and so on.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/davidjpeacock/kurly.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3"))))
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; 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 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||
|
@ -396,14 +396,15 @@ mapping from string keys to string values.")
|
|||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.5.0")
|
||||
(version "1.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0"))))
|
||||
(base32
|
||||
"00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
|
@ -699,14 +700,14 @@ as a drop-in replacement of MySQL.")
|
|||
(define-public postgresql
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "10.2")
|
||||
(version "10.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"))))
|
||||
"06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-uuid=e2fs")
|
||||
|
@ -744,14 +745,14 @@ pictures, sounds, or video.")
|
|||
(package
|
||||
(inherit postgresql)
|
||||
(name "postgresql")
|
||||
(version "9.6.6")
|
||||
(version "9.6.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r"))))))
|
||||
"0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga"))))))
|
||||
|
||||
(define-public qdbm
|
||||
(package
|
||||
|
@ -840,7 +841,7 @@ types are supported, as is encryption.")
|
|||
(define-public rocksdb
|
||||
(package
|
||||
(name "rocksdb")
|
||||
(version "5.2.1")
|
||||
(version "5.10.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb"))
|
||||
"0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; TODO: unbundle gtest.
|
||||
(delete-file "build_tools/gnu_parallel")
|
||||
(substitute* "Makefile"
|
||||
(("build_tools/gnu_parallel") "parallel"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(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="
|
||||
(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
|
||||
;; this upstream, but it's not going to be supported any time soon.
|
||||
#:tests? (let ((system ,(or (%current-target-system)
|
||||
|
@ -871,7 +882,6 @@ types are supported, as is encryption.")
|
|||
(add-after 'unpack 'patch-Makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("build_tools/gnu_parallel") "parallel")
|
||||
;; Don't depend on the static library when installing.
|
||||
(("install: install-static")
|
||||
"install: install-shared")
|
||||
|
@ -888,20 +898,20 @@ types are supported, as is encryption.")
|
|||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
(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".
|
||||
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
|
||||
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
|
||||
#t))
|
||||
(add-after 'check 'build-release-libraries
|
||||
(add-after 'check 'build
|
||||
;; The default build target is a debug build for tests. The
|
||||
;; install target depends on "shared_lib" and "static_lib"
|
||||
;; targets for release builds so we build them here for clarity.
|
||||
;; TODO: Add debug output.
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(zero? (apply system* "make" "shared_lib" make-flags)))))))
|
||||
;; install target depends on the "shared_lib" release target
|
||||
;; so we build it here for clarity.
|
||||
(lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
|
||||
(apply invoke "make" "shared_lib"
|
||||
`(,@(if parallel-build?
|
||||
`("-j" ,(number->string (parallel-job-count)))
|
||||
'())
|
||||
,@make-flags)))))))
|
||||
(native-inputs
|
||||
`(("parallel" ,parallel)
|
||||
("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
|
||||
compactions, making it specially suitable for storing multiple terabytes of
|
||||
data in a single database. RocksDB is partially based on @code{LevelDB}.")
|
||||
;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
|
||||
(license (list license:bsd-3 license:asl2.0))))
|
||||
;; RocksDB is dual licensed under GPL2 and ASL 2.0. Some header
|
||||
;; files carry the 3-clause BSD license.
|
||||
(license (list license:gpl2 license:asl2.0 license:bsd-3))))
|
||||
|
||||
(define-public sparql-query
|
||||
(package
|
||||
|
@ -2042,14 +2053,14 @@ and web services platform functionality.")
|
|||
(define-public r-rmysql
|
||||
(package
|
||||
(name "r-rmysql")
|
||||
(version "0.10.13")
|
||||
(version "0.10.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RMySQL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82"))))
|
||||
"01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590"))))
|
||||
(properties `((upstream-name . "RMySQL")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
|
@ -2284,30 +2295,31 @@ PickleShare.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rogerbinns/apsw/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append "apsw-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("sqlite" ,sqlite)))
|
||||
`(("sqlite" ,sqlite)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero?
|
||||
(system* "python" "setup.py" "build" "--enable-all-extensions"))))
|
||||
(invoke "python" "setup.py" "build" "--enable-all-extensions")
|
||||
#t))
|
||||
(add-after 'build 'build-test-helper
|
||||
(lambda _
|
||||
(zero?
|
||||
(system
|
||||
(string-append "gcc -fPIC -shared -o ./testextension.sqlext "
|
||||
"-I. -Isqlite3 src/testextension.c") ))))
|
||||
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
|
||||
"-I." "-Isqlite3" "src/testextension.c")
|
||||
#t))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(zero? (system* "python" "setup.py" "test")))))))
|
||||
(invoke "python" "setup.py" "test")
|
||||
#t)))))
|
||||
(home-page "https://github.com/rogerbinns/apsw/")
|
||||
(synopsis "Another Python SQLite Wrapper")
|
||||
(description "APSW is a Python wrapper for the SQLite
|
||||
|
|
|
@ -66,8 +66,6 @@
|
|||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc/delta-" ,version)))
|
||||
(begin
|
||||
(mkdir-p bin)
|
||||
(mkdir-p doc)
|
||||
(for-each (lambda (h)
|
||||
(install-file h doc))
|
||||
`("License.txt" ,@(find-files "www" ".*\\.html")))
|
||||
|
@ -75,7 +73,7 @@
|
|||
(install-file b bin))
|
||||
`("delta" "multidelta" "topformflat"))))
|
||||
#t))
|
||||
(delete 'configure))))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "http://delta.tigris.org/")
|
||||
(synopsis "Heuristical file minimizer")
|
||||
(description
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; 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
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "0.6.1")
|
||||
(version "0.6.2")
|
||||
(source
|
||||
(origin
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i"))))
|
||||
"0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2"))))
|
||||
(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")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
(description "Grammalecte is a grammar checker dedicated to the French
|
||||
|
|
|
@ -36,13 +36,13 @@
|
|||
(define-public python-django
|
||||
(package
|
||||
(name "python-django")
|
||||
(version "1.11.10")
|
||||
(version "1.11.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Django" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ndc7axr7cz8jwhr4mz16fvwd0jcd6i81q2wi9nl172s71kkaf12"))))
|
||||
"1p0fk0dszci9gx76hyhay3n8n0k8r4sznbdcrpd9g2xl15rps1vl"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:modules ((srfi srfi-1)
|
||||
|
|
|
@ -614,7 +614,7 @@ process, passing on the arguments as command line arguments.")
|
|||
'build 'pre-build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (el-dir store-dir)
|
||||
(match (find-files store-dir)
|
||||
(match (find-files store-dir "\\.el$")
|
||||
((f1 f2 ...) (dirname f1))
|
||||
(_ "")))
|
||||
|
||||
|
@ -3546,6 +3546,7 @@ It is recommended to use @code{clojure-mode} with paredit or smartparens.")
|
|||
(uri (string-append
|
||||
"https://github.com/cask/epl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
|
||||
|
@ -4300,6 +4301,7 @@ CIDER).")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/joaotavora/sly.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
|
||||
|
@ -6889,7 +6891,7 @@ in a generalized CSV (character-separated values) format.")
|
|||
(define-public emacs-transmission
|
||||
(package
|
||||
(name "emacs-transmission")
|
||||
(version "0.12")
|
||||
(version "0.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -6898,7 +6900,7 @@ in a generalized CSV (character-separated values) format.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y0bpsy16pycp6m9aqvfjh2x1yswfb305ib7m2slcjpb6njgxfi6"))))
|
||||
"1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/holomorph/transmission")
|
||||
(synopsis "Emacs interface to a Transmission session")
|
||||
|
@ -7311,3 +7313,51 @@ Features:
|
|||
(description "@code{epipe} provides an utility to use your editor in
|
||||
the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
(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
|
||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
|
||||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -60,7 +60,7 @@
|
|||
(define-public efl
|
||||
(package
|
||||
(name "efl")
|
||||
(version "1.20.6")
|
||||
(version "1.20.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -68,7 +68,9 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn"))))
|
||||
"1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh"))))
|
||||
(outputs '("out" ; 49 MB
|
||||
"include")) ; 17 MB
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -114,6 +114,7 @@ single file can be mounted.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/ReproducibleBuilds/disorderfs.git")
|
||||
(commit "0.5.2")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j028dq3d4m64mn9xmfamcnnc7i2drmra4pdmxdmqdsi8p7yj4sv"))))
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -70,11 +71,8 @@
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(fw-dir (string-append out "/lib/firmware")))
|
||||
(mkdir-p fw-dir)
|
||||
(for-each (lambda (file)
|
||||
(copy-file file
|
||||
(string-append fw-dir "/"
|
||||
(basename file))))
|
||||
(install-file file fw-dir))
|
||||
(find-files "." "\\.fw$"))
|
||||
#t))))
|
||||
#:tests? #f))
|
||||
|
@ -94,11 +92,11 @@ Linux-libre.")
|
|||
(license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
|
||||
|
||||
(define-public b43-tools
|
||||
(let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
|
||||
(rev "1"))
|
||||
(let ((commit "27892ef741e7f1d08cb939744f8b8f5dac7b04ae")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "b43-tools")
|
||||
(version (string-append "20140625-" rev "." (string-take commit 7)))
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -108,7 +106,7 @@ Linux-libre.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv"))))
|
||||
"1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
|
@ -117,11 +115,11 @@ Linux-libre.")
|
|||
`(#:modules ((srfi srfi-1)
|
||||
(guix build gnu-build-system)
|
||||
(guix build utils))
|
||||
#:tests? #f ;no tests
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(let ((subdirs '("assembler" "disassembler")))
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'patch-/bin/true
|
||||
(lambda _
|
||||
(substitute* (find-files "." "Makefile")
|
||||
|
@ -129,21 +127,22 @@ Linux-libre.")
|
|||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(every (lambda (dir)
|
||||
(zero? (system* "make" "-C" dir "CC=gcc")))
|
||||
subdirs)))
|
||||
(for-each (lambda (dir)
|
||||
(invoke "make" "-C" dir "CC=gcc"))
|
||||
subdirs)
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/bin"))
|
||||
(every (lambda (dir)
|
||||
(zero?
|
||||
(system* "make" "-C" dir
|
||||
(string-append "PREFIX=" out)
|
||||
"install")))
|
||||
subdirs))))))))
|
||||
(for-each (lambda (dir)
|
||||
(invoke "make" "-C" dir
|
||||
(string-append "PREFIX=" out)
|
||||
"install"))
|
||||
subdirs)
|
||||
#t)))))))
|
||||
(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")
|
||||
(description
|
||||
"The b43 firmware tools is a collection of firmware extractor,
|
||||
|
@ -259,6 +258,8 @@ coreboot.")
|
|||
(setenv "WORKSPACE" cwd)
|
||||
(setenv "EDK_TOOLS_PATH" tools)
|
||||
(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")
|
||||
(substitute* "Conf/target.txt"
|
||||
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
|
||||
|
@ -268,14 +269,16 @@ coreboot.")
|
|||
(number->string (parallel-job-count)))))
|
||||
;; Build build support.
|
||||
(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
|
||||
(lambda _
|
||||
(substitute* "Conf/target.txt"
|
||||
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n")
|
||||
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
||||
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
|
||||
(zero? (system* "build"))))
|
||||
(invoke "build")
|
||||
#t))
|
||||
,@(if (string=? "x86_64-linux" (%current-system))
|
||||
'((add-after 'build 'build-x64
|
||||
(lambda _
|
||||
|
@ -283,7 +286,8 @@ coreboot.")
|
|||
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
|
||||
(("^ACTIVE_PLATFORM[ ]*=.*$")
|
||||
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
|
||||
(zero? (system* "build")))))
|
||||
(invoke "build")
|
||||
#t)))
|
||||
'())
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
|
@ -299,7 +303,7 @@ coreboot.")
|
|||
'()))
|
||||
#t)))))
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(home-page "http://www.tianocore.org")
|
||||
(home-page "https://www.tianocore.org")
|
||||
(synopsis "UEFI firmware for QEMU")
|
||||
(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.")
|
||||
|
|
|
@ -370,7 +370,7 @@ effects and music to make a completely free game.")
|
|||
(version "3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/golly/golly-"
|
||||
(uri (string-append "mirror://sourceforge/golly/golly/golly-"
|
||||
version "/golly-" version
|
||||
"-src.tar.gz"))
|
||||
(sha256
|
||||
|
@ -3491,6 +3491,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/freegish/freegish.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx"))
|
||||
|
|
|
@ -405,7 +405,7 @@ security standards.")
|
|||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "52.3.0-gnu1")
|
||||
(version "52.6.0-gnu1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -414,7 +414,7 @@ security standards.")
|
|||
"/" name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"00jki754d6310fxj1b7dbhqj69y5igck6gqg6rgfya243nsb56k9"))
|
||||
"09fn54glqg1aa93hnz5zdcy07cps09dbni2b4200azh6nang630a"))
|
||||
(patches
|
||||
(list
|
||||
(search-patch "icecat-avoid-bundled-libraries.patch")
|
||||
|
@ -422,125 +422,26 @@ security standards.")
|
|||
(search-patch "icecat-use-system-graphite2.patch")
|
||||
(mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k")
|
||||
(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-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-1261175.patch" "f0ec180993d2" "0jiazxcwki83wr00fyh2g518ynsd33p7nk65zk4d1682gn22lc8v")
|
||||
(mozilla-patch "icecat-bug-1433005.patch" "a6a9e26688c1" "0cvizvilb4k422j2gzqcbakznvsffmk6n6xn1ayj5rgxfaizkkqk")
|
||||
(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)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -502,6 +502,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/alsm/ioprogress.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
|
||||
|
@ -527,6 +528,7 @@ writers can be supplied for alternate environments.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/aki237/nscjar.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
|
||||
|
@ -551,6 +553,7 @@ jar struct to manage the cookies added to the cookie jar.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/davidjpeacock/cli.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01s53ny3p0fdx64rnwcnmjj4xpc5adihnh6islsfq5z1ph2phhnj"))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -18,6 +18,7 @@
|
|||
|
||||
(define-module (gnu packages graph)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -172,3 +173,29 @@ model.")
|
|||
"This package interfaces R with the graphviz library for plotting R graph
|
||||
objects from the @code{graph} package.")
|
||||
(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")
|
||||
(description
|
||||
"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.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
|
@ -8181,12 +8181,12 @@ Background: There exists a feature space for queues that extends between:
|
|||
@itemize
|
||||
@item Simple, single-ended, non-concurrent, bounded queues
|
||||
|
||||
@item Double-ended, threadsafe, growable queues with important points
|
||||
inbetween (such as the queues used for work-stealing).
|
||||
@item Double-ended, thread-safe, growable queues with important points
|
||||
in between (such as the queues used for work stealing).
|
||||
@end itemize
|
||||
|
||||
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).
|
||||
|
||||
This package also includes a simple reference implementation based on
|
||||
|
@ -8532,6 +8532,8 @@ functions.")
|
|||
(base32
|
||||
"09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--allow-newer=QuickCheck")))
|
||||
(inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
|
||||
("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
|
||||
("ghc-entropy" ,ghc-entropy)
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
(define-public feh
|
||||
(package
|
||||
(name "feh")
|
||||
(version "2.24")
|
||||
(version "2.25")
|
||||
(home-page "https://feh.finalrewind.org/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -67,7 +67,7 @@
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"148qbxkk5m7i3cxymnfwi7aikqjyfxr306dlqm9ndp6x932js5wq"))))
|
||||
"102rwi30n09l8rih6kv6bb7lhv3djklgzill4p2zag0h700yqfq6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
|
|
|
@ -87,7 +87,10 @@
|
|||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
;; FIXME: tests require gmock
|
||||
(arguments `(#:tests? #f))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:make-flags
|
||||
'("gtk_update_icon_cache=true")))
|
||||
(home-page "https://inkscape.org/")
|
||||
(synopsis "Vector graphics editor")
|
||||
(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 © 2016 ng0 <ng0@infotropique.org>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -272,23 +272,23 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
|
|||
(define-public ii
|
||||
(package
|
||||
(name "ii")
|
||||
(version "1.7")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dl.suckless.org/tools/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"176cqwnn6h7w4kbfd66hzqa243l26pqp2b06bii0nmnm0rkaqwis"))))
|
||||
"1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure
|
||||
(home-page "http://tools.suckless.org/ii/")
|
||||
(delete 'configure)))) ; no configure
|
||||
(home-page "https://tools.suckless.org/ii/")
|
||||
(synopsis "FIFO and file system based IRC client")
|
||||
(description
|
||||
"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
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure
|
||||
(home-page "http://tools.suckless.org/sic/")
|
||||
(home-page "https://tools.suckless.org/sic/")
|
||||
(synopsis "Simple IRC client")
|
||||
(description
|
||||
"sic is a simple IRC client, even more minimalistic than ii.")
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux) ;alsa
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -2084,6 +2085,444 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n"
|
|||
(native-inputs
|
||||
`(("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
|
||||
(package
|
||||
(name "java-classpathx-servletapi")
|
||||
|
@ -5584,7 +6023,9 @@ tree walking, and translation.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))))
|
||||
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))
|
||||
(patches
|
||||
(search-patches "antlr3-3_3-fix-java8-compilation.patch"))))
|
||||
(arguments
|
||||
`(#:jar-name (string-append ,name "-" ,version ".jar")
|
||||
#:source-dir (string-join '("tool/src/main/java"
|
||||
|
@ -5674,7 +6115,9 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z"))))
|
||||
"0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z"))
|
||||
(patches
|
||||
(search-patches "antlr3-3_1-fix-java8-compilation.patch"))))
|
||||
(arguments
|
||||
`(#:jar-name (string-append "antlr3-" ,version ".jar")
|
||||
#: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
|
||||
;; it with our own version.
|
||||
(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
|
||||
`(("lang" ,java-ops4j-base-lang)
|
||||
("io" ,java-ops4j-base-io)
|
||||
|
@ -8853,3 +9297,44 @@ against expected outcomes.")
|
|||
("java-junit" ,java-junit)))
|
||||
(native-inputs
|
||||
`(("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)
|
||||
(propagated-inputs
|
||||
`(("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")
|
||||
(description
|
||||
"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.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.15.6")
|
||||
(define %linux-libre-hash "13mv6wrhwjw2wll918c1r9l872wzzanvyi8rk6gv0k6cg0f56jal")
|
||||
(define %linux-libre-version "4.15.7")
|
||||
(define %linux-libre-hash "1h17wc12lvva5vcm2z06cf57ywxb6i2snm9vxixw1lwibnksrb6l")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
%linux-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.22")
|
||||
(define %linux-libre-4.14-hash "1lhswcvgl077kzsln3nxmrdbnlc3b8mphjjmkqz0f2663wa6rhcv")
|
||||
(define %linux-libre-4.14-version "4.14.24")
|
||||
(define %linux-libre-4.14-hash "1i14djw3rmxb6syl6vfd5w76rjksbbaviynwj2dwwp9ki1h6p1hr")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
@ -402,14 +402,14 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.84"
|
||||
"08bgdcysva2igz4rc55slyz7nbzwz5skakh5c2iahsklg343pwbw"
|
||||
(make-linux-libre "4.9.86"
|
||||
"0fqixx3yyvznianygk8bfxzfqj8zpnjcalifhpfyb7rm3dyvi3wd"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.118"
|
||||
"0di91awl8ii1fxrfyqbpfpn134apcc98fas7yisjg87f16bn4azl"
|
||||
(make-linux-libre "4.4.120"
|
||||
"17zk5dbpa3kilf8m8i6r2jifjgi4yjim42gyk9j6n4218jjcszv6"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -873,7 +873,7 @@ ext3 or ext4 partition.")
|
|||
(define-public zerofree
|
||||
(package
|
||||
(name "zerofree")
|
||||
(version "1.1.0")
|
||||
(version "1.1.1")
|
||||
(home-page "https://frippery.org/uml/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -881,7 +881,7 @@ ext3 or ext4 partition.")
|
|||
".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"059g29x5r1xj6wcj4xj85l8w6qrxyl86yqbybjqqz6nxz4falxzf"))))
|
||||
"0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -2530,14 +2530,14 @@ thanks to the use of namespaces.")
|
|||
(define-public hdparm
|
||||
(package
|
||||
(name "hdparm")
|
||||
(version "9.53")
|
||||
(version "9.54")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6"))))
|
||||
"0ghnhdj7wfw6acfyhdawpfa5n9kvkvzgi1fw6i7sghgbjx5nhyjd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
|
@ -2864,15 +2864,15 @@ arrays when needed.")
|
|||
(define-public multipath-tools
|
||||
(package
|
||||
(name "multipath-tools")
|
||||
(version "0.7.1")
|
||||
(version "0.7.4")
|
||||
(source (origin
|
||||
(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"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p"))
|
||||
"02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -3717,7 +3717,7 @@ of flash storage.")
|
|||
(define-public libseccomp
|
||||
(package
|
||||
(name "libseccomp")
|
||||
(version "2.3.2")
|
||||
(version "2.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/seccomp/libseccomp/"
|
||||
|
@ -3725,7 +3725,7 @@ of flash storage.")
|
|||
"/libseccomp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
|
||||
"0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
|
|
|
@ -1375,7 +1375,7 @@ write simple, representation-independent mail handling code.")
|
|||
(define-public perl-email-address
|
||||
(package
|
||||
(name "perl-email-address")
|
||||
(version "1.908")
|
||||
(version "1.909")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1383,7 +1383,7 @@ write simple, representation-independent mail handling code.")
|
|||
"Email-Address-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i6ljdvpy279hpbqf6lgv4figr376rb2sh4yphj86xkdzsyn1y75"))))
|
||||
"0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Email-Address")
|
||||
(synopsis "Email address parsing and creation")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,7 +41,7 @@
|
|||
(define-public nagios
|
||||
(package
|
||||
(name "nagios")
|
||||
(version "4.2.4")
|
||||
(version "4.3.4")
|
||||
;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS.
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -49,7 +50,7 @@
|
|||
version "/nagios-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w0blbwiw0ps04b7gkyyk89qkgwsxh6gydhmggbm1kl3ar3mq1dh"))
|
||||
"1wa4m952sb23dqi5w759adimsp21bkhp598rpq9dnhz3v497h2y9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Ensure reproducibility.
|
||||
|
|
|
@ -3726,6 +3726,34 @@ notation and includes basic support for digital audio.")
|
|||
(home-page "http://www.rosegardenmusic.com/")
|
||||
(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
|
||||
(package
|
||||
(name "sorcer")
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; 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, 2017 ng0 <ng0@infotropique.org>
|
||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -267,6 +267,42 @@ filtering (subscriptions), seamless access to multiple transport protocols and
|
|||
more.")
|
||||
(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
|
||||
(package
|
||||
(name "librdkafka")
|
||||
|
@ -498,7 +534,7 @@ of the same name.")
|
|||
(define-public wireshark
|
||||
(package
|
||||
(name "wireshark")
|
||||
(version "2.4.4")
|
||||
(version "2.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -506,7 +542,7 @@ of the same name.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0n3g28hrhifnchlz4av0blq4ykm4zaxwwxbzdm9wsba27677b6h4"))))
|
||||
"1mvgy67rvnwj2kbc43s4il81jvz5ai0bx2j3j2js7x50zclyrcmk"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("c-ares" ,c-ares)
|
||||
("glib" ,glib)
|
||||
|
@ -1031,7 +1067,7 @@ library remains flexible, portable, and easily embeddable.")
|
|||
(define-public sslh
|
||||
(package
|
||||
(name "sslh")
|
||||
(version "1.19b")
|
||||
(version "1.19c")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p0zfy5ifzj7508zqidgkf8g43frm7l5xcs5s6v7132lypcsbd4k"))))
|
||||
"0pd8hifa9h0rm7vms3k6ic1k29xigrlv2idc5wgcafmb1v1243di"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(;; Test dependencies.
|
||||
|
@ -1403,14 +1439,14 @@ does not use SSH and requires a pre-shared symmetric key.")
|
|||
(define-public quagga
|
||||
(package
|
||||
(name "quagga")
|
||||
(version "1.2.3")
|
||||
(version "1.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/quagga/quagga-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cddxip9gd579parx64n6d7iq937ikrb8qxgvjxjm406l43hjb7f"))
|
||||
"1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73"))
|
||||
(patches
|
||||
(search-patches "quagga-reproducible-build.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -107,6 +107,17 @@ computers over a network.")
|
|||
(base32
|
||||
"0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv"))))
|
||||
(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
|
||||
`(("libressl" ,libressl))) ; enable TLS time constraints. See ntpd.conf(5).
|
||||
(home-page "http://www.openntpd.org/")
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
don't add anything for i686.
|
||||
Disable CPU optimizations not supported by all x86_64 systems.
|
||||
|
||||
--- 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
|
||||
|
@ -15,39 +14,30 @@ don't add anything for i686.
|
|||
#
|
||||
# SIMD_COMPILE_FLAGS
|
||||
#
|
||||
@@ -73,7 +68,7 @@
|
||||
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)
|
||||
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
|
||||
endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3)
|
||||
- if(HAVE_INTEL_SSE3)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3)
|
||||
- if(HAVE_INTEL_SSSE3)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL)
|
||||
- if(HAVE_INTEL_PCLMUL)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1)
|
||||
- if(HAVE_INTEL_SSE4_1)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2)
|
||||
- if(HAVE_INTEL_SSE4_2)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
|
||||
- endif()
|
||||
@@ -85,26 +80,6 @@
|
||||
if(HAVE_INTEL_SSE2)
|
||||
set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
|
||||
endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3)
|
||||
- if(HAVE_INTEL_SSE3)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3)
|
||||
- if(HAVE_INTEL_SSSE3)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL)
|
||||
- if(HAVE_INTEL_PCLMUL)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1)
|
||||
- if(HAVE_INTEL_SSE4_1)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1")
|
||||
- endif()
|
||||
- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2)
|
||||
- if(HAVE_INTEL_SSE4_2)
|
||||
- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
|
||||
- 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")
|
||||
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,
|
|
@ -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);
|
|
@ -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
|
||||
|
|
@ -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
|
||||
(package
|
||||
(name "perl-test-harness")
|
||||
(version "3.39")
|
||||
(version "3.41")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -537,7 +537,7 @@ contents of a file is equal to a particular string.")
|
|||
"Test-Harness-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0chiqnzmna2mglm37nzxvn9qhq2j31iwz3i9isqjs7bf3k449gb9"))))
|
||||
"0cgdgzywvscbvb9i0dmd2ls5jwqlnf2z6hx4f4lljpvdjd59v3m8"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -6008,7 +6008,7 @@ of data.")
|
|||
(define-public perl-mozilla-ca
|
||||
(package
|
||||
(name "perl-mozilla-ca")
|
||||
(version "20160104")
|
||||
(version "20180117")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6016,7 +6016,7 @@ of data.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aizn08lrdrgjz9vagkjmw2c7sxn46fzz521v9dbcqii4jd0d9r7"))))
|
||||
"01p4ykyilk1639dxgjaa2n7rz1f0zbqxkq11yc9n6xcz26z9zk7j"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Mozilla-CA/")
|
||||
(synopsis "Mozilla's CA cert bundle in PEM format")
|
||||
|
@ -7340,7 +7340,7 @@ return value is the sub.")
|
|||
(define-public perl-sub-quote
|
||||
(package
|
||||
(name "perl-sub-quote")
|
||||
(version "2.004000")
|
||||
(version "2.005000")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7349,7 +7349,7 @@ return value is the sub.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq"))))
|
||||
"1zv45cvj4ifkbr61ydcpphnj6lvib37gfxwfh40h0yzf3c8lbca4"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-fatal" ,perl-test-fatal)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -49,10 +50,19 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#: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
|
||||
(package
|
||||
(name "php")
|
||||
(version "7.2.1")
|
||||
(version "7.2.3")
|
||||
(home-page "https://secure.php.net/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -60,7 +70,7 @@
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08l8zmp8wbavq6wlgx19irz59csb44jhbsr172bfsq36v8pzhv3c"))
|
||||
"07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(with-directory-excursion "ext"
|
||||
|
@ -277,11 +287,7 @@
|
|||
"ext/mbstring/tests/mb_ereg_variation3.phpt"
|
||||
"ext/mbstring/tests/mb_ereg_replace_variation1.phpt"
|
||||
"ext/mbstring/tests/bug72994.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"))
|
||||
"ext/ldap/tests/ldap_set_option_error.phpt"))
|
||||
|
||||
;; Skip tests requiring network access.
|
||||
(setenv "SKIP_ONLINE_TESTS" "1")
|
||||
|
@ -298,7 +304,7 @@
|
|||
("curl" ,curl)
|
||||
("cyrus-sasl" ,cyrus-sasl)
|
||||
("freetype" ,freetype)
|
||||
("gd" ,gd)
|
||||
("gd" ,gd-for-php)
|
||||
("gdbm" ,gdbm)
|
||||
("glibc" ,glibc)
|
||||
("gmp" ,gmp)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -27,6 +27,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages groff)
|
||||
|
@ -242,7 +243,7 @@ seen in a terminal.")
|
|||
(define-public highlight
|
||||
(package
|
||||
(name "highlight")
|
||||
(version "3.33")
|
||||
(version "3.42")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -250,10 +251,10 @@ seen in a terminal.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g2whi6pxl640795vymikm82a1my841jmh7fiqzbrjpc9wsk1db4"))))
|
||||
"07iihzy8ckzdrxqd6bzbij4hy4mmlixibjnjviqfihd0hh1q30m5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags
|
||||
(let ((confdir (string-append %output "/share/highlight/config/")))
|
||||
(list (string-append "PREFIX=" %output)
|
||||
|
@ -261,12 +262,13 @@ seen in a terminal.")
|
|||
(string-append "conf_dir=" confdir)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'fix-search-for-lua
|
||||
(lambda _
|
||||
(substitute* "src/makefile"
|
||||
(("(pkg-config.*)lua" _ prefix)
|
||||
(string-append prefix "lua-5.3")))
|
||||
(string-append prefix "lua-" ,(version-major+minor
|
||||
(package-version lua)))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("lua" ,lua)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -65,7 +66,7 @@
|
|||
`(("autoconf" ,autoconf)
|
||||
("gfortran" ,gfortran)))
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
;; 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
|
||||
|
@ -84,7 +85,8 @@ stealtime lmsensors infiniband powercap"
|
|||
(add-before 'configure 'autoconf
|
||||
(lambda _
|
||||
(chdir "src")
|
||||
(zero? (system* "autoconf"))))
|
||||
(invoke "autoconf")
|
||||
#t))
|
||||
;; Amalgamating with the following clause gives double substitution.
|
||||
(add-before 'patch-source-shebangs 'patch-components
|
||||
(lambda _
|
||||
|
@ -95,28 +97,26 @@ stealtime lmsensors infiniband powercap"
|
|||
(add-after 'configure 'components
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "components"
|
||||
(and
|
||||
(with-directory-excursion "infiniband_umad"
|
||||
(zero? (system* "./configure")))
|
||||
(with-directory-excursion "lmsensors"
|
||||
(let ((base (assoc-ref inputs "lm-sensors")))
|
||||
(zero?
|
||||
(system*
|
||||
"./configure"
|
||||
(string-append "--with-sensors_incdir=" base
|
||||
"/include/sensors")
|
||||
(string-append "--with-sensors_libdir=" base "/lib")))))))))
|
||||
(with-directory-excursion "infiniband_umad"
|
||||
(invoke "./configure"))
|
||||
(with-directory-excursion "lmsensors"
|
||||
(let ((base (assoc-ref inputs "lm-sensors")))
|
||||
(invoke "./configure"
|
||||
(string-append "--with-sensors_incdir="
|
||||
base "/include/sensors")
|
||||
(string-append "--with-sensors_libdir="
|
||||
base "/lib")))))
|
||||
#t))
|
||||
(add-after 'install 'extra-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "out")
|
||||
"/share/doc")))
|
||||
(mkdir-p doc)
|
||||
"/share/doc/" ,name "-" ,version)))
|
||||
(chdir "..") ; we went into src above
|
||||
(for-each (lambda (file)
|
||||
(install-file file doc))
|
||||
'("README" "RELEASENOTES.txt" "LICENSE.txt"))
|
||||
'("README" "RELEASENOTES.txt"))
|
||||
#t))))))
|
||||
(home-page "http://icl.cs.utk.edu/papi/")
|
||||
(home-page "https://icl.utk.edu/papi/")
|
||||
(synopsis "Performance Application Programming Interface")
|
||||
(description
|
||||
"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
|
||||
(package
|
||||
(name "python-flask-babel")
|
||||
(version "0.11.1")
|
||||
(version "0.11.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask-Babel" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16b80cipdba9xj3jlaiaq6wgrgpjb70w3j01jjy9hbp4k71kd6yj"))))
|
||||
"0ff9n165vhf1nhv6807ckhpp224jw7k7sd7jz5kfh3sbpl85gmy0"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("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
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "py.test" "-v" "webencodings/tests.py")))))))
|
||||
(invoke "py.test" "-v" "webencodings/tests.py")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(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
|
||||
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
|
||||
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.
|
||||
The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard
|
||||
defines all such details so that implementations do not have to
|
||||
|
@ -295,7 +296,8 @@ is Python’s.")
|
|||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./admin/runtests")))))))
|
||||
(invoke "./admin/runtests")
|
||||
#t)))))
|
||||
(properties `((python2-variant . ,(delay python2-openid))))
|
||||
(propagated-inputs
|
||||
`(("python-defusedxml" ,python-defusedxml)))
|
||||
|
@ -332,19 +334,19 @@ for clients and servers.")
|
|||
(define-public python-cssutils
|
||||
(package
|
||||
(name "python-cssutils")
|
||||
(version "1.0.1")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cssutils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq"))))
|
||||
"1bxchrbqzapwijap0yhlxdil1w9bmwvgx77aizlkhc2mcxjg1z52"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip))) ; for unpacking the source
|
||||
`(("unzip" ,unzip))) ; for unpacking the source
|
||||
(arguments
|
||||
`(#:tests? #f)) ;tests require python-pbr < 1.7.0
|
||||
`(#:tests? #f)) ; tests require python-pbr < 1.7.0
|
||||
(home-page "http://cthedot.de/cssutils/")
|
||||
(synopsis
|
||||
"CSS Cascading Style Sheets library for Python")
|
||||
|
@ -451,7 +453,8 @@ teams extension for python-openid.")
|
|||
;; (lambda _
|
||||
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
|
||||
;; ;; "tornado/platform/kqueue.py". This is the supported method:
|
||||
;; (zero? (system* "python" "-m" "tornado.test")))))
|
||||
;; (invoke- "python" "-m" "tornado.test")
|
||||
;; #t)))
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
`(("python-certifi" ,python-certifi)))
|
||||
|
@ -522,7 +525,8 @@ web framework, either via the basic or digest authentication schemes.")
|
|||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "nosetests")))))))
|
||||
(invoke "nosetests")
|
||||
#t)))))
|
||||
(home-page "https://github.com/takluyver/terminado")
|
||||
(synopsis "Terminals served to term.js using Tornado websockets")
|
||||
(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
|
||||
(package
|
||||
(name "python-ndg-httpsclient")
|
||||
(version "0.4.2")
|
||||
(version "0.4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ndg_httpsclient" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b5qirv46v4dpnmfqviwq42mdwfcby4dxmz0i41wad2337pqf2aq"))))
|
||||
"0sl5ak1r1xil9ms0a9fh9fm6ncml65kgnjpjfic9dhnaimwx997v"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(;; The tests appear to require networking.
|
||||
|
@ -1306,14 +1310,14 @@ file.")
|
|||
(define-public python-webtest
|
||||
(package
|
||||
(name "python-webtest")
|
||||
(version "2.0.20")
|
||||
(version "2.0.29")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "WebTest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv"))))
|
||||
"0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(;; Unfortunately we have to disable tests!
|
||||
|
@ -1519,7 +1523,8 @@ library.")
|
|||
(add-after 'install 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(zero? (system* "py.test" "src/geventhttpclient/tests" "-v")))))))
|
||||
(invoke "py.test" "src/geventhttpclient/tests" "-v")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
|
@ -1629,7 +1634,8 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
|
|||
(setenv "PYTHONPATH"
|
||||
(string-append (getcwd) "/build/lib:"
|
||||
(getenv "PYTHONPATH")))
|
||||
(zero? (system* "py.test" "-vv")))))))
|
||||
(invoke "py.test" "-vv")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-redis" ,python-redis)
|
||||
|
@ -1700,13 +1706,13 @@ Betamax.")
|
|||
(define-public python-s3transfer
|
||||
(package
|
||||
(name "python-s3transfer")
|
||||
(version "0.1.11")
|
||||
(version "0.1.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "s3transfer" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yfrfnf404cxzn3iswibqjxklsl0b1lwgqiml6pwiqj79a7zbwbn"))))
|
||||
"1harvyn1s8v54n1w5h7c0lg4bgjh68aylhg28s8n174q53h1ip4h"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1715,7 +1721,8 @@ Betamax.")
|
|||
(lambda _
|
||||
;; 7 of the 'integration' tests require network access or login
|
||||
;; credentials.
|
||||
(zero? (system* "nosetests" "--exclude=integration")))))))
|
||||
(invoke "nosetests" "--exclude=integration")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-docutils" ,python-docutils)
|
||||
("python-mock" ,python-mock)
|
||||
|
@ -1831,7 +1838,8 @@ transfers.")
|
|||
;; (modify-phases %standard-phases
|
||||
;; (replace 'check
|
||||
;; (lambda _
|
||||
;; (zero? (system* "nosetests")))))))
|
||||
;; (invoke "nosetests")
|
||||
;; #t)))))
|
||||
(propagated-inputs
|
||||
`(("python-aniso8601" ,python-aniso8601)
|
||||
("python-flask" ,python-flask)
|
||||
|
@ -1877,16 +1885,16 @@ specs from your Flask-Restful projects.")
|
|||
(define-public python-htmlmin
|
||||
(package
|
||||
(name "python-htmlmin")
|
||||
(version "0.1.10")
|
||||
(version "0.1.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "htmlmin" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qxa93j3p1ak32qh8d9kshqv8v3z0hkc13dwbhp5cn7sn3xmsp6a"))))
|
||||
"0y51xhabw6x8jk8k93xl8vznshpz3jb6l28075r5sjip613fzhah"))))
|
||||
(arguments
|
||||
`(#:tests? #f)) ;htmlmin has no tests
|
||||
`(#:tests? #f)) ; no tests
|
||||
(build-system python-build-system)
|
||||
(home-page "https://htmlmin.readthedocs.org/en/latest/")
|
||||
(synopsis "HTML minifier")
|
||||
|
@ -2081,14 +2089,14 @@ this it tries to be opinion-free and very extendable.")
|
|||
(define-public python-flask-script
|
||||
(package
|
||||
(name "python-flask-script")
|
||||
(version "2.0.5")
|
||||
(version "2.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask-Script" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf"))))
|
||||
"0r8w2v89nj6b9p91p495cga5m72a673l2wc0hp0zqk05j4yrc9b4"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-flask" ,python-flask)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
|
||||
;;; 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 Eric Dvorsak <eric@dvorsak.fr>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
|
@ -9352,21 +9352,29 @@ etc.")
|
|||
(define-public python-stem
|
||||
(package
|
||||
(name "python-stem")
|
||||
(version "1.5.4")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stem" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j7pnblrn0yr6jmxvsq6y0ihmxmj5x50jl2n2606w67f6wq16j9n"))))
|
||||
"1va9p3ij7lxg6ixfsvaql06dn11l3fgpxmss1dhlvafm7sqizznp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#: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
|
||||
(lambda _
|
||||
(zero? (system* "./run_tests.py" "--unit")))))))
|
||||
(invoke "./run_tests.py" "--unit")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pep8" ,python-pep8)
|
||||
|
@ -10165,14 +10173,14 @@ network.")
|
|||
(define-public python-xopen
|
||||
(package
|
||||
(name "python-xopen")
|
||||
(version "0.1.1")
|
||||
(version "0.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xopen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wx6mylzcsyhjl19ycb83qq6iqpmr927lz62njfsar6ldsj0qcni"))
|
||||
"0bzjmn3rl1cd3d2q39cjwnkhaspk2b0hfj3rl64pclm44ihg5fb6"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/marcelm/xopen/")
|
||||
|
@ -12717,7 +12725,6 @@ functions by partial application of operators.")
|
|||
(invoke "py.test"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-warnings" ,python-pytest-warnings)
|
||||
("python-whatever" ,python-whatever)))
|
||||
(home-page "http://github.com/Suor/funcy")
|
||||
(synopsis "Functional tools")
|
||||
|
|
|
@ -1735,7 +1735,7 @@ contain over 620 classes.")
|
|||
(string-append out "/lib/qt$${QT_MAJOR_VERSION}")))
|
||||
(invoke "qmake")))))))
|
||||
(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")
|
||||
(description "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
|
||||
editor control. QScintilla includes features especially useful when editing
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
(define-public re2
|
||||
(package
|
||||
(name "re2")
|
||||
(version "2018-02-01")
|
||||
(version "2018-03-01")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -39,7 +39,7 @@
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1131hwgid76la15hh2g15gj20fzz8iq3krniwks6wxn9h4q87ay8"))))
|
||||
"0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ragel)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -280,6 +281,62 @@ an extensible architecture with a swappable backend.")
|
|||
(home-page "https://github.com/svenfuchs/i18n")
|
||||
(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
|
||||
;; dependencies use RSpec for their test suites! To avoid these circular
|
||||
;; dependencies, we disable tests for all of the RSpec-related packages.
|
||||
|
@ -635,6 +692,84 @@ format.")
|
|||
(home-page "https://github.com/nicksieger/ci_reporter")
|
||||
(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
|
||||
(package
|
||||
(name "ruby-saikuro-treemap")
|
||||
|
@ -1094,6 +1229,30 @@ features.")
|
|||
(home-page "https://github.com/chneukirchen/bacon")
|
||||
(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
|
||||
(package
|
||||
(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")
|
||||
(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
|
||||
(package
|
||||
(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")
|
||||
(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
|
||||
(package
|
||||
(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")
|
||||
(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
|
||||
(package
|
||||
(name "ruby-git")
|
||||
|
@ -3328,6 +3559,33 @@ that TURN is no longer being maintained.")
|
|||
(home-page "http://rubygems.org/gems/turn")
|
||||
(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
|
||||
(package
|
||||
(name "ruby-mime-types-data")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,7 +31,7 @@
|
|||
(define-public sdcc
|
||||
(package
|
||||
(name "sdcc")
|
||||
(version "3.6.0")
|
||||
(version "3.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -38,7 +39,7 @@
|
|||
"/" version "/sdcc-src-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8"))))
|
||||
"13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
|
@ -59,10 +60,10 @@
|
|||
#t)))))
|
||||
(home-page "http://sdcc.sourceforge.net")
|
||||
(synopsis "Small devices C compiler")
|
||||
(description "SDCC is a retargettable, optimizing Standard C compiler suite
|
||||
that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, ...),
|
||||
(description "SDCC is a retargetable, optimizing Standard C compiler suite
|
||||
that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...),
|
||||
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.
|
||||
Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
|
||||
It can be retargeted for other microprocessors.")
|
||||
|
|
|
@ -99,7 +99,7 @@ joystick, and graphics hardware.")
|
|||
(define-public sdl2
|
||||
(package (inherit sdl)
|
||||
(name "sdl2")
|
||||
(version "2.0.7")
|
||||
(version "2.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -107,7 +107,7 @@ joystick, and graphics hardware.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pjdpxla5kh1w1b0shxrx97a116vyy31njxi0jhyvqhk8d6cfdgf"))))
|
||||
"1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments sdl)
|
||||
((#:configure-flags flags)
|
||||
|
|
|
@ -137,7 +137,7 @@ rich set of boolean query operators.")
|
|||
"-Wl,-rpath=../src/.libs")))
|
||||
(zero? (system* "make"))
|
||||
(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")
|
||||
(description
|
||||
"libtocc is the engine of the Tocc project, a tag-based file management
|
||||
|
@ -161,7 +161,7 @@ files and directories.")
|
|||
(add-after
|
||||
'unpack 'chdir-source
|
||||
(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")
|
||||
(description
|
||||
"Tocc is a tag-based file management system. This package contains the
|
||||
|
|
|
@ -32,11 +32,13 @@
|
|||
#:use-module (guix hg-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#: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
|
||||
(package
|
||||
(name "r-mass")
|
||||
(version "7.3-48")
|
||||
(version "7.3-49")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "MASS" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02q95ba909p2gxnzfp295ipxjnv14f7bm55nicxwn2kj8hizpzqd"))))
|
||||
"1yjbnj1p4z0vw84wga8q5fyqiw4n6r7pc6rdwam7vsbiamyzfcqs"))))
|
||||
(properties `((upstream-name . "MASS")))
|
||||
(build-system r-build-system)
|
||||
(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
|
||||
(package
|
||||
(name "r-rpart")
|
||||
(version "4.1-12")
|
||||
(version "4.1-13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rpart" version))
|
||||
(sha256
|
||||
(base32
|
||||
"177p03w4m0qshb3sqkdyixim3f44g2an31v3vlbjmpzjvd5ff6yq"))))
|
||||
"0k29qx3k3pj5sgrpg0p47yd8i811rmdakaw57bigpq1449asc4cf"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/rpart")
|
||||
(synopsis "Recursive partitioning and regression trees")
|
||||
|
@ -1098,20 +1100,21 @@ agnes cluster diagrams.")
|
|||
(define-public r-gdtools
|
||||
(package
|
||||
(name "r-gdtools")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gdtools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"103wnc8sq0iwcnj4j14hd420d2dqdyf13s3f25icsznrlyzdkhf5"))))
|
||||
"122k9spymawfnfyksxyapwq9cigydy5nrjwhrwrhy3qkax3aycf6"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
`(("r-rcpp" ,r-rcpp)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)))
|
||||
`(("cairo" ,cairo)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-withr" ,r-withr)))
|
||||
(home-page "https://cran.r-project.org/web/packages/gdtools")
|
||||
|
@ -1187,13 +1190,13 @@ evaluation (NSE) in R.")
|
|||
(define-public r-dbi
|
||||
(package
|
||||
(name "r-dbi")
|
||||
(version "0.7")
|
||||
(version "0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "DBI" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04fyrxdpqcygg5wviy637y6lgk64xqjjq31lvv4hwqj5kbaxamr5"))))
|
||||
"16nf8flxr5vdz8yrpprfbzydy3ajixkp9hc8ibd9n7r9nc29waym"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/rstats-db/DBI")
|
||||
(synopsis "R database interface")
|
||||
|
@ -1330,13 +1333,13 @@ syntax that can be converted to XHTML or other formats.")
|
|||
(define-public r-yaml
|
||||
(package
|
||||
(name "r-yaml")
|
||||
(version "2.1.16")
|
||||
(version "2.1.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "yaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xlsmqal607w6c9rx86061y1fwpbyd5lqp9bad5n7cc9a0blpnkm"))))
|
||||
"10y6wnv2v8k396far29haqv2s82p4zm04rrsxk183wg19gb51was"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/yaml/")
|
||||
(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
|
||||
(package
|
||||
(name "r-rcpparmadillo")
|
||||
(version "0.8.300.1.0")
|
||||
(version "0.8.400.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RcppArmadillo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p6cbnwxgzigf7n5qhqvxdr3nd3pq3c2qq6pskqz7avzf813fy83"))))
|
||||
"11y2ksf46zw6fcz0kk70szyfn7qqxwwd33xylrxvnyb7ldmbc5yr"))))
|
||||
(properties `((upstream-name . "RcppArmadillo")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
|
@ -2575,14 +2578,14 @@ certain criterion, e.g., it contains a certain regular file.")
|
|||
(define-public r-rmarkdown
|
||||
(package
|
||||
(name "r-rmarkdown")
|
||||
(version "1.8")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rmarkdown" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q1y1qx87xp6vf9h7mfl77rqhmd01xl53l9ap9qj99bfvpabb572"))))
|
||||
"0wq6kbhrkv3fhcy4hg5yyv9gdvf8gr4nsjwdifs4ih8lnn0dmdyb"))))
|
||||
(properties `((upstream-name . "rmarkdown")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -2811,6 +2814,19 @@ plotted and compared with the asymptotic curve.")
|
|||
"0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x"))))
|
||||
(properties `((upstream-name . "lambda.r")))
|
||||
(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")
|
||||
(synopsis "Functional programming extension for R")
|
||||
(description
|
||||
|
@ -3577,14 +3593,14 @@ the 'lite' version of the more complete @code{viridis} package.")
|
|||
(define-public r-tidyselect
|
||||
(package
|
||||
(name "r-tidyselect")
|
||||
(version "0.2.3")
|
||||
(version "0.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tidyselect" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b0w30yq30c7bwpaghp3hp0nncqwcmvrra9j58fhx9jihay3l68c"))))
|
||||
"1592dbzawhd1hpsp9919l4sifyiaaj6xr7lnhsbwa6jwmmb0xcsw"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-glue" ,r-glue)
|
||||
|
@ -4039,6 +4055,14 @@ Zurich, including many that are related to graphics.")
|
|||
(base32
|
||||
"1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"))))
|
||||
(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")
|
||||
(synopsis "Various R programming tools")
|
||||
(description
|
||||
|
@ -5356,14 +5380,14 @@ is supported.")
|
|||
(define-public r-lubridate
|
||||
(package
|
||||
(name "r-lubridate")
|
||||
(version "1.7.2")
|
||||
(version "1.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "lubridate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0k417a1xp5gxf77ycbnx5apzpc5d25sjm83ss7wmqpbnhnr5dcav"))))
|
||||
"1pzkqfiahnsdm3zx46asgn8fw43vlxvbh7r4cn70c7ffmxabzzrc"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("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
|
||||
shaped points? Now you can!")
|
||||
(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
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -29,6 +29,7 @@
|
|||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
|
@ -36,6 +37,7 @@
|
|||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
|
@ -50,18 +52,18 @@
|
|||
(define-public ceph
|
||||
(package
|
||||
(name "ceph")
|
||||
(version "12.0.2")
|
||||
(version "12.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l9v072ba28i984y5rwny9i11nmpyx5bl7awxg48plyadm2l3g14"))
|
||||
"13hv8scaxc1gdvrhzbfnsk4yy3pla6n1i4j4j4zf7schmbf0j8mp"))
|
||||
(patches
|
||||
(search-patches "ceph-skip-unittest_blockdev.patch"
|
||||
"ceph-skip-collect-sys-info-test.patch"
|
||||
"ceph-disable-unittest-throttle.patch"
|
||||
"ceph-rocksdb-compat.patch"
|
||||
"ceph-disable-cpu-optimizations.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -74,7 +76,6 @@
|
|||
;"src/xxHash"
|
||||
;"src/zstd"
|
||||
;"src/civetweb"
|
||||
;"src/Beast"
|
||||
"src/test/downloads"
|
||||
"src/dpdk"
|
||||
"src/spdk"
|
||||
|
@ -105,6 +106,7 @@
|
|||
"-DWITH_SYSTEM_BOOST=ON"
|
||||
"-DWITH_PYTHON3=ON"
|
||||
;; TODO: Enable these when available in Guix.
|
||||
"-DWITH_BABELTRACE=OFF"
|
||||
"-DWITH_LTTNG=OFF"
|
||||
"-DWITH_XFS=OFF"
|
||||
"-DWITH_XIO=OFF"
|
||||
|
@ -114,6 +116,7 @@
|
|||
;; <https://bugs.gnu.org/29674> for details. Disable tests until
|
||||
;; resolved.
|
||||
#:tests? #f
|
||||
#:cmake ,cmake-3.11
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
|
@ -152,21 +155,17 @@
|
|||
|
||||
(substitute* "src/test/test_subprocess.cc"
|
||||
(("/bin/sh") (which "sh")))
|
||||
(substitute* "src/test/ceph_objectstore_tool.py"
|
||||
(substitute* "qa/standalone/special/ceph_objectstore_tool.py"
|
||||
(("/bin/rm") (which "rm")))
|
||||
(substitute* "src/ceph-disk/ceph_disk/main.py"
|
||||
(("/bin/mount") "mount")
|
||||
(("/bin/umount") "umount")
|
||||
(("/sbin/blkid") (which "blkid"))
|
||||
(("'cryptsetup'") (string-append "'" (which "cryptsetup") "'"))
|
||||
(("'sgdisk'") (string-append "'" (which "sgdisk") "'"))
|
||||
(("'parted'") (string-append "'" (which "parted") "'"))
|
||||
(("'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"
|
||||
(("/usr/bin/ceph-rbdnamer")
|
||||
(string-append out "/bin/ceph-rbdnamer")))
|
||||
|
@ -263,23 +262,31 @@
|
|||
(getenv "PYTHONPATH")))
|
||||
#t)))
|
||||
(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"))
|
||||
(ceph (string-append out "/bin/ceph"))
|
||||
(ceph-disk (string-append out "/bin/ceph-disk"))
|
||||
(ceph-detect-init (string-append
|
||||
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)
|
||||
(wrap-program executable
|
||||
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
|
||||
(list ceph-disk ceph-detect-init))
|
||||
(list ceph ceph-disk ceph-detect-init))
|
||||
#t))))))
|
||||
(outputs
|
||||
'("out" "lib"))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
`(("gperf" ,gperf)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-cython" ,python-cython)
|
||||
("python-sphinx" ,python-sphinx)
|
||||
("yasm" ,yasm)
|
||||
|
@ -310,7 +317,7 @@
|
|||
("python2-testtools" ,python2-testtools)
|
||||
("python2-tox" ,python2-tox)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
`(("boost" ,boost-1.66)
|
||||
("curl" ,curl)
|
||||
("cryptsetup" ,cryptsetup)
|
||||
("expat" ,expat)
|
||||
|
@ -329,6 +336,7 @@
|
|||
("nss" ,nss)
|
||||
("parted" ,parted)
|
||||
("python@2" ,python-2)
|
||||
("python2-prettytable" ,python2-prettytable) ;used by ceph_daemon.py
|
||||
("python@3" ,python-3)
|
||||
("rocksdb" ,rocksdb)
|
||||
("snappy" ,snappy)
|
||||
|
|
|
@ -564,7 +564,7 @@ environment variable.")
|
|||
(define-public fortify-headers
|
||||
(package
|
||||
(name "fortify-headers")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -572,7 +572,7 @@ environment variable.")
|
|||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cacdczpjb49c4i1168g541wnl3i3gbpv2m2wbnmw5wddlyhgkdg"))))
|
||||
"1z517ajy34l2k5lz2gvhbmia9xjgagffi4s22azqxnlmgb1g2xfg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(define-public syncthing
|
||||
(package
|
||||
(name "syncthing")
|
||||
(version "0.14.44")
|
||||
(version "0.14.45")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||
|
@ -36,7 +36,7 @@
|
|||
"/syncthing-source-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fxq52w1b05928xp0a333rg23fabj0nykgg7v4gz01f3vrxyydi1"))
|
||||
"0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij"))
|
||||
(modules '((guix build utils)))
|
||||
;; Delete bundled ("vendored") free software source code.
|
||||
(snippet
|
||||
|
@ -110,8 +110,6 @@
|
|||
(inputs
|
||||
`(("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-pfilter"
|
||||
|
@ -119,8 +117,6 @@
|
|||
("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-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-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-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-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
|
||||
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
|
||||
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
|
||||
("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-net-union" ,(go-golang-org-x-net-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")
|
||||
(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
|
||||
(let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb")
|
||||
(revision "1"))
|
||||
|
@ -1577,97 +1548,6 @@ rolling hash.")
|
|||
(home-page "https://github.com/chmduquesne/rollinghash")
|
||||
(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
|
||||
(let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc")
|
||||
(revision "1"))
|
||||
|
@ -1792,56 +1672,6 @@ using sh's word-splitting rules.")
|
|||
(home-page "https://github.com/kballard/go-shellquote")
|
||||
(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
|
||||
(let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3")
|
||||
(revision "2"))
|
||||
|
@ -1868,56 +1698,6 @@ notification library in Go.")
|
|||
(home-page "https://github.com/zillode/notify")
|
||||
(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
|
||||
(let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
|
||||
(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.
|
||||
(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
|
||||
(package
|
||||
(name "texlive-latex-titlesec")
|
||||
|
|
|
@ -508,10 +508,12 @@ in a portable way.")
|
|||
(add-after 'unpack 'delete-test
|
||||
;; See comments about the license.
|
||||
(lambda _
|
||||
(delete-file "src/tests/dbacl-jap.shin")))
|
||||
(delete-file "src/tests/dbacl-jap.shin")
|
||||
#t))
|
||||
(add-after 'delete-sample6-and-japanese 'autoreconf
|
||||
(lambda _
|
||||
(zero? (system* "autoreconf" "-vif"))))
|
||||
(invoke "autoreconf" "-vif")
|
||||
#t))
|
||||
(add-after 'unpack 'fix-test-files
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -532,7 +534,7 @@ in a portable way.")
|
|||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("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")
|
||||
(description
|
||||
"dbacl is a fast Bayesian text and email classifier. It builds a variety
|
||||
|
|
|
@ -47,14 +47,14 @@
|
|||
(define-public tor
|
||||
(package
|
||||
(name "tor")
|
||||
(version "0.3.2.9")
|
||||
(version "0.3.2.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.torproject.org/tor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03qn55c969zynnx71r82iaqnadpzq0qclq0zmjhb3n4qma8pnnj3"))))
|
||||
"1vnb2wkcmm8rnz0fqi3k7arl60mpycs8rjn8hvbgv56g3p1pgpv0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--enable-gcc-hardening"
|
||||
|
@ -146,7 +146,8 @@ rejects UDP traffic from the application you're using.")
|
|||
(lambda _
|
||||
;; Unfortunately, this is not a tarball produced by
|
||||
;; "make dist".
|
||||
(zero? (system* "autoreconf" "-vfi")))))
|
||||
(invoke "autoreconf" "-vfi")
|
||||
#t)))
|
||||
#:tests? #f))
|
||||
(inputs
|
||||
`(("w3m" ,w3m)
|
||||
|
@ -230,7 +231,9 @@ networks.")
|
|||
;; After all the patching we run the tests after installing.
|
||||
;; This is also a known issue:
|
||||
;; https://github.com/micahflee/onionshare/issues/284
|
||||
(lambda _ (zero? (system* "nosetests" "test")))))))
|
||||
(lambda _
|
||||
(invoke "nosetests" "test")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)))
|
||||
(inputs
|
||||
|
|
|
@ -928,7 +928,7 @@ also walk each side of a merge and test those changes individually.")
|
|||
(define-public gitolite
|
||||
(package
|
||||
(name "gitolite")
|
||||
(version "3.6.6")
|
||||
(version "3.6.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"07q33f86694s0x3k9lcmy1vzfw9appdrlmmb9j3bz4qkrxqdnwb9"))))
|
||||
"1idxipg0df80bhjcxgwxs3lllqnkvhwpinmfv1xvg1l98fxiapgp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#: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.
|
||||
(substitute* "src/triggers/post-compile/ssh-authkeys"
|
||||
(("\\$glshell \\$user")
|
||||
"gitolite-shell $user")))))
|
||||
"gitolite-shell $user"))
|
||||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(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")))
|
||||
(mkdir-p sharedir)
|
||||
(mkdir-p bindir)
|
||||
(system* "./install" "-to" sharedir)
|
||||
(invoke "./install" "-to" sharedir)
|
||||
;; Create symlinks for executable scripts in /bin.
|
||||
(for-each (lambda (script)
|
||||
(symlink (string-append sharedir "/" script)
|
||||
|
@ -1643,14 +1644,15 @@ repository\" with git-annex.")
|
|||
#:phases (modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs (configure-flags '())
|
||||
#:allow-other-keys)
|
||||
#:allow-other-keys)
|
||||
;; The 'configure' script is not an autoconf script and
|
||||
;; chokes on unrecognized options.
|
||||
(zero? (apply system*
|
||||
"./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out"))
|
||||
configure-flags))))
|
||||
(apply invoke
|
||||
"./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out"))
|
||||
configure-flags)
|
||||
#t))
|
||||
(add-before 'check 'test-setup
|
||||
(lambda _
|
||||
(setenv "USER" "guix")
|
||||
|
|
|
@ -1091,7 +1091,7 @@ projects while introducing many more.")
|
|||
(define-public gnome-mpv
|
||||
(package
|
||||
(name "gnome-mpv")
|
||||
(version "0.13")
|
||||
(version "0.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1100,7 +1100,7 @@ projects while introducing many more.")
|
|||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w944ymyssgfcjiczrq4saig90crw9b9hhdsnchfbjsw173qi8n5"))))
|
||||
"03kjwd5jq0i5ajnvhjwf5019bjjaa16xkdrhdkiz1k58ipjvvj93"))))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -241,7 +241,7 @@ and probably others.")
|
|||
(define-public openvpn
|
||||
(package
|
||||
(name "openvpn")
|
||||
(version "2.4.4")
|
||||
(version "2.4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -249,7 +249,7 @@ and probably others.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn"))))
|
||||
"17njq59hsraqyxrbhkrxr7dvx0p066s3pn8w1mi0yd9jldis7h23"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-iproute2=yes")))
|
||||
|
@ -262,11 +262,12 @@ and probably others.")
|
|||
("linux-pam" ,linux-pam)))
|
||||
(home-page "https://openvpn.net/")
|
||||
(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
|
||||
bridged configurations and remote access facilities. It uses a custom
|
||||
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)))
|
||||
|
||||
(define-public tinc
|
||||
|
|
|
@ -799,7 +799,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
|||
(define-public libpsl
|
||||
(package
|
||||
(name "libpsl")
|
||||
(version "0.20.0")
|
||||
(version "0.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
||||
|
@ -807,7 +807,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
|||
"/libpsl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rsjm6mb71nnj6ikr2dq5qmny314v3j7m07zz1i7m6v8hxxm98i7"))))
|
||||
"17r18y25ka2ck2ykfidbg4a7jpyzmkqwrzplgqjp7mwd2l9rc6cm"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("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
|
||||
(package
|
||||
(name "perl-io-socket-ip")
|
||||
(version "0.38")
|
||||
(version "0.39")
|
||||
(source
|
||||
(origin
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"0scsnahxwnymg80a3k0p0cnr574nk7x9inn9wjniz0iycicclyhb"))))
|
||||
"15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
||||
(home-page "http://search.cpan.org/dist/IO-Socket-IP")
|
||||
|
@ -3660,7 +3660,7 @@ library.")
|
|||
(define-public perl-www-mechanize
|
||||
(package
|
||||
(name "perl-www-mechanize")
|
||||
(version "1.86")
|
||||
(version "1.87")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -3668,7 +3668,7 @@ library.")
|
|||
"WWW-Mechanize-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f"))))
|
||||
"1kxrydhl7nxlyjv0xvyiyj4igdv4fwnggv0ihlp79bysbjjl54w1"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs ;only for tests
|
||||
`(("perl-cgi" ,perl-cgi)
|
||||
|
@ -3783,13 +3783,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
|
|||
(define-public r-httpuv
|
||||
(package
|
||||
(name "r-httpuv")
|
||||
(version "1.3.6")
|
||||
(version "1.3.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "httpuv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nzbcw1dm4l5qc9156kz95rdb8bwnpdr57wfc87w8arv7m0i40bc"))))
|
||||
"0h3hkw575b211bxma23inbq1565wkhiapgasd539h219apqs534f"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs `(("r-rcpp" ,r-rcpp)))
|
||||
(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
|
||||
(package
|
||||
(name "nghttp2")
|
||||
(version "1.30.0")
|
||||
(version "1.31.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6362,7 +6362,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b2j7il0wp8hi4jl3cah7fkshmg29cchdski9cw74gx5496gp6h8"))))
|
||||
"1ivs74v9sa2sds3dq0s7vn9bkmhr2hgwyg1an1rah3agqwnkqmrn"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out"
|
||||
"lib")) ; only libnghttp2
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -52,11 +53,12 @@
|
|||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Microsoft Word conversion library and utilities")
|
||||
(description
|
||||
"wv converts Word 2,6,7,8,9 files to HTML and LaTeX. The Word 2
|
||||
conversion is still incomplete (no formatting), but it will do a passable job
|
||||
extracting the text, which is what you probably want anyway.
|
||||
"wv converts files written by Word 2000, 97, 95, and 6 (known internally as
|
||||
Word 9, 8, 7, and 6) to HTML or LaTeX. Word 2 documents can still be converted
|
||||
to plain text but will lack formatting.
|
||||
|
||||
libwv can be used as a library by third party programs, AbiWord uses it as its
|
||||
word importer, and KWord may use it in the future.")
|
||||
Othe programs can use wv as a library to convert Word documents to other
|
||||
formats. AbiWord uses it as its Word importer, and KWord uses concepts and
|
||||
code from wv in theirs.")
|
||||
(home-page "http://wvware.sourceforge.net/")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -469,14 +469,14 @@ checks.")
|
|||
(define-public perl-xml-rss
|
||||
(package
|
||||
(name "perl-xml-rss")
|
||||
(version "1.59")
|
||||
(version "1.60")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
|
||||
"XML-RSS-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v6vfizn2psy6av057kp7fv3z3y73s6b3w56jm3zr6hlq48llsx2"))))
|
||||
"0xw6aaqka3vqwbv152sbh6fbi8j306q1gvg7v83br8miif3mjcsb"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
|
@ -684,14 +684,14 @@ a schema.")
|
|||
(define-public perl-xml-compile-cache
|
||||
(package
|
||||
(name "perl-xml-compile-cache")
|
||||
(version "1.05")
|
||||
(version "1.06")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
|
||||
"XML-Compile-Cache-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xbwlszhi9hg8sxm5ylglm2qvnb689i595p913awrj2g4mp9yfsw"))))
|
||||
"181qf1s7ymgi7saph3cf9p6dbxkxyh1ja23na4dchhi8v5mi66sr"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-log-report" ,perl-log-report)
|
||||
|
@ -1249,14 +1249,14 @@ libxls cannot write Excel files.")
|
|||
(define-public freexl
|
||||
(package
|
||||
(name "freexl")
|
||||
(version "1.0.4")
|
||||
(version "1.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.gaia-gis.it/gaia-sins/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09bwzqjc41cc8qw8qkw9wq58rg9nax8r3fg19iny5vmw1c0z23sh"))))
|
||||
"03bmwq6hngmzwpqpb7c2amqlspz4q69iv96nlf0f5c0qs98b3j9x"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gaia-gis.it/fossil/freexl/index")
|
||||
(synopsis "Read Excel files")
|
||||
|
|
|
@ -357,7 +357,7 @@ provided.")
|
|||
(define-public editres
|
||||
(package
|
||||
(name "editres")
|
||||
(version "1.0.6")
|
||||
(version "1.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -367,7 +367,7 @@ provided.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w2d5hb5pw9ii2jlf4yjlp899402zfwc8hdkpdr3i1fy1cjd2riv"))))
|
||||
"04awfwmy3f9f0bchidc4ssbgrbicn5gzasg3jydpfnp5513d76h8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -918,7 +918,7 @@ rendering commands to the X server.")
|
|||
(define-public iceauth
|
||||
(package
|
||||
(name "iceauth")
|
||||
(version "1.0.7")
|
||||
(version "1.0.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -928,7 +928,7 @@ rendering commands to the X server.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj"))))
|
||||
"1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libice" ,libice)))
|
||||
|
@ -5944,7 +5944,7 @@ basic eye-candy effects.")
|
|||
(define-public xpra
|
||||
(package
|
||||
(name "xpra")
|
||||
(version "2.2.4")
|
||||
(version "2.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5952,7 +5952,7 @@ basic eye-candy effects.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy"))))
|
||||
"1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.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.
|
||||
;;;
|
||||
|
@ -74,11 +74,12 @@
|
|||
(documentation configuration-field-documentation))
|
||||
|
||||
(define (serialize-configuration config fields)
|
||||
(for-each (lambda (field)
|
||||
((configuration-field-serializer field)
|
||||
(configuration-field-name field)
|
||||
((configuration-field-getter field) config)))
|
||||
fields))
|
||||
#~(string-append
|
||||
#$@(map (lambda (field)
|
||||
((configuration-field-serializer field)
|
||||
(configuration-field-name field)
|
||||
((configuration-field-getter field) config)))
|
||||
fields)))
|
||||
|
||||
(define (validate-configuration config fields)
|
||||
(for-each (lambda (field)
|
||||
|
@ -105,7 +106,7 @@
|
|||
(define (maybe-stem? val)
|
||||
(or (eq? val 'disabled) (stem? 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
|
||||
(lambda (stx)
|
||||
|
@ -147,7 +148,7 @@
|
|||
conf))))))))
|
||||
|
||||
(define (serialize-package field-name val)
|
||||
#f)
|
||||
"")
|
||||
|
||||
;; A little helper to make it easier to document all those fields.
|
||||
(define (generate-documentation documentation documentation-name)
|
||||
|
|
|
@ -77,8 +77,10 @@
|
|||
(default 5432))
|
||||
(locale postgresql-configuration-locale
|
||||
(default "en_US.utf8"))
|
||||
(config-file postgresql-configuration-file)
|
||||
(data-directory postgresql-configuration-data-directory))
|
||||
(config-file postgresql-configuration-file
|
||||
(default %default-postgres-config))
|
||||
(data-directory postgresql-configuration-data-directory
|
||||
(default "/var/lib/postgresql/data")))
|
||||
|
||||
(define %default-postgres-hba
|
||||
(plain-file "pg_hba.conf"
|
||||
|
@ -184,7 +186,8 @@ host all all ::1/128 trust"))
|
|||
(service-extension activation-service-type
|
||||
postgresql-activation)
|
||||
(service-extension account-service-type
|
||||
(const %postgresql-accounts))))))
|
||||
(const %postgresql-accounts))))
|
||||
(default-value (postgresql-configuration))))
|
||||
|
||||
(define* (postgresql-service #:key (postgresql postgresql)
|
||||
(port 5432)
|
||||
|
@ -466,7 +469,8 @@ FLUSH PRIVILEGES;
|
|||
(service-extension activation-service-type
|
||||
%mysql-activation)
|
||||
(service-extension shepherd-root-service-type
|
||||
mysql-shepherd-service)))))
|
||||
mysql-shepherd-service)))
|
||||
(default-value (mysql-configuration))))
|
||||
|
||||
(define* (mysql-service #:key (config (mysql-configuration)))
|
||||
"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
|
||||
redis-activation)
|
||||
(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
|
||||
;;; 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 © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
|
@ -115,16 +115,9 @@
|
|||
"_")))
|
||||
|
||||
(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)
|
||||
(serialize-field field-name
|
||||
(with-output-to-string
|
||||
(lambda ()
|
||||
(format #t "{\n")
|
||||
(for-each (lambda (x)
|
||||
(format #t "~a;\n" x))
|
||||
val)
|
||||
(format #t "}")))))
|
||||
(serialize-field field-name #~(format #f "{\n~@{~a;\n~}}" #$@val)))
|
||||
|
||||
(define (serialize-boolean field-name val)
|
||||
(serialize-field field-name (if val "true" "false")))
|
||||
|
@ -140,17 +133,17 @@
|
|||
(define (non-negative-integer? val)
|
||||
(and (exact-integer? val) (not (negative? 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 (non-negative-integer-list? val)
|
||||
(and (list? val) (and-map non-negative-integer? 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 (enclose-quotes s)
|
||||
(format #f "\"~a\"" s))
|
||||
#~(string-append "\"" #$s "\""))
|
||||
(define (serialize-string field-name val)
|
||||
(serialize-field field-name (enclose-quotes val)))
|
||||
(define-maybe string)
|
||||
|
@ -183,10 +176,22 @@
|
|||
(serialize-string-list field-name val))
|
||||
(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)
|
||||
(not (eq? val 'disabled)))
|
||||
(define (serialize-raw-content field-name val)
|
||||
(format #t "~a" val))
|
||||
val)
|
||||
(define-maybe raw-content)
|
||||
|
||||
(define-configuration mod-muc-configuration
|
||||
|
@ -224,12 +229,12 @@ just joined the room."))
|
|||
"Path to your certificate file.")
|
||||
|
||||
(capath
|
||||
(file-name "/etc/ssl/certs")
|
||||
(file-object "/etc/ssl/certs")
|
||||
"Path to directory containing root certificates that you wish Prosody to
|
||||
trust when verifying the certificates of remote servers.")
|
||||
|
||||
(cafile
|
||||
(maybe-file-name 'disabled)
|
||||
(maybe-file-object 'disabled)
|
||||
"Path to a file containing root certificates that you wish Prosody to trust.
|
||||
Similar to @code{capath} but with all certificates concatenated together.")
|
||||
|
||||
|
@ -273,9 +278,8 @@ can create such a file with:
|
|||
(maybe-string 'disabled)
|
||||
"Password for encrypted private keys."))
|
||||
(define (serialize-ssl-configuration field-name val)
|
||||
(format #t "ssl = {\n")
|
||||
(serialize-configuration val ssl-configuration-fields)
|
||||
(format #t "};\n"))
|
||||
#~(format #f "ssl = {\n~a};\n"
|
||||
#$(serialize-configuration val ssl-configuration-fields)))
|
||||
(define-maybe ssl-configuration)
|
||||
|
||||
(define %default-modules-enabled
|
||||
|
@ -303,20 +307,23 @@ can create such a file with:
|
|||
(define (virtualhost-configuration-list? val)
|
||||
(and (list? val) (and-map virtualhost-configuration? val)))
|
||||
(define (serialize-virtualhost-configuration-list l)
|
||||
(for-each
|
||||
(lambda (val) (serialize-virtualhost-configuration val)) l))
|
||||
#~(string-append
|
||||
#$@(map (lambda (val)
|
||||
(serialize-virtualhost-configuration val)) l)))
|
||||
|
||||
(define (int-component-configuration-list? val)
|
||||
(and (list? val) (and-map int-component-configuration? val)))
|
||||
(define (serialize-int-component-configuration-list l)
|
||||
(for-each
|
||||
(lambda (val) (serialize-int-component-configuration val)) l))
|
||||
#~(string-append
|
||||
#$@(map (lambda (val)
|
||||
(serialize-int-component-configuration val)) l)))
|
||||
|
||||
(define (ext-component-configuration-list? val)
|
||||
(and (list? val) (and-map ext-component-configuration? val)))
|
||||
(define (serialize-ext-component-configuration-list l)
|
||||
(for-each
|
||||
(lambda (val) (serialize-ext-component-configuration val)) l))
|
||||
#~(string-append
|
||||
#$@(map (lambda (val)
|
||||
(serialize-ext-component-configuration val)) l)))
|
||||
|
||||
(define-all-configurations prosody-configuration
|
||||
(prosody
|
||||
|
@ -331,7 +338,7 @@ can create such a file with:
|
|||
global)
|
||||
|
||||
(plugin-paths
|
||||
(file-name-list '())
|
||||
(file-object-list '())
|
||||
"Additional plugin directories. They are searched in all the specified
|
||||
paths in order. See @url{https://prosody.im/doc/plugins_directory}."
|
||||
global)
|
||||
|
@ -372,7 +379,7 @@ should you want to disable them then add them to this list."
|
|||
common)
|
||||
|
||||
(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
|
||||
empty then @samp{mod_groups} does nothing. See
|
||||
@url{https://prosody.im/doc/modules/mod_groups}."
|
||||
|
@ -566,8 +573,9 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
|||
'(domain))))
|
||||
(let ((domain (virtualhost-configuration-domain config))
|
||||
(rest (filter rest? virtualhost-configuration-fields)))
|
||||
(format #t "VirtualHost \"~a\"\n" domain)
|
||||
(serialize-configuration config rest)))
|
||||
#~(string-append
|
||||
#$(format #f "VirtualHost \"~a\"\n" domain)
|
||||
#$(serialize-configuration config rest))))
|
||||
|
||||
;; Serialize Component line first.
|
||||
(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))
|
||||
(plugin (int-component-configuration-plugin config))
|
||||
(rest (filter rest? int-component-configuration-fields)))
|
||||
(format #t "Component \"~a\" \"~a\"\n" hostname plugin)
|
||||
(serialize-configuration config rest)))
|
||||
#~(string-append
|
||||
#$(format #f "Component \"~a\" \"~a\"\n" hostname plugin)
|
||||
#$(serialize-configuration config rest))))
|
||||
|
||||
;; Serialize Component line first.
|
||||
(define (serialize-ext-component-configuration config)
|
||||
|
@ -587,22 +596,24 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
|||
'(hostname))))
|
||||
(let ((hostname (ext-component-configuration-hostname config))
|
||||
(rest (filter rest? ext-component-configuration-fields)))
|
||||
(format #t "Component \"~a\"\n" hostname)
|
||||
(serialize-configuration config rest)))
|
||||
#~(string-append
|
||||
#$(format #f "Component \"~a\"\n" hostname)
|
||||
#$(serialize-configuration config rest))))
|
||||
|
||||
;; Serialize virtualhosts and components last.
|
||||
(define (serialize-prosody-configuration config)
|
||||
(define (rest? field)
|
||||
(not (memq (configuration-field-name field)
|
||||
'(virtualhosts int-components ext-components))))
|
||||
(let ((rest (filter rest? prosody-configuration-fields)))
|
||||
(serialize-configuration config rest))
|
||||
(serialize-virtualhost-configuration-list
|
||||
(prosody-configuration-virtualhosts config))
|
||||
(serialize-int-component-configuration-list
|
||||
(prosody-configuration-int-components config))
|
||||
(serialize-ext-component-configuration-list
|
||||
(prosody-configuration-ext-components config)))
|
||||
#~(string-append
|
||||
#$(let ((rest (filter rest? prosody-configuration-fields)))
|
||||
(serialize-configuration config rest))
|
||||
#$(serialize-virtualhost-configuration-list
|
||||
(prosody-configuration-virtualhosts config))
|
||||
#$(serialize-int-component-configuration-list
|
||||
(prosody-configuration-int-components config))
|
||||
#$(serialize-ext-component-configuration-list
|
||||
(prosody-configuration-ext-components config))))
|
||||
|
||||
(define-configuration opaque-prosody-configuration
|
||||
(prosody
|
||||
|
@ -646,13 +657,12 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
|
|||
(default-certs-dir "/etc/prosody/certs")
|
||||
(data-path (prosody-configuration-data-path config))
|
||||
(pidfile-dir (dirname (prosody-configuration-pidfile config)))
|
||||
(config-str
|
||||
(if (opaque-prosody-configuration? config)
|
||||
(opaque-prosody-configuration-prosody.cfg.lua config)
|
||||
(with-output-to-string
|
||||
(lambda ()
|
||||
(serialize-prosody-configuration config)))))
|
||||
(config-file (plain-file "prosody.cfg.lua" config-str)))
|
||||
(config-str (if (opaque-prosody-configuration? config)
|
||||
(opaque-prosody-configuration-prosody.cfg.lua config)
|
||||
#~(begin
|
||||
(use-modules (ice-9 format))
|
||||
#$(serialize-prosody-configuration config))))
|
||||
(config-file (mixed-text-file "prosody.cfg.lua" config-str)))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(define %user (getpw "prosody"))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.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 © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
|
@ -64,6 +64,10 @@
|
|||
ntp-service
|
||||
ntp-service-type
|
||||
|
||||
openntpd-configuration
|
||||
openntpd-configuration?
|
||||
openntpd-service-type
|
||||
|
||||
inetd-configuration
|
||||
inetd-entry
|
||||
inetd-service-type
|
||||
|
@ -446,6 +450,102 @@ make an initial adjustment of more than 1,000 seconds."
|
|||
(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.
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
operating-system-kernel
|
||||
operating-system-kernel-file
|
||||
operating-system-kernel-arguments
|
||||
operating-system-initrd-modules
|
||||
operating-system-initrd
|
||||
operating-system-users
|
||||
operating-system-groups
|
||||
|
@ -154,6 +155,10 @@ booted from ROOT-DEVICE"
|
|||
|
||||
(initrd operating-system-initrd ; (list fs) -> M derivation
|
||||
(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
|
||||
(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
|
||||
#:linux (operating-system-kernel os)
|
||||
#:linux-modules
|
||||
(operating-system-initrd-modules os)
|
||||
#:mapped-devices mapped-devices)))
|
||||
(return (file-append initrd "/initrd"))))
|
||||
|
||||
|
|
|
@ -15,11 +15,10 @@
|
|||
(bootloader (bootloader-configuration
|
||||
(bootloader u-boot-beaglebone-black-bootloader)
|
||||
(target "/dev/mmcblk1")))
|
||||
(initrd (lambda (fs . rest)
|
||||
(apply base-initrd fs
|
||||
;; This module is required to mount the sd card.
|
||||
#:extra-modules (list "omap_hsmmc")
|
||||
rest)))
|
||||
|
||||
;; This module is required to mount the SD card.
|
||||
(initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
|
||||
|
||||
(file-systems (cons (file-system
|
||||
(device "my-root")
|
||||
(title 'label)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -396,10 +396,7 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
|
|||
(kernel-arguments
|
||||
(cons (string-append "console=" tty)
|
||||
(operating-system-user-kernel-arguments installation-os)))
|
||||
(initrd (lambda (fs . rest)
|
||||
(apply base-initrd fs
|
||||
#:extra-modules extra-modules
|
||||
rest)))))
|
||||
(initrd-modules (append extra-modules %base-initrd-modules))))
|
||||
|
||||
(define beaglebone-black-installation-os
|
||||
(embedded-installation-os u-boot-beaglebone-black-bootloader
|
||||
|
|
|
@ -39,9 +39,11 @@
|
|||
#:use-module (gnu system mapped-devices)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (expression->initrd
|
||||
%base-initrd-modules
|
||||
raw-initrd
|
||||
file-system-packages
|
||||
base-initrd))
|
||||
|
@ -242,14 +244,71 @@ FILE-SYSTEMS."
|
|||
(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
|
||||
#:key
|
||||
(linux linux-libre)
|
||||
(linux-modules '())
|
||||
(mapped-devices '())
|
||||
qemu-networking?
|
||||
volatile-root?
|
||||
(virtio? #t)
|
||||
(extra-modules '())
|
||||
(extra-modules '()) ;deprecated
|
||||
(on-error 'debug))
|
||||
"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
|
||||
|
@ -259,57 +318,14 @@ mappings to realize before FILE-SYSTEMS are mounted.
|
|||
|
||||
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
|
||||
for FILE-SYSTEMS and for the given options. However, additional kernel
|
||||
modules can be listed in EXTRA-MODULES. They will be added to the initrd, and
|
||||
for FILE-SYSTEMS and for the given options. Additional kernel
|
||||
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."
|
||||
(define virtio-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
|
||||
(define linux-modules*
|
||||
;; Modules added to the initrd and loaded from the initrd.
|
||||
`("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)-" (%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")
|
||||
'())
|
||||
`(,@linux-modules
|
||||
,@(file-system-modules file-systems)
|
||||
,@(if volatile-root?
|
||||
'("overlay")
|
||||
'())
|
||||
|
@ -320,7 +336,7 @@ loaded at boot time in the order in which they appear."
|
|||
|
||||
(raw-initrd file-systems
|
||||
#:linux linux
|
||||
#:linux-modules linux-modules
|
||||
#:linux-modules linux-modules*
|
||||
#:mapped-devices mapped-devices
|
||||
#:helper-packages helper-packages
|
||||
#:qemu-networking? qemu-networking?
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
|
@ -30,9 +30,12 @@
|
|||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu system 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 linux) (mdadm-static)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -151,19 +154,43 @@
|
|||
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
|
||||
"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."
|
||||
(let ((source (mapped-device-source md)))
|
||||
(or (not (uuid? source))
|
||||
(not (zero? (getuid)))
|
||||
(find-partition-by-luks-uuid (uuid-bytevector source))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no LUKS partition with UUID '~a'")
|
||||
(uuid->string source))))
|
||||
(&error-location
|
||||
(location (source-properties->location
|
||||
(mapped-device-location md)))))))))
|
||||
(let ((source (mapped-device-source md))
|
||||
(location (mapped-device-location md)))
|
||||
(or (not (zero? (getuid)))
|
||||
(if (uuid? source)
|
||||
(match (find-partition-by-luks-uuid (uuid-bytevector source))
|
||||
(#f
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no LUKS partition with UUID '~a'")
|
||||
(uuid->string source))))
|
||||
(&error-location
|
||||
(location (source-properties->location
|
||||
(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
|
||||
;; The type of LUKS mapped devices.
|
||||
|
|
|
@ -143,7 +143,7 @@ made available under the /xchg CIFS share."
|
|||
(return initrd)
|
||||
(base-initrd %linux-vm-file-systems
|
||||
#:linux linux
|
||||
#:virtio? #t
|
||||
#:linux-modules %base-initrd-modules
|
||||
#:qemu-networking? #t))))
|
||||
|
||||
(define builder
|
||||
|
@ -512,12 +512,7 @@ of the GNU system as described by OS."
|
|||
|
||||
|
||||
(let ((os (operating-system (inherit os)
|
||||
;; Use an initrd with the whole QEMU shebang.
|
||||
(initrd (lambda (file-systems . rest)
|
||||
(apply (operating-system-initrd os)
|
||||
file-systems
|
||||
#:virtio? #t
|
||||
rest)))
|
||||
;; Assume we have an initrd with the whole QEMU shebang.
|
||||
|
||||
;; Force our own root file system. Refer to it by UUID so that
|
||||
;; 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)
|
||||
file-systems
|
||||
#:volatile-root? #t
|
||||
#:virtio? #t
|
||||
rest)))
|
||||
|
||||
;; Disable swap.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -565,11 +565,10 @@ where /gnu lives on a separate partition.")
|
|||
(bootloader grub-bootloader)
|
||||
(target "/dev/vdb")))
|
||||
(kernel-arguments '("console=ttyS0"))
|
||||
(initrd (lambda (file-systems . rest)
|
||||
;; Add a kernel module for RAID-0 (aka. "stripe").
|
||||
(apply base-initrd file-systems
|
||||
#:extra-modules '("raid0")
|
||||
rest)))
|
||||
|
||||
;; Add a kernel module for RAID-0 (aka. "stripe").
|
||||
(initrd-modules (cons "raid0" %base-initrd-modules))
|
||||
|
||||
(mapped-devices (list (mapped-device
|
||||
(source (list "/dev/vda2" "/dev/vda3"))
|
||||
(target "/dev/md0")
|
||||
|
|
|
@ -37,28 +37,31 @@ recursively. Return #t on success, #f otherwise."
|
|||
;; in advance anyway.
|
||||
(setenv "GIT_SSL_NO_VERIFY" "true")
|
||||
|
||||
;; We cannot use "git clone --recursive" since the following "git checkout"
|
||||
;; effectively removes sub-module checkouts as of Git 2.6.3.
|
||||
(and (zero? (system* git-command "clone" url directory))
|
||||
(with-directory-excursion directory
|
||||
(system* git-command "tag" "-l")
|
||||
(and (zero? (system* git-command "checkout" commit))
|
||||
(begin
|
||||
(when recursive?
|
||||
;; Now is the time to fetch sub-modules.
|
||||
(unless (zero? (system* git-command "submodule" "update"
|
||||
(mkdir-p directory)
|
||||
|
||||
(with-directory-excursion directory
|
||||
(invoke git-command "init")
|
||||
(invoke git-command "remote" "add" "origin" url)
|
||||
(if (zero? (system* git-command "fetch" "--depth" "1" "origin" commit))
|
||||
(invoke git-command "checkout" "FETCH_HEAD")
|
||||
(begin
|
||||
(invoke git-command "fetch" "origin")
|
||||
(invoke git-command "checkout" commit)))
|
||||
(when recursive?
|
||||
;; Now is the time to fetch sub-modules.
|
||||
(unless (zero? (system* git-command "submodule" "update"
|
||||
"--init" "--recursive"))
|
||||
(error "failed to fetch sub-modules" url))
|
||||
(error "failed to fetch sub-modules" url))
|
||||
|
||||
;; In sub-modules, '.git' is a flat file, not a directory,
|
||||
;; so we can use 'find-files' here.
|
||||
(for-each delete-file-recursively
|
||||
(find-files directory "^\\.git$")))
|
||||
;; In sub-modules, '.git' is a flat file, not a directory,
|
||||
;; so we can use 'find-files' here.
|
||||
(for-each delete-file-recursively
|
||||
(find-files directory "^\\.git$")))
|
||||
|
||||
;; The contents of '.git' vary as a function of the current
|
||||
;; status of the Git repo. Since we want a fixed output, this
|
||||
;; directory needs to be taken out.
|
||||
(delete-file-recursively ".git")
|
||||
#t)))))
|
||||
;; The contents of '.git' vary as a function of the current
|
||||
;; status of the Git repo. Since we want a fixed output, this
|
||||
;; directory needs to be taken out.
|
||||
(delete-file-recursively ".git")
|
||||
#t))
|
||||
|
||||
;;; git.scm ends here
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -86,6 +87,7 @@
|
|||
|
||||
define-gexp-compiler
|
||||
gexp-compiler?
|
||||
file-like?
|
||||
lower-object
|
||||
|
||||
lower-inputs
|
||||
|
@ -182,6 +184,11 @@ procedure to lower it; otherwise return #f."
|
|||
(and=> (hashq-ref %gexp-compilers (struct-vtable object))
|
||||
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)
|
||||
"Search for an expander for OBJECT. Upon success, return the three argument
|
||||
procedure to expand it; otherwise return #f."
|
||||
|
|
|
@ -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
|
||||
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@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.
|
||||
;;;
|
||||
|
@ -159,6 +160,13 @@ COMMAND or an interactive shell in that environment.\n"))
|
|||
-C, --container run command within an isolated container"))
|
||||
(display (G_ "
|
||||
-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_ "
|
||||
--share=SPEC for containers, share writable host file system
|
||||
according to SPEC"))
|
||||
|
@ -243,6 +251,13 @@ COMMAND or an interactive shell in that environment.\n"))
|
|||
(option '(#\N "network") #f #f
|
||||
(lambda (opt name arg 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
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'file-system-mapping
|
||||
|
@ -403,41 +418,50 @@ environment variables are cleared before setting the new ones."
|
|||
(pid (match (waitpid pid)
|
||||
((_ . status) status)))))
|
||||
|
||||
(define* (launch-environment/container #:key command bash user-mappings
|
||||
profile paths network?)
|
||||
(define* (launch-environment/container #:key command bash user user-mappings
|
||||
profile paths link-profile? network?)
|
||||
"Run COMMAND within a container that features the software in PROFILE.
|
||||
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
|
||||
store. When NETWORK?, access to the host system network is permitted.
|
||||
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
|
||||
(list (direct-store-path bash) profile))))
|
||||
(return
|
||||
(let* ((cwd (getcwd))
|
||||
(passwd (getpwuid (getuid)))
|
||||
(let* ((cwd (getcwd))
|
||||
(home (getenv "HOME"))
|
||||
(passwd (mock-passwd (getpwuid (getuid))
|
||||
user
|
||||
bash))
|
||||
(home-dir (passwd:dir passwd))
|
||||
;; Bind-mount all requisite store items, user-specified mappings,
|
||||
;; /bin/sh, the current working directory, and possibly networking
|
||||
;; configuration files within the container.
|
||||
(mappings
|
||||
(append user-mappings
|
||||
;; Current working directory.
|
||||
(list (file-system-mapping
|
||||
(source cwd)
|
||||
(target cwd)
|
||||
(writable? #t)))
|
||||
;; When in Rome, do as Nix build.cc does: Automagically
|
||||
;; map common network configuration files.
|
||||
(if network?
|
||||
%network-file-mappings
|
||||
'())
|
||||
;; Mappings for the union closure of all inputs.
|
||||
(map (lambda (dir)
|
||||
(file-system-mapping
|
||||
(source dir)
|
||||
(target dir)
|
||||
(writable? #f)))
|
||||
reqs)))
|
||||
(override-user-mappings
|
||||
user home
|
||||
(append user-mappings
|
||||
;; Current working directory.
|
||||
(list (file-system-mapping
|
||||
(source cwd)
|
||||
(target cwd)
|
||||
(writable? #t)))
|
||||
;; When in Rome, do as Nix build.cc does: Automagically
|
||||
;; map common network configuration files.
|
||||
(if network?
|
||||
%network-file-mappings
|
||||
'())
|
||||
;; Mappings for the union closure of all inputs.
|
||||
(map (lambda (dir)
|
||||
(file-system-mapping
|
||||
(source dir)
|
||||
(target dir)
|
||||
(writable? #f)))
|
||||
reqs))))
|
||||
(file-systems (append %container-file-systems
|
||||
(map file-system-mapping->bind-mount
|
||||
mappings))))
|
||||
|
@ -458,10 +482,14 @@ host file systems to mount inside the container."
|
|||
;; The same variables as in Nix's 'build.cc'.
|
||||
'("TMPDIR" "TEMPDIR" "TMP" "TEMP"))
|
||||
|
||||
;; Create a dummy home directory under the same name as on the
|
||||
;; host.
|
||||
(mkdir-p (passwd:dir passwd))
|
||||
(setenv "HOME" (passwd:dir passwd))
|
||||
;; Create a dummy home directory.
|
||||
(mkdir-p home-dir)
|
||||
(setenv "HOME" home-dir)
|
||||
|
||||
;; 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
|
||||
;; 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
|
||||
;; directory rather than the root directory.
|
||||
(chdir cwd)
|
||||
(chdir (override-user-dir user home cwd))
|
||||
|
||||
(primitive-exit/status
|
||||
;; 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
|
||||
%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)
|
||||
"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.
|
||||
|
@ -564,7 +658,9 @@ message if any test fails."
|
|||
(let* ((opts (parse-args args))
|
||||
(pure? (assoc-ref opts 'pure))
|
||||
(container? (assoc-ref opts 'container?))
|
||||
(link-prof? (assoc-ref opts 'link-profile?))
|
||||
(network? (assoc-ref opts 'network?))
|
||||
(user (assoc-ref opts 'user))
|
||||
(bootstrap? (assoc-ref opts 'bootstrap?))
|
||||
(system (assoc-ref opts 'system))
|
||||
(command (or (assoc-ref opts 'exec)
|
||||
|
@ -597,6 +693,11 @@ message if any test fails."
|
|||
|
||||
(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
|
||||
(set-build-options-from-command-line store opts)
|
||||
|
||||
|
@ -643,9 +744,11 @@ message if any test fails."
|
|||
"/bin/sh"))))
|
||||
(launch-environment/container #:command command
|
||||
#:bash bash-binary
|
||||
#:user user
|
||||
#:user-mappings mappings
|
||||
#:profile profile
|
||||
#:paths paths
|
||||
#:link-profile? link-prof?
|
||||
#:network? network?)))
|
||||
(else
|
||||
(return
|
||||
|
|
|
@ -41,6 +41,10 @@
|
|||
#:use-module (gnu build install)
|
||||
#:autoload (gnu build file-systems)
|
||||
(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 bootloader)
|
||||
#: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.
|
||||
(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'
|
||||
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)
|
||||
(let ((check (mapped-device-kind-check
|
||||
(mapped-device-type md))))
|
||||
;; We expect CHECK to raise an exception with a detailed
|
||||
;; '&message' if something goes wrong, but handle the case
|
||||
;; where it just returns #f.
|
||||
(unless (check md)
|
||||
(leave (G_ "~a: invalid '~a' mapped device~%")
|
||||
(location->string
|
||||
(source-properties->location
|
||||
(mapped-device-location md)))))))
|
||||
mapped-devices))
|
||||
;; '&message' if something goes wrong.
|
||||
(check md
|
||||
#:needed-for-boot? (needed-for-boot? md)
|
||||
#:initrd-modules initrd-modules)))
|
||||
(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
|
||||
(file-system-location fs))))
|
||||
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
|
||||
;; running as root.
|
||||
(when (memq action '(init reconfigure))
|
||||
(check-mapped-devices os)
|
||||
(when (zero? (getuid))
|
||||
(check-file-system-availability (operating-system-file-systems os)))
|
||||
(check-mapped-devices (operating-system-mapped-devices os)))
|
||||
(check-file-system-availability (operating-system-file-systems os))
|
||||
(check-initrd-modules os)))
|
||||
|
||||
(mlet* %store-monad
|
||||
((sys (system-derivation-for-action os action
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue