summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2017-01-14 05:24:09 -0500
committerMark H Weaver <mhw@netris.org>2017-01-14 05:24:09 -0500
commit5827ea30ee64f2981929f865cf4c07e6c4712773 (patch)
tree31b6505f4ad9b53860028d2e47db62c34c15e484 /gnu
parent57203ebba0fa3eaa7c2df9bfd3e7c59f8ee98f6a (diff)
parentdd42a330d1301fd34f36dada9d142006165abaef (diff)
downloadpatches-5827ea30ee64f2981929f865cf4c07e6c4712773.tar
patches-5827ea30ee64f2981929f865cf4c07e6c4712773.tar.gz
Merge branch 'master' into gnome-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/abiword.scm9
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/audacity.scm14
-rw-r--r--gnu/packages/bioinformatics.scm61
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/freedesktop.scm12
-rw-r--r--gnu/packages/gimp.scm3
-rw-r--r--gnu/packages/gnucash.scm2
-rw-r--r--gnu/packages/haskell.scm37
-rw-r--r--gnu/packages/linux.scm35
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/package-management.scm8
-rw-r--r--gnu/packages/perl.scm25
-rw-r--r--gnu/packages/python.scm46
-rw-r--r--gnu/packages/qt.scm233
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/statistics.scm25
-rw-r--r--gnu/packages/suckless.scm420
-rw-r--r--gnu/packages/upnp.scm11
-rw-r--r--gnu/packages/vpn.scm5
-rw-r--r--gnu/packages/xfig.scm155
-rw-r--r--gnu/packages/xorg.scm127
-rw-r--r--gnu/services/databases.scm81
23 files changed, 1163 insertions, 162 deletions
diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm
index 8e89bb2f52..514ac0ceb5 100644
--- a/gnu/packages/abiword.scm
+++ b/gnu/packages/abiword.scm
@@ -22,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
@@ -52,11 +53,17 @@
"/source/" name "-" version ".tar.gz"))
(sha256
(base32 "1ik591rx15nn3n1297cwykl8wvrlgj78i528id9wbidgy3xzd570"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Ensure reproducibility.
+ '(substitute* "src/wp/main/xp/abi_ver.cpp"
+ (("__DATE__") "\"2017\"")
+ (("__TIME__") "\"00:00\"")))
(patches
(search-patches "abiword-wmf-version-lookup-fix.patch"
"abiword-explictly-cast-bools.patch"))))
- (build-system gnu-build-system)
+ (build-system glib-or-gtk-build-system)
(arguments ;; NOTE: rsvg is disabled, since Abiword
`(#:configure-flags ;; supports it directly, and its BS is broken.
(list
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 8a7dc6af89..def9a6fbf3 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -471,7 +471,7 @@ connection alive.")
(bind-minor-version "9")
(bind-patch-version "9")
(bind-release-type "-P") ; for patch release, use "-P"
- (bind-release-version "4") ; for patch release, e.g. "4"
+ (bind-release-version "5") ; for patch release, e.g. "4"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@@ -587,7 +587,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "1qpi23lrs6jfxqx8dakbqfyg3hvrzq5ldchg6my19xcvx8515mgx"))))
+ "1yn15chkfqf4d7961ip2x10jm27a9wqymz2xqh0a2g89arrirkaw"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
diff --git a/gnu/packages/audacity.scm b/gnu/packages/audacity.scm
index 0f9554deba..a70d0e3a69 100644
--- a/gnu/packages/audacity.scm
+++ b/gnu/packages/audacity.scm
@@ -24,6 +24,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
@@ -38,20 +39,20 @@
(define-public audacity
(package
(name "audacity")
- (version "2.1.0")
+ (version "2.1.2")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/audacity/audacity/" version
- "/audacity-minsrc-" version ".tar.xz"))
+ (uri (string-append "https://github.com/audacity/audacity/archive"
+ "/Audacity-" version ".zip"))
(sha256
- (base32 "1cs2w3fwqylpqmfwkvlgdx5lhclpckfil7pqibl37qlbnf4qvndh"))
+ (base32 "1642i9d5cdmqzj6r0qdl2ldnqsvpb08znnczncysi72x6zpvb5qq"))
(patches (search-patches "audacity-fix-ffmpeg-binding.patch"))))
(build-system gnu-build-system)
(inputs
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
;; versions shipping with Audacity are used for now.
- `(("wxwidgets" ,wxwidgets-2)
+ `(("wxwidgets" ,wxwidgets-gtk2)
("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
@@ -72,7 +73,8 @@
("lilv" ,lilv)
("portaudio" ,portaudio)))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("gettext" ,gettext-minimal) ;for msgfmt
+ ("pkg-config" ,pkg-config)
("python" ,python-2)
("which" ,which)))
(arguments
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 14daf59c92..4b9cd22f86 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7100,6 +7100,41 @@ musculus (Mouse) as provided by UCSC (mm10, December 2011) and stored
in Biostrings objects.")
(license license:artistic2.0)))
+(define-public r-txdb-mmusculus-ucsc-mm10-knowngene
+ (package
+ (name "r-txdb-mmusculus-ucsc-mm10-knowngene")
+ (version "3.4.0")
+ (source (origin
+ (method url-fetch)
+ ;; We cannot use bioconductor-uri here because this tarball is
+ ;; located under "data/annotation/" instead of "bioc/".
+ (uri (string-append "http://www.bioconductor.org/packages/"
+ "release/data/annotation/src/contrib/"
+ "TxDb.Mmusculus.UCSC.mm10.knownGene_"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "08gava9wsvpcqz51k2sni3pj03n5155v32d9riqbf305nbirqbkb"))))
+ (properties
+ `((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene")))
+ (build-system r-build-system)
+ ;; As this package provides little more than a very large data file it
+ ;; doesn't make sense to build substitutes.
+ (arguments `(#:substitutable? #f))
+ (propagated-inputs
+ `(("r-bsgenome" ,r-bsgenome)
+ ("r-genomicfeatures" ,r-genomicfeatures)
+ ("r-annotationdbi" ,r-annotationdbi)))
+ (home-page
+ "http://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm10.knownGene/")
+ (synopsis "Annotation package for TxDb knownGene object(s) for Mouse")
+ (description
+ "This package loads a TxDb object, which is an R interface to
+prefabricated databases contained in this package. This package provides
+the TxDb object of Mouse data as provided by UCSC (mm10, December 2011)
+based on the knownGene track.")
+ (license license:artistic2.0)))
+
(define-public r-bsgenome-celegans-ucsc-ce6
(package
(name "r-bsgenome-celegans-ucsc-ce6")
@@ -7960,3 +7995,29 @@ immunoprecipitation and target enrichment on small gene panels. Thereby,
CopywriteR constitutes a widely applicable alternative to available copy
number detection tools.")
(license license:gpl2)))
+
+(define-public r-sva
+ (package
+ (name "r-sva")
+ (version "3.22.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "sva" version))
+ (sha256
+ (base32
+ "1wc1fjm6dzlsqqagm43y57w8jh8nsh0r0m8z1p6ximcb5gxqh7hn"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-genefilter" ,r-genefilter)))
+ (home-page "http://bioconductor.org/packages/sva")
+ (synopsis "Surrogate variable analysis")
+ (description
+ "This package contains functions for removing batch effects and other
+unwanted variation in high-throughput experiment. It also contains functions
+for identifying and building surrogate variables for high-dimensional data
+sets. Surrogate variables are covariates constructed directly from
+high-dimensional data like gene expression/RNA sequencing/methylation/brain
+imaging data that can be used in subsequent analyses to adjust for unknown,
+unmodeled, or latent sources of noise.")
+ (license license:artistic2.0)))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 55cfc02e95..9a4f4e108e 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -76,7 +76,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public bind
(package
(name "bind")
- (version "9.10.4-P4")
+ (version "9.10.4-P5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -84,7 +84,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
version ".tar.gz"))
(sha256
(base32
- "11lxkb7d79c75scrs28q4xmr0ii2li69zj1c650al3qxir8yf754"))))
+ "1sqg7wg05h66vdjc8j215r04f8pg7lphkb93nsqxvzhk6r0ppi49"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 49765394b0..0c8f97f6be 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -854,6 +854,18 @@ software.")
(base32
"05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'build 'set-sysconfdir
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Work around a bug whereby the 'SYSCONFDIR' macro
+ ;; expands literally to '${prefix}/etc'.
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "src/main.c"
+ (("SYSCONFDIR, \"fprintd.conf\"")
+ (string-append "\"" out "/etc\", "
+ "\"fprintd.conf\"")))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 169183db62..904d7d9766 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -38,8 +38,7 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
#:use-module (gnu packages python)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages imagemagick))
+ #:use-module (gnu packages xorg))
(define-public babl
(package
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index f36f753506..83096d66e0 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -165,7 +165,7 @@ applications and libraries. It is used by AqBanking.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1x0isvpk43rq2zlyyb9p0kgjmqv7yq07vgkiprw3f5sjkykvxw6d"))))
+ "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6"))))
(build-system gnu-build-system)
(arguments
`(;; Parallel building fails because aqhbci is required before it's
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8f8e2f5d5e..b26234d405 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -3052,7 +3052,7 @@ use HUnit assertions as QuickCheck properties.")
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
- (version "2.8.1")
+ (version "2.8.2")
(outputs '("out" "doc"))
(source
(origin
@@ -3063,7 +3063,7 @@ use HUnit assertions as QuickCheck properties.")
".tar.gz"))
(sha256
(base32
- "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh"))))
+ "1ai6k5v0bibaxq8xffcblc6rwmmk6gf8vjyd9p2h3y6vwbhlvilq"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f ; FIXME: currently missing libraries used for tests.
@@ -4573,7 +4573,7 @@ just a @code{Semigroup} are added.")
(define-public ghc-semigroups
(package
(name "ghc-semigroups")
- (version "0.17.0.1")
+ (version "0.18.2")
(source
(origin
(method url-fetch)
@@ -4583,7 +4583,7 @@ just a @code{Semigroup} are added.")
".tar.gz"))
(sha256
(base32
- "0gvpfi7s6ys4qha3y9a1zl1a15gf9cgg33wjb94ghg82ivcxnc3r"))))
+ "1r6hsn3am3dpf4rprrj4m04d9318v9iq02bin0pl29dg4a3gzjax"))))
(build-system haskell-build-system)
(inputs
`(("ghc-nats" ,ghc-nats)
@@ -8133,4 +8133,33 @@ Rust syntax. It is intended to be useful for two different purposes:
@end enumerate\n")
(license license:gpl2+))))
+(define-public ghc-wave
+ (package
+ (name "ghc-wave")
+ (version "0.1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/wave/wave-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-data-default-class"
+ ,ghc-data-default-class)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-temporary" ,ghc-temporary)))
+ (native-inputs
+ `(("hspec-discover" ,hspec-discover)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/mrkkrp/wave")
+ (synopsis "Work with WAVE and RF64 files in Haskell")
+ (description "This package allows you to work with WAVE and RF64
+files in Haskell.")
+ (license license:bsd-3)))
+
;;; haskell.scm ends here
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 716845d66e..5b6466c848 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
@@ -333,14 +333,14 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define-public linux-libre
- (make-linux-libre "4.9.2"
- "08gd5ja5gdhzpwzbjhipwmh4myp0hj13k1wsl1xvplszh3p9b076"
+ (make-linux-libre "4.9.3"
+ "1jd2rz58lcha9ac35glr26lc6hfi49fvpiwshgpd6ygf4irrs82w"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.41"
- "1kl1m0riq90xldcf7lvjzdyz57w1wmnm93j0r0v8xz7n66m5nkp8"
+ (make-linux-libre "4.4.42"
+ "1jd43yvycizgqdmwp9rpj7gpjy37mah8jlqaiskjb0hivyk495yz"
%intel-compatible-systems
#:configuration-file kernel-config))
@@ -351,8 +351,8 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
;; Avoid rebuilding kernel variants when there is a minor version bump.
-(define %linux-libre-version "4.9.2")
-(define %linux-libre-hash "08gd5ja5gdhzpwzbjhipwmh4myp0hj13k1wsl1xvplszh3p9b076")
+(define %linux-libre-version "4.9.3")
+(define %linux-libre-hash "1jd2rz58lcha9ac35glr26lc6hfi49fvpiwshgpd6ygf4irrs82w")
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
@@ -597,7 +597,7 @@ slabtop, and skill.")
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb)
- ("eudev" ,eudev)))
+ ("eudev" ,eudev-with-hwdb)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.linux-usb.org/")
@@ -1740,6 +1740,21 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot
time.")
(license license:gpl2+)))
+(define-public eudev-with-hwdb
+ ;; TODO: Merge with 'eudev'.
+ (package
+ (inherit eudev)
+ (name "eudev-with-hwdb")
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'install 'build-hwdb
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
+ ;; similar tools to display product names.
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* (string-append out "/bin/udevadm")
+ "hwdb" "--update"))))))))))
+
(define-public lvm2
(package
(name "lvm2")
@@ -3101,14 +3116,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(define-public mcelog
(package
(name "mcelog")
- (version "146")
+ (version "147")
(source (origin
(method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz"))
(sha256
(base32
- "0jjx4q1mfa380319cqz86nw5wv6jnbpvq2r8n0dyh87mhvrgb4wi"))
+ "10xxmqpd348ifbs7w8j0m53agp28r6imv237ha3kmhp632hmyf1d"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 68444771a0..5fafe78e2e 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
- (version "2.7.3")
+ (version "2.7.4")
(source
(origin
(method url-fetch)
@@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
- "123si2acvfhnl2kip08bqm413yv36zy3pmj75ibkn7q59mcx8x1m"))))
+ "135wzlv77p9za8679j2jpfkpvainvyagrhkdxngp71ynabgc5zr3"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 23f34cd306..673e5f0fb2 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -224,9 +224,9 @@ the Nix package manager.")
;;
;; Note: use a very short commit id; with a longer one, the limit on
;; hash-bang lines would be exceeded while running the tests.
- (let ((commit "b291b3271a025dfe41e1a7fdfadd393373b0128d"))
+ (let ((commit "eefd042e60d9fc1d092b44bf80ecbfe65b291e46"))
(package (inherit guix-0.12.0)
- (version (string-append "0.12.0-2." (string-take commit 4)))
+ (version (string-append "0.12.0-3." (string-take commit 4)))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -236,7 +236,7 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
- "1hris387xn2wk4lcl20x1zyhiz96060w34xs1x13b4vmvkkvcpg4"))
+ "1g0042x80q73pb9y39aqbkajl4bacls5c0im9aljmjnsb80fsh8d"))
(file-name (string-append "guix-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.12.0)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8f103ec6d7..09278f4251 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5014,6 +5015,30 @@ show those variables which are in scope at the point of the call. PadWalker
is particularly useful for debugging.")
(license (package-license perl))))
+(define-public perl-parallel-forkmanager
+ (package
+ (name "perl-parallel-forkmanager")
+ (version "1.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wm4wp6p3ah5z212jl12728z68nmxmfr0f03z1jpvdzffnc2xppi"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-warn" ,perl-test-warn)))
+ (home-page "http://search.cpan.org/dist/Parallel-ForkManager")
+ (synopsis "Simple parallel processing fork manager")
+ (description "@code{Parallel::ForkManager} is intended for use in
+operations that can be done in parallel where the number of
+processes to be forked off should be limited.")
+ (license (package-license perl))))
+
(define-public perl-params-util
(package
(name "perl-params-util")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c15a12f9be..4758606604 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1321,7 +1321,7 @@ Python 3.3+.")
(arguments `(#:python ,python-2
#:tests? #f)) ; invalid command "test"
(home-page "https://fedorahosted.org/dogtail/")
- (synopsis "GUI test tool and automation framework written in ​Python")
+ (synopsis "GUI test tool and automation framework written in Python")
(description
"Dogtail is a GUI test tool and automation framework written in Python.
It uses Accessibility (a11y) technologies to communicate with desktop
@@ -12331,3 +12331,47 @@ possible on all supported Python versions.")
(define-public python2-xopen
(package-with-python2 python-xopen))
+
+(define-public python2-cheetah
+ (package
+ (name "python2-cheetah")
+ (version "2.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Cheetah" version))
+ (sha256
+ (base32
+ "0l5mm4lnysjkzpjr95q5ydm9xc8bv43fxmr79ypybrf1y0lq4c5y"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (propagated-inputs
+ `(("python2-markdown" ,python2-markdown)))
+ (home-page "https://pythonhosted.org/Cheetah/")
+ (synopsis "Template engine")
+ (description "Cheetah is a text-based template engine and Python code
+generator.
+
+Cheetah can be used as a standalone templating utility or referenced as
+a library from other Python applications. It has many potential uses,
+but web developers looking for a viable alternative to ASP, JSP, PHP and
+PSP are expected to be its principle user group.
+
+Features:
+@enumerate
+@item Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any other
+ text-based format.
+@item Cleanly separates content, graphic design, and program code.
+@item Blends the power and flexibility of Python with a simple template language
+ that non-programmers can understand.
+@item Gives template writers full access to any Python data structure, module,
+ function, object, or method in their templates.
+@item Makes code reuse easy by providing an object-orientated interface to
+ templates that is accessible from Python code or other Cheetah templates.
+ One template can subclass another and selectively reimplement sections of it.
+@item Provides a simple, yet powerful, caching mechanism that can dramatically
+ improve the performance of a dynamic website.
+@item Compiles templates into optimized, yet readable, Python code.
+@end enumerate")
+ (license (license:x11-style "file://LICENSE"))))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index df6fe168ad..b2fe6e445c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;;
@@ -55,6 +55,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -553,14 +554,22 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (zero? (system* "qmake" (string-append "PREFIX=" out))))))
+ ;; Valid QT_BUILD_PARTS variables are:
+ ;; libs tools tests examples demos docs translations
+ (zero? (system* "qmake" "QT_BUILD_PARTS = libs tools tests"
+ (string-append "PREFIX=" out))))))
(add-before 'install 'fix-Makefiles
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(qtbase (assoc-ref inputs "qtbase")))
(substitute* (find-files "." "Makefile")
(((string-append "INSTALL_ROOT)" qtbase))
- (string-append "INSTALL_ROOT)" out)))))))))))
+ (string-append "INSTALL_ROOT)" out)))
+ #t)))
+ (add-before 'check 'set-display
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)))))))
(define-public qtimageformats
(package (inherit qtsvg)
@@ -602,6 +611,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"09z49jm70f5i0gcdz9a16z00pg96x8pz7vri5wpirh3fqqn0qnjz"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs `(("perl" ,perl)))
(inputs
`(("mesa" ,mesa)
@@ -620,6 +632,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"1rgqnpg64gn5agmvjwy0am8hp5fpxl3cdkixr1yrsdxi5a6961d8"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'disable-network-tests
+ (lambda _ (substitute* "tests/auto/auto.pro"
+ (("qxmlquery") "# qxmlquery")
+ (("xmlpatterns") "# xmlpatterns"))
+ #t))))))
(native-inputs `(("perl" ,perl)))
(inputs `(("qtbase" ,qtbase)))))
@@ -636,6 +657,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"0mjxfwnplpx60jc6y94krg00isddl9bfwc7dayl981njb4qds4zx"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -680,6 +704,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"1laj0slwibs0bg69kgrdhc9k1s6yisq3pcsr0r9rhbkzisv7aajw"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -720,7 +747,13 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(snippet
'(begin
(delete-file-recursively
- "examples/multimedia/spectrum/3rdparty")))))
+ "examples/multimedia/spectrum/3rdparty")
+ ;; We also prevent the spectrum example from being built.
+ (substitute* "examples/multimedia/multimedia.pro"
+ (("spectrum") "#"))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -781,6 +814,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
`(("qtbase" ,qtbase)
("eudev" ,eudev)))))
+(define-public qtserialbus
+ (package (inherit qtsvg)
+ (name "qtserialbus")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0mxi43l2inpbar8rmg21qjg33bv3f1ycxjgvzjf12ncnybhdnzkj"))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtserialport" ,qtserialport)))))
+
(define-public qtwebchannel
(package (inherit qtsvg)
(name "qtwebchannel")
@@ -813,6 +863,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"17zkzffzwbg6aqhsggs23cmwzq4y45m938842lsc423hfm7fdsgr"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@@ -833,6 +886,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"1b6zqa5690b8lqms7rrhb8rcq0xg5hp117v3m08qngbcd0i706b4"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -872,6 +928,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"17cyfyqzjbm9dhq9pjscz36y84y16rmxwk6h826gjfprddrimsvg"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -889,6 +948,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"1v77ydy4k15lksp3bi2kgha2h7m79g4n7c2qhbr09xnvpb8ars7j"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -906,6 +968,169 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"1j2drnx7zp3w6cgvy7bn00fyk5v7vw1j1hidaqcg78lzb6zgls1c"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtdeclarative-render2d
+ (package (inherit qtsvg)
+ (name "qtdeclarative-render2d")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0zwch9vn17f3bpy300jcfxx6cx9qymk5j7khx0x9k1xqid4166c3"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "tools/opengldummy/3rdparty"))))
+ (native-inputs `())
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtgamepad
+ (package (inherit qtsvg)
+ (name "qtgamepad")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "10lijbsg9xx5ddbbjymdgl41nxz99yn1qgiww2kkggxwwdjj2axv"))))
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("libxrender" ,libxrender)
+ ("sdl2" ,sdl2)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtscxml
+ (package (inherit qtsvg)
+ (name "qtscxml")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "135kknqdmib2cjryfmvfgv7a2qx9pyba3m7i7nkbc5d742r4mbcx"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "tests/3rdparty")
+ ;; the scion test refers to the bundled 3rd party test code.
+ (substitute* "tests/auto/auto.pro"
+ (("scion") "#"))))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtpurchasing
+ (package (inherit qtsvg)
+ (name "qtpurchasing")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0hkvrgafz1hx9q4yc3nskv3pd3fszghvvd5a7mj33ynf55wpb57n"))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtcanvas3d
+ (package (inherit qtsvg)
+ (name "qtcanvas3d")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1d5xpq3mhjg4ipxzap7s2vnlfcd02d3yq720npv10xxp2ww0i1x8"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "examples/canvas3d/3rdparty"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ;; Building the tests depends on the bundled 3rd party javascript files,
+ ;; and the test phase fails to import QtCanvas3D, causing the phase to
+ ;; fail, so we skip building them for now.
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "qmake" "QT_BUILD_PARTS = libs tools"
+ (string-append "PREFIX=" out))))))))
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
+ (native-inputs `())
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtcharts
+ (package (inherit qtsvg)
+ (name "qtcharts")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1qrzcddwff2hxsbxrraff16j4abah2zkra2756s1mvydj9lyxzl5"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)))))
+
+(define-public qtdatavis3d
+ (package (inherit qtsvg)
+ (name "qtdatavis3d")
+ (version "5.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/"
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1y00p0wyj5cw9c2925y537vpmmg9q3kpf7qr1s7sv67dvvf8bzqv"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:tests? _ #f) #f))) ; TODO: Enable the tests
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 960cb1f2a2..5237e81206 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -299,14 +299,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.5.1")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "1a3jkvfh1xc6aw557y8zjn498q89bapyx4dxc3md7qwrmnj9pkv3"))
+ "13ndyq9cal2j93qqbjyp2jn3cshiavdxsaj2qjzm6mas0gzywmf0"))
(modules '((guix build utils)))
(snippet
`(begin
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 40a511b6ed..db1a6871ad 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3954,6 +3954,31 @@ such that the arrangement of points within a category reflects the density of
data at that region, and avoids over-plotting.")
(license license:gpl2+)))
+(define-public r-ggthemes
+ (package
+ (name "r-ggthemes")
+ (version "3.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "ggthemes" version))
+ (sha256
+ (base32
+ "1qdxg2siwsiq32fmgcxn4vihgxad9v8q0aqigl7a94c26bwxs7y2"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-assertthat" ,r-assertthat)
+ ("r-colorspace" ,r-colorspace)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-scales" ,r-scales)))
+ (home-page "https://cran.rstudio.com/web/packages/ggthemes")
+ (synopsis "Extra themes, scales and geoms for @code{ggplot2}")
+ (description "This package provides extra themes and scales for
+@code{ggplot2} that replicate the look of plots by Edward Tufte and
+Stephen Few in Fivethirtyeight, The Economist, Stata, Excel, and The
+Wall Street Journal, among others. This package also provides
+@code{geoms} for Tufte's box plot and range frame.")
+ (license license:gpl2)))
+
(define-public r-statmod
(package
(name "r-statmod")
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index a00420312d..868939b90a 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
;;; Copyright © 2015 Dmitry Bogatov <KAction@gnu.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
@@ -27,6 +27,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
@@ -36,7 +37,15 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages webkit)
- #:use-module (gnu packages fontutils))
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages mpd)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cups)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages libbsd))
(define-public dwm
(package
@@ -114,6 +123,34 @@ optimising the environment for the application in use and the task performed.")
numbers of user-defined menu items efficiently.")
(license license:x11)))
+(define-public spoon
+ (package
+ (name "spoon")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10c5i7ykpy7inzzfiw1dh0srpkljycr3blxhvd8160wsvplbws48"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxkbfile" ,libxkbfile)
+ ("alsa-lib" ,alsa-lib)
+ ("libmpdclient" ,libmpdclient)))
+ (home-page "http://git.2f30.org/spoon/")
+ (synopsis "Set dwm status")
+ (description
+ "Spoon can be used to set the dwm status.")
+ (license license:isc)))
+
(define-public slock
(package
(name "slock")
@@ -257,3 +294,382 @@ allows you to write down the presentation for a quick lightning talk within a
few minutes.")
(home-page "http://tools.suckless.org/sent")
(license license:x11)))
+
+(define-public xbattmon
+ (package
+ (name "xbattmon")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0n2rrjq03pgqrdkl7cz5snsfdanf4s58w9h6dbvnl7p8bbd3j2kn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))))
+ (inputs
+ `(("libx11" ,libx11)))
+ (home-page "http://git.2f30.org/xbattmon/")
+ (synopsis "Simple battery monitor for X")
+ (description
+ "Xbattmon is a simple battery monitor for X.")
+ (license license:isc)))
+
+(define-public wificurse
+ (package
+ (name "wificurse")
+ (version "0.3.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "067ghr1xly5ca41kc83xila1p5hpq0bxfcmc8jvxi2ggm6wrhavn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (home-page "http://git.2f30.org/wificurse/")
+ (synopsis "Wifi DoS attack tool")
+ (description
+ "Wificurses listens for beacons sent from wireless access points
+in the range of your wireless station. Once received the program
+extracts the BSSID of the AP and transmits deauthentication packets
+using the broadcast MAC address. This results to the disconnection
+of all clients connected to the AP at the time of the attack. This
+is essencially a WiFi DoS attack tool created for educational
+purposes only. It works only in Linux and requires wireless card
+drivers capable of injecting packets in wireless networks.")
+ (license license:gpl3+)))
+
+(define-public skroll
+ (package
+ (name "skroll")
+ (version "0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0km6bjfz4ssb1z0xwld6iiixnn7d255ax8yjs3zkdm42z8q9yl0f"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (home-page "http://2f30.org")
+ (synopsis "Commandline utility which scrolls text")
+ (description
+ "Skroll is a small utility that you can use to make a text scroll.
+Pipe text to it, and it will scroll a given number of letters from right to
+left.")
+ (license license:wtfpl2)))
+
+(define-public sbm
+ (package
+ (name "sbm")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nks5mkh5wn30kyjzlkjlgi31bv1wq52kbp0r6nzbyfnvfdlywik"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (home-page "http://git.2f30.org/sbm/")
+ (synopsis "Simple bandwidth monitor")
+ (description
+ "Sbm is a simple bandwidth monitor.")
+ (license license:isc)))
+
+(define-public prout
+ (package
+ (name "prout")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1s6c3ygg1h1fyxkh8gd7nzjk6qhnwsb4535d2k780kxnwns5fzas"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (inputs
+ `(("cups-minimal" ,cups-minimal)
+ ("zlib" ,zlib)))
+ (home-page "http://git.2f30.org/prout/")
+ (synopsis "Smaller lp command")
+ (description
+ "Prout (PRint OUT) is a small utility one can use to send
+documents to a printer.
+It has no feature, and does nothing else. Just set your default
+printer in client.conf(5) and start printing. No need for a local
+cups server to be installed.")
+ (license license:wtfpl2)))
+
+(define-public noice
+ (package
+ (name "noice")
+ (version "0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ldkbb71z6k4yzj4kpg3s94ijj1c1kx9dfcjz393py09scfyg5hr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configure script
+ (add-before 'build 'curses
+ (lambda _
+ (substitute* "Makefile"
+ (("lcurses") "lncurses")))))))
+ (inputs
+ `(("ncurses" ,ncurses)))
+ (home-page "http://git.2f30.org/noice/")
+ (synopsis "Small file browser")
+ (description
+ "Noice is a small curses-based file browser.")
+ (license license:bsd-2)))
+
+;;; We want some commits that are more recent than the latest release, 0.2
+(define-public human
+ (let ((commit "50c80e6ba12823184b6866e06b955dbd2ccdc5d7")
+ (revision "1"))
+ (package
+ (name "human")
+ (version (string-append "0.2-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.2f30.org/human.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "18xngm4h9vsyip52zwd79rrp1irzg6rs462lpbp61amf7hj955gn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (home-page "http://git.2f30.org/human/")
+ (synopsis "Convert bytes to human readable formats")
+ (description
+ "Human is a small program which translate numbers into a
+human readable format. By default, it tries to detect the best
+factorisation, but you can force its output.
+You can adjust the number of decimals with the @code{SCALE}
+environment variable.")
+ (license license:wtfpl2))))
+
+(define-public fortify-headers
+ (package
+ (name "fortify-headers")
+ (version "0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1cacdczpjb49c4i1168g541wnl3i3gbpv2m2wbnmw5wddlyhgkdg"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (home-page "http://git.2f30.org/fortify-headers/")
+ (synopsis "Standalone fortify-source implementation")
+ (description
+ "This is a standalone implementation of fortify source. It provides
+compile time buffer checks. It is libc-agnostic and simply overlays the
+system headers by using the @code{#include_next} extension found in GCC. It was
+initially intended to be used on musl based Linux distributions.
+
+@itemize
+@item It is portable, works on *BSD, Linux, Solaris and possibly others.
+@item It will only trap non-conformant programs. This means that fortify
+ level 2 is treated in the same way as level 1.
+@item Avoids making function calls when undefined behaviour has already been
+ invoked. This is handled by using __builtin_trap().
+@item Support for out-of-bounds read interfaces, such as send(), write(),
+ fwrite() etc.
+@item No ABI is enforced. All of the fortify check functions are inlined
+ into the resulting binary.
+@end itemize\n")
+ (license license:isc)))
+
+(define-public colors
+ (package
+ (name "colors")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://dl.2f30.org/releases/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lckmqpgj89841splng0sszbls2ag71ggkgr1wsv9y3v6y87589z"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (inputs
+ `(("libpng" ,libpng)))
+ (home-page "http://git.2f30.org/colors/")
+ (synopsis "Extract colors from pictures")
+ (description
+ "Extract colors from PNG files. It is similar to
+strings(1) but for pictures. For a given input file it outputs a
+colormap to stdout.")
+ (license license:isc)))
+
+;; No new releases were made at github, this repository is more active than
+;; the one at http://git.suckless.org/libutf/ and it is
+;; done by the same developer.
+(define-public libutf
+ (let ((revision "1")
+ (commit "ff4c60635e1f455b0a0b4200f8183fbd5a88225b"))
+ (package
+ (name "libutf")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cls/libutf")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1ih5vjavilzggyr1j1z6w1z12c2fs5fg77cfnv7ami5ivsy3kg3d"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No configure script
+ (inputs
+ `(("gawk" ,gawk)))
+ (home-page "https://github.com/cls/libutf")
+ (synopsis "Plan 9 compatible UTF-8 library")
+ (description
+ "This is a C89 UTF-8 library, with an API compatible with that of
+Plan 9's libutf, but with a number of improvements:
+
+@itemize
+@item Support for runes beyond the Basic Multilingual Plane.
+@item utflen and utfnlen cannot overflow on 32- or 64-bit machines.
+@item chartorune treats all invalid codepoints as though Runeerror.
+@item fullrune, utfecpy, and utfnlen do not overestimate the length
+of malformed runes.
+@item An extra function, charntorune(p,s,n), equivalent to
+fullrune(s,n) ? chartorune(p,s): 0.
+@item Runeerror may be set to an alternative replacement value, such
+as -1, to be used instead of U+FFFD.
+@end itemize\n")
+ (license license:expat))))
+
+;; No release tarballs so far.
+(define-public lchat
+ (let ((revision "1")
+ (commit "bbde23732f8c7769b982f0c1bda9b99fbf93f932"))
+ (package
+ (name "lchat")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/younix/lchat")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "00q3rc0aa5416jvjvrj71x1wnr0331kxhvjjs7pyxgnq4xf36k63"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configure script
+ (add-before 'build 'libbsd
+ (lambda _
+ (substitute* "Makefile"
+ (("-lutf") "-lutf -lbsd"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "lchat" bin)
+ #t))))))
+ (inputs
+ `(("grep" ,grep)
+ ("ncurses" ,ncurses)
+ ("libutf" ,libutf)
+ ("libbsd" ,libbsd)))
+ (home-page "https://github.com/younix/lchat")
+ (synopsis "Line chat is a frontend for the irc client ii from suckless")
+ (description
+ "Lchat (line chat) is the little and small brother of cii.
+It is a front end for ii-like chat programs. It uses tail(1) -f to get the
+chat output in background.")
+ (license license:isc))))
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index f680a52881..9be9741202 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,15 +28,14 @@
(define-public miniupnpc
(package
(name "miniupnpc")
- (version "2.0")
+ (version "2.0.20161216")
(source
(origin
(method url-fetch)
- (uri (string-append
- "http://miniupnp.tuxfamily.org/files/miniupnpc-"
- version ".tar.gz"))
+ (uri (string-append "https://miniupnp.tuxfamily.org/files/"
+ name "-" version ".tar.gz"))
(sha256
- (base32 "0fzrc6fs8vzb2yvk01bd3q5jkarysl7gjlyaqncy3yvfk2wcwd6l"))))
+ (base32 "0gpxva9jkjvqwawff5y51r6bmsmdhixl3i5bmzlqsqpwsq449q81"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0ce51aaf88..8c7f07a263 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -152,7 +153,7 @@ and probably others.")
(define-public openvpn
(package
(name "openvpn")
- (version "2.3.14")
+ (version "2.4.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -160,7 +161,7 @@ and probably others.")
version ".tar.xz"))
(sha256
(base32
- "167frlmmg2raffn9h7ww3agdwgfdl0wa5wm9fsgl0i6mz3md187k"))))
+ "0zpqnbhjaifdalyxwmvk5kcyd7cpxbcigbn7967nbsyvl54vl8vg"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-iproute2=yes")))
diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index 6436e52ad6..2e65000eb7 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -34,12 +34,12 @@
(version "3.2.5c")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mcj/mcj-source/xfig."
- version ".full.tar.gz"))
- (sha256
- (base32
- "1yd1jclvw5w3ja4jjzr1ysbn8iklh88wq84jn9d1gavrbfbqyqpa"))))
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mcj/mcj-source/xfig."
+ version ".full.tar.gz"))
+ (sha256
+ (base32
+ "1yd1jclvw5w3ja4jjzr1ysbn8iklh88wq84jn9d1gavrbfbqyqpa"))))
(build-system gnu-build-system)
(native-inputs
`(("imake" ,imake)
@@ -59,51 +59,54 @@
(arguments
`(#:tests? #f
#:phases
- (alist-replace
- 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((imake (assoc-ref inputs "imake"))
- (out (assoc-ref outputs "out")))
- (substitute* "Imakefile"
- (("XCOMM (BINDIR = )[[:graph:]]*" _ front)
- (string-append front out "/bin"))
- (("(PNGLIBDIR = )[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libpng") "/lib"))
- (("(PNGINC = -I)[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libpng") "/include"))
- (("(JPEGLIBDIR = )[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libjpeg") "/lib"))
- (("(JPEGINC = -I)[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libjpeg") "/include"))
- (("(ZLIBDIR = )[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "zlib") "/lib"))
- (("(XPMLIBDIR = )[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libxpm") "/lib"))
- (("(XPMINC = -I)[[:graph:]]*" _ front)
- (string-append front (assoc-ref inputs "libxpm") "/include"))
- (("(XFIGLIBDIR = )[[:graph:]]*" _ front)
- (string-append front out "/lib"))
- (("(XFIGDOCDIR = )[[:graph:]]*" _ front)
- (string-append front out "/share/doc"))
- (("XCOMM USEINLINE") "USEINLINE"))
- ;; The -a argument is required in order to pick up the correct paths
- ;; to several X header files.
- (zero? (system* "xmkmf" "-a"))
- ;; Reset some variables that are inherited from imake templates
- (substitute* "Makefile"
- ;; These imake variables somehow remain undefined
- (("DefaultGcc2[[:graph:]]*Opt") "-O2")
- ;; Reset a few variable defaults that are set in imake templates
- ((imake) out)
- (("(MANPATH = )[[:graph:]]*" _ front)
- (string-append front out "/share/man"))
- (("(CONFDIR = )([[:graph:]]*)" _ front default)
- (string-append front out default)))))
- (alist-cons-after
- 'install 'install/libs
- (lambda _
- (zero? (system* "make" "install.libs")))
- (alist-cons-after
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((imake (assoc-ref inputs "imake"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "Imakefile"
+ (("XCOMM XAPPLOADDIR = /home/user/xfig *")
+ (string-append "XAPPLOADDIR = " out ,%app-defaults-dir))
+ (("XCOMM (BINDIR = )[[:graph:]]*" _ front)
+ (string-append front out "/bin"))
+ (("(PNGLIBDIR = )[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libpng") "/lib"))
+ (("(PNGINC = -I)[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libpng") "/include"))
+ (("(JPEGLIBDIR = )[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libjpeg") "/lib"))
+ (("(JPEGINC = -I)[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libjpeg") "/include"))
+ (("(ZLIBDIR = )[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "zlib") "/lib"))
+ (("(XPMLIBDIR = )[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libxpm") "/lib"))
+ (("(XPMINC = -I)[[:graph:]]*" _ front)
+ (string-append front (assoc-ref inputs "libxpm") "/include"))
+ (("(XFIGLIBDIR = )[[:graph:]]*" _ front)
+ (string-append front out "/lib"))
+ (("(XFIGDOCDIR = )[[:graph:]]*" _ front)
+ (string-append front out "/share/doc"))
+ (("XCOMM USEINLINE") "USEINLINE"))
+ ;; The -a argument is required in order to pick up the correct paths
+ ;; to several X header files.
+ (zero? (system* "xmkmf" "-a"))
+ ;; Reset some variables that are inherited from imake templates
+ (substitute* "Makefile"
+ ;; These imake variables somehow remain undefined
+ (("DefaultGcc2[[:graph:]]*Opt") "-O2")
+ ;; Reset a few variable defaults that are set in imake templates
+ ((imake) out)
+ (("(MANPATH = )[[:graph:]]*" _ front)
+ (string-append front out "/share/man"))
+ (("(CONFDIR = )([[:graph:]]*)" _ front default)
+ (string-append front out default))))
+ #t))
+ (add-after
+ 'install 'install/libs
+ (lambda _
+ (zero? (system* "make" "install.libs"))))
+ (add-after
'install 'install/doc
(lambda _
(begin
@@ -118,15 +121,7 @@
(dump-port in out)
(close-pipe in)
(close-port out)))
- (zero? (system* "make" "install.doc"))))
- (alist-cons-after
- 'install 'wrap-xfig
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/xfig")
- `("XAPPLRESDIR" suffix
- (,(string-append out "/etc/X11/app-defaults"))))))
- %standard-phases))))))
+ (zero? (system* "make" "install.doc"))))))))
(home-page "http://xfig.org/")
(synopsis "Interactive drawing tool")
(description
@@ -144,12 +139,12 @@ selected in various ways. For text, 35 fonts are available.")
(version "3.2.5e")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mcj/mcj-source/transfig."
- version ".tar.gz"))
- (sha256
- (base32
- "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))))
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mcj/mcj-source/transfig."
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))))
(build-system gnu-build-system)
(native-inputs
`(("imake" ,imake)
@@ -183,20 +178,20 @@ selected in various ways. For text, 35 fonts are available.")
(("(XPMINC = -I)[[:graph:]]*" _ front)
(string-append front (assoc-ref inputs "libxpm") "/include/X11"))
(("/usr/local/lib/fig2dev") (string-append out "/lib")))
- ;; The -a argument is required in order to pick up the correct paths
- ;; to several X header files.
- (zero? (system* "xmkmf" "-a"))
- (substitute* '("Makefile"
- "fig2dev/Makefile"
- "transfig/Makefile")
- ;; These imake variables somehow remain undefined
- (("DefaultGcc2[[:graph:]]*Opt") "-O2")
- ;; Reset a few variable defaults that are set in imake templates
- ((imake) out)
- (("(MANPATH = )[[:graph:]]*" _ front)
- (string-append front out "/share/man"))
- (("(CONFDIR = )([[:graph:]]*)" _ front default)
- (string-append front out default)))))
+ ;; The -a argument is required in order to pick up the correct paths
+ ;; to several X header files.
+ (zero? (system* "xmkmf" "-a"))
+ (substitute* '("Makefile"
+ "fig2dev/Makefile"
+ "transfig/Makefile")
+ ;; These imake variables somehow remain undefined
+ (("DefaultGcc2[[:graph:]]*Opt") "-O2")
+ ;; Reset a few variable defaults that are set in imake templates
+ ((imake) out)
+ (("(MANPATH = )[[:graph:]]*" _ front)
+ (string-append front out "/share/man"))
+ (("(CONFDIR = )([[:graph:]]*)" _ front default)
+ (string-append front out default)))))
(alist-cons-after
'install 'install/doc
(lambda _
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index e6ee0c06a2..a27c431ddf 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -335,6 +335,7 @@ provided.")
(license (license:x11-style "file://dri3proto.h"
"See 'dri3proto.h' in the distribution."))))
+(define-public %app-defaults-dir "/lib/X11/app-defaults")
(define-public editres
(package
@@ -354,7 +355,7 @@ provided.")
(arguments
`(#:configure-flags
(list (string-append "--with-appdefaultdir="
- %output "/lib/X11/app-defaults"))))
+ %output ,%app-defaults-dir))))
(inputs
`(("libxaw" ,libxaw)
("libxmu" ,libxmu)
@@ -3982,23 +3983,9 @@ protocol.")
"1grir464hy52a71r3mpm9mzvkf7nwr3vk0b1vc27pd3gp588a38p"))))
(build-system gnu-build-system)
(arguments
- ;; By default, it tries to install XFontSel file in
- ;; "/gnu/store/<libxt>/share/X11/app-defaults": it defines this
- ;; directory from 'libxt' (using 'pkg-config'). To put this file
- ;; inside output dir and to use it properly, we need to configure
- ;; --with-appdefaultdir and to wrap 'xfontsel' binary.
- (let ((app-defaults-dir "/share/X11/app-defaults"))
- `(#:configure-flags
- (list (string-append "--with-appdefaultdir="
- %output ,app-defaults-dir))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-xfontsel
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/xfontsel")
- `("XAPPLRESDIR" =
- (,(string-append out ,app-defaults-dir)))))))))))
+ `(#:configure-flags
+ (list (string-append "--with-appdefaultdir="
+ %output ,%app-defaults-dir))))
(inputs
`(("libx11" ,libx11)
("libxaw" ,libxaw)
@@ -4028,19 +4015,9 @@ Font Description (XLFD) full name for a font.")
"0n97iqqap9wyxjan2n520vh4rrf5bc0apsw2k9py94dqzci258y1"))))
(build-system gnu-build-system)
(arguments
- ;; The same 'app-defaults' problem as with 'xfontsel' package.
- (let ((app-defaults-dir "/share/X11/app-defaults"))
`(#:configure-flags
(list (string-append "--with-appdefaultdir="
- %output ,app-defaults-dir))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-xfd
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/xfd")
- `("XAPPLRESDIR" =
- (,(string-append out ,app-defaults-dir)))))))))))
+ %output ,%app-defaults-dir))))
(inputs
`(("fontconfig" ,fontconfig)
("libx11" ,libx11)
@@ -5358,6 +5335,36 @@ draggable titlebars and borders.")
Intrinsics (Xt) Library.")
(license license:x11)))
+(define-public twm
+ (package
+ (name "twm")
+ (version "1.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/app/" name "-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1s1r00x8add3f27xjqxg6q7mwplwrb72gakbh4y6j052as25wchw"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libxt" ,libxt)
+ ("libxmu" ,libxmu)
+ ("libxext" ,libxext)
+ ("xproto" ,xproto)))
+ (native-inputs
+ `(("bison" ,bison)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/wiki/")
+ (synopsis "Tab Window Manager for the X Window System")
+ (description "Twm is a window manager for the X Window System.
+It provides titlebars, shaped windows, several forms of icon management,
+user-defined macro functions, click-to-type and pointer-driven
+keyboard focus, and user-specified key and pointer button bindings.")
+ (license license:x11)))
(define-public xcb-util
(package
@@ -5617,6 +5624,66 @@ user-friendly mechanism to start the X server.")
Intrinsics (Xt) Library.")
(license license:x11)))
+(define-public xmag
+ (package
+ (name "xmag")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/app/" name "-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "19bsg5ykal458d52v0rvdx49v54vwxwqg8q36fdcsv9p2j8yri87"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-appdefaultdir="
+ %output ,%app-defaults-dir))))
+ (inputs
+ `(("libxaw" ,libxaw)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/wiki/")
+ (synopsis "Display or capture a magnified part of a X11 screen")
+ (description "Xmag displays and captures a magnified snapshot of a portion
+of an X11 screen.")
+ (license license:x11)))
+
+(define-public xmessage
+ (package
+ (name "xmessage")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/app/" name "-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1jmcac1xbwplbxfl75sr6w3zqhx1khpdzlqippjsr31cjp1rjc48"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-appdefaultdir="
+ %output ,%app-defaults-dir))))
+ (inputs
+ `(("libxaw" ,libxaw)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/wiki/")
+ (synopsis "Displays a message or query in a window")
+ (description
+ "Xmessage displays a message or query in a window. The user can click
+on a button to dismiss it or can select one of several buttons
+to answer a question. Xmessage can also exit after a specified time.")
+ (license license:x11)))
+
(define-public xterm
(package
(name "xterm")
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index d88c839f7d..3ecc8aff78 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,7 +36,11 @@
mysql-service
mysql-service-type
mysql-configuration
- mysql-configuration?))
+ mysql-configuration?
+
+ redis-configuration
+ redis-configuration?
+ redis-service-type))
;;; Commentary:
;;;
@@ -287,3 +292,77 @@ database server.
The optional @var{config} argument specifies the configuration for
@command{mysqld}, which should be a @code{<mysql-configuration>} object."
(service mysql-service-type config))
+
+
+;;;
+;;; Redis
+;;;
+
+(define-record-type* <redis-configuration>
+ redis-configuration make-redis-configuration
+ redis-configuration?
+ (redis redis-configuration-redis ;<package>
+ (default redis))
+ (bind redis-configuration-bind
+ (default "127.0.0.1"))
+ (port redis-configuration-port
+ (default 6379))
+ (working-directory redis-configuration-working-directory
+ (default "/var/lib/redis"))
+ (config-file redis-configuration-config-file
+ (default #f)))
+
+(define (default-redis.conf bind port working-directory)
+ (mixed-text-file "redis.conf"
+ "bind " bind "\n"
+ "port " (number->string port) "\n"
+ "dir " working-directory "\n"
+ "daemonize no\n"))
+
+(define %redis-accounts
+ (list (user-group (name "redis") (system? #t))
+ (user-account
+ (name "redis")
+ (group "redis")
+ (system? #t)
+ (comment "Redis server user")
+ (home-directory "/var/empty")
+ (shell (file-append shadow "/sbin/nologin")))))
+
+(define redis-activation
+ (match-lambda
+ (($ <redis-configuration> redis bind port working-directory config-file)
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+
+ (let ((user (getpwnam "redis")))
+ (mkdir-p #$working-directory)
+ (chown #$working-directory (passwd:uid user) (passwd:gid user)))))))
+
+(define redis-shepherd-service
+ (match-lambda
+ (($ <redis-configuration> redis bind port working-directory config-file)
+ (let ((config-file
+ (or config-file
+ (default-redis.conf bind port working-directory))))
+ (list (shepherd-service
+ (provision '(redis))
+ (documentation "Run the Redis daemon.")
+ (requirement '(user-processes syslogd))
+ (start #~(make-forkexec-constructor
+ '(#$(file-append redis "/bin/redis-server")
+ #$config-file)
+ #:user "redis"
+ #:group "redis"))
+ (stop #~(make-kill-destructor))))))))
+
+(define redis-service-type
+ (service-type (name 'redis)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ redis-shepherd-service)
+ (service-extension activation-service-type
+ redis-activation)
+ (service-extension account-service-type
+ (const %redis-accounts))))))