Merge branch 'master' into staging

master
Leo Famulari 2018-03-06 13:39:12 -05:00
commit 613ef763a5
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
105 changed files with 23708 additions and 2120 deletions

View File

@ -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 \

View File

@ -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])

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -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)

View File

@ -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")

View File

@ -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"))))

View File

@ -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")

View File

@ -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"))

View File

@ -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"))))

View File

@ -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)

View File

@ -0,0 +1,42 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bioconductor)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system r)
#:use-module (gnu packages))
(define-public r-hpar
(package
(name "r-hpar")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "hpar" version))
(sha256
(base32
"0s5v79mgxdx862v1jrdf5pdap81nz5vjx25ni8s3sl97ldckf6j8"))))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/hpar/")
(synopsis "Human Protein Atlas in R")
(description "This package provides a simple interface to and data from
the Human Protein Atlas project.")
(license license:artistic2.0)))

File diff suppressed because it is too large Load Diff

View File

@ -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")

View File

@ -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)))))

View File

@ -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")))

View File

@ -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"))))

View File

@ -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

View File

@ -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)))

View File

@ -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

View File

@ -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"))))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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+)))

View File

@ -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)))

View File

@ -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"))))

View File

@ -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.")

View File

@ -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"))

View File

@ -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

View File

@ -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"))))

View File

@ -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))))

View File

@ -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)

View File

@ -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))

View File

@ -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

View File

@ -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.")

View File

@ -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+)))

View File

@ -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,

View File

@ -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)))

View File

@ -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")

View File

@ -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.

View File

@ -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")

View File

@ -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)

View File

@ -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/")

View File

@ -0,0 +1,35 @@
Based on the upstream fix for the java8 compilation issue.
Simplified patch.
Upstream version of patch does not work with this source tree.
The issue is that in java8 it is an error to pass null to
removeAll. Results in null pointer exception. java7
behaviour was to return the list unmodified.
From db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Fri, 5 Jan 2018 17:05:31 +0100
Subject: [PATCH] Fix java8 compilation.
---
src/org/antlr/tool/CompositeGrammar.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java
index f1408e7..7e02431 100644
--- a/src/org/antlr/tool/CompositeGrammar.java
+++ b/src/org/antlr/tool/CompositeGrammar.java
@@ -218,7 +218,9 @@ public class CompositeGrammar {
public List<Grammar> getIndirectDelegates(Grammar g) {
List<Grammar> direct = getDirectDelegates(g);
List<Grammar> delegates = getDelegates(g);
- delegates.removeAll(direct);
+ if (direct != null) {
+ delegates.removeAll(direct);
+ }
return delegates;
}
--
2.15.1

View File

@ -0,0 +1,35 @@
Based on the upstream fix for the java8 compilation issue.
Simplified patch.
Upstream version of patch does not work with this source tree.
The issue is that in java8 it is an error to pass null to
removeAll. Results in null pointer exception. java7
behaviour was to return the list unmodified.
From 43867d50c05d1c06ab7220eb974a8874ae10c308 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Fri, 5 Jan 2018 19:08:24 +0100
Subject: [PATCH] Fix java8 complilation error.
---
tool/src/main/java/org/antlr/tool/CompositeGrammar.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
index f34ea73..63740a6 100644
--- a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
+++ b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java
@@ -226,7 +226,9 @@ public class CompositeGrammar {
public List<Grammar> getIndirectDelegates(Grammar g) {
List<Grammar> direct = getDirectDelegates(g);
List<Grammar> delegates = getDelegates(g);
- delegates.removeAll(direct);
+ if(direct != null) {
+ delegates.removeAll(direct);
+ }
return delegates;
}
--
2.15.1

View File

@ -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")

View File

@ -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,

View File

@ -0,0 +1,63 @@
Fix compatibility with newer versions of RocksDB.
Adapted from this upstream patch, with some additional changes for 12.2:
https://github.com/ceph/ceph/commit/9d73a7121fdb1ae87cb1aa6f7d9d7a13f329ae68
diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc
index 8660afe1886d..bc0de79e23cb 100644
--- a/src/kv/RocksDBStore.cc
+++ b/src/kv/RocksDBStore.cc
@@ -505,7 +505,7 @@
// considering performance overhead, default is disabled
if (g_conf->rocksdb_perf) {
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
- rocksdb::perf_context.Reset();
+ rocksdb::get_perf_context()->Reset();
}
RocksDBTransactionImpl * _t =
@@ -532,13 +532,13 @@
utime_t write_wal_time;
utime_t write_pre_and_post_process_time;
write_wal_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
write_memtable_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
write_delay_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
write_pre_and_post_process_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
logger->tinc(l_rocksdb_write_wal_time, write_wal_time);
@@ -558,7 +558,7 @@
// considering performance overhead, default is disabled
if (g_conf->rocksdb_perf) {
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
- rocksdb::perf_context.Reset();
+ rocksdb::get_perf_context()->Reset();
}
RocksDBTransactionImpl * _t =
@@ -586,13 +586,13 @@
utime_t write_wal_time;
utime_t write_pre_and_post_process_time;
write_wal_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
write_memtable_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
write_delay_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
write_pre_and_post_process_time.set_from_double(
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
logger->tinc(l_rocksdb_write_wal_time, write_wal_time);

View File

@ -0,0 +1,61 @@
This patch is adapted from commit a11f47475e6443b7f32d21f2271f28f417e2ac04 and
fixes CVE-2018-5711.
From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001
From: "Christoph M. Becker" <cmbecker69@gmx.de>
Date: Wed, 29 Nov 2017 19:37:38 +0100
Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
Due to a signedness confusion in `GetCode_` a corrupt GIF file can
trigger an infinite loop. Furthermore we make sure that a GIF without
any palette entries is treated as invalid *after* open palette entries
have been removed.
CVE-2018-5711
See also https://bugs.php.net/bug.php?id=75571.
---
src/gd_gif_in.c | 12 ++++++------
1 file changed, 38 insertions(+), 6 deletions(-)
diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
index daf26e7..0a8bd71 100644
--- a/src/gd_gif_in.c
+++ b/src/gd_gif_in.c
@@ -335,11 +335,6 @@ terminated:
return 0;
}
- if(!im->colorsTotal) {
- gdImageDestroy(im);
- return 0;
- }
-
/* Check for open colors at the end, so
* we can reduce colorsTotal and ultimately
* BitsPerPixel */
@@ -351,6 +346,11 @@ terminated:
}
}
+ if(!im->colorsTotal) {
+ gdImageDestroy(im);
+ return 0;
+ }
+
return im;
}
@@ -447,7 +447,7 @@ static int
GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
{
int i, j, ret;
- unsigned char count;
+ int count;
if(flag) {
scd->curbit = 0;
--
2.13.6

View File

@ -0,0 +1,39 @@
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index cace758c01..38fe7fe0b0 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -69,7 +69,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
$as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <linux/version.h>
diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac
index 13abda0a51..6abc12eaed 100644
--- a/sysdeps/unix/sysv/linux/configure.ac
+++ b/sysdeps/unix/sysv/linux/configure.ac
@@ -50,7 +50,7 @@ fi
AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
changequote(,)dnl
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
changequote([,])dnl
AC_TRY_COMPILE([#include <linux/version.h>
#if LINUX_VERSION_CODE < $decnum
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
index 823cd8224d..482caaeeec 100644
--- a/sysdeps/unix/sysv/linux/dl-osinfo.h
+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -39,7 +39,7 @@
GLRO(dl_osversion) = version; \
\
/* Now we can test with the required version. */ \
- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \
+ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \
/* Not sufficent. */ \
FATAL ("FATAL: kernel too old\n"); \
} \

View File

@ -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,
+ &timestamp,
+ 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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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.");

View File

@ -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

View File

@ -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)))

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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 Pythons.")
(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)

