aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi84
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/games.scm4
-rw-r--r--gnu/packages/gl.scm2
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/linux.scm46
-rw-r--r--gnu/packages/mail.scm9
-rw-r--r--gnu/packages/music.scm133
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/ruby.scm25
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/terminals.scm4
-rw-r--r--gnu/services/dict.scm54
-rw-r--r--gnu/services/mail.scm8
-rw-r--r--gnu/services/pm.scm2
-rw-r--r--gnu/services/vpn.scm4
-rw-r--r--gnu/tests.scm43
-rw-r--r--gnu/tests/base.scm30
-rw-r--r--gnu/tests/dict.scm141
-rw-r--r--gnu/tests/mail.scm25
-rw-r--r--gnu/tests/messaging.scm27
-rw-r--r--gnu/tests/networking.scm57
-rw-r--r--gnu/tests/ssh.scm30
-rw-r--r--gnu/tests/web.scm26
-rw-r--r--guix/scripts/pack.scm3
-rwxr-xr-xguix/scripts/substitute.scm5
-rw-r--r--guix/utils.scm7
30 files changed, 498 insertions, 296 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index a8ae5441d2..aa779e38e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3426,7 +3426,7 @@ Both phases are executed after the @code{install} phase.
@end defvr
@defvr {Scheme Variable} ocaml-build-system
-This variable is exported by @code{(guix build-sytem ocaml)}. It implements
+This variable is exported by @code{(guix build-system ocaml)}. It implements
a build procedure for @uref{https://ocaml.org, OCaml} packages, which consists
of choosing the correct set of commands to run for each package. OCaml
packages can expect many different commands to be run. This build system will
@@ -9229,7 +9229,7 @@ The Rottlog package to use.
The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,,
rottlog, GNU Rot[t]log Manual}).
-@item @code{periodic-rotations} (default: @code{`(("weekly" %default-rotatations))})
+@item @code{periodic-rotations} (default: @code{`(("weekly" %default-rotations))})
A list of Rottlog period-name/period-config tuples.
For example, taking an example from the Rottlog manual (@pxref{Period
@@ -11134,7 +11134,7 @@ Network interface on which to listen.
@item @code{port} (default: @code{6379})
Port on which to accept connections on, a value of 0 will disable
-listining on a TCP socket.
+listening on a TCP socket.
@item @code{working-directory} (default: @code{"/var/lib/redis"})
Directory in which to store the database and related files.
@@ -11367,9 +11367,9 @@ The driver that the passdb should use. Valid values include
Defaults to @samp{"pam"}.
@end deftypevr
-@deftypevr {@code{passdb-configuration} parameter} free-form-args args
-A list of key-value args to the passdb driver.
-Defaults to @samp{()}.
+@deftypevr {@code{passdb-configuration} parameter} space-separated-string-list args
+Space separated list of arguments to the passdb driver.
+Defaults to @samp{""}.
@end deftypevr
@end deftypevr
@@ -11386,9 +11386,9 @@ The driver that the userdb should use. Valid values include
Defaults to @samp{"passwd"}.
@end deftypevr
-@deftypevr {@code{userdb-configuration} parameter} free-form-args args
-A list of key-value args to the userdb driver.
-Defaults to @samp{()}.
+@deftypevr {@code{userdb-configuration} parameter} space-separated-string-list args
+Space separated list of arguments to the userdb driver.
+Defaults to @samp{""}.
@end deftypevr
@deftypevr {@code{userdb-configuration} parameter} free-form-args override-fields
@@ -12524,7 +12524,7 @@ as in this example:
@end deffn
@deftp {Data Type} opensmtpd-configuration
-Data type regresenting the configuration of opensmtpd.
+Data type representing the configuration of opensmtpd.
@table @asis
@item @code{package} (default: @var{opensmtpd})
@@ -13478,7 +13478,7 @@ Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{openvpn-server-configuration} parameter} boolean client-to-client?
-When true, clients are alowed to talk to each other inside the VPN.
+When true, clients are allowed to talk to each other inside the VPN.
Defaults to @samp{#f}.
@@ -13502,7 +13502,7 @@ Defaults to @samp{100}.
@deftypevr {@code{openvpn-server-configuration} parameter} string status
The status file. This file shows a small report on current connection.
-It is trunkated and rewritten every minute.
+It is truncated and rewritten every minute.
Defaults to @samp{"/var/run/openvpn/status"}.
@@ -14256,7 +14256,7 @@ Defaults to @samp{#t}.
@end deftypevr
@deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist
-Exclude specified PCI(e) devices adresses from Runtime Power Management.
+Exclude specified PCI(e) device addresses from Runtime Power Management.
Defaults to @samp{disabled}.
@@ -14375,33 +14375,75 @@ This is the list of IP addresses and ports and possibly socket file
names to listen to (@pxref{Server Settings, @code{listen} directive,,
dico, GNU Dico Manual}).
+@item @code{handlers} (default: @var{'()})
+List of @code{<dicod-handler>} objects denoting handlers (module instances).
+
@item @code{databases} (default: @var{(list %dicod-database:gcide)})
List of @code{<dicod-database>} objects denoting dictionaries to be served.
@end table
@end deftp
-@deftp {Data Type} dicod-database
-Data type representing a dictionary database.
+@deftp {Data Type} dicod-handler
+Data type representing a dictionary handler (module instance).
@table @asis
@item @code{name}
-Name of the database, will be used in DICT commands.
+Name of the handler (module instance).
-@item @code{module}
-Name of the dicod module used by this database
+@item @code{module} (default: @var{#f})
+Name of the dicod module of the handler (instance). If it is @code{#f},
+the module has the same name as the handler.
(@pxref{Modules,,, dico, GNU Dico Manual}).
@item @code{options}
List of strings or gexps representing the arguments for the module handler
+@end table
+@end deftp
+
+@deftp {Data Type} dicod-database
+Data type representing a dictionary database.
+
+@table @asis
+@item @code{name}
+Name of the database, will be used in DICT commands.
+
+@item @code{handler}
+Name of the dicod handler (module instance) used by this database
(@pxref{Handlers,,, dico, GNU Dico Manual}).
+
+@item @code{complex?} (default: @var{#f})
+Whether the database configuration complex. The complex configuration
+will need a corresponding @code{<dicod-handler>} object, otherwise not.
+
+@item @code{options}
+List of strings or gexps representing the arguments for the database
+(@pxref{Databases,,, dico, GNU Dico Manual}).
@end table
@end deftp
@defvr {Scheme Variable} %dicod-database:gcide
A @code{<dicod-database>} object serving the GNU Collaborative International
-Dictonary of English using the @code{gcide} package.
+Dictionary of English using the @code{gcide} package.
@end defvr
+The following is an example @code{dicod-service} configuration.
+
+@example
+(dicod-service #:config
+ (dicod-configuration
+ (handlers (list (dicod-handler
+ (name "wordnet")
+ (module "dictorg")
+ (options
+ (list #~(string-append "dbdir=" #$wordnet))))))
+ (databases (list (dicod-database
+ (name "wordnet")
+ (complex? #t)
+ (handler "wordnet")
+ (options '("database=wn")))
+ %dicod-database:gcide))))
+@end example
+
@subsubsection Version Control
The @code{(gnu services version-control)} module provides the following services:
@@ -14411,7 +14453,7 @@ The @code{(gnu services version-control)} module provides the following services
@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]
Return a service that runs @command{git daemon}, a simple TCP server to
-expose repositiories over the Git protocol for annoymous access.
+expose repositories over the Git protocol for anonymous access.
The optional @var{config} argument should be a
@code{<git-daemon-configuration>} object, by default it allows read-only
@@ -15320,7 +15362,7 @@ which may be insufficient for some operations.
The file name of the qcow2 image.
@end table
-The default @command{run-vm.sh} script that is returned by an invokation of
+The default @command{run-vm.sh} script that is returned by an invocation of
@command{guix system vm} does not add a @command{-net user} flag by default.
To get network access from within the vm add the @code{(dhcp-client-service)}
to your system definition and start the VM using
diff --git a/gnu/local.mk b/gnu/local.mk
index be47e74677..b3829db2b9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -465,6 +465,7 @@ GNU_SYSTEM_MODULES = \
\
%D%/tests.scm \
%D%/tests/base.scm \
+ %D%/tests/dict.scm \
%D%/tests/nfs.scm \
%D%/tests/install.scm \
%D%/tests/mail.scm \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 29b4718452..86a149b1d3 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1062,7 +1062,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
- (version "0.35.2")
+ (version "0.35.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1070,7 +1070,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
- "1qj3adjhg511jygbjkl9k5v0gcjmg6ifc479rspfyf45m383pp3p"))))
+ "0pvw4ijkq6lcn45vrif9b4mqmgzi0qg1dp5b33kb5zan6n1aci4j"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b4fce3f3b9..8f5b1fb0da 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -189,7 +189,7 @@ provide connectivity for client applications written in any language.")
(define-public tiled
(package
(name "tiled")
- (version "0.18.0")
+ (version "0.18.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -197,7 +197,7 @@ provide connectivity for client applications written in any language.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0csrwf7k3fxv6bv580w6wxjk1q2j9mj9k0xba3nb1ms6jiz1bvzk"))))
+ "1kcj2blrlfpghjv0qigip2qcbxfx7vv9i8nr4997hkwhsh6i2pjp"))))
(build-system gnu-build-system)
(inputs `(("qt" ,qt)
("zlib" ,zlib)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7ef46fcc27..0e0e68afcc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -123,7 +123,7 @@
(define-public freedoom
(package
(name "freedoom")
- (version "0.11.1")
+ (version "0.11.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/" name "/" name
@@ -131,7 +131,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "060dqppd9fi079yw6c82klsjaslcabq6xan67wf9hs0cy39i0kpv"))))
+ "0b9k61f97spivi75f76zwwg8a3bgc6iil2hidqfj8s50lhqggwbb"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags `(,(string-append "prefix=" (assoc-ref %outputs "out")))
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f0f84ba4db..37a1bd9098 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -434,7 +434,7 @@ extension functionality is exposed in a single header file.")
"13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-2.0)
+ (inputs `(("guile" ,guile-2.2)
("mesa" ,mesa)
("glu" ,glu)
("freeglut" ,freeglut)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cd001f5210..b94c36636e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1584,14 +1584,14 @@ Hints specification (EWMH).")
(define-public goffice
(package
(name "goffice")
- (version "0.10.32")
+ (version "0.10.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1hvs5558x98yzm43dc3f93v596x45lfmv1vkp4jjgfagynlpvcq2"))))
+ (base32 "00yn5ly1x50ynrwgl783pwnjy4k2ckp8n54mfnqv6qsq5fi7ajjm"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;4.1 MiB of gtk-doc
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d2dbed4246..6aee9cd525 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -352,8 +352,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
-(define %linux-libre-version "4.10.7")
-(define %linux-libre-hash "0cjhnq67h3kk2dx0kd3nw0f1lbxvc8jr8n5khb9bh07913ag2pyq")
+(define %linux-libre-version "4.10.8")
+(define %linux-libre-hash "0936i2h9l4gn67gby9kx70w6zqv1nbzbgwssry6k11wrjwa2p8n4")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@@ -362,14 +362,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.19"
- "19x6hasx7pvrjj08vy8mhylx1s63j3dwxzgqh4k18jwzjfkv3p3g"
+ (make-linux-libre "4.9.20"
+ "0hnxylfnyz3xf7k3qcq2wri2wpbi2islngxjmqp445v1pzr4k9xp"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.58"
- "1q5y26r65wkhcav7qq3x9mvz54dgcvcw2a5scpgya61b3kpnahb2"
+ (make-linux-libre "4.4.59"
+ "1nrg7mg6cn0xzsdklg24aj5fqx05hab11j9nq4b8dabjf4crlkx5"
%intel-compatible-systems
#:configuration-file kernel-config))
@@ -2267,27 +2267,37 @@ thanks to the use of namespaces.")
(define-public hdparm
(package
(name "hdparm")
- (version "9.45")
+ (version "9.51")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0sc6yf3k6sd7n6a2ig2my9fjlqpak3znlyw7jw4cz5d9asm1rc13"))))
+ "14ax5lyzhigx58ing7adbfyzisv0fqajbmzphg149rnb3s4xiyhs"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "binprefix=" out)
(string-append "manprefix=" out)
"CC=gcc"))
- #:phases (alist-delete 'configure %standard-phases)
- #:tests? #f)) ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)) ; no configure script
+ #:tests? #f)) ; no test suite
(home-page "https://sourceforge.net/projects/hdparm/")
- (synopsis "Tune hard disk parameters for high performance")
- (description
- "Get/set device parameters for Linux SATA/IDE drives. It's primary use
-is for enabling irq-unmasking and IDE multiple-mode.")
+ (synopsis "View and tune ATA disk drive parameters")
+ (description
+ "@command{hdparm} is a command-line utility to control ATA controllers and
+disk drives. It can increase performance and/or reliability by careful tuning
+of hardware settings like power and acoustic management, DMA modes, and caching.
+It can also display detailed device information, or be used as a simple
+performance benchmarking tool.
+
+@command{hdparm} provides a command line interface to various Linux kernel
+interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older
+IDE driver subsystem. Many external USB drive enclosures with @dfn{SCSI-ATA
+Command Translation} (SAT) are also supported.")
(license (license:non-copyleft "file://LICENSE.TXT"))))
(define-public rfkill
@@ -2828,7 +2838,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.10.1")
+ (version "4.10.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -2836,7 +2846,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "06hs20jwa15xybbmlalba8wvhv3slq1g0wrqrgyh7ll5y11bc5kc"))))
+ "02p63nz78lrr156cmbb759z76cn95hv6mmz7v592lmiq0dkxy2gd"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
@@ -3502,14 +3512,14 @@ running boot option, and more.")
(define-public sysstat
(package
(name "sysstat")
- (version "11.4.2")
+ (version "11.4.3")
(source (origin
(method url-fetch)
(uri (string-append "http://perso.orange.fr/sebastien.godard/"
"sysstat-" version ".tar.xz"))
(sha256
(base32
- "0f8gk1hma3bk198ziwrhh5jhisnbbgc1v4rxhny58n0zjzw0gm0z"))))
+ "1ryf9myjzpa2279i3rvsh6fr5psm6qvr5r9kbm1sxyspapxcms82"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No test suite.
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 51928025fe..5826c42843 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -335,7 +336,7 @@ into mutt, so it is not a fork but a large set of feature patches.")))
(define-public gmime
(package
(name "gmime")
- (version "2.6.22")
+ (version "2.6.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
@@ -343,7 +344,7 @@ into mutt, so it is not a fork but a large set of feature patches.")))
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "0fjmsphvz8srsmcdl4v13p2z4jp2migaybyny444hal4snbr0py2"))))
+ "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -663,14 +664,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.24")
+ (version "0.24.1")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
- "1z3m9knsdmchvfjzjhjf2cmdc9yahmvbvzn46wsrsrihfvv4rr7p"))))
+ "18rw0rim6zxhnr2nggial029x4raaxqcgf9klfbdhv89qvi7s4gs"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "V=1") ; Verbose test output.
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2850d309ca..6f42160f77 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -109,14 +109,14 @@
(define-public aria-maestosa
(package
(name "aria-maestosa")
- (version "1.4.11")
+ (version "1.4.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ariamaestosa/ariamaestosa/"
version "/AriaSrc-" version ".tar.bz2"))
(sha256
(base32
- "0gf9z96z83jiabxhpl856j15vl9flfgs6x1r0r6hc7g2xvwag0vy"))))
+ "1cs3z6frx2ch7rm5ammx9p0rxcjrbj1vq14hvcbimpaw39rdsn3d"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -479,7 +479,7 @@ enable professional yet simple and intuitive pattern-based drum programming.")
("emacs" ,emacs-no-x)))
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
- (home-page "http://benswift.me/extempore-docs/index.html")
+ (home-page "http://digego.github.io/extempore/")
(synopsis "Programming environment for live coding of multimedia")
(description
"Extempore is a programming language and runtime environment designed
@@ -585,7 +585,7 @@ interface. It is implemented as a frontend to @code{klick}.")
(define-public lilypond
(package
(name "lilypond")
- (version "2.19.51")
+ (version "2.19.58")
(source (origin
(method url-fetch)
(uri (string-append
@@ -594,7 +594,7 @@ interface. It is implemented as a frontend to @code{klick}.")
name "-" version ".tar.gz"))
(sha256
(base32
- "1b4jvc0fixbnp8x457fzk5wgb4zd03npwwivp60kc27fmv63w5l1"))))
+ "0wjapb3if6qqdmr57z20hidx7czhl023cjimr01i8yf7k41fakh7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; out-test/collated-files.html fails
@@ -670,8 +670,8 @@ Guile.")
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.
- (let ((commit "a22f33f486a5c6f75b60e36f66504c036c0f6f8c")
- (revision "2"))
+ (let ((commit "10c31e57291b6e42be53371567a722b62b32d220")
+ (revision "3"))
(package
(name "non-sequencer")
(version (string-append "1.9.5-" revision "." (string-take commit 7)))
@@ -682,7 +682,7 @@ Guile.")
(commit commit)))
(sha256
(base32
- "09q5x8i4f8mqnl8w6xnsq5zriy4bzdl4x2vq9n34a433rfrk84bg"))
+ "080rha4ffp7qycyg1mqcf4vj0s7z8qfvz6bxm0w29xgg2kkmb3fx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
@@ -983,7 +983,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
- (version "0.8.0")
+ (version "0.8.1")
(source (origin
(method url-fetch)
(uri
@@ -991,7 +991,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "155pfyhr6d35ciw95pbxlqy7751cmij8j5d849rvblqbjzyzb5qx"))))
+ "0rzkr8mgy28j5kg56qqrdm05ml2wlm651yk27c2mn5ql7v92gdx3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1014,7 +1014,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.8.0")
+ (version "0.8.1")
(source (origin
(method url-fetch)
(uri
@@ -1022,7 +1022,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "1n2kd468kn71yp2asmamprvblmdlvh0zd8lsh3598dwi4b7aa3ga"))))
+ "0l6kjb1q9vslwy56836a0c65mf8z8ycam5vzz3k4qvd8g74bs1zq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1048,7 +1048,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
- (version "0.8.0")
+ (version "0.8.1")
(source (origin
(method url-fetch)
(uri
@@ -1056,7 +1056,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "0j3hkmd9q0bw9b7nk9cssqywlrishkd1n790a9vq6gh3pdc5sf3r"))))
+ "15rp9d1jbb56idyrnn9cqi1i7a70z1a1qdyz7ryn0bla0ghjnich"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1082,7 +1082,7 @@ effects.")
(define-public amsynth
(package
(name "amsynth")
- (version "1.6.4")
+ (version "1.7.1")
(source
(origin
(method url-fetch)
@@ -1091,7 +1091,7 @@ effects.")
"/amsynth-" version ".tar.bz2"))
(sha256
(base32
- "07dp9dl38g9krjqxxh89l2z42z08yzrl57cx95b1l67xnxwjp5k3"))))
+ "1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1105,11 +1105,13 @@ effects.")
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("lv2" ,lv2)
+ ("lash" ,lash)
("libsndfile" ,libsndfile)
("gtk+" ,gtk+-2)
("gtkmm" ,gtkmm-2)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
(home-page "http://amsynth.github.io")
(synopsis "Analog modeling synthesizer")
(description
@@ -1125,7 +1127,7 @@ reverb effects.")
(define-public setbfree
(package
(name "setbfree")
- (version "0.8.1")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri
@@ -1134,7 +1136,7 @@ reverb effects.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0hj0rqk5yd4fzs7bwy6a6nhqgrmcggkjcr4il76rxy92r7nwabf3"))))
+ "1g4s1920kb2q5gpp82l2vxia29qa8g8zvdjgrca8ypynvxpzn65f"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -1275,7 +1277,7 @@ is subjective.")
(define-public tuxguitar
(package
(name "tuxguitar")
- (version "1.3.2")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1283,11 +1285,14 @@ is subjective.")
version "/tuxguitar-" version "-src.tar.gz"))
(sha256
(base32
- "0ldml31zvywid1w28mfd65ramyiics55fdl0ch846vm7j7nwv58j"))
+ "041275vwfr82kass7wiq9g2y82w9qrbzfinzcvfij2f2q45njwmc"))
(modules '((guix build utils)))
(snippet
- ;; Delete pre-built classes
- '(delete-file-recursively "TuxGuitar-android/bin"))))
+ '(begin
+ ;; Delete pre-built classes
+ (delete-file-recursively "TuxGuitar-android-gdrive/bin")
+ (delete-file-recursively "TuxGuitar-android-gdrive-gdaa/bin")
+ #t))))
(build-system ant-build-system)
(arguments
`(#:build-target "build"
@@ -1296,23 +1301,31 @@ is subjective.")
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir
(lambda _ (chdir "TuxGuitar-lib") #t))
- (add-after 'build 'build-editor-utils
+ (add-after 'build 'build-libraries
(lambda* (#:key inputs outputs #:allow-other-keys)
- (chdir "..")
- (let ((cwd (getcwd)))
- (setenv "CLASSPATH"
- (string-append
- cwd "/TuxGuitar-lib/tuxguitar-lib.jar" ":"
- cwd "/TuxGuitar-editor-utils/build/jar/tuxguitar-editor-utils.jar" ":"
- (getenv "CLASSPATH"))))
- (chdir "TuxGuitar-editor-utils")
- ;; Generate default build.xml
- ((@@ (guix build ant-build-system) default-build.xml)
- "tuxguitar-editor-utils.jar"
- (string-append (assoc-ref outputs "out")
- "/share/java"))
- ((assoc-ref %standard-phases 'build))))
- (add-after 'build-editor-utils 'build-application
+ (let* ((initial-classpath (getenv "CLASSPATH"))
+ (build-dir (lambda (dir)
+ (chdir "..")
+ (setenv "CLASSPATH"
+ (string-join (cons initial-classpath
+ (find-files (getcwd) "\\.jar$"))
+ ":"))
+ (chdir dir)
+ (if (file-exists? "build.xml")
+ ((assoc-ref %standard-phases 'build)
+ #:build-target "build")
+ (begin
+ ;; Generate default build.xml
+ ((@@ (guix build ant-build-system) default-build.xml)
+ (string-append (string-downcase dir) ".jar")
+ (string-append (assoc-ref outputs "out")
+ "/share/java"))
+ ((assoc-ref %standard-phases 'build)))))))
+ (map build-dir '("TuxGuitar-editor-utils"
+ "TuxGuitar-ui-toolkit"
+ "TuxGuitar-ui-toolkit-swt"
+ "TuxGuitar-awt-graphics")))))
+ (add-after 'build-libraries 'build-application
(lambda _
(chdir "../TuxGuitar")
((assoc-ref %standard-phases 'build)
@@ -1329,10 +1342,10 @@ is subjective.")
(for-each (lambda (file)
(install-file file lib))
(find-files ".." "\\.jar$"))
+
;; install all resources
- (for-each (lambda (file)
- (install-file file share))
- (find-files "share" ".*"))
+ (copy-recursively "share" share)
+
;; create wrapper
(call-with-output-file (string-append bin "/tuxguitar")
(lambda (port)
@@ -1353,7 +1366,7 @@ is subjective.")
#t))))))
(inputs
`(("java-swt" ,java-swt)))
- (home-page "http://tuxguitar.com.ar")
+ (home-page "http://tuxguitar.pw")
(synopsis "Multitrack tablature editor and player")
(description
"TuxGuitar is a guitar tablature editor with player support through midi.
@@ -1367,33 +1380,29 @@ export.")
(define-public pd
(package
(name "pd")
- (version "0.45.4")
+ (version "0.47-1")
(source (origin
(method url-fetch)
(uri
- (string-append "mirror://sourceforge/pure-data/pure-data/"
- version "/pd-" (version-major+minor version)
- "-" (last (string-split version #\.))
- ".src.tar.gz"))
+ (string-append "http://msp.ucsd.edu/Software/pd-"
+ version ".src.tar.gz"))
(sha256
(base32
- "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p"))))
+ "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
- (add-before
- 'configure 'fix-wish-path
- (lambda _
- (substitute* "src/s_inter.c"
- ((" wish ") (string-append " " (which "wish8.6") " ")))
- (substitute* "tcl/pd-gui.tcl"
- (("exec wish ") (string-append "exec " (which "wish8.6") " ")))
- #t))
- (add-after
- 'unpack 'autoconf
- (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+ (add-before 'configure 'fix-wish-path
+ (lambda _
+ (substitute* "src/s_inter.c"
+ ((" wish ") (string-append " " (which "wish8.6") " ")))
+ (substitute* "tcl/pd-gui.tcl"
+ (("exec wish ") (string-append "exec " (which "wish8.6") " ")))
+ #t))
+ (add-after 'unpack 'autoconf
+ (lambda _ (zero? (system* "bash" "./autogen.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -1630,7 +1639,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.5.0")
+ (version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -1638,7 +1647,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "10s1i18xlmvqfrnr0zn2mj2b28i7p62dlqzzzkmpaapqj1gsgpz5"))))
+ "09kmq5bwgwwpa5z2mm1pxhnqcryd0cm5ixlafb3g6d3aspja2mkn"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 571770b459..36909032a1 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
- (version "2.7.5")
+ (version "2.8.0")
(source
(origin
(method url-fetch)
@@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
- "01yrh66rph0vn9q9r2d2jji5yzaakxrj75j9fsm0g41m8qpy4sr2"))))
+ "0dlid11c8jkv0b9n73lc3mj274y5c7y08n7pzv947qz50m446yqb"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 1f8e68171d..0c40fe933e 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -45,7 +45,7 @@
(define-public parallel
(package
(name "parallel")
- (version "20170122")
+ (version "20170322")
(source
(origin
(method url-fetch)
@@ -53,7 +53,7 @@
version ".tar.bz2"))
(sha256
(base32
- "19maf889vj1c4zakqwap58f44hgypyb5mzzwfsliir9gvvcq6zj1"))))
+ "1xjk6np0gwa6p5j26camwybx1n0vqz0f0bksi593rgw800211y7q"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0a710ec5fe..857a1c7c60 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -49,6 +49,7 @@
(package
(name "ruby")
(version "2.3.3")
+ (replacement ruby-2.3.4)
(source
(origin
(method url-fetch)
@@ -101,10 +102,30 @@ a focus on simplicity and productivity.")
(home-page "https://ruby-lang.org")
(license license:ruby)))
+(define ruby-2.3.4
+ (package
+ (inherit ruby)
+ (name "ruby")
+ (version "2.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "132p5kc1sx97svbx04g40pz5pr7p8f6jlmnq5r2prlcz5q1xj71l"))
+ (modules '((guix build utils)))
+ (snippet `(begin
+ ;; Remove bundled libffi
+ (delete-file-recursively "ext/fiddle/libffi-3.2.1")
+ #t))))))
+
(define-public ruby-2.2
(package (inherit ruby)
(replacement #f)
- (version "2.2.6")
+ (version "2.2.7")
(source
(origin
(method url-fetch)
@@ -113,7 +134,7 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0fbk2pyjphynj4kxn27vb5rsq6brr3y85p784jd1rxwws30fq54l"))))))
+ "0lyb7gnbbhs3a3v9grsjgbaixm20wxz6x3h0czyrxnj3cpp8lk13"))))))
(define-public ruby-2.1
(package (inherit ruby)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index ca51b3ad5d..c874bc20bd 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -346,14 +346,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.5.5")
+ (version "0.5.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "1wa5g1gxk4aw8jazp3fqmr7mlkdmnva83x28i9xd3s99lv0qb3dd"))
+ "09s5k7fh4p0vkq0fha4ikwqlqsyv84vmlbqn8ggn0ymd47ajv38z"))
(modules '((guix build utils)))
(snippet
`(begin
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index d0d99932c4..7dcd164dc6 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -271,13 +271,13 @@ multi-seat support, a replacement for @command{mingetty}, and more.")
(define-public libtermkey
(package
(name "libtermkey")
- (version "0.19")
+ (version "0.20")
(source (origin
(method url-fetch)
(uri (string-append "http://www.leonerd.org.uk/code/"
name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "1ds8gdr8p2dfr970z8kxgfz6x7m1jxmmfrb2aafab3wcni6al1f5"))))
+ (base32 "1xfj6lchhfljmbcl6dz8dpakppyy13nbl4ykxiv5x4dr9b4qf3bc"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list
diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm
index 303067037f..64de111511 100644
--- a/gnu/services/dict.scm
+++ b/gnu/services/dict.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:export (dicod-service
dicod-service-type
dicod-configuration
+ dicod-handler
dicod-database
%dicod-database:gcide))
@@ -46,21 +48,30 @@
(dico dicod-configuration-dico (default dico))
(interfaces dicod-configuration-interfaces ;list of strings
(default '("localhost")))
- (databases dicod-configuration-databases
- ;; list of <dicod-database>
+ (handlers dicod-configuration-handlers ;list of <dicod-handler>
+ (default '()))
+ (databases dicod-configuration-databases ;list of <dicod-database>
(default (list %dicod-database:gcide))))
+(define-record-type* <dicod-handler>
+ dicod-handler make-dicod-handler
+ dicod-handler?
+ (name dicod-handler-name)
+ (module dicod-handler-module (default #f))
+ (options dicod-handler-options (default '())))
+
(define-record-type* <dicod-database>
dicod-database make-dicod-database
dicod-database?
(name dicod-database-name)
- (module dicod-database-module)
+ (handler dicod-database-handler)
+ (complex? dicod-database-complex? (default #f))
(options dicod-database-options (default '())))
(define %dicod-database:gcide
(dicod-database
(name "gcide")
- (module "gcide")
+ (handler "gcide")
(options (list #~(string-append "dbdir=" #$gcide "/share/gcide")
"idxdir=/var/run/dicod"))))
@@ -76,22 +87,47 @@
(shell (file-append shadow "/sbin/nologin")))))
(define (dicod-configuration-file config)
+ (define handler->text
+ (match-lambda
+ (($ <dicod-handler> name #f '())
+ `("
+load-module " ,name ";"))
+ (($ <dicod-handler> name #f options)
+ (handler->text (dicod-handler
+ (name name)
+ (module name)
+ (options options))))
+ (($ <dicod-handler> name module options)
+ `("
+load-module " ,name " {
+ command \"" ,module (string-join (list ,@options) " " 'prefix) "\";
+}\n"))))
+
(define database->text
(match-lambda
- (($ <dicod-database> name module options)
+ (($ <dicod-database> name handler #f options)
+ (append
+ (handler->text (dicod-handler
+ (name handler)))
+ (database->text (dicod-database
+ (name name)
+ (handler handler)
+ (complex? #t)
+ (options options)))))
+ (($ <dicod-database> name handler complex? options)
`("
-load-module " ,module ";
database {
name \"" ,name "\";
- handler \"" ,module
+ handler \"" ,handler
(string-join (list ,@options) " " 'prefix) "\";
}\n"))))
(define configuration->text
(match-lambda
- (($ <dicod-configuration> dico (interfaces ...) databases)
+ (($ <dicod-configuration> dico (interfaces ...) handlers databases)
(append `("listen ("
,(string-join interfaces ", ") ");\n")
+ (append-map handler->text handlers)
(append-map database->text databases)))))
(apply mixed-text-file "dicod.conf" (configuration->text config)))
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 05978e0068..20043d7518 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -160,8 +160,8 @@
@samp{pam}, @samp{passwd}, @samp{shadow}, @samp{bsdauth}, and
@samp{static}.")
(args
- (free-form-args '())
- "A list of key-value args to the passdb driver."))
+ (space-separated-string-list '())
+ "Space separated list of arguments to the passdb driver."))
(define (serialize-passdb-configuration field-name val)
(format #t "passdb {\n")
@@ -178,8 +178,8 @@
"The driver that the userdb should use. Valid values include
@samp{passwd} and @samp{static}.")
(args
- (free-form-args '())
- "A list of key-value args to the userdb driver.")
+ (space-separated-string-list '())
+ "Space separated list of arguments to the userdb driver.")
(override-fields
(free-form-args '())
"Override fields from passwd."))
diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm
index ec35e5701a..fe55647eef 100644
--- a/gnu/services/pm.scm
+++ b/gnu/services/pm.scm
@@ -327,7 +327,7 @@ blacklisted ones.")
(runtime-pm-blacklist
(maybe-space-separated-string-list 'disabled)
- "Exclude specified PCI(e) devices adresses from Runtime Power Management.")
+ "Exclude specified PCI(e) device addresses from Runtime Power Management.")
(runtime-pm-driver-blacklist
(space-separated-string-list '("radeon" "nouveau"))
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index e1a04a9858..868a227fc0 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -352,7 +352,7 @@ channel to protect against DoS attacks.")
(client-to-client?
(boolean #f)
- "When true, clients are alowed to talk to each other inside the VPN.")
+ "When true, clients are allowed to talk to each other inside the VPN.")
(keepalive
(keepalive '(10 120))
@@ -368,7 +368,7 @@ element is the timeout before considering the other side down.")
(status
(string "/var/run/openvpn/status")
"The status file. This file shows a small report on current connection. It
-is trunkated and rewritten every minute.")
+is truncated and rewritten every minute.")
(client-config-dir
(openvpn-ccd-list '())
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 8abe6c608b..e84d1ebb20 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,7 +21,11 @@
#:use-module (guix utils)
#:use-module (guix records)
#:use-module (gnu system)
+ #:use-module (gnu system grub)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system shadow)
#:use-module (gnu services)
+ #:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:use-module ((gnu packages) #:select (scheme-modules))
#:use-module (srfi srfi-1)
@@ -37,6 +41,8 @@
marionette-operating-system
define-os-with-source
+ simple-operating-system
+
system-test
system-test?
system-test-name
@@ -190,6 +196,41 @@ the system under test."
;;;
+;;; Simple operating systems.
+;;;
+
+(define %simple-os
+ (operating-system
+ (host-name "komputilo")
+ (timezone "Europe/Berlin")
+ (locale "en_US.UTF-8")
+
+ (bootloader (grub-configuration (device "/dev/sdX")))
+ (file-systems (cons (file-system
+ (device "my-root")
+ (title 'label)
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (firmware '())
+
+ (users (cons (user-account
+ (name "alice")
+ (comment "Bob's sister")
+ (group "users")
+ (supplementary-groups '("wheel" "audio" "video"))
+ (home-directory "/home/alice"))
+ %base-user-accounts))))
+
+(define-syntax-rule (simple-operating-system user-services ...)
+ "Return an operating system that includes USER-SERVICES in addition to
+%BASE-SERVICES."
+ (operating-system (inherit %simple-os)
+ (services (cons* user-services ... %base-services))))
+
+
+
+;;;
;;; Tests.
;;;
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 000a4ddecb..bcb8299c73 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -19,8 +19,6 @@
(define-module (gnu tests base)
#:use-module (gnu tests)
#:use-module (gnu system)
- #:use-module (gnu system grub)
- #:use-module (gnu system file-systems)
#:use-module (gnu system shadow)
#:use-module (gnu system nss)
#:use-module (gnu system vm)
@@ -44,27 +42,7 @@
%test-nss-mdns))
(define %simple-os
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Berlin")
- (locale "en_US.UTF-8")
-
- (bootloader (grub-configuration (device "/dev/sdX")))
- (file-systems (cons (file-system
- (device "my-root")
- (title 'label)
- (mount-point "/")
- (type "ext4"))
- %base-file-systems))
- (firmware '())
-
- (users (cons (user-account
- (name "alice")
- (comment "Bob's sister")
- (group "users")
- (supplementary-groups '("wheel" "audio" "video"))
- (home-directory "/home/alice"))
- %base-user-accounts))))
+ (simple-operating-system))
(define* (run-basic-test os command #:optional (name "basic")
@@ -420,10 +398,8 @@ functionality tests.")
#:user "alice"))
(job3 #~(job next-second-from ;to test $PATH
"touch witness-touch")))
- (operating-system
- (inherit %simple-os)
- (services (cons (mcron-service (list job1 job2 job3))
- (operating-system-user-services %simple-os))))))
+ (simple-operating-system
+ (mcron-service (list job1 job2 job3)))))
(define (run-mcron-test name)
(mlet* %store-monad ((os -> (marionette-operating-system
diff --git a/gnu/tests/dict.scm b/gnu/tests/dict.scm
new file mode 100644
index 0000000000..f7a48ab634
--- /dev/null
+++ b/gnu/tests/dict.scm
@@ -0,0 +1,141 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 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 (gnu tests dict)
+ #:use-module (gnu tests)
+ #:use-module (gnu system)
+ #:use-module (gnu system nss)
+ #:use-module (gnu system vm)
+ #:use-module (gnu services)
+ #:use-module (gnu services dict)
+ #:use-module (gnu services networking)
+ #:use-module (gnu packages wordnet)
+ #:use-module (guix gexp)
+ #:use-module (guix store)
+ #:use-module (guix monads)
+ #:use-module (guix packages)
+ #:use-module (guix modules)
+ #:export (%test-dicod))
+
+(define %dicod-os
+ (simple-operating-system
+ (dhcp-client-service)
+ (service dicod-service-type
+ (dicod-configuration
+ (interfaces '("0.0.0.0"))
+ (handlers (list (dicod-handler
+ (name "wordnet")
+ (module "dictorg")
+ (options
+ ;; XXX: Not useful since WordNet does not
+ ;; provide DICT-formatted data?
+ (list #~(string-append "dbdir=" #$wordnet))))))
+ (databases (list (dicod-database
+ (name "wordnet")
+ (complex? #t)
+ (handler "wordnet")
+ (options '("database=wn")))
+ %dicod-database:gcide))))))
+
+(define* (run-dicod-test)
+ "Run tests of 'dicod-service-type'."
+ (mlet* %store-monad ((os -> (marionette-operating-system
+ %dicod-os
+ #:imported-modules
+ (source-module-closure '((gnu services herd)))))
+ (command (system-qemu-image/shared-store-script
+ os #:graphic? #f)))
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (ice-9 rdelim)
+ (ice-9 regex)
+ (srfi srfi-64)
+ (gnu build marionette))
+ (define marionette
+ ;; Forward the guest's DICT port to local port 8000.
+ (make-marionette (list #$command "-net"
+ "user,hostfwd=tcp::8000-:2628")))
+
+ (define %dico-socket
+ (socket PF_INET SOCK_STREAM 0))
+
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin "dicod")
+
+ ;; Wait for the service to be started.
+ (test-eq "service is running"
+ 'running!
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'dicod)
+ 'running!)
+ marionette))
+
+ ;; Wait until dicod is actually listening.
+ ;; TODO: Use a PID file instead.
+ (test-assert "connect inside"
+ (marionette-eval
+ '(begin
+ (use-modules (ice-9 rdelim))
+ (let ((sock (socket PF_INET SOCK_STREAM 0)))
+ (let loop ()
+ (pk 'try)
+ (catch 'system-error
+ (lambda ()
+ (connect sock AF_INET INADDR_LOOPBACK 2628))
+ (lambda args
+ (pk 'connection-error args)
+ (sleep 1)
+ (loop))))
+ (read-line sock 'concat)))
+ marionette))
+
+ (test-assert "connect"
+ (let ((addr (make-socket-address AF_INET INADDR_LOOPBACK 8000)))
+ (connect %dico-socket addr)
+ (read-line %dico-socket 'concat)))
+
+ (test-equal "CLIENT"
+ "250 ok\r\n"
+ (begin
+ (display "CLIENT \"GNU Guile\"\r\n" %dico-socket)
+ (read-line %dico-socket 'concat)))
+
+ (test-assert "DEFINE"
+ (begin
+ (display "DEFINE ! hello\r\n" %dico-socket)
+ (display "QUIT\r\n" %dico-socket)
+ (let ((result (read-string %dico-socket)))
+ (and (string-contains result "gcide")
+ (string-contains result "hello")
+ result))))
+
+ (test-end)
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+ (gexp->derivation "dicod" test)))
+
+(define %test-dicod
+ (system-test
+ (name "dicod")
+ (description "Connect to the dicod DICT server.")
+ (value (run-dicod-test))))
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index 47328a54ae..d5c08b7f09 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -19,11 +19,8 @@
(define-module (gnu tests mail)
#:use-module (gnu tests)
#:use-module (gnu system)
- #:use-module (gnu system file-systems)
- #:use-module (gnu system grub)
#:use-module (gnu system vm)
#:use-module (gnu services)
- #:use-module (gnu services base)
#:use-module (gnu services mail)
#:use-module (gnu services networking)
#:use-module (guix gexp)
@@ -32,23 +29,15 @@
#:export (%test-opensmtpd))
(define %opensmtpd-os
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Berlin")
- (locale "en_US.UTF-8")
- (bootloader (grub-configuration (device #f)))
- (file-systems %base-file-systems)
- (firmware '())
- (services (cons*
- (dhcp-client-service)
- (service opensmtpd-service-type
- (opensmtpd-configuration
- (config-file
- (plain-file "smtpd.conf" "
+ (simple-operating-system
+ (dhcp-client-service)
+ (service opensmtpd-service-type
+ (opensmtpd-configuration
+ (config-file
+ (plain-file "smtpd.conf" "
listen on 0.0.0.0
accept from any for local deliver to mbox
-"))))
- %base-services))))
+"))))))
(define (run-opensmtpd-test)
"Return a test of an OS running OpenSMTPD service."
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index b0c8254ce0..cefb52534a 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -19,12 +19,8 @@
(define-module (gnu tests messaging)
#:use-module (gnu tests)
#:use-module (gnu system)
- #:use-module (gnu system grub)
- #:use-module (gnu system file-systems)
- #:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
- #:use-module (gnu services base)
#:use-module (gnu services messaging)
#:use-module (gnu services networking)
#:use-module (gnu packages messaging)
@@ -33,30 +29,11 @@
#:use-module (guix monads)
#:export (%test-prosody))
-(define %base-os
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Berlin")
- (locale "en_US.UTF-8")
-
- (bootloader (grub-configuration (device "/dev/sdX")))
- (file-systems %base-file-systems)
- (firmware '())
- (users %base-user-accounts)
- (services (cons (dhcp-client-service)
- %base-services))))
-
-(define (os-with-service service)
- "Return a test operating system that runs SERVICE."
- (operating-system
- (inherit %base-os)
- (services (cons service
- (operating-system-user-services %base-os)))))
-
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
(mlet* %store-monad ((os -> (marionette-operating-system
- (os-with-service xmpp-service)
+ (simple-operating-system (dhcp-client-service)
+ xmpp-service)
#:imported-modules '((gnu services herd))))
(command (system-qemu-image/shared-store-script
os #:graphic? #f))
diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm
index 53c80a4ac1..cfcb490874 100644
--- a/gnu/tests/networking.scm
+++ b/gnu/tests/networking.scm
@@ -19,12 +19,8 @@
(define-module (gnu tests networking)
#:use-module (gnu tests)
#:use-module (gnu system)
- #:use-module (gnu system grub)
- #:use-module (gnu system file-systems)
- #:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
- #:use-module (gnu services base)
#:use-module (gnu services networking)
#:use-module (guix gexp)
#:use-module (guix store)
@@ -34,35 +30,27 @@
(define %inetd-os
;; Operating system with 2 inetd services.
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Brussels")
- (locale "en_US.utf8")
-
- (bootloader (grub-configuration (device "/dev/sdX")))
- (file-systems %base-file-systems)
- (firmware '())
- (users %base-user-accounts)
- (services (cons* (dhcp-client-service)
- (service inetd-service-type
- (inetd-configuration
- (entries (list
- (inetd-entry
- (name "echo")
- (socket-type 'stream)
- (protocol "tcp")
- (wait? #f)
- (user "root"))
- (inetd-entry
- (name "dict")
- (socket-type 'stream)
- (protocol "tcp")
- (wait? #f)
- (user "root")
- (program (file-append bash
- "/bin/bash"))
- (arguments
- (list "bash" (plain-file "my-dict.sh" "\
+ (simple-operating-system
+ (dhcp-client-service)
+ (service inetd-service-type
+ (inetd-configuration
+ (entries (list
+ (inetd-entry
+ (name "echo")
+ (socket-type 'stream)
+ (protocol "tcp")
+ (wait? #f)
+ (user "root"))
+ (inetd-entry
+ (name "dict")
+ (socket-type 'stream)
+ (protocol "tcp")
+ (wait? #f)
+ (user "root")
+ (program (file-append bash
+ "/bin/bash"))
+ (arguments
+ (list "bash" (plain-file "my-dict.sh" "\
while read line
do
if [[ $line =~ ^DEFINE\\ (.*)$ ]]
@@ -81,8 +69,7 @@ do
else
echo ERROR
fi
-done" ))))))))
- %base-services))))
+done" ))))))))))
(define* (run-inetd-test)
"Run tests in %INETD-OS, where the inetd service provides an echo service on
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index c1582c4737..02931e982a 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@@ -20,12 +20,8 @@
(define-module (gnu tests ssh)
#:use-module (gnu tests)
#:use-module (gnu system)
- #:use-module (gnu system grub)
- #:use-module (gnu system file-systems)
- #:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
- #:use-module (gnu services base)
#:use-module (gnu services ssh)
#:use-module (gnu services networking)
#:use-module (gnu packages ssh)
@@ -35,26 +31,6 @@
#:export (%test-openssh
%test-dropbear))
-(define %base-os
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Berlin")
- (locale "en_US.UTF-8")
-
- (bootloader (grub-configuration (device "/dev/sdX")))
- (file-systems %base-file-systems)
- (firmware '())
- (users %base-user-accounts)
- (services (cons (dhcp-client-service)
- %base-services))))
-
-(define (os-with-service service)
- "Return a test operating system that runs SERVICE."
- (operating-system
- (inherit %base-os)
- (services (cons service
- (operating-system-user-services %base-os)))))
-
(define* (run-ssh-test name ssh-service pid-file #:key (sftp? #f))
"Run a test of an OS running SSH-SERVICE, which writes its PID to PID-FILE.
SSH-SERVICE must be configured to listen on port 22 and to allow for root and
@@ -62,7 +38,9 @@ empty-password logins.
When SFTP? is true, run an SFTP server test."
(mlet* %store-monad ((os -> (marionette-operating-system
- (os-with-service ssh-service)
+ (simple-operating-system
+ (dhcp-client-service)
+ ssh-service)
#:imported-modules '((gnu services herd)
(guix combinators))))
(command (system-qemu-image/shared-store-script
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index bae0e8fad7..cdc5791237 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -24,7 +24,6 @@
#:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
- #:use-module (gnu services base)
#:use-module (gnu services web)
#:use-module (gnu services networking)
#:use-module (guix gexp)
@@ -55,23 +54,14 @@
(define %nginx-os
;; Operating system under test.
- (operating-system
- (host-name "komputilo")
- (timezone "Europe/Berlin")
- (locale "en_US.utf8")
-
- (bootloader (grub-configuration (device "/dev/sdX")))
- (file-systems %base-file-systems)
- (firmware '())
- (users %base-user-accounts)
- (services (cons* (dhcp-client-service)
- (service nginx-service-type
- (nginx-configuration
- (log-directory "/var/log/nginx")
- (server-blocks %nginx-servers)))
- (simple-service 'make-http-root activation-service-type
- %make-http-root)
- %base-services))))
+ (simple-operating-system
+ (dhcp-client-service)
+ (service nginx-service-type
+ (nginx-configuration
+ (log-directory "/var/log/nginx")
+ (server-blocks %nginx-servers)))
+ (simple-service 'make-http-root activation-service-type
+ %make-http-root)))
(define* (run-nginx-test #:optional (http-port 8042))
"Run tests in %NGINX-OS, which has nginx running and listening on
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 626c592e1c..9e91bc22ac 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,7 +60,7 @@
(compressor "lzip" "lz"
#~(#+(file-append lzip "/bin/lzip") "-9"))
(compressor "xz" "xz"
- #~(#+(file-append xz "/bin/xz") "-e"))
+ #~(#+(file-append xz "/bin/xz") "-e -T0"))
(compressor "bzip2" "bz2"
#~(#+(file-append bzip2 "/bin/bzip2") "-9"))))
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index faeb019120..d3bccf4ddb 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -520,8 +520,9 @@ indicates that PATH is unavailable at CACHE-URL."
(define (narinfo-request cache-url path)
"Return an HTTP request for the narinfo of PATH at CACHE-URL."
(let ((url (string-append cache-url "/" (store-path-hash-part path)
- ".narinfo")))
- (build-request (string->uri url) #:method 'GET)))
+ ".narinfo"))
+ (headers '((User-Agent . "GNU Guile"))))
+ (build-request (string->uri url) #:method 'GET #:headers headers)))
(define* (http-multiple-get base-uri proc seed requests
#:key port (verify-certificate? #t))
diff --git a/guix/utils.scm b/guix/utils.scm
index bc90686de0..fb962df8ba 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -154,7 +155,7 @@ a symbol such as 'xz."
(match compression
((or #f 'none) (values input '()))
('bzip2 (filtered-port `(,%bzip2 "-dc") input))
- ('xz (filtered-port `(,%xz "-dc") input))
+ ('xz (filtered-port `(,%xz "-dc -T0") input))
('gzip (filtered-port `(,%gzip "-dc") input))
(else (error "unsupported compression scheme" compression))))
@@ -164,7 +165,7 @@ a symbol such as 'xz."
(match compression
((or #f 'none) (values input '()))
('bzip2 (filtered-port `(,%bzip2 "-c") input))
- ('xz (filtered-port `(,%xz "-c") input))
+ ('xz (filtered-port `(,%xz "-c -T0") input))
('gzip (filtered-port `(,%gzip "-c") input))
(else (error "unsupported compression scheme" compression))))
@@ -221,7 +222,7 @@ program--e.g., '(\"--fast\")."
(match compression
((or #f 'none) (values output '()))
('bzip2 (filtered-output-port `(,%bzip2 "-c" ,@options) output))
- ('xz (filtered-output-port `(,%xz "-c" ,@options) output))
+ ('xz (filtered-output-port `(,%xz "-c -T0" ,@options) output))
('gzip (filtered-output-port `(,%gzip "-c" ,@options) output))
(else (error "unsupported compression scheme" compression))))