summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/admin.scm29
-rw-r--r--gnu/packages/adns.scm29
-rw-r--r--gnu/packages/aria2.scm49
-rw-r--r--gnu/packages/aspell.scm6
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/bioinformatics.scm12
-rw-r--r--gnu/packages/bittorrent.scm67
-rw-r--r--gnu/packages/check.scm25
-rw-r--r--gnu/packages/compression.scm29
-rw-r--r--gnu/packages/enlightenment.scm40
-rw-r--r--gnu/packages/ruby.scm841
-rw-r--r--gnu/packages/tls.scm4
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/services/base.scm6
-rw-r--r--gnu/services/dmd.scm6
-rw-r--r--gnu/system.scm1
16 files changed, 1072 insertions, 80 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 953c5b4cf8..eca4d9208f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -58,9 +58,11 @@
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python)
- #:use-module (gnu packages man))
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages autotools))
(define-public dmd
+ ;; Deprecated. Kept around "just in case."
(let ((base-version "0.2")
(patch-level "01"))
(package
@@ -99,6 +101,31 @@ interface and is based on GNU Guile.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/dmd/"))))
+(define-public shepherd
+ (package
+ (name "shepherd")
+ (version "0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "13mcy2131h7hggqvxbfxyrnbz46aaiaq2agng3x3f789a78n4mnn"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--localstatedir=/var")))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("guile" ,guile-2.0)))
+ (synopsis "System service manager")
+ (description
+ "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
+the execution of system services, replacing similar functionality found in
+typical init systems. It provides dependency-handling through a convenient
+interface and is based on GNU Guile.")
+ (license license:gpl3+)
+ (home-page "http://www.gnu.org/software/shepherd/")))
+
(define-public dfc
(package
(name "dfc")
diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm
index f96b0ab5d0..1af735b6eb 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +21,8 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages pkg-config))
(define-public adns
(package
@@ -53,3 +55,28 @@ functionality. The library is asynchronous, allowing several concurrent
calls. The package also includes several command-line utilities for use in
scripts.")
(license gpl3+)))
+
+(define-public c-ares
+ (package
+ (name "c-ares")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://c-ares.haxx.se/download/" name "-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1nyka87yf2jfd0y6sspll0yxwb8zi7kyvajrdbjmh4axc5s1cw1x"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://c-ares.haxx.se/")
+ (synopsis "C library for asynchronous DNS requests")
+ (description
+ "C-ares is a C library that performs DNS requests and name resolution
+asynchronously. It is intended for applications which need to perform DNS
+queries without blocking, or need to perform multiple DNS queries in parallel.
+The primary examples of such applications are servers which communicate with
+multiple clients and programs with graphical user interfaces.")
+ (license (x11-style "http://c-ares.haxx.se/license.html"))))
diff --git a/gnu/packages/aria2.scm b/gnu/packages/aria2.scm
deleted file mode 100644
index 707a3ce0e4..0000000000
--- a/gnu/packages/aria2.scm
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
-;;;
-;;; 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 aria2)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix download)
- #:use-module (guix packages)
- #:use-module (guix build-system gnu)
- #:use-module (gnu packages pkg-config))
-
-(define-public c-ares
- (package
- (name "c-ares")
- (version "1.10.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://c-ares.haxx.se/download/" name "-" version
- ".tar.gz"))
- (sha256
- (base32
- "1nyka87yf2jfd0y6sspll0yxwb8zi7kyvajrdbjmh4axc5s1cw1x"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "http://c-ares.haxx.se/")
- (synopsis "C library for asynchronous DNS requests")
- (description
- "C-ares is a C library that performs DNS requests and name resolution
-asynchronously. It is intended for applications which need to perform DNS
-queries without blocking, or need to perform multiple DNS queries in parallel.
-The primary examples of such applications are servers which communicate with
-multiple clients and programs with graphical user interfaces.")
- (license (license:x11-style "http://c-ares.haxx.se/license.html"))))
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 38ed997163..2425d1cbec 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,10 +89,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-en
(aspell-dictionary "en" "English"
- #:version "7.1-0"
+ #:version "2016.01.19-0"
#:sha256
(base32
- "02ldfiny4iakgfgy4sdrzjqdzi7l1rmb6y30lv31kfy5x31g77gz")))
+ "01h4cl4lngp6mcfbyb47cjrc2gspyg2519dvknd97ki896nx7vcn")))
(define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto"
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0823aad91e..7f0d87ddf7 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -70,14 +70,14 @@
(define-public alsa-modular-synth
(package
(name "alsa-modular-synth")
- (version "2.1.1")
+ (version "2.1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/alsamodular/ams-"
version ".tar.bz2"))
(sha256
(base32
- "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+ "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a9df676fc6..992ab30fe9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2647,7 +2647,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
(define-public ngs-sdk
(package
(name "ngs-sdk")
- (version "1.2.2")
+ (version "1.2.3")
(source
(origin
(method url-fetch)
@@ -2657,7 +2657,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0rvq61zfw2h9jcz6a33b9xrl20r7s5a9rldvv6rs2qy42khpmf5j"))))
+ "15074fdi94c6pjy83hhk22r86kfvzpaz2i07h3rqg9yy6x3w0pk2"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -2711,7 +2711,7 @@ simultaneously.")
(define-public ncbi-vdb
(package
(name "ncbi-vdb")
- (version "2.5.4")
+ (version "2.5.7")
(source
(origin
(method url-fetch)
@@ -2721,7 +2721,7 @@ simultaneously.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1rcnyc4xkdfcjww2i0s0qrbapys0cxbjcx2sy3qkpslf9f400fgj"))))
+ "0hay5hy8ynva3mi5wbn4wmq1q23qwxc3aqzbb86hg3x4f1r73270"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
@@ -2951,7 +2951,7 @@ complexity samples.")
(define-public sra-tools
(package
(name "sra-tools")
- (version "2.5.4")
+ (version "2.5.7")
(source
(origin
(method url-fetch)
@@ -2961,7 +2961,7 @@ complexity samples.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1rxxc8a34g70jcaa2j8sys2x93amlbc24k7az39wldhkzgi96825"))))
+ "0q93qg744x787d08qmjmdafki1wkbvkdwynayjnjd454gkd26jl5"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 94383dba20..16673edf68 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,20 +26,25 @@
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
- #:use-module (gnu packages libevent)
+ #:use-module (gnu packages adns)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages curl)
- #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages file)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages check)
+ #:use-module (gnu packages libevent)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages nettle)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages curl)
- #:use-module (gnu packages cyrus-sasl)
- #:use-module (gnu packages tls))
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages xml))
(define-public transmission
(package
@@ -192,3 +198,48 @@ XML-RPC over SCGI.")
interface, for the Transmission BitTorrent daemon.")
(home-page "https://github.com/fagga/transmission-remote-cli")
(license l:gpl3+)))
+
+(define-public aria2
+ (package
+ (name "aria2")
+ (version "1.19.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/tatsuhiro-t/aria2/"
+ "releases/download/release-" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1qwr4al6wlh5f558r0mr1hvdnf7d8ss6qwqn2361k99phk1cdg3a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--enable-libaria2")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-socket-tests
+ (lambda _
+ (substitute* "test/LpdMessageDispatcherTest.cc"
+ (("CPPUNIT_TEST_SUITE_REGISTRATION\\(LpdMessageDispatcherTest\\);" text)
+ (string-append "// " text)))
+ (substitute* "test/LpdMessageReceiverTest.cc"
+ (("CPPUNIT_TEST_SUITE_REGISTRATION\\(LpdMessageReceiverTest\\);" text)
+ (string-append "// " text))))))))
+ (native-inputs
+ `(("pkg-config", pkg-config)))
+ (inputs
+ `(("c-ares" ,c-ares)
+ ("cppunit" ,cppunit) ; for the tests
+ ("gnutls" ,gnutls)
+ ("gmp" ,gmp)
+ ("libssh2" ,libssh2)
+ ("libxml2" ,libxml2)
+ ("nettle" ,nettle)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (home-page "http://aria2.sourceforge.net/")
+ (synopsis "Utility for parallel downloading files")
+ (description
+ "Aria2 is a lightweight, multi-protocol & multi-source command-line
+download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
+Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
+ (license l:gpl2+)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 3b7a243ba7..21ecd8413a 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
@@ -147,3 +149,26 @@ supervised tests.")
"Catch stands for C++ Automated Test Cases in Headers and is a
multi-paradigm automated test framework for C++ and Objective-C.")
(license boost1.0)))
+
+(define-public cmocka
+ (package
+ (name "cmocka")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://cmocka.org/files/1.0/cmocka-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0fvm6rdalqcxckbddch8ycdw6n2ckldblv117n09chi2l7bm0q5k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ; No test target
+ (home-page "https://cmocka.org/")
+ (synopsis "Unit testing framework for C")
+ (description "Cmocka is a unit testing framework for C with support for
+mock objects. It only requires the standard C library, and works with
+different compilers. Cmocka supports several different message output formats
+like Test Anything Protocol, Subunit, xUnit XML or the original cmockery output
+format.")
+ (license asl2.0)))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 7d22095df1..4a31bf79e2 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,8 +33,10 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages valgrind)
#:use-module ((srfi srfi-1) #:select (last)))
@@ -659,3 +662,29 @@ multiple processors and multiple cores when compressing data.")
;; Things under zopfli/ are under ASL2.0, but 4 files at the top-level,
;; written by Mark Adler, are under another non-copyleft license.
(license license:asl2.0)))
+
+(define-public pixz
+ (package
+ (name "pixz")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/vasi/pixz/releases/download/v" version
+ "/pixz-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1s3j7zw6j5zi3fhdxg287ndr3wf6swac7z21mqd1pyiln530gi82"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libarchive" ,libarchive)))
+ (home-page "https://github.com/vasi/pixz")
+ (synopsis "Parallel indexing implementation of LZMA")
+ (description
+ "The existing XZ Utils provide great compression in the .xz file format,
+but they produce just one big block of compressed data. Pixz instead produces
+a collection of smaller blocks which makes random access to the original data
+possible and can compress in parallel. This is especially useful for large
+tarballs.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 3fec6c6fc7..7fbbaac071 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -23,6 +23,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
@@ -41,9 +42,10 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages pdf)
- #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
@@ -306,3 +308,39 @@ file manager, wide range of configuration options, plugin system allowing to
unload unused functionality, with support for touchscreen and suitable for
embedded systems.")
(license license:bsd-2)))
+
+(define-public python-efl
+ (package
+ (name "python-efl")
+ (version "1.16.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-efl" version))
+ (sha256
+ (base32
+ "1ihay90agl2jx12m7jj8j1cspd7vsak1w7q95rhb6r2srkq0ppxk"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-flags
+ (lambda _
+ (setenv "CFLAGS"
+ (string-append "-I" (assoc-ref %build-inputs "python-dbus")
+ "/include/dbus-1.0")))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("efl" ,efl)
+ ("elementary" ,elementary)
+ ("python-dbus" ,python-dbus)))
+ (home-page "https://www.enlightenment.org/")
+ (synopsis "Python bindings for EFL")
+ (description
+ "PYTHON-EFL are the python bindings for the whole Enlightenment Foundation
+Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).")
+ (license license:lgpl3)))
+
+(define-public python2-efl
+ (package-with-python2 python-efl))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6e5553bd30..fa7c2f7691 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1557,6 +1557,161 @@ functionality, making it easier to migrate test suites from bacon to minitest.")
(home-page "https://github.com/seattlerb/minitest-bacon")
(license license:expat)))
+(define-public ruby-minitest-focus
+ (package
+ (name "ruby-minitest-focus")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-focus" version))
+ (sha256
+ (base32
+ "1zgjslp6d7dzcn8smj595idymgd5j603p9g2jqkfgi28sqbhz6m0"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)))
+ (synopsis "Allows a few specific tests to be focused on")
+ (description
+ "@code{minitest-focus} gives the ability focus on a few tests with ease
+without having to use command-line arguments. It introduces a @code{focus}
+class method for use in testing classes, specifying that the next defined test
+is to be run.")
+ (home-page "https://github.com/seattlerb/minitest-focus")
+ (license license:expat)))
+
+(define-public ruby-minitest-pretty-diff
+ ;; Use git reference because gem is out of date and does not contain testing
+ ;; script. There are no releases on GitHub.
+ (let ((commit "11f32e930f574225432f42e5e1ef6e7471efe572"))
+ (package
+ (name "ruby-minitest-pretty-diff")
+ (version (string-append "0.1-1." (string-take commit 8)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/adammck/minitest-pretty_diff.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13y5dhmcckhzd83gj1nfwh41iykbjcm2w7y4pr6j6rpqa5as122r"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "script/test")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-turn" ,ruby-turn)))
+ (synopsis "Pretty-print hashes and arrays in MiniTest")
+ (description
+ "@code{minitest-pretty_diff} monkey-patches
+@code{MiniTest::Assertions#mu_pp} to pretty-print hashes and arrays before
+diffing them. This makes it easier to spot differences between nested
+structures when tests fail.")
+ (home-page "https://github.com/adammck/minitest-pretty_diff")
+ (license license:expat))))
+
+(define-public ruby-minitest-moar
+ (package
+ (name "ruby-minitest-moar")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-moar" version))
+ (sha256
+ (base32
+ "0nb83blrsab92gcy6nfpw39njys7zisia8pw4igzzfzfl51cis0x"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'clean-dependencies
+ (lambda _
+ ;; Remove all gems defined in the Gemfile because these are not
+ ;; truly needed.
+ (substitute* "Gemfile"
+ (("gem .*") ""))
+ ;; Remove byebug as not needed to run tests.
+ (substitute* "test/test_helper.rb"
+ (("require 'byebug'") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Extra features and changes to MiniTest")
+ (description "@code{MiniTest Moar} add some additional features and
+changes some default behaviours in MiniTest. For instance, Moar replaces the
+MiniTest @code{Object#stub} with a global @code{stub} method.")
+ (home-page "https://github.com/dockyard/minitest-moar")
+ (license license:expat)))
+
+(define-public ruby-minitest-bonus-assertions
+ (package
+ (name "ruby-minitest-bonus-assertions")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-bonus-assertions" version))
+ (sha256
+ (base32
+ "11nrd32kwy61ndg9csk7l1ifya79ghrrv3vsrxj57k50m7na6jkm"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'clean-dependencies
+ (lambda _
+ ;; Remove unneeded require statement that would entail another
+ ;; dependency.
+ (substitute* "test/minitest_config.rb"
+ (("require 'minitest/bisect'") ""))
+ #t)))))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-minitest-pretty-diff" ,ruby-minitest-pretty-diff)
+ ("ruby-minitest-focus" ,ruby-minitest-focus)
+ ("ruby-minitest-moar" ,ruby-minitest-moar)))
+ (synopsis "Bonus assertions for @code{Minitest}")
+ (description
+ "Minitest bonus assertions provides extra MiniTest assertions. For
+instance, it provides @code{assert_true}, @code{assert_false} and
+@code{assert_set_equal}.")
+ (home-page "https://github.com/halostatue/minitest-bonus-assertions")
+ (license license:expat)))
+
+(define-public ruby-minitest-rg
+ (package
+ (name "ruby-minitest-rg")
+ (version "5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-rg" version))
+ (sha256
+ (base32
+ "0sq509ax1x62rd0w10b0hcydcxyk5bxxr3fwrgxv02r8drq2r354"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Some tests fail even outside Guix, so disable tests.
+ ;; https://github.com/blowmage/minitest-rg/issues/12
+ ;; https://github.com/blowmage/minitest-rg/pull/13
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Coloured output for Minitest")
+ (description
+ "@code{minitest-rg} changes the colour of the output from Minitest.")
+ (home-page "http://blowmage.com/minitest-rg")
+ (license license:expat)))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
@@ -2943,6 +3098,369 @@ used to create both network servers and clients.")
(home-page "http://rubyeventmachine.com")
(license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
+(define-public ruby-turn
+ (package
+ (name "ruby-turn")
+ (version "0.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "turn" version))
+ (sha256
+ (base32
+ "1691rc2sq04cw8mxxh340k2j04ll90kwgcy8ddrp6rligmfrf8fw"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Tests fail because turn changes its environment so can no longer
+ ;; find test/unit. Instead simply test if the executable runs
+ ;; without issue.
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "bin/turn" "-h")))))))
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)
+ ("ruby-minitest" ,ruby-minitest-4)))
+ (synopsis "Alternate set of alternative runners for MiniTest")
+ (description
+ "TURN provides a set of alternative runners for MiniTest which are both
+colorful and informative. TURN displays each test on a separate line with
+failures being displayed immediately instead of at the end of the tests. Note
+that TURN is no longer being maintained.")
+ (home-page "http://rubygems.org/gems/turn")
+ (license license:expat)))
+
+(define-public ruby-mime-types-data
+ (package
+ (name "ruby-mime-types-data")
+ (version "3.2015.1120")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mime-types-data" version))
+ (sha256
+ (base32
+ "04fzvy02w8d0rrsg8avncn7h58pvwdxj82aps54srb3sam2dkhic"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)))
+ (synopsis "Registry for information about MIME media type definitions")
+ (description
+ "@code{mime-types-data} provides a registry for information about
+Multipurpose Internet Mail Extensions (MIME) media type definitions. It can
+be used with the Ruby mime-types library or other software to determine
+defined filename extensions for MIME types, or to use filename extensions to
+look up the likely MIME type definitions.")
+ (home-page "https://github.com/mime-types/mime-types-data/")
+ (license license:expat)))
+
+(define-public ruby-mime-types
+ (package
+ (name "ruby-mime-types")
+ (version "3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mime-types" version))
+ (sha256
+ (base32
+ "1snjc38a9vqvy8j41xld1i1byq9prbl955pbjw7dxqcfcirqlzra"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-mime-types-data" ,ruby-mime-types-data)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-fivemat" ,ruby-fivemat)
+ ("ruby-minitest-focus" ,ruby-minitest-focus)
+ ("ruby-minitest-rg" ,ruby-minitest-rg)
+ ("ruby-minitest-bonus-assertions" ,ruby-minitest-bonus-assertions)))
+ (synopsis "Library and registry for MIME content type definitions")
+ (description "The mime-types library provides a library and registry for
+information about Multipurpose Internet Mail Extensions (MIME) content type
+definitions. It can be used to determine defined filename extensions for MIME
+types, or to use filename extensions to look up the likely MIME type
+definitions.")
+ (home-page "https://github.com/mime-types/ruby-mime-types")
+ (license license:expat)))
+
+(define-public ruby-fivemat
+ (package
+ (name "ruby-fivemat")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "fivemat" version))
+ (sha256
+ (base32
+ "1gvw6g4yc96l2pcyvigahyfsjxpdjx21iiwzvf965zippchdh6gk"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (synopsis "Each test file given its own line of dots")
+ (description
+ "Fivemat is a MiniTest/RSpec/Cucumber formatter that gives each test file
+its own line of dots during testing. It aims to provide test output that is
+neither too verbose nor too minimal.")
+ (home-page "https://github.com/tpope/fivemat")
+ (license license:expat)))
+
+(define-public ruby-sqlite3
+ (package
+ (name "ruby-sqlite3")
+ (version "1.3.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sqlite3" version))
+ (sha256
+ (base32
+ "19r06wglnm6479ffj9dl0fa4p5j2wi6dj7k6k3d0rbx7036cv3ny"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-gemtest-file
+ ;; This file exists in the repository but is not distributed.
+ (lambda _ (zero? (system* "touch" ".gemtest")))))))
+ (inputs
+ `(("sqlite" ,sqlite)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-mini-portile" ,ruby-mini-portile)))
+ (synopsis "Interface with SQLite3 databases")
+ (description
+ "This module allows Ruby programs to interface with the SQLite3 database
+engine.")
+ (home-page
+ "https://github.com/sparklemotion/sqlite3-ruby")
+ (license license:bsd-3)))
+
+(define-public ruby-shoulda-context
+ (package
+ (name "ruby-shoulda-context")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-context" version))
+ (sha256
+ (base32
+ "06wv2ika5zrbxn0m3qxwk0zkbspxids3zmlq3xxays5qmvl1qb55"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Do not run tests to avoid circular dependence with rails.
+ ;; Instead just import the library to test.
+ (zero? (system* "ruby" "-Ilib" "-r" "shoulda-context")))))))
+ (synopsis "Test::Unit context framework extracted from Shoulda")
+ (description
+ "@code{shoulda-context} is the context framework extracted from Shoulda.
+Instead of writing Ruby methods with lots_of_underscores, shoulda-context adds
+context, setup, and should blocks combine to produce natural test method
+names.")
+ (home-page "https://github.com/thoughtbot/shoulda-context")
+ (license license:expat)))
+
+(define-public ruby-shoulda-matchers
+ (package
+ (name "ruby-shoulda-matchers")
+ (version "3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-matchers" version))
+ (sha256
+ (base32
+ "1agabvb8i39mjrp3kb78nvhl41xk1i258hdwdlj0fm8nj9yzn1jb"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-import
+ (lambda _
+ ;; A presumed bug reported upstream at
+ ;; https://github.com/thoughtbot/shoulda-matchers/pull/871
+ (substitute* (string-append "lib/shoulda/matchers/active_model/"
+ "validate_inclusion_of_matcher.rb")
+ (("^require 'bigdecimal'")
+ "require 'bigdecimal'; require 'date'"))))
+ (replace 'check
+ (lambda _
+ ;; Do not run tests to avoid circular dependence with rails. Instead
+ ;; just import the library to test.
+ (zero? (system* "ruby" "-Ilib" "-r" "shoulda-matchers")))))))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis "Collection of testing matchers extracted from Shoulda")
+ (description
+ "Shoulda Matchers provides RSpec- and Minitest-compatible one-liners that
+test common Rails functionality. These tests would otherwise be much longer,
+more complex, and error-prone.")
+ (home-page "https://github.com/thoughtbot/shoulda-matchers")
+ (license license:expat)))
+
+(define-public ruby-shoulda-matchers-2
+ (package
+ (inherit ruby-shoulda-matchers)
+ (version "2.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-matchers" version))
+ (sha256
+ (base32
+ "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0"))))))
+
+(define-public ruby-shoulda
+ (package
+ (name "ruby-shoulda")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda" version))
+ (sha256
+ (base32
+ "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Don't run tests to avoid circular dependence with rails. Instead
+ ;; just import the library to test.
+ (lambda _ (zero? (system* "ruby" "-Ilib" "-r" "shoulda")))))))
+ (propagated-inputs
+ `(("ruby-shoulda-context" ,ruby-shoulda-context)
+ ("ruby-shoulda-matchers" ,ruby-shoulda-matchers-2)))
+ (synopsis "Context framework and matchers for testing")
+ (description
+ "@code{shoulda} is a meta-package combining @code{shoulda-context} and
+@code{shoulda-matchers} providing tools for writing tests.")
+ (home-page "https://github.com/thoughtbot/shoulda")
+ (license license:expat)))
+
+(define-public ruby-unf
+ (package
+ (name "ruby-unf")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "unf" version))
+ (sha256
+ (base32
+ "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-dependency-to-bundler
+ (lambda _
+ ;; test-unit is required but not provided by the bundler
+ ;; environment. This is fixed in the upstream repository but fix
+ ;; has not been released.
+ (substitute* "Gemfile"
+ (("^gemspec") "gem 'test-unit'\ngemspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-unf-ext" ,ruby-unf-ext)))
+ (native-inputs
+ `(("ruby-shoulda" ,ruby-shoulda)
+ ("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Unicode Normalization Form support to Ruby and JRuby")
+ (description
+ "@code{ruby-unf} is a wrapper library to bring Unicode Normalization Form
+support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
+@code{java.text.Normalizer} on JRuby.")
+ (home-page "https://github.com/knu/ruby-unf")
+ (license license:bsd-2)))
+
+(define-public ruby-domain-name
+ (package
+ (name "ruby-domain-name")
+ (version "0.5.25")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "domain_name" version))
+ (sha256
+ (base32
+ "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-versions
+ (lambda _
+ ;; Fix NameError that appears to already be fixed upstream.
+ (substitute* "Rakefile"
+ (("DomainName::VERSION")
+ "Bundler::GemHelper.gemspec.version"))
+ ;; Loosen unnecessarily strict test-unit version specification.
+ (substitute* "domain_name.gemspec"
+ (("<test-unit>, \\[\\\"~> 2.5.5") "<test-unit>, [\">0"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-unf" ,ruby-unf)))
+ (native-inputs
+ `(("ruby-shoulda" ,ruby-shoulda)
+ ("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Domain name manipulation library")
+ (description
+ "@code{domain_name} is a Domain name manipulation library. It parses a
+domain name ready for extracting the registered domain and TLD (Top Level
+Domain). It can also be used for cookie domain validation based on the Public
+Suffix List.")
+ (home-page "https://github.com/knu/ruby-domain_name")
+ (license license:bsd-2)))
+
+(define-public ruby-http-cookie
+ (package
+ (name "ruby-http-cookie")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "http-cookie" version))
+ (sha256
+ (base32
+ "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-dependency-to-bundler
+ (lambda _
+ ;; Fix NameError
+ (substitute* "Rakefile"
+ (("HTTP::Cookie::VERSION")
+ "Bundler::GemHelper.gemspec.version"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-domain-name" ,ruby-domain-name)))
+ (native-inputs
+ `(("rubysimplecov" ,ruby-simplecov)
+ ("bundler" ,bundler)
+ ("ruby-sqlite3" ,ruby-sqlite3)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Handle HTTP Cookies based on RFC 6265")
+ (description
+ "@code{HTTP::Cookie} is a Ruby library to handle HTTP Cookies based on
+RFC 6265. It has been designed with security, standards compliance and
+compatibility in mind, to behave just the same as today's major web browsers.
+It has built-in support for the legacy @code{cookies.txt} and
+@code{cookies.sqlite} formats of Mozilla Firefox.")
+ (home-page "https://github.com/sparklemotion/http-cookie")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
@@ -3042,3 +3560,326 @@ to the @code{STDOUT} and @code{STDERR} streams are reported, giving extra
detail to ease debugging.")
(home-page "http://github.com/wwood/bioruby-commandeer")
(license license:expat)))
+
+(define-public ruby-rubytest
+ (package
+ (name "ruby-rubytest")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubytest" version))
+ (sha256
+ (base32
+ "19jydsdnkl81i9dhdcr4dc34j0ilm68ff2ngnka1hi38xiw4p5qz"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Disable regular testing to break the cycle rubytest, qed, brass,
+ ;; rubytest, as well as the cycle rubytest, qed, ansi, rubytest. Instead
+ ;; simply test that the library can be require'd.
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "-r" "rubytest")))))))
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)))
+ (synopsis "Universal test harness for Ruby")
+ (description
+ "Rubytest is a testing meta-framework for Ruby. It can handle any
+compliant test framework and can run tests from multiple frameworks in a
+single pass.")
+ (home-page "http://rubyworks.github.io/rubytest")
+ (license license:bsd-2)))
+
+(define-public ruby-brass
+ (package
+ (name "ruby-brass")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "brass" version))
+ (sha256
+ (base32
+ "154lp8rp1vmg60ri1j4cb8hqlw37z7bn575h899v8hzxwi11sxka"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Disable tests to break the cycle brass, lemon, ae, qed, brass.
+ ;; Instead simply test that the library can be require'd.
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "-r" "brass")))))))
+ (synopsis "Basic foundational assertions framework")
+ (description
+ "BRASS (Bare-Metal Ruby Assertion System Standard) is a basic
+foundational assertions framework for other assertion and test frameworks to
+make use of.")
+ (home-page "http://rubyworks.github.io/brass")
+ (license license:bsd-2)))
+
+(define-public ruby-qed
+ (package
+ (name "ruby-qed")
+ (version "2.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "qed" version))
+ (sha256
+ (base32
+ "03h4lmlxpcya8j7s2cnyscqlx8v3xl1xgsw5y1wk1scxcgz2vbmr"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Disable testing to break the cycle qed, ansi, qed, among others.
+ ;; Instead simply test that the executable runs using --copyright.
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "bin/qed" "--copyright")))))))
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)
+ ("ruby-brass" ,ruby-brass)))
+ (synopsis "Test framework utilizing literate programming techniques")
+ (description
+ "@dfn{Quality Ensured Demonstrations} (QED) is a test framework for
+@dfn{Test Driven Development} (TDD) and @dfn{Behaviour Driven
+Development} (BDD) utilizing Literate Programming techniques. QED sits
+somewhere between lower-level testing tools like @code{Test::Unit} and
+requirement specifications systems like Cucumber.")
+ (home-page "http://rubyworks.github.io/qed")
+ (license license:bsd-2)))
+
+(define-public ruby-ae
+ (package
+ (name "ruby-ae")
+ (version "1.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Fetch from github so tests are included.
+ (uri (string-append
+ "https://github.com/rubyworks/ae/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "147jmkx54x7asy2d8m4dyrhhf4hdx4galpnhwzai030y3cdsfrrl"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (zero? (system* "qed")))))))
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)))
+ (native-inputs
+ `(("ruby-qed" ,ruby-qed)))
+ (synopsis "Assertions library")
+ (description
+ "Assertive Expressive (AE) is an assertions library specifically designed
+for reuse by other test frameworks.")
+ (home-page "http://rubyworks.github.io/ae")
+ (license license:bsd-2)))
+
+(define-public ruby-lemon
+ (package
+ (name "ruby-lemon")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lemon" version))
+ (sha256
+ (base32
+ "0gqhpgjavgpvx23rqpfqcv3d5bs8gc7lr9yvj8kxgp7mfbdc2jcm"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check (lambda _ (zero? (system* "qed")))))))
+ (propagated-inputs
+ `(("ruby-ae" ,ruby-ae)
+ ("ruby-ansi" ,ruby-ansi)
+ ("ruby-rubytest" ,ruby-rubytest)))
+ (native-inputs
+ `(("ruby-qed" ,ruby-qed)))
+ (synopsis "Test framework correlating code structure and test unit")
+ (description
+ "Lemon is a unit testing framework that enforces highly formal
+case-to-class and unit-to-method test construction. This enforcement can help
+focus concern on individual units of behavior.")
+ (home-page "http://rubyworks.github.io/lemon")
+ (license license:bsd-2)))
+
+(define-public ruby-rubytest-cli
+ (package
+ (name "ruby-rubytest-cli")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubytest-cli" version))
+ (sha256
+ (base32
+ "0n7hv4k1ba4fm3i98c6ydbsqhkxgbp52mhi70ba1x3mqzfvk438p"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)
+ ("ruby-rubytest" ,ruby-rubytest)))
+ (synopsis "Command-line interface for rubytest")
+ (description
+ "Rubytest CLI is a command-line interface for running tests for
+Rubytest-based test frameworks. It provides the @code{rubytest} executable.")
+ (home-page "http://rubyworks.github.io/rubytest-cli")
+ (license license:bsd-2)))
+
+(define-public ruby-hashery
+ (package
+ (name "ruby-hashery")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hashery" version))
+ (sha256
+ (base32
+ "0xawbljsjarl9l7700bka672ixwznzwih4s9i38p1y9mp8hyx54g"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (and (zero? (system* "qed"))
+ (zero? (system* "rubytest" "-Ilib" "-Itest" "test/"))))))))
+ (native-inputs
+ `(("ruby-rubytest-cli" ,ruby-rubytest-cli)
+ ("ruby-qed" ,ruby-qed)
+ ("ruby-lemon" ,ruby-lemon)))
+ (synopsis "Hash-like classes with extra features")
+ (description
+ "The Hashery is a tight collection of @code{Hash}-like classes.
+Included are the auto-sorting @code{Dictionary} class, the efficient
+@code{LRUHash}, the flexible @code{OpenHash} and the convenient
+@code{KeyHash}. Nearly every class is a subclass of the @code{CRUDHash} which
+defines a CRUD (Create, Read, Update and Delete) model on top of Ruby's
+standard @code{Hash} making it possible to subclass and augment to fit any
+specific use case.")
+ (home-page "http://rubyworks.github.io/hashery")
+ (license license:bsd-2)))
+
+(define-public ruby-rc4
+ (package
+ (name "ruby-rc4")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-rc4" version))
+ (sha256
+ (base32
+ "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "rspec" "spec/rc4_spec.rb")))))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis "Implementation of the RC4 algorithm")
+ (description
+ "RubyRC4 is a pure Ruby implementation of the RC4 algorithm.")
+ (home-page "https://github.com/caiges/Ruby-RC4")
+ (license license:expat)))
+
+(define-public ruby-afm
+ (package
+ (name "ruby-afm")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "afm" version))
+ (sha256
+ (base32
+ "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Read Adobe Font Metrics (afm) files")
+ (description
+ "This library provides methods to read @dfn{Adobe Font Metrics} (afm)
+files and use the data therein.")
+ (home-page "http://github.com/halfbyte/afm")
+ (license license:expat)))
+
+(define-public ruby-ascii85
+ (package
+ (name "ruby-ascii85")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "Ascii85" version))
+ (sha256
+ (base32
+ "0j95sbxd18kc8rhcnvl1w37kflqpax1r12h1x47gh4xxn3mz4m7q"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Encode and decode Ascii85 binary-to-text encoding")
+ (description
+ "This library provides methods to encode and decode Ascii85
+binary-to-text encoding. The main modern use of Ascii85 is in PostScript and
+@dfn{Portable Document Format} (PDF) file formats.")
+ (home-page "https://github.com/datawraith/ascii85gem")
+ (license license:expat)))
+
+(define-public ruby-ttfunk
+ (package
+ (name "ruby-ttfunk")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; fetch from github as the gem does not contain testing code
+ (uri (string-append
+ "https://github.com/prawnpdf/ttfunk/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1izq84pnm9niyvkzp8k0vl232q9zj41hwmp9na9fzycfh1pbnsl6"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-rubocop
+ (lambda _
+ ;; remove rubocop as a dependency as not needed for testing
+ (substitute* "ttfunk.gemspec"
+ (("spec.add_development_dependency\\('rubocop'.*") ""))
+ (substitute* "Rakefile"
+ (("require 'rubocop/rake_task'") "")
+ (("Rubocop::RakeTask.new") ""))
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("bundler" ,bundler)))
+ (synopsis "Font metrics parser for the Prawn PDF generator")
+ (description
+ "TTFunk is a TrueType font parser written in pure Ruby. It is used as
+part of the Prawn PDF generator.")
+ (home-page "https://github.com/prawnpdf/ttfunk")
+ ;; From the README: "Matz's terms for Ruby, GPLv2, or GPLv3. See LICENSE
+ ;; for details."
+ (license (list license:gpl2 license:gpl3 license:ruby))))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index be48b25c9a..a22991c906 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -303,7 +303,7 @@ required structures.")
(define-public libressl
(package
(name "libressl")
- (version "2.2.0")
+ (version "2.2.5")
(source
(origin
(method url-fetch)
@@ -311,7 +311,7 @@ required structures.")
"http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-"
version ".tar.gz"))
(sha256 (base32
- "0h1haqb4y39p1zihwvnr1ib0zfq5bcqfnbj5jm9l4j2xibrxi44n"))))
+ "0jwidi7fafcdh5qml72dx0ad0kfsk94qxzm29i7wd3cx8v8dxjp3"))))
(build-system gnu-build-system)
(native-search-paths
;; FIXME: These two variables must designate a single file or directory
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 02317d2fef..a4f4c021e4 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -100,14 +100,14 @@ and its related documentation.")
(define-public nginx
(package
(name "nginx")
- (version "1.8.0")
+ (version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "1mgkkmmwkhmpn68sdvbd73ssv6lpqhh864fsyvc1ij4hk4is3k13"))))
+ "1dwpyw4pvhj68vxramqxm8f79pqz9lrm8mvifbn49h3615ikqjwg"))))
(build-system gnu-build-system)
(inputs `(("pcre" ,pcre)
("openssl" ,openssl)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 25143c80a6..0399c0049d 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@@ -946,7 +946,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(extensions
(list (service-extension dmd-root-service-type guix-dmd-service)
(service-extension account-service-type guix-accounts)
- (service-extension activation-service-type guix-activation)))))
+ (service-extension activation-service-type guix-activation)
+ (service-extension profile-service-type
+ (compose list guix-configuration-guix))))))
(define* (guix-service #:optional (config %default-guix-configuration))
"Return a service that runs the Guix build daemon according to
diff --git a/gnu/services/dmd.scm b/gnu/services/dmd.scm
index 545087acc9..fb3d3326f8 100644
--- a/gnu/services/dmd.scm
+++ b/gnu/services/dmd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -88,7 +88,9 @@
;; list of services provided by the extensions.
(compose concatenate)
(extend append)
- (extensions (list (service-extension boot-service-type dmd-boot-gexp)))))
+ (extensions (list (service-extension boot-service-type dmd-boot-gexp)
+ (service-extension profile-service-type
+ (const (list dmd)))))))
(define %dmd-root-service
;; The root dmd service, aka. PID 1. Its parameter is a list of
diff --git a/gnu/system.scm b/gnu/system.scm
index edcfaf66fe..024518445d 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -353,7 +353,6 @@ explicitly appear in OS."
;; Default set of packages globally visible. It should include anything
;; required for basic administrator tasks.
(cons* procps psmisc which less zile nano
- (@ (gnu packages admin) dmd) guix
lsof ;for Guix's 'list-runtime-roots'
pciutils usbutils
util-linux inetutils isc-dhcp