View File

@ -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")

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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.")

View File

@ -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)

View File

@ -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

View File

@ -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+)))

View File

@ -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)

View File

@ -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

View File

@ -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"))

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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)))

View File

@ -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

View File

@ -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

View File

@ -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+)))

View File

@ -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")

View File

@ -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)

View File

@ -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)

View File

@ -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))))

View File

@ -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"))

View File

@ -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.

View File

@ -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"))))

View File

@ -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)

View File

@ -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

View File

@ -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?

View File

@ -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.

View File

@ -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.

View File

@ -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")

View File

@ -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

View File

@ -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."

97
guix/glob.scm Normal file
View File

@ -0,0 +1,97 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix glob)
#:use-module (ice-9 match)
#:export (compile-glob-pattern
glob-match?))
;;; Commentary:
;;;
;;; This is a minimal implementation of "glob patterns" (info "(libc)
;;; Globbbing"). It is currently limited to simple patterns and does not
;;; support braces and square brackets, for instance.
;;;
;;; Code:
(define (wildcard-indices str)
"Return the list of indices in STR where wildcards can be found."
(let loop ((index 0)
(result '()))
(if (= index (string-length str))
(reverse result)
(loop (+ 1 index)
(case (string-ref str index)
((#\? #\*) (cons index result))
(else result))))))
(define (compile-glob-pattern str)
"Return an sexp that represents the compiled form of STR, a glob pattern
such as \"foo*\" or \"foo??bar\"."
(define flatten
(match-lambda
(((? string? str)) str)
(x x)))
(let loop ((index 0)
(indices (wildcard-indices str))
(result '()))
(match indices
(()
(flatten (cond ((zero? index)
(list str))
((= index (string-length str))
(reverse result))
(else
(reverse (cons (string-drop str index)
result))))))
((wildcard-index . rest)
(let ((wildcard (match (string-ref str wildcard-index)
(#\? '?)
(#\* '*))))
(match (substring str index wildcard-index)
("" (loop (+ 1 wildcard-index)
rest
(cons wildcard result)))
(str (loop (+ 1 wildcard-index)
rest
(cons* wildcard str result)))))))))
(define (glob-match? pattern str)
"Return true if STR matches PATTERN, a compiled glob pattern as returned by
'compile-glob-pattern'."
(let loop ((pattern pattern)
(str str))
(match pattern
((? string? literal) (string=? literal str))
(((? string? one)) (string=? one str))
(('*) #t)
(('?) (= 1 (string-length str)))
(() #t)
(('* suffix . rest)
(match (string-contains str suffix)
(#f #f)
(index (loop rest
(string-drop str
(+ index (string-length suffix)))))))
(('? . rest)
(and (>= (string-length str) 1)
(loop rest (string-drop str 1))))
((prefix . rest)
(and (string-prefix? prefix str)
(loop rest (string-drop str (string-length prefix))))))))

View File

@ -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

View File

@ -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