diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/abiword.scm | 9 | ||||
-rw-r--r-- | gnu/packages/admin.scm | 4 | ||||
-rw-r--r-- | gnu/packages/audacity.scm | 14 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 61 | ||||
-rw-r--r-- | gnu/packages/dns.scm | 4 | ||||
-rw-r--r-- | gnu/packages/freedesktop.scm | 12 | ||||
-rw-r--r-- | gnu/packages/gimp.scm | 3 | ||||
-rw-r--r-- | gnu/packages/gnucash.scm | 2 | ||||
-rw-r--r-- | gnu/packages/haskell.scm | 37 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 35 | ||||
-rw-r--r-- | gnu/packages/nano.scm | 4 | ||||
-rw-r--r-- | gnu/packages/package-management.scm | 8 | ||||
-rw-r--r-- | gnu/packages/perl.scm | 25 | ||||
-rw-r--r-- | gnu/packages/python.scm | 46 | ||||
-rw-r--r-- | gnu/packages/qt.scm | 233 | ||||
-rw-r--r-- | gnu/packages/shells.scm | 4 | ||||
-rw-r--r-- | gnu/packages/statistics.scm | 25 | ||||
-rw-r--r-- | gnu/packages/suckless.scm | 420 | ||||
-rw-r--r-- | gnu/packages/upnp.scm | 11 | ||||
-rw-r--r-- | gnu/packages/vpn.scm | 5 | ||||
-rw-r--r-- | gnu/packages/xfig.scm | 155 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 127 | ||||
-rw-r--r-- | gnu/services/databases.scm | 81 |
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)))))) |