From 5d9ecd157e554d7cecb3e40a7af4258c3cf38261 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 2 Mar 2015 22:12:00 +0300 Subject: [PATCH 001/359] gnu: Add Russian Aspell dictionary. * gnu/packages/aspell.scm (aspell-dict-ru): New variable. --- gnu/packages/aspell.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index bd6a54c7d4..38ed997163 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,3 +115,10 @@ dictionaries, including personal ones.") #:sha256 (base32 "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr"))) + +(define-public aspell-dict-ru + (aspell-dictionary "ru" "Russian" + #:version "0.99f7-1" + #:sha256 + (base32 + "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"))) From d9d9d4861c3ec35c9da442d775f10b6d3013fdeb Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 4 Mar 2015 20:20:47 -0500 Subject: [PATCH 002/359] gnu: ruby: Update to 2.2.1. * gnu/packages/ruby.scm (ruby): Update to 2.2.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 98d100eb60..feb4ec191d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -38,7 +38,7 @@ (define-public ruby (package (name "ruby") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -47,7 +47,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "1jpq7r48pmkll5lfw933013ijv750sr61c63p96v8pzwh3i191w4")))) + "1h16lrahp1m57la6sllsad0n3d72g9ccg62n5fxd04nwgz054a1v")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 279663efa57c0f02805f79408f6fe3aeca7ba1de Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Mar 2015 09:16:57 +0100 Subject: [PATCH 003/359] gnu: Add muparser. * gnu/packages/maths.scm (muparser): New variable. --- gnu/packages/maths.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 44f6153011..231206ce30 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -29,6 +29,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix svn-download) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -965,6 +966,31 @@ point numbers") ;; GPLv2 only is therefore the smallest subset. (license license:gpl2))) +(define-public muparser + (package + (name "muparser") + (version "2.2.5") + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "http://muparser.googlecode.com/svn/trunk/") + (revision 34))) + (sha256 + (base32 + "1d6bdbhx9zj3srwj3m7c9hvr18gnx1fx43h6d25my7q85gicpcwn")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-samples=no") + #:tests? #f)) ;no "check" target + (home-page "http://muparser.beltoforion.de/") + (synopsis "Fast parser library for mathematical expressions") + (description + "muParser is an extensible high performance math parser library. It is +based on transforming an expression into a bytecode and precalculating +constant parts of it.") + (license license:expat))) + (define-public atlas (package (name "atlas") From 1a8bf1dc41d37f217828b7d0f2c61707ee028111 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:27:40 +0100 Subject: [PATCH 004/359] gnu: Add djvulibre. * gnu/packages/djvu.scm (djvulibre): New variable. * gnu-system.am: Add the file. --- gnu-system.am | 1 + gnu/packages/djvu.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gnu/packages/djvu.scm diff --git a/gnu-system.am b/gnu-system.am index ec3feb0c66..b9c425ade4 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -81,6 +81,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/dejagnu.scm \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ + gnu/packages/djvu.scm \ gnu/packages/dnsmasq.scm \ gnu/packages/docbook.scm \ gnu/packages/doxygen.scm \ diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm new file mode 100644 index 0000000000..47a76169f6 --- /dev/null +++ b/gnu/packages/djvu.scm @@ -0,0 +1,42 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Paul van der Walt +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages djvu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public djvulibre + (package + (name "djvulibre") + (version "3.5.27") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/djvu/djvulibre-" + version ".tar.gz")) + (sha256 + (base32 + "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6")))) + (build-system gnu-build-system) + (home-page "http://djvu.sourceforge.net/") + (synopsis "Implementation of DjVu, the document format") + (description "DjVuLibre is an implementation of DjVu, +including viewers, browser plugins, decoders, simple encoders, and +utilities.") + (license license:gpl2+))) From 3e40bb829851cc33f55bcc725d9db9b7383274a7 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:31:05 +0100 Subject: [PATCH 005/359] gnu: Add zathura. * gnu/packages/pdf.scm (zathura): New variable. * gnu/packages/patches/zathura-plugindir-environment-variable.patch: New file. * gnu-system.am: Add it. --- gnu-system.am | 3 +- ...thura-plugindir-environment-variable.patch | 35 +++++++++++++++ gnu/packages/pdf.scm | 44 +++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/zathura-plugindir-environment-variable.patch diff --git a/gnu-system.am b/gnu-system.am index b9c425ade4..21930cdfb9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -551,7 +551,8 @@ dist_patch_DATA = \ gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \ gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \ gnu/packages/patches/xfce4-panel-plugins.patch \ - gnu/packages/patches/xmodmap-asprintf.patch + gnu/packages/patches/xmodmap-asprintf.patch \ + gnu/packages/patches/zathura-plugindir-environment-variable.patch MISC_DISTRO_FILES = gnu/packages/javac.in diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch b/gnu/packages/patches/zathura-plugindir-environment-variable.patch new file mode 100644 index 0000000000..2e3ea527d0 --- /dev/null +++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch @@ -0,0 +1,35 @@ +From ae8e4cc9ab57ff25d2ba6c4b369e8531ce43a6d2 Mon Sep 17 00:00:00 2001 +From: Paul van der Walt +Date: Mon, 2 Mar 2015 22:15:39 +0100 +Subject: [PATCH] Search path environment variable for Zathura. + +Adds a search path environment variable for zathura plugins (for reading +different file formats) called ZATHURA_PLUGIN_PATH. Command line option +-p still takes precedence. + +Patch by Paul van der Walt +--- + zathura/zathura.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/zathura/zathura.c b/zathura/zathura.c +index 589dd28..375ec54 100644 +--- a/zathura/zathura.c ++++ b/zathura/zathura.c +@@ -413,6 +413,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir) + g_return_if_fail(zathura != NULL); + g_return_if_fail(zathura->plugins.manager != NULL); + ++ /* Added for Guix: check if environment variable ++ * is set to specify location of zathura plugins. ++ */ ++ ++ if (dir == NULL) ++ dir = g_getenv("ZATHURA_PLUGIN_PATH"); ++ + if (dir != NULL) { + girara_list_t* paths = girara_split_path_array(dir); + GIRARA_LIST_FOREACH(paths, char*, iter, path) +-- +2.3.1 + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7b4f2ab055..d02a954006 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014, 2015 Ricardo Wurmus +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,9 @@ #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages databases) + #:use-module (gnu packages gettext) + #:use-module (gnu packages backup) #:use-module (gnu packages lesstif) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) @@ -143,6 +147,46 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) +(define-public zathura + (package + (name "zathura") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura/download/zathura-" + version ".tar.gz")) + (sha256 + (base32 + "1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px")) + (patches + (list + (search-patch "zathura-plugindir-environment-variable.patch"))))) + (native-inputs `(("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext))) + (inputs `(("girara" ,girara) + ("sqlite" ,sqlite) + ("gtk+" ,gtk+))) + (native-search-paths + (list (search-path-specification + (variable "ZATHURA_PLUGIN_PATH") + (files '("lib/zathura"))))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc" "COLOR=0") + #:tests? #f ; Tests fail: "Gtk cannot open display". + #:test-target "test" + #:phases + (alist-delete 'configure %standard-phases))) + (home-page "https://pwmt.org/projects/zathura/") + (synopsis "Lightweight keyboard-driven PDF viewer") + (description "Zathura is a customizable document viewer. It provides a +minimalistic interface and an interface that mainly focuses on keyboard +interaction.") + (license license:zlib))) + (define-public podofo (package (name "podofo") From 7708557fd96ff156ab76daa331794e596fd1caa5 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:32:43 +0100 Subject: [PATCH 006/359] gnu: Add zathura PDF plugin. * gnu/packages/pdf.scm (zathura-pdf-poppler): New variable. --- gnu/packages/pdf.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index d02a954006..e70c0d4b12 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -147,6 +147,39 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) +(define-public zathura-pdf-poppler + (package + (name "zathura-pdf-poppler") + (version "0.2.5") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-" + version ".tar.gz")) + (sha256 + (base32 + "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("girara" ,girara))) + (inputs + `(("poppler" ,poppler) + ("gtk+" ,gtk+) + ("zathura" ,zathura) + ("cairo" ,cairo))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:tests? #f ; Package does not include tests. + #:phases + (alist-delete 'configure %standard-phases))) + (home-page "https://pwmt.org/projects/zathura-pdf-poppler/") + (synopsis "PDF support for zathura (poppler backend)") + (description "The zathura-pdf-poppler plugin adds PDF support to zathura +by using the poppler rendering engine.") + (license license:zlib))) + (define-public zathura (package (name "zathura") From bac31d1f2d15a6e17858924f7c39455690894f9c Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:33:31 +0100 Subject: [PATCH 007/359] gnu: Add zathura DjVu plugin. * gnu/packages/pdf.scm (zathura-djvu): New variable. --- gnu/packages/pdf.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index e70c0d4b12..eb0917c1b8 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) #:use-module (gnu packages databases) + #:use-module (gnu packages djvu) #:use-module (gnu packages gettext) #:use-module (gnu packages backup) #:use-module (gnu packages lesstif) @@ -147,6 +148,38 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) +(define-public zathura-djvu + (package + (name "zathura-djvu") + (version "0.2.4") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-" + version ".tar.gz")) + (sha256 + (base32 + "1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("girara" ,girara))) + (inputs + `(("djvulibre" ,djvulibre) + ("gtk+" ,gtk+) + ("zathura" ,zathura))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:tests? #f ; Package does not contain tests. + #:phases + (alist-delete 'configure %standard-phases))) + (home-page "https://pwmt.org/projects/zathura-djvu/") + (synopsis "DjVu support for zathura (DjVuLibre backend)") + (description "The zathura-djvu plugin adds DjVu support to zathura +using the DjVuLibre library.") + (license license:zlib))) + (define-public zathura-pdf-poppler (package (name "zathura-pdf-poppler") From 721a4f7d570222cd8c0dc583fab7ebcbf4f9f18a Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:35:51 +0100 Subject: [PATCH 008/359] gnu: Add zathura postscript plugin. * gnu/packages/pdf.scm (zathura-ps): New variable. --- gnu/packages/pdf.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index eb0917c1b8..ffca09aad6 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -148,6 +148,37 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) +(define-public zathura-ps + (package + (name "zathura-ps") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-" + version ".tar.gz")) + (sha256 + (base32 + "1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("girara" ,girara))) + (inputs `(("libspectre" ,libspectre) + ("gtk+" ,gtk+) + ("zathura" ,zathura))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:tests? #f ; Package does not contain tests. + #:phases + (alist-delete 'configure %standard-phases))) + (home-page "https://pwmt.org/projects/zathura-ps/") + (synopsis "PS support for zathura (libspectre backend)") + (description "The zathura-ps plugin adds PS support to zathura +using libspectre.") + (license license:zlib))) + (define-public zathura-djvu (package (name "zathura-djvu") From b3886e0c53d1f6110bedfe0f1dd536498f266a97 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 2 Mar 2015 00:37:31 +0100 Subject: [PATCH 009/359] gnu: Add zathura comicbook plugin. * gnu/packages/pdf.scm (zathura-cb): New variable. --- gnu/packages/pdf.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index ffca09aad6..f6db546a88 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -148,6 +148,37 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) +(define-public zathura-cb + (package + (name "zathura-cb") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-cb/download/zathura-cb-" + version ".tar.gz")) + (sha256 + (base32 + "09ln4fpjxmhcq6cw1ka7mdkmca36gyd4gzrynbw3waz0ri0b277j")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("girara" ,girara))) + (inputs `(("libarchive" ,libarchive) + ("gtk+" ,gtk+) + ("zathura" ,zathura))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:tests? #f ; Package does not contain tests. + #:phases + (alist-delete 'configure %standard-phases))) + (home-page "https://pwmt.org/projects/zathura-cb/") + (synopsis "Comic book support for zathura (libarchive backend)") + (description "The zathura-cb plugin adds comic book support to zathura +using libarchive.") + (license license:zlib))) + (define-public zathura-ps (package (name "zathura-ps") From 87d79282941de06a9b0c464df87c8d0456c145ce Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 5 Mar 2015 12:14:43 -0500 Subject: [PATCH 010/359] gnu: lftp: Don't save unknown SSH host fingerprints to known_hosts by default. * gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/ftp.scm (lftp): Add patch. --- gnu-system.am | 1 + gnu/packages/ftp.scm | 6 +- ...p-dont-save-unknown-host-fingerprint.patch | 81 +++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch diff --git a/gnu-system.am b/gnu-system.am index 21930cdfb9..6129226a47 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -442,6 +442,7 @@ dist_patch_DATA = \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ + gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \ gnu/packages/patches/libarchive-CVE-2013-0211.patch \ gnu/packages/patches/libarchive-fix-lzo-test-case.patch \ gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \ diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index f002122bb6..22ea1af965 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,10 @@ version ".tar.xz")) (sha256 (base32 - "1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni")))) + "1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni")) + (patches + (list (search-patch + "lftp-dont-save-unknown-host-fingerprint.patch"))))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch b/gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch new file mode 100644 index 0000000000..e170d11308 --- /dev/null +++ b/gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch @@ -0,0 +1,81 @@ +Fixes "saves unknown host's fingerprint in known_hosts without any prompt". +See: + + https://github.com/lavv17/lftp/issues/116 + https://bugs.debian.org/774769 + +From bc7b476e782d77839765f56bbdb4cee9f36b54ec Mon Sep 17 00:00:00 2001 +From: "Alexander V. Lukyanov" +Date: Tue, 13 Jan 2015 15:33:54 +0300 +Subject: [PATCH] add settings fish:auto-confirm and sftp:auto-confirm + +New host keys are now not confirmed by default, this should improve security. +Suggested by Marcin Szewczyk +--- + doc/lftp.1 | 8 ++++++++ + src/SSH_Access.cc | 5 +++-- + src/resource.cc | 2 ++ + 3 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/doc/lftp.1 b/doc/lftp.1 +index cabc1be..ed6c388 100644 +--- a/doc/lftp.1 ++++ b/doc/lftp.1 +@@ -1384,6 +1384,10 @@ address family in dns:order. + .BR file:charset \ (string) + local character set. It is set from current locale initially. + .TP ++.BR fish:auto-confirm \ (boolean) ++when true, lftp answers ``yes'' to all ssh questions, in particular to the ++question about a new host key. Otherwise it answers ``no''. ++.TP + .BR fish:charset \ (string) + the character set used by fish server in requests, replies and file listings. + Default is empty which means the same as local. +@@ -1952,6 +1956,10 @@ minimal chunk size to split the file to. + save pget transfer status this often. Set to `never' to disable saving of the status file. + The status is saved to a file with suffix \fI.lftp-pget-status\fP. + .TP ++.BR sftp:auto-confirm \ (boolean) ++when true, lftp answers ``yes'' to all ssh questions, in particular to the ++question about a new host key. Otherwise it answers ``no''. ++.TP + .BR sftp:charset \ (string) + the character set used by SFTP server in file names and file listings. + Default is empty which means the same as local. This setting is only used +diff --git a/src/SSH_Access.cc b/src/SSH_Access.cc +index 706fc6a..17c716d 100644 +--- a/src/SSH_Access.cc ++++ b/src/SSH_Access.cc +@@ -72,8 +72,9 @@ int SSH_Access::HandleSSHMessage() + } + if(s>=y_len && !strncasecmp(b+s-y_len,y,y_len)) + { +- pty_recv_buf->Put("yes\n"); +- pty_send_buf->Put("yes\n"); ++ const char *answer=QueryBool("auto-confirm",hostname)?"yes\n":"no\n"; ++ pty_recv_buf->Put(answer); ++ pty_send_buf->Put(answer); + return m; + } + if(!received_greeting && recv_buf->Size()>0) +diff --git a/src/resource.cc b/src/resource.cc +index 91b2e60..3a5e8b9 100644 +--- a/src/resource.cc ++++ b/src/resource.cc +@@ -339,6 +339,7 @@ static ResType lftp_vars[] = { + {"mirror:no-empty-dirs", "no", ResMgr::BoolValidate,ResMgr::NoClosure}, + {"mirror:require-source", "no", ResMgr::BoolValidate,ResMgr::NoClosure}, + ++ {"sftp:auto-confirm", "no", ResMgr::BoolValidate,0}, + {"sftp:max-packets-in-flight","16", ResMgr::UNumberValidate,0}, + {"sftp:protocol-version", "6", ResMgr::UNumberValidate,0}, + {"sftp:size-read", "32k", ResMgr::UNumberValidate,0}, +@@ -367,6 +368,7 @@ static ResType lftp_vars[] = { + {"dns:strict-dnssec", "no", ResMgr::BoolValidate,0}, + #endif + ++ {"fish:auto-confirm", "no", ResMgr::BoolValidate,0}, + {"fish:shell", "/bin/sh",0,0}, + {"fish:connect-program", "ssh -a -x",0,0}, + {"fish:charset", "", ResMgr::CharsetValidate,0}, From 472e4c430343671a6cb4e5ed392beae04ef09da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 10:06:28 +0100 Subject: [PATCH 011/359] serialization: Factorize 'read-byte-string'. * guix/serialization.scm (read-byte-string): New procedure. (read-string, read-latin1-string): Use it. --- guix/serialization.scm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/guix/serialization.scm b/guix/serialization.scm index 4f82c06862..da01ff39f5 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -109,28 +109,26 @@ (bytevector-copy! s 0 b 8 l) (put-bytevector p b))) -(define (read-string p) +(define (read-byte-string p) (let* ((len (read-int p)) (m (modulo len 8)) - (bv (get-bytevector-n* p len)) - (str (utf8->string bv))) + (bv (get-bytevector-n* p len))) (or (zero? m) (get-bytevector-n* p (- 8 m))) - str)) + bv)) + +(define (read-string p) + (utf8->string (read-byte-string p))) (define (read-latin1-string p) - (let* ((len (read-int p)) - (m (modulo len 8)) - ;; Note: do not use 'get-string-n' to work around Guile bug - ;; . See for - ;; a discussion. - (str (get-bytevector-n* p len))) - (or (zero? m) - (get-bytevector-n* p (- 8 m))) - + "Read an ISO-8859-1 string from P." + ;; Note: do not use 'get-string-n' to work around Guile bug + ;; . See for + ;; a discussion. + (let ((bv (read-byte-string p))) ;; XXX: Rewrite using (ice-9 iconv) when the minimum requirement is ;; upgraded to Guile >= 2.0.9. - (list->string (map integer->char (bytevector->u8-list str))))) + (list->string (map integer->char (bytevector->u8-list bv))))) (define (write-string-list l p) (write-int (length l) p) From ce72c780746776a86f59747f5eff8731cb4ff39b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 22:00:11 +0100 Subject: [PATCH 012/359] store: Attempt to decode build logs as UTF-8. * guix/serialization.scm (read-maybe-utf8-string): New procedure. * guix/store.scm (process-stderr): Use it for the build log and errors. * tests/store.scm ("current-build-output-port, UTF-8", "current-build-output-port, UTF-8 + garbage"): New tests. --- guix/serialization.scm | 18 +++++++++++++++++- guix/store.scm | 9 ++++++--- tests/store.scm | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 4 deletions(-) diff --git a/guix/serialization.scm b/guix/serialization.scm index da01ff39f5..a99f53ee0b 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -29,7 +29,8 @@ #:export (write-int read-int write-long-long read-long-long write-padding - write-string read-string read-latin1-string + write-string + read-string read-latin1-string read-maybe-utf8-string write-string-list read-string-list write-string-pairs write-store-path read-store-path @@ -130,6 +131,21 @@ ;; upgraded to Guile >= 2.0.9. (list->string (map integer->char (bytevector->u8-list bv))))) +(define (read-maybe-utf8-string p) + "Read a serialized string from port P. Attempt to decode it as UTF-8 and +substitute invalid byte sequences with question marks. This is a +\"permissive\" UTF-8 decoder." + ;; XXX: We rely on the port's decoding mechanism to do permissive decoding + ;; and substitute invalid byte sequences with question marks, but this is + ;; not very efficient. Eventually Guile may provide a lightweight + ;; permissive UTF-8 decoder. + (let* ((bv (read-byte-string p)) + (port (with-fluids ((%default-port-encoding "UTF-8") + (%default-port-conversion-strategy + 'substitute)) + (open-bytevector-input-port bv)))) + (get-string-all port))) + (define (write-string-list l p) (write-int (length l) p) (for-each (cut write-string <> p) l)) diff --git a/guix/store.scm b/guix/store.scm index d88fb3ea54..a3f3cbf43b 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -418,15 +418,18 @@ encoding conversion errors." (write-padding len p) #f)) ((= k %stderr-next) - ;; Log a string. - (let ((s (read-latin1-string p))) + ;; Log a string. Build logs are usually UTF-8-encoded, but they + ;; may also contain arbitrary byte sequences that should not cause + ;; this to fail. Thus, use the permissive + ;; 'read-maybe-utf8-string'. + (let ((s (read-maybe-utf8-string p))) (display s (current-build-output-port)) (when (string-any %newlines s) (flush-output-port (current-build-output-port))) #f)) ((= k %stderr-error) ;; Report an error. - (let ((error (read-latin1-string p)) + (let ((error (read-maybe-utf8-string p)) ;; Currently the daemon fails to send a status code for early ;; errors like DB schema version mismatches, so check for EOF. (status (if (and (>= (nix-server-minor-version server) 8) diff --git a/tests/store.scm b/tests/store.scm index ee783be846..9ed78be085 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (guix serialization) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages bootstrap) #:use-module (ice-9 match) @@ -268,6 +269,42 @@ (list a b c d w x y))) (lset= string=? s1 s3))))) +(test-assert "current-build-output-port, UTF-8" + ;; Are UTF-8 strings in the build log properly interpreted? + (string-contains + (with-fluids ((%default-port-encoding "UTF-8")) ;for the string port + (call-with-output-string + (lambda (port) + (parameterize ((current-build-output-port port)) + (let* ((s "Here’s a Greek letter: λ.") + (d (build-expression->derivation + %store "foo" `(display ,s) + #:guile-for-build + (package-derivation s %bootstrap-guile (%current-system))))) + (guard (c ((nix-protocol-error? c) #t)) + (build-derivations %store (list d)))))))) + "Here’s a Greek letter: λ.")) + +(test-assert "current-build-output-port, UTF-8 + garbage" + ;; What about a mixture of UTF-8 + garbage? + (string-contains + (with-fluids ((%default-port-encoding "UTF-8")) ;for the string port + (call-with-output-string + (lambda (port) + (parameterize ((current-build-output-port port)) + (let ((d (build-expression->derivation + %store "foo" + `(begin + (use-modules (rnrs io ports)) + (display "garbage: ") + (put-bytevector (current-output-port) #vu8(128)) + (display "lambda: λ\n")) + #:guile-for-build + (package-derivation %store %bootstrap-guile)))) + (guard (c ((nix-protocol-error? c) #t)) + (build-derivations %store (list d)))))))) + "garbage: ?lambda: λ")) + (test-assert "log-file, derivation" (let* ((b (add-text-to-store %store "build" "echo $foo > $out" '())) (s (add-to-store %store "bash" #t "sha256" From 754e5be2d5319f9d2229d558d8330cc218263318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 22:15:11 +0100 Subject: [PATCH 013/359] tests: Fix import. * tests/lint.scm: Use 'url-fetch' from (guix download), not (guix build download), although this was actually harmless here. --- tests/lint.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lint.scm b/tests/lint.scm index 27be5598de..e0b1e67989 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -21,7 +21,7 @@ (define-module (test-packages) #:use-module (guix tests) - #:use-module (guix build download) + #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix packages) #:use-module (guix scripts lint) From 950d2ea414f3ce11e68f059ccef7f5e6a6181778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 22:16:01 +0100 Subject: [PATCH 014/359] lint: Add tests for the 'source' checker. * guix/scripts/lint.scm (check-source): Export. * tests/lint.scm (%null-sha256): New procedure. ("source: 200", "source: 404"): New tests. --- guix/scripts/lint.scm | 3 ++- tests/lint.scm | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index fef05635b3..69717b6317 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -47,7 +47,8 @@ check-inputs-should-be-native check-patches check-synopsis-style - check-home-page)) + check-home-page + check-source)) ;;; diff --git a/tests/lint.scm b/tests/lint.scm index e0b1e67989..c0599224b7 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -46,6 +46,11 @@ (string-append "http://localhost:" (number->string %http-server-port) "/foo/bar")) +(define %null-sha256 + ;; SHA256 of the empty string. + (base32 + "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73")) + (define %http-server-socket ;; Socket used by the Web server. (catch 'system-error @@ -363,6 +368,34 @@ requests." (check-home-page pkg)))) "not reachable: 404"))) +(test-skip (if %http-server-socket 0 1)) +(test-equal "source: 200" + "" + (with-warnings + (with-http-server 200 + (let ((pkg (package + (inherit (dummy-package "x")) + (source (origin + (method url-fetch) + (uri %local-url) + (sha256 %null-sha256)))))) + (check-source pkg))))) + +(test-skip (if %http-server-socket 0 1)) +(test-assert "source: 404" + (->bool + (string-contains + (with-warnings + (with-http-server 404 + (let ((pkg (package + (inherit (dummy-package "x")) + (source (origin + (method url-fetch) + (uri %local-url) + (sha256 %null-sha256)))))) + (check-source pkg)))) + "not reachable: 404"))) + (test-end "lint") From 07157e8ab4da5f868f31ffd99da177332f61f8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 22:20:52 +0100 Subject: [PATCH 015/359] gnu: gnupg: Remove #:prefix for (gnu packages compression). * gnu/packages/gnupg.scm: Remove #:prefix for (gnu packages compression). Add #:prefix for (gnu packages license). --- gnu/packages/gnupg.scm | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index b920f83c93..7a16b4161a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -20,14 +20,14 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gnupg) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages curl) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages pth) #:use-module (gnu packages python) #:use-module (gnu packages readline) - #:use-module ((gnu packages compression) #:prefix guix:) + #:use-module (gnu packages compression) #:use-module (gnu packages gtk) #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) @@ -56,7 +56,7 @@ for all GnuPG components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon and possibly more in the future.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public libgcrypt (package @@ -90,7 +90,7 @@ Daemon and possibly more in the future.") standard cryptographic building blocks such as symmetric ciphers, hash algorithms, public key algorithms, large integer functions and random number generation.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public libgcrypt-1.5 (package (inherit libgcrypt) @@ -127,7 +127,7 @@ generation.") protocol. This protocol is used for IPC between most newer GnuPG components. Both, server and client side functions are provided.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public libksba (package @@ -160,7 +160,7 @@ provided.") "KSBA (pronounced Kasbah) is a library to make X.509 certificates as well as the CMS easily accessible by other applications. Both specifications are building blocks of S/MIME and TLS.") - (license gpl3+))) + (license license:gpl3+))) (define-public npth (package @@ -185,7 +185,7 @@ threads implementation. In contrast to GNU Pth is is based on the system's standard threads implementation. This allows the use of libraries which are not compatible to GNU Pth.") - (license (list lgpl3+ gpl2+)))) ; dual license + (license (list license:lgpl3+ license:gpl2+)))) ; dual license (define-public gnupg (package @@ -200,7 +200,7 @@ compatible to GNU Pth.") "14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0")))) (build-system gnu-build-system) (inputs - `(("bzip2" ,guix:bzip2) + `(("bzip2" ,bzip2) ("curl" ,curl) ("libassuan" ,libassuan) ("libgcrypt" ,libgcrypt) @@ -208,7 +208,7 @@ compatible to GNU Pth.") ("libksba" ,libksba) ("npth" ,npth) ("openldap" ,openldap) - ("zlib" ,guix:zlib) + ("zlib" ,zlib) ("readline" ,readline))) (arguments `(#:phases @@ -227,7 +227,7 @@ features powerful key management and the ability to access public key servers. It includes several libraries: libassuan (IPC between GnuPG components), libgpg-error (centralized GnuPG error values), and libskba (working with X.509 certificates and CMS data).") - (license gpl3+))) + (license license:gpl3+))) (define-public gnupg-2.0 (package (inherit gnupg) @@ -240,7 +240,7 @@ libskba (working with X.509 certificates and CMS data).") (base32 "1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p")))) (inputs - `(("bzip2" ,guix:bzip2) + `(("bzip2" ,bzip2) ("curl" ,curl) ("libassuan" ,libassuan) ("libgcrypt" ,libgcrypt) @@ -248,7 +248,7 @@ libskba (working with X.509 certificates and CMS data).") ("libksba" ,libksba) ("pth" ,pth) ("openldap" ,openldap) - ("zlib" ,guix:zlib) + ("zlib" ,zlib) ("readline" ,readline))) (arguments `(#:phases @@ -270,8 +270,8 @@ libskba (working with X.509 certificates and CMS data).") (base32 "11pxx26sfilh0vswylh9mhiifw5yffw7nn733zknw3sb0jfk22bz")))) (inputs - `(("zlib" ,guix:zlib) - ("bzip2" ,guix:bzip2) + `(("zlib" ,zlib) + ("bzip2" ,bzip2) ("curl" ,curl) ("readline" ,readline) ("libgpg-error" ,libgpg-error))) @@ -315,7 +315,7 @@ Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public pius (package @@ -363,7 +363,7 @@ to the process. pius-keyring-mgr and pius-party-worksheet help organisers of PGP keysigning parties.") - (license gpl2) + (license license:gpl2) (home-page "http://www.phildev.net/pius/index.shtml"))) (define-public signing-party @@ -463,7 +463,7 @@ including tools for signing keys, keyring analysis, and party preparation. ;; gpl2+ for almost all programs, except for keyanalyze: gpl2 ;; and caff and gpgsigs: bsd-3, see ;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright - (license gpl2) + (license license:gpl2) (home-page "http://pgp-tools.alioth.debian.org/"))) (define-public pinentry @@ -489,7 +489,7 @@ including tools for signing keys, keyring analysis, and party preparation. (description "Pinentry provides a console and a GTK+ GUI that allows users to enter a passphrase when `gpg' or `gpg2' is run and needs it.") - (license gpl2+))) + (license license:gpl2+))) (define-public paperkey (package @@ -521,4 +521,4 @@ for printing with paper and ink, which have amazingly long retention qualities. To reconstruct a secret key, you re-enter those bytes (whether by hand, OCR, QR code, or the like) and paperkey can use them to transform your existing public key into a secret key.") - (license gpl2+))) + (license license:gpl2+))) From 43640a33f4bbfa8e1c5ece792d39f7f548867c13 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 5 Mar 2015 23:46:07 +0100 Subject: [PATCH 016/359] gnu: valgrind: Update to 3.10.1. * gnu/packages/valgrind.scm (valgrind): Update to 3.10.1. --- gnu/packages/valgrind.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index af798be21a..f051c686e5 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,14 +29,14 @@ (define-public valgrind (package (name "valgrind") - (version "3.10.0") + (version "3.10.1") (source (origin (method url-fetch) (uri (string-append "http://valgrind.org/downloads/valgrind-" version ".tar.bz2")) (sha256 (base32 - "1jgd42vsx0bcblp91bd61hd5wpy0gghh09wxgm65m666vy17y103")))) + "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 15926aec0d5b72961599ace50082baee5c01ae7e Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 4 Mar 2015 20:34:44 +0100 Subject: [PATCH 017/359] gnu: Add tree. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/admin.scm (tree): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/admin.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 72d8022f9a..c85204f3ae 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Alex Sassmannshausen ;;; ;;; This file is part of GNU Guix. ;;; @@ -968,6 +969,31 @@ characters can be replaced as well, as can UTF-8 characters.") recover lost partitions and/or make non-booting disks bootable again.") (license license:gpl2+))) +(define-public tree + (package + (name "tree") + (version "1.7.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://mama.indstate.edu/users/ice/tree/src/tree-" + version ".tgz")) + (sha256 + (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-delete 'configure %standard-phases) + #:tests? #f ; no check target + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list (string-append "prefix=" out))))) + (synopsis "Recursively list the contents of a directory") + (description + "Tree is a recursive directory listing command that produces a depth +indented listing of files, which is colorized ala dircolors if the LS_COLORS +environment variable is set and output is to tty.") + (home-page "http://mama.indstate.edu/users/ice/tree/") + (license license:gpl2+))) + (define-public direvent (package (name "direvent") From 211db2f6451845bdd7632a2aecf761127e849b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2015 23:41:29 +0100 Subject: [PATCH 018/359] gnu: glibc: Comment on the parallel build race. * gnu/packages/base.scm (glibc): Augment comment regarding sequential builds. --- gnu/packages/base.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 102a9659c2..ac059870e2 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -388,7 +388,11 @@ included.") (arguments `(#:out-of-source? #t - #:parallel-build? #f ; There's at least one race in the build. + + ;; In version 2.21, there a race in the 'elf' directory, see + ;; . + #:parallel-build? #f + #:configure-flags (list "--enable-add-ons" "--sysconfdir=/etc" From af0927ac68471c7a0ad00409fffe73713e2c6d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Mar 2015 00:41:57 +0100 Subject: [PATCH 019/359] gnu: guix: Update snapshot. * gnu/packages/package-management.scm (guix-devel): Update snapshot. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 65b4e9b55b..b20e7d3566 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -142,7 +142,7 @@ the Nix package manager.") (define guix-devel ;; Development version of Guix. - (let ((commit "f1082ec")) + (let ((commit "07157e8")) (package (inherit guix-0.8.1) (version (string-append "0.8.1." commit)) (source (origin @@ -152,7 +152,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "0mmwmv3wbrgzs49gnxraj11fp1mxfry4r0n222l3p4yga27vzw6d")))) + "0ksfvkkgzsz58h60a8kypg9x24sabl5007hr3a2ddgh05rjckbci")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8.1) ((#:phases phases) From 81f36365f1092ccd3b779370c0e35b21db51411e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 5 Mar 2015 21:35:46 -0500 Subject: [PATCH 020/359] gnu: nss-certs: Include 'install-locale' phase. * gnu/packages/certs.scm (nss-certs)[arguments]: Include 'install-locale' phase. Remove outdated comment. (certdata2pem)[source]: Add 'file-name' to origin. --- gnu/packages/certs.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 7818d48219..db89466328 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -33,10 +33,11 @@ (name "certdata2pem") (version "2013") (source - (origin + (origin (method url-fetch) (uri "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54") + (file-name "certdata2pem.py") (sha256 (base32 "0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx")))) @@ -107,10 +108,6 @@ (system* "certdata2pem.py" "certdata.txt") ;; copy selected .pem files into the output (for-each maybe-install-cert - ;; FIXME: Some of the file names are UTF8 (?) and - ;; cause an error message such as find-files: - ;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem: - ;; No such file or directory (find-files "." ".*\\.pem"))) (with-directory-excursion certsdir @@ -123,7 +120,7 @@ (system* "c_rehash" ".")))) (map (cut assq <> %standard-phases) - '(set-paths unpack))))) + '(set-paths install-locale unpack))))) (synopsis "CA certificates from Mozilla") (description "This package provides certificates for Certification Authorities (CA) From f195b36602b0ca65bdd92e8b4ef3a6b71ed52679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Thu, 5 Mar 2015 09:12:20 +0100 Subject: [PATCH 021/359] gnu: grub: Add patch to fix new version of freetype * gnu/packages/patches/grub-freetype.patch: New file. * gnu-system.am (dist_patch_DATA): Add the patch. * gnu/packages/grub.scm (grub): Apply new patch. --- gnu-system.am | 1 + gnu/packages/grub.scm | 3 ++- gnu/packages/patches/grub-freetype.patch | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/grub-freetype.patch diff --git a/gnu-system.am b/gnu-system.am index 6129226a47..a10dd33b82 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -412,6 +412,7 @@ dist_patch_DATA = \ gnu/packages/patches/gobject-introspection-girepository.patch \ gnu/packages/patches/grep-CVE-2015-1345.patch \ gnu/packages/patches/grub-gets-undeclared.patch \ + gnu/packages/patches/grub-freetype.patch \ gnu/packages/patches/gstreamer-0.10-bison3.patch \ gnu/packages/patches/gstreamer-0.10-silly-test.patch \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 5504f38225..b1da394835 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -79,7 +79,8 @@ (sha256 (base32 "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq")) - (patches (list (search-patch "grub-gets-undeclared.patch"))))) + (patches (list (search-patch "grub-gets-undeclared.patch") + (search-patch "grub-freetype.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-werror") diff --git a/gnu/packages/patches/grub-freetype.patch b/gnu/packages/patches/grub-freetype.patch new file mode 100644 index 0000000000..286830ccf8 --- /dev/null +++ b/gnu/packages/patches/grub-freetype.patch @@ -0,0 +1,24 @@ +commit fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb +Author: Colin Watson +Date: Fri Nov 29 12:19:36 2013 +0000 + + Fix build with FreeType 2.5.1 + + * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than + , fixing build with FreeType 2.5.1. + * util/grub-gen-widthspec.c: Likewise. + * util/grub-mkfont.c: Likewise. + +diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c +index 0d8eb78..242dd01 100644 +--- a/util/grub-mkfont.c ++++ b/util/grub-mkfont.c +@@ -43,7 +43,7 @@ + #include FT_FREETYPE_H + #include FT_TRUETYPE_TAGS_H + #include FT_TRUETYPE_TABLES_H +-#include ++#include FT_SYNTHESIS_H + + #undef __FTERRORS_H__ + #define FT_ERROR_START_LIST const char *ft_errmsgs[] = { From 36a1eec50acaaa132b09f19278d12719da4dd5c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Mar 2015 13:58:06 +0100 Subject: [PATCH 022/359] list-packages: Use GuixSD logo and name. * build-aux/list-packages.scm (packages->sxml): Change to use GuixSD-V.png and use the name "Guix System Distribution". --- build-aux/list-packages.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/build-aux/list-packages.scm b/build-aux/list-packages.scm index c55e84a76b..f3e4ac2846 100755 --- a/build-aux/list-packages.scm +++ b/build-aux/list-packages.scm @@ -4,7 +4,7 @@ exec guile -l "$0" \ (cdr (command-line)))' !# ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Alex Sassmannshausen ;;; ;;; This file is part of GNU Guix. @@ -242,14 +242,13 @@ description-ids as formal parameters." (h2 "GNU Guix Package List") (div (@ (id "intro")) (div - (img (@ (src "graphics/guix-logo.small.png") - (alt "GNU Guix and the GNU System") + (img (@ (src "graphics/GuixSD-V.png") + (alt "Guix System Distribution") (height "83")))) (p "This web page lists the packages currently provided by the " (a (@ (href "manual/guix.html#GNU-Distribution")) - "GNU system distribution") - " of " - (a (@ (href "/software/guix/guix.html")) "GNU Guix") ". " + "Guix System Distribution") + ". " "Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master")) "continuous integration system") " shows their current build status.")) From 73fc71ba3dd3d2ef9d0eceb016784301ff012b17 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 25 Feb 2015 01:19:59 -0600 Subject: [PATCH 023/359] perl: Alphabetize module packages. * gnu/packages/perl.scm: Alphabetize package definitions. --- gnu/packages/perl.scm | 442 +++++++++++++++++++++--------------------- 1 file changed, 224 insertions(+), 218 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 214ab3e951..105838015c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,11 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system perl)) +;;; +;;; Please: Try to add new module packages in alphabetic order. +;;; + + (define-public perl ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package @@ -75,75 +81,6 @@ (home-page "http://www.perl.org/") (license gpl1+))) ; or "Artistic" -(define-public perl-clone - (package - (name "perl-clone") - (version "0.37") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/" - "Clone-" version ".tar.gz")) - (sha256 - (base32 - "17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr")))) - (build-system perl-build-system) - (synopsis "Recursively copy Perl datatypes") - (description - "This module provides a clone() method which makes recursive copies of -nested hash, array, scalar and reference types, including tied variables and -objects.") - (home-page (string-append "http://search.cpan.org/~garu/" - "Clone-" version)) - (license (package-license perl)))) - -(define-public perl-file-list - (package - (name "perl-file-list") - (version "0.3.1") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/D/DO/DOPACKI/File-List-" - version ".tar.gz")) - (sha256 - (base32 - "00m5ax4aq59hdvav6yc4g63vhx3a57006rglyypagvrzfxjvm8s8")))) - (build-system perl-build-system) - (arguments - `(#:phases - (alist-cons-after - 'unpack 'cd - (lambda* _ - (chdir "List")) - %standard-phases))) - (license (package-license perl)) - (synopsis "Perl extension for crawling directory trees and compiling -lists of files") - (description - "The File::List module crawls the directory tree starting at the -provided base directory and can return files (and/or directories if desired) -matching a regular expression.") - (home-page "http://search.cpan.org/~dopacki/File-List/"))) - -(define-public perl-io-tty - (package - (name "perl-io-tty") - (version "1.11") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-" - version ".tar.gz")) - (sha256 - (base32 - "0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4")))) - (build-system perl-build-system) - (home-page "http://search.cpan.org/~toddr/IO-Tty/") - (synopsis "Perl interface to pseudo ttys") - (description - "This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to -pseudo ttys.") - (license (package-license perl)))) - (define-public perl-archive-zip (package (name "perl-archive-zip") @@ -164,26 +101,6 @@ manipulate, read, and write Zip archive files.") (home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm") (license (package-license perl)))) -(define-public perl-digest-sha1 - (package - (name "perl-digest-sha1") - (version "2.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/" - "Digest-SHA1-" version ".tar.gz")) - (sha256 - (base32 - "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8")))) - (build-system perl-build-system) - (synopsis "Perl implementation of the SHA-1 message digest algorithm") - (description - "This package provides 'Digest::SHA1', an implementation of the NIST -SHA-1 message digest algorithm for use by Perl programs.") - (home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-" - version "/SHA1.pm")) - (license (package-license perl)))) - (define-public perl-benchmark-timer (package (name "perl-benchmark-timer") @@ -232,6 +149,27 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-clone + (package + (name "perl-clone") + (version "0.37") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/" + "Clone-" version ".tar.gz")) + (sha256 + (base32 + "17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr")))) + (build-system perl-build-system) + (synopsis "Recursively copy Perl datatypes") + (description + "This module provides a clone() method which makes recursive copies of +nested hash, array, scalar and reference types, including tied variables and +objects.") + (home-page (string-append "http://search.cpan.org/~garu/" + "Clone-" version)) + (license (package-license perl)))) + (define-public perl-data-optlist (package (name "perl-data-optlist") @@ -256,6 +194,26 @@ is captured while being passed through to the original file handles.") "Data::OptList provides a simple syntax for name/value option pairs.") (license (package-license perl)))) +(define-public perl-digest-sha1 + (package + (name "perl-digest-sha1") + (version "2.13") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/" + "Digest-SHA1-" version ".tar.gz")) + (sha256 + (base32 + "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8")))) + (build-system perl-build-system) + (synopsis "Perl implementation of the SHA-1 message digest algorithm") + (description + "This package provides 'Digest::SHA1', an implementation of the NIST +SHA-1 message digest algorithm for use by Perl programs.") + (home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-" + version "/SHA1.pm")) + (license (package-license perl)))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") @@ -277,6 +235,120 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-file-list + (package + (name "perl-file-list") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DO/DOPACKI/File-List-" + version ".tar.gz")) + (sha256 + (base32 + "00m5ax4aq59hdvav6yc4g63vhx3a57006rglyypagvrzfxjvm8s8")))) + (build-system perl-build-system) + (arguments + `(#:phases + (alist-cons-after + 'unpack 'cd + (lambda* _ + (chdir "List")) + %standard-phases))) + (license (package-license perl)) + (synopsis "Perl extension for crawling directory trees and compiling +lists of files") + (description + "The File::List module crawls the directory tree starting at the +provided base directory and can return files (and/or directories if desired) +matching a regular expression.") + (home-page "http://search.cpan.org/~dopacki/File-List/"))) + +(define-public perl-file-which + (package + (name "perl-file-which") + (version "1.09") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "File-Which-" version ".tar.gz")) + (sha256 + (base32 + "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp")))) + (build-system perl-build-system) + (native-inputs `(("test-script" ,perl-test-script))) + (synopsis "Portable implementation of the `which' utility") + (description + "File::Which was created to be able to get the paths to executable +programs on systems under which the `which' program wasn't implemented in the +shell.") + (home-page (string-append "http://search.cpan.org/~adamk/" + "File-Which-" version)) + (license (package-license perl)))) + +(define-public perl-getopt-tabular + (package + (name "perl-getopt-tabular") + (version "0.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/" + "Getopt-Tabular-" version ".tar.gz")) + (sha256 + (base32 + "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv")))) + (build-system perl-build-system) + (synopsis "Table-driven argument parsing for Perl") + (description + "Getopt::Tabular is a Perl 5 module for table-driven argument parsing, +vaguely inspired by John Ousterhout's Tk_ParseArgv.") + (home-page (string-append "http://search.cpan.org/~gward/" + "Getopt-Tabular-" version)) + (license (package-license perl)))) + +(define-public perl-io-tty + (package + (name "perl-io-tty") + (version "1.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-" + version ".tar.gz")) + (sha256 + (base32 + "0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/~toddr/IO-Tty/") + (synopsis "Perl interface to pseudo ttys") + (description + "This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to +pseudo ttys.") + (license (package-license perl)))) + +(define-public perl-ipc-run3 + (package + (name "perl-ipc-run3") + (version "0.048") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "IPC-Run3-" version ".tar.gz")) + (sha256 + (base32 + "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x")))) + (build-system perl-build-system) + (synopsis "Run a subprocess with input/ouput redirection") + (description + "The IPC::Run3 module allows you to run a subprocess and redirect stdin, +stdout, and/or stderr to files and perl data structures. It aims to satisfy +99% of the need for using system, qx, and open3 with a simple, extremely +Perlish API and none of the bloat and rarely used features of IPC::Run.") + (home-page (string-append "http://search.cpan.org/~rjbs/" + "IPC-Run3-" version)) + ;; "You may use this module under the terms of the BSD, Artistic, or GPL + ;; licenses, any version." + (license (list bsd-3 gpl3+)))) + (define-public perl-params-util (package (name "perl-params-util") @@ -319,29 +391,30 @@ Module::Build project, but has been externalized here for general use.") "Probe-Perl-" version)) (license (package-license perl)))) -(define-public perl-ipc-run3 +(define-public perl-regexp-common (package - (name "perl-ipc-run3") - (version "0.048") + (name "perl-regexp-common") + (version "2013031301") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" - "IPC-Run3-" version ".tar.gz")) + (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" + "Regexp-Common-" version ".tar.gz")) (sha256 (base32 - "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x")))) + "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj")))) (build-system perl-build-system) - (synopsis "Run a subprocess with input/ouput redirection") + (synopsis "Provide commonly requested regular expressions") (description - "The IPC::Run3 module allows you to run a subprocess and redirect stdin, -stdout, and/or stderr to files and perl data structures. It aims to satisfy -99% of the need for using system, qx, and open3 with a simple, extremely -Perlish API and none of the bloat and rarely used features of IPC::Run.") - (home-page (string-append "http://search.cpan.org/~rjbs/" - "IPC-Run3-" version)) - ;; "You may use this module under the terms of the BSD, Artistic, or GPL - ;; licenses, any version." - (license (list bsd-3 gpl3+)))) + "This module exports a single hash (`%RE') that stores or generates +commonly needed regular expressions. Patterns currently provided include: +balanced parentheses and brackets, delimited text (with escapes), integers and +floating-point numbers in any base (up to 36), comments in 44 languages, +offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip +codes.") + (home-page (string-append "http://search.cpan.org/~abigail/" + "Regexp-Common-" version)) + ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. + (license (list (package-license perl) x11 bsd-3)))) (define-public perl-sub-exporter (package @@ -389,6 +462,27 @@ the unsightly mess of C or typeglobs lying about where just anyone can see them.") (license (package-license perl)))) +(define-public perl-sys-cpu + (package + (name "perl-sys-cpu") + (version "0.61") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" + "Sys-CPU-" version ".tar.gz")) + (sha256 + (base32 + "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")))) + (build-system perl-build-system) + (synopsis "Perl extension for getting CPU information") + (description + "In responce to a post on perlmonks.org, a module for counting the number +of CPU's on a system. Support has now also been added for type of CPU and +clock speed.") + (home-page (string-append "http://search.cpan.org/~mzsanford/" + "Sys-CPU-" version)) + (license (package-license perl)))) + (define-public perl-test-deep (package (name "perl-test-deep") @@ -437,6 +531,31 @@ including a stack trace of what was going on when it occurred.") "Test-NoWarnings-" version)) (license lgpl2.1))) +(define-public perl-test-output + (package + (name "perl-test-output") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" + "Test-Output-" version ".tar.gz")) + (sha256 + (base32 + "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-capture-tiny" ,perl-capture-tiny) + ("perl-test-tester" ,perl-test-tester) + ("perl-sub-exporter" ,perl-sub-exporter))) + (synopsis "Utilities to test STDOUT and STDERR messages") + (description + "Test::Output provides a simple interface for testing output sent to +STDOUT or STDERR. A number of different utilities are included to try and be +as flexible as possible to the tester.") + (home-page (string-append "http://search.cpan.org/~bdfoy/" + "Test-Output-" version)) + (license (package-license perl)))) + (define-public perl-test-script (package (name "perl-test-script") @@ -480,31 +599,6 @@ bin as is also commonly used) paths of your Perl distribution.") "Test-Simple-" version)) (license (package-license perl)))) -(define-public perl-test-output - (package - (name "perl-test-output") - (version "1.03") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" - "Test-Output-" version ".tar.gz")) - (sha256 - (base32 - "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-capture-tiny" ,perl-capture-tiny) - ("perl-test-tester" ,perl-test-tester) - ("perl-sub-exporter" ,perl-sub-exporter))) - (synopsis "Utilities to test STDOUT and STDERR messages") - (description - "Test::Output provides a simple interface for testing output sent to -STDOUT or STDERR. A number of different utilities are included to try and be -as flexible as possible to the tester.") - (home-page (string-append "http://search.cpan.org/~bdfoy/" - "Test-Output-" version)) - (license (package-license perl)))) - (define-public perl-test-tester (package (name "perl-test-tester") @@ -525,91 +619,3 @@ a minimum of effort.") "Test-Tester-" version)) ;; "Under the same license as Perl itself" (license (package-license perl)))) - -(define-public perl-file-which - (package - (name "perl-file-which") - (version "1.09") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" - "File-Which-" version ".tar.gz")) - (sha256 - (base32 - "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp")))) - (build-system perl-build-system) - (native-inputs `(("test-script" ,perl-test-script))) - (synopsis "Portable implementation of the `which' utility") - (description - "File::Which was created to be able to get the paths to executable -programs on systems under which the `which' program wasn't implemented in the -shell.") - (home-page (string-append "http://search.cpan.org/~adamk/" - "File-Which-" version)) - (license (package-license perl)))) - -(define-public perl-getopt-tabular - (package - (name "perl-getopt-tabular") - (version "0.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/" - "Getopt-Tabular-" version ".tar.gz")) - (sha256 - (base32 - "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv")))) - (build-system perl-build-system) - (synopsis "Table-driven argument parsing for Perl") - (description - "Getopt::Tabular is a Perl 5 module for table-driven argument parsing, -vaguely inspired by John Ousterhout's Tk_ParseArgv.") - (home-page (string-append "http://search.cpan.org/~gward/" - "Getopt-Tabular-" version)) - (license (package-license perl)))) - -(define-public perl-regexp-common - (package - (name "perl-regexp-common") - (version "2013031301") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" - "Regexp-Common-" version ".tar.gz")) - (sha256 - (base32 - "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj")))) - (build-system perl-build-system) - (synopsis "Provide commonly requested regular expressions") - (description - "This module exports a single hash (`%RE') that stores or generates -commonly needed regular expressions. Patterns currently provided include: -balanced parentheses and brackets, delimited text (with escapes), integers and -floating-point numbers in any base (up to 36), comments in 44 languages, -offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip -codes.") - (home-page (string-append "http://search.cpan.org/~abigail/" - "Regexp-Common-" version)) - ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. - (license (list (package-license perl) x11 bsd-3)))) - -(define-public perl-sys-cpu - (package - (name "perl-sys-cpu") - (version "0.61") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" - "Sys-CPU-" version ".tar.gz")) - (sha256 - (base32 - "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")))) - (build-system perl-build-system) - (synopsis "Perl extension for getting CPU information") - (description - "In responce to a post on perlmonks.org, a module for counting the number -of CPU's on a system. Support has now also been added for type of CPU and -clock speed.") - (home-page (string-append "http://search.cpan.org/~mzsanford/" - "Sys-CPU-" version)) - (license (package-license perl)))) From fc8c2f7b82378c42e32814eea89494bd3dc27e5f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 4 Mar 2015 17:18:08 -0600 Subject: [PATCH 024/359] gnu: perl-data-optlist: Move input to propagated-inputs. * gnu/packages/perl.scm (perl-data-optlist): Move perl-params-util from inputs to propagated-inputs. --- gnu/packages/perl.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 105838015c..631541c5ce 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -185,9 +185,8 @@ objects.") "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw")))) (build-system perl-build-system) (propagated-inputs - `(("perl-sub-install" ,perl-sub-install))) - (inputs - `(("perl-params-util" ,perl-params-util))) + `(("perl-sub-install" ,perl-sub-install) + ("perl-params-util" ,perl-params-util))) (home-page "http://search.cpan.org/dist/Data-OptList") (synopsis "Parse and validate simple name/value option pairs") (description From 884529b780cd753bd235516827f5a1604b9c7c5b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 4 Mar 2015 17:23:07 -0600 Subject: [PATCH 025/359] gnu: perl-test-simple: Update to 1.001014. * gnu/packages/perl.scm (perl-test-simple): Update to 1.001014. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 631541c5ce..25540490eb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -582,14 +582,14 @@ bin as is also commonly used) paths of your Perl distribution.") (define-public perl-test-simple (package (name "perl-test-simple") - (version "1.001009") + (version "1.001014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" "Test-Simple-" version ".tar.gz")) (sha256 (base32 - "1klxpy658aj1pmrw63j1hc16gilwh5rzhp9rb2d1iydi3hcm8xb5")))) + "0szi95shwwdvc4nqykzgx05g2m1001mjhvqqhjg5wypbi771992m")))) (build-system perl-build-system) (synopsis "Basic utilities for writing tests") (description From 90fb2e2467ade0f6d0d27541b94bb69c1312fd48 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:01:52 -0600 Subject: [PATCH 026/359] gnu: Add CPAN-Meta-Requirements. * gnu/packages/perl.scm (perl-cpan-meta-requirements): New variable. --- gnu/packages/perl.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 25540490eb..b4804e8676 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -618,3 +618,32 @@ a minimum of effort.") "Test-Tester-" version)) ;; "Under the same license as Perl itself" (license (package-license perl)))) + + +;;; Some packaged modules need versions of core modules that are newer than +;;; those in our perl 5.16.1. + +(define-public perl-cpan-meta-requirements + (package + (name "perl-cpan-meta-requirements") + (version "2.131") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "CPAN-Meta-Requirements-" version ".tar.gz")) + (sha256 + (base32 + "12p5s7w3cwcrbpcrxzanvpr0syswhwlqzbaki6m044c45jix2fss")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/CPAN-Meta-Requirements") + (synopsis "Set of version requirements for a CPAN dist") + (description "A CPAN::Meta::Requirements object models a set of version +constraints like those specified in the META.yml or META.json files in CPAN +distributions, and as defined by CPAN::Meta::Spec. It can be built up by +adding more and more constraints, and will reduce them to the simplest +representation.") + (license (package-license perl)))) + + +;;; END: Core module overrides From 6f2768c3f085b2e3304605f79b4194478fbba733 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:02:46 -0600 Subject: [PATCH 027/359] gnu: Add CPAN-Meta-YAML. * gnu/packages/perl.scm (perl-cpan-meta-yaml): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b4804e8676..01e88ca15f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -645,5 +645,26 @@ adding more and more constraints, and will reduce them to the simplest representation.") (license (package-license perl)))) +(define-public perl-cpan-meta-yaml + (package + (name "perl-cpan-meta-yaml") + (version "0.012") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "CPAN-Meta-YAML-" version ".tar.gz")) + (sha256 + (base32 + "0a0d62w8d81kkas4j1h48znk0f0vrpibl31gvz9r8hm77dbqqwkw")))) + (build-system perl-build-system) + (arguments + `(#:tests? #f)) ;Tests require Test::More >= 0.99 + (home-page "http://search.cpan.org/dist/CPAN-Meta-YAML") + (synopsis "Read and write a subset of YAML for CPAN Meta files") + (description "This module implements a subset of the YAML specification +for use in reading and writing CPAN metadata files like META.yml and +MYMETA.yml.") + (license (package-license perl)))) ;;; END: Core module overrides From 70e834625f4421f7bf09e515a83a81d3e92e88aa Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:12:18 -0600 Subject: [PATCH 028/359] gnu: Add Parse-CPAN-Meta. * gnu/packages/perl.scm (perl-parse-cpan-meta): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 01e88ca15f..61771bcd1c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -667,4 +667,25 @@ for use in reading and writing CPAN metadata files like META.yml and MYMETA.yml.") (license (package-license perl)))) +(define-public perl-parse-cpan-meta + (package + (name "perl-parse-cpan-meta") + (version "1.4414") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "Parse-CPAN-Meta-" version ".tar.gz")) + (sha256 + (base32 + "06ya2rg599qanqb1fxiyrd489mvmdgzbw4ph23hwjwpv9lahhxnd")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml))) + (home-page "http://search.cpan.org/dist/Parse-CPAN-Meta") + (synopsis "Parse META.yml and META.json CPAN metadata files") + (description "Parse::CPAN::Meta is a parser for META.json and META.yml +files, using JSON::PP and/or CPAN::Meta::YAML.") + (license (package-license perl)))) + ;;; END: Core module overrides From e0b8689c153b1910638f34877c173b9d0330464a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:13:15 -0600 Subject: [PATCH 029/359] gnu: Add CPAN-Meta. * gnu/packages/perl.scm (perl-cpan-meta): New variable. --- gnu/packages/perl.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 61771bcd1c..fb49a25354 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -623,6 +623,34 @@ a minimum of effort.") ;;; Some packaged modules need versions of core modules that are newer than ;;; those in our perl 5.16.1. +(define-public perl-cpan-meta + (package + (name "perl-cpan-meta") + (version "2.143240") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "CPAN-Meta-" version ".tar.gz")) + (sha256 + (base32 + "1d80bxphpp5dq7fx5ipxszn7j8q9d85w6fnapdrbym21k1vsmlf6")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-cpan-meta-requirements" ,perl-cpan-meta-requirements) + ("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml) + ("perl-parse-cpan-meta" ,perl-parse-cpan-meta))) + (home-page "http://search.cpan.org/dist/CPAN-Meta") + (synopsis "Distribution metadata for a CPAN dist") + (description "Software distributions released to the CPAN include a +META.json or, for older distributions, META.yml, which describes the +distribution, its contents, and the requirements for building and installing +the distribution. The data structure stored in the META.json file is +described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to +represent this distribution metadata (or distmeta), along with some helpful +methods for interrogating that data.") + (license (package-license perl)))) + (define-public perl-cpan-meta-requirements (package (name "perl-cpan-meta-requirements") From a77ed67def78af17d54aa9cac998384e663f08a9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:18:26 -0600 Subject: [PATCH 030/359] gnu: Add CPAN-Meta-Check. * gnu/packages/perl.scm (perl-cpan-meta-check): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fb49a25354..f79f568476 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -170,6 +170,27 @@ objects.") "Clone-" version)) (license (package-license perl)))) +(define-public perl-cpan-meta-check + (package + (name "perl-cpan-meta-check") + (version "0.009") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "CPAN-Meta-Check-" version ".tar.gz")) + (sha256 + (base32 + "0qbk5dwvhd78qgq5x6nim2n0l78pylvlklpbrm56w9yss6pl6bgb")))) + (build-system perl-build-system) + (native-inputs `(("perl-test-deep" ,perl-test-deep))) + (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta))) + (home-page "http://search.cpan.org/dist/CPAN-Meta-Check") + (synopsis "Verify requirements in a CPAN::Meta object") + (description "This module verifies if requirements described in a +CPAN::Meta object are present.") + (license (package-license perl)))) + (define-public perl-data-optlist (package (name "perl-data-optlist") From 90ae6151cf00075e288f9125543124ebbc1fe9de Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:19:38 -0600 Subject: [PATCH 031/359] gnu: Add Try-Tiny. * gnu/packages/perl.scm (perl-try-tiny): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f79f568476..523dcdfa9c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -640,6 +640,26 @@ a minimum of effort.") ;; "Under the same license as Perl itself" (license (package-license perl)))) +(define-public perl-try-tiny + (package + (name "perl-try-tiny") + (version "0.22") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Try-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Try-Tiny") + (synopsis "Minimal try/catch with proper preservation of $@") + (description "This module provides bare bones try/catch/finally statements +that are designed to minimize common mistakes with eval blocks, and nothing +else.") + (license x11))) + ;;; Some packaged modules need versions of core modules that are newer than ;;; those in our perl 5.16.1. From 07b2c25486a6fcac3499f56ebb38e02384e42ad1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:20:57 -0600 Subject: [PATCH 032/359] gnu: Add Test-Fatal. * gnu/packages/perl.scm (perl-test-fatal): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 523dcdfa9c..b98598d080 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -527,6 +527,27 @@ structures without getting caught in an infinite loop.") "Test-Deep-" version)) (license gpl1+))) ; or "Artistic License" +(define-public perl-test-fatal + (package + (name "perl-test-fatal") + (version "0.014") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "Test-Fatal-" version ".tar.gz")) + (sha256 + (base32 + "1c6bs68mss4q7cyapkv2c0jn66i21050p0faxf3s3417gdffzp5w")))) + (build-system perl-build-system) + (propagated-inputs `(("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Test-Fatal") + (synopsis "Simple helpers for testing code with exceptions") + (description "Test::Fatal is an alternative to the popular +Test::Exception. It does much less, but should allow greater flexibility in +testing exception-throwing code with about the same amount of typing.") + (license (package-license perl)))) + (define-public perl-test-nowarnings (package (name "perl-test-nowarnings") From 185082c864e8035422544cb48bbaae4780af7e1e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:30:07 -0600 Subject: [PATCH 033/359] gnu; Add Module-Runtime. * gnu/packages/perl.scm (perl-module-runtime): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b98598d080..b0bd7c2094 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -369,6 +369,25 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-module-runtime + (package + (name "perl-module-runtime") + (version "0.014") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/" + "Module-Runtime-" version ".tar.gz")) + (sha256 + (base32 + "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Module-Runtime") + (synopsis "Perl runtime module handling") + (description "The functions exported by this module deal with runtime +handling of Perl modules, which are normally handled at compile time.") + (license (package-license perl)))) + (define-public perl-params-util (package (name "perl-params-util") From b7d9aa5945eff6b6a1a98ec338c0251291c508b4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:30:59 -0600 Subject: [PATCH 034/359] gnu: Add Dist-CheckConflicts. * gnu/packages/perl.scm (perl-dist-checkconflicts): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b0bd7c2094..ac9059d1d9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -234,6 +234,27 @@ SHA-1 message digest algorithm for use by Perl programs.") version "/SHA1.pm")) (license (package-license perl)))) +(define-public perl-dist-checkconflicts + (package + (name "perl-dist-checkconflicts") + (version "0.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Dist-CheckConflicts-" version ".tar.gz")) + (sha256 + (base32 + "1i7dr9jpdiy2nijl2p4q5zg2q2s9ckbj2hs4kmnnckf9hsb4p17a")))) + (build-system perl-build-system) + (native-inputs `(("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-module-runtime" ,perl-module-runtime))) + (home-page "http://search.cpan.org/dist/Dist-CheckConflicts") + (synopsis "Declare version conflicts for your dist") + (description "This module allows you to specify conflicting versions of +modules separately and deal with them after the module is done installing.") + (license (package-license perl)))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") From cb6d9b1b0420f9949fde2f9880b2dbbbdd51147f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:32:35 -0600 Subject: [PATCH 035/359] gnu: Add Test-Requires. * gnu/packages/perl.scm (perl-test-requires): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ac9059d1d9..662ea089af 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -637,6 +637,25 @@ as flexible as possible to the tester.") "Test-Output-" version)) (license (package-license perl)))) +(define-public perl-test-requires + (package + (name "perl-test-requires") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/" + "Test-Requires-" version ".tar.gz")) + (sha256 + (base32 + "08c29m0dn34384mmmpqqlbb899zpbkkc01c2lsp31mch1frv9cg7")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-Requires") + (synopsis "Checks to see if the module can be loaded") + (description "Test::Requires checks to see if the module can be loaded. +If this fails, then rather than failing tests this skips all tests.") + (license (package-license perl)))) + (define-public perl-test-script (package (name "perl-test-script") From f59d9fc282251297db7c4bd1536a3f00f807ebe9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:33:44 -0600 Subject: [PATCH 036/359] gnu: Add Test-Warnings. * gnu/packages/perl.scm (perl-test-warnings): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 662ea089af..8ef4a3ab1b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -720,6 +720,28 @@ a minimum of effort.") ;; "Under the same license as Perl itself" (license (package-license perl)))) +(define-public perl-test-warnings + (package + (name "perl-test-warnings") + (version "0.020") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Test-Warnings-" version ".tar.gz")) + (sha256 + (base32 + "1x262kybrdnbiiw53m1axp4zyh4lsfb9mm2shmpm8lwf7sp30isi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-Warnings") + (synopsis "Test for warnings and the lack of them") + (description "This module is intended to be used as a drop-in replacement +for Test::NoWarnings. It also adds an extra test, but runs this test before +done_testing calculates the test count, rather than after. It does this by +hooking into done_testing as well as via an END block. You can declare a +plan, or not, and things will still Just Work.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From 76a6f27952633e9f102826896f477f8208718f09 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:36:28 -0600 Subject: [PATCH 037/359] gnu: Add Package-Anon. * gnu/packages/perl.scm (perl-package-anon): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8ef4a3ab1b..dadc66acec 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -409,6 +409,29 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) +(define-public perl-package-anon + (package + (name "perl-package-anon") + (version "0.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AU/AUGGY/" + "Package-Anon-" version ".tar.gz")) + (sha256 + (base32 + "1fj1fakkfklf2iwzsl64vfgshya3jgm6vhxiphw12wlac9g2il0m")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sub-exporter" ,perl-sub-exporter) + ("perl-params-util" ,perl-params-util))) + (home-page "http://search.cpan.org/dist/Package-Anon") + (synopsis "Anonymous packages") + (description "This module allows for anonymous packages that are +independent of the main namespace and only available through an object +instance, not by name.") + (license (package-license perl)))) + (define-public perl-params-util (package (name "perl-params-util") From 3fa4c22abe5e07c1bbd109c48584fc74fabaa152 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:38:03 -0600 Subject: [PATCH 038/359] gnu: Add Module-Implementation. * gnu/packages/perl.scm (perl-module-implementation): New variable. --- gnu/packages/perl.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index dadc66acec..2431622ac0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -390,6 +390,34 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-module-implementation + (package + (name "perl-module-implementation") + (version "0.09") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Module-Implementation-" version ".tar.gz")) + (sha256 + (base32 + "0vfngw4dbryihqhi7g9ks360hyw8wnpy3hpkzyg0q4y2y091lpy1")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-module-runtime" ,perl-module-runtime) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Module-Implementation") + (synopsis "Loads alternate underlying implementations for a module") + (description "This module abstracts out the process of choosing one of +several underlying implementations for a module. This can be used to provide +XS and pure Perl implementations of a module, or it could be used to load an +implementation for a given OS or any other case of needing to provide multiple +implementations.") + (license artistic2.0))) + (define-public perl-module-runtime (package (name "perl-module-runtime") From f9f64440f72a161ddb960eede101cd5a606922a2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:46:07 -0600 Subject: [PATCH 039/359] gnu: Add Package-Stash-XS. * gnu/packages/perl.scm (perl-package-stash-xs): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2431622ac0..76885d6a56 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -460,6 +460,31 @@ independent of the main namespace and only available through an object instance, not by name.") (license (package-license perl)))) +(define-public perl-package-stash-xs + (package + (name "perl-package-stash-xs") + (version "0.28") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Package-Stash-XS-" version ".tar.gz")) + (sha256 + (base32 + "11nl69n8i56p91pd0ia44ip0vpv2cxwpbfakrv01vvv8az1cbn13")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires) + ("perl-package-anon" ,perl-package-anon))) + (home-page "http://search.cpan.org/dist/Package-Stash-XS") + (synopsis "Faster implementation of the Package::Stash API") + (description "This is a backend for Package::Stash, which provides the +functionality in a way that's less buggy and much faster. It will be used by +default if it's installed, and should be preferred in all environments with a +compiler.") + (license (package-license perl)))) + (define-public perl-params-util (package (name "perl-params-util") From d9e6af909043d331ba3200d878b7754f27fc5947 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:47:50 -0600 Subject: [PATCH 040/359] gnu: Add Package-Stash. * gnu/packages/perl.scm (perl-package-stash): New variable. --- gnu/packages/perl.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 76885d6a56..de3b77e5f9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -460,6 +460,35 @@ independent of the main namespace and only available through an object instance, not by name.") (license (package-license perl)))) +(define-public perl-package-stash + (package + (name "perl-package-stash") + (version "0.37") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Package-Stash-" version ".tar.gz")) + (sha256 + (base32 + "0b3vg2nbzmz1m5qla4123rmfzmpfmwxkw78fghvwsc4iiww0baq6")))) + (build-system perl-build-system) + (native-inputs + `(("perl-dist-checkconflicts" ,perl-dist-checkconflicts) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires) + ("perl-package-anon" ,perl-package-anon))) + (propagated-inputs + `(("perl-module-implementation" ,perl-module-implementation) + ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) + ("perl-package-stash-xs" ,perl-package-stash-xs))) + (home-page "http://search.cpan.org/dist/Package-Stash") + (synopsis "Routines for manipulating stashes") + (description "Manipulating stashes (Perl's symbol tables) is occasionally +necessary, but incredibly messy, and easy to get wrong. This module hides all +of that behind a simple API.") + (license (package-license perl)))) + (define-public perl-package-stash-xs (package (name "perl-package-stash-xs") From 85e92c32c6e5a696e7689bd1b1cac7036e5b83ed Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:49:20 -0600 Subject: [PATCH 041/359] gnu: Add Sub-Exporter-Progressive. * gnu/packages/perl.scm (perl-sub-exporter-progressive): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index de3b77e5f9..cad6124686 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -605,6 +605,30 @@ codes.") custom-built routines.") (license (package-license perl)))) +(define-public perl-sub-exporter-progressive + (package + (name "perl-sub-exporter-progressive") + (version "0.001011") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" + "Sub-Exporter-Progressive-" version ".tar.gz")) + (sha256 + (base32 + "01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606")))) + (build-system perl-build-system) + (native-inputs `(("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Sub-Exporter-Progressive") + (synopsis "Only use Sub::Exporter if you need it") + (description "Sub::Exporter is an incredibly powerful module, but with +that power comes great responsibility, as well as some runtime penalties. +This module is a \"Sub::Exporter\" wrapper that will let your users just use +Exporter if all they are doing is picking exports, but use \"Sub::Exporter\" +if your users try to use \"Sub::Exporter\"'s more advanced features, like +renaming exports, if they try to use them.") + (license (package-license perl)))) + (define-public perl-sub-install (package (name "perl-sub-install") From 5f600011335347a8714861deb463e3287b610587 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:50:08 -0600 Subject: [PATCH 042/359] gnu: Add Variable-Magic. * gnu/packages/perl.scm (perl-variable-magic): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index cad6124686..173ff8cd39 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -891,6 +891,28 @@ that are designed to minimize common mistakes with eval blocks, and nothing else.") (license x11))) +(define-public perl-variable-magic + (package + (name "perl-variable-magic") + (version "0.55") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/" + "Variable-Magic-" version ".tar.gz")) + (sha256 + (base32 + "0xzh2vy45ph80bp09j5fcjy8ydgn8yaxsa0fj831q6p1spvyniwg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Variable-Magic") + (synopsis "Associate user-defined magic to variables from Perl") + (description "Magic is Perl's way of enhancing variables. This mechanism +lets the user add extra data to any variable and hook syntactical +operations (such as access, assignment or destruction) that can be applied to +it. With this module, you can add your own magic to any variable without +having to write a single line of XS.") + (license (package-license perl)))) + ;;; Some packaged modules need versions of core modules that are newer than ;;; those in our perl 5.16.1. From 0e2f7cfcc7c1b75395eb6e8b2ff7710ac0564f52 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:51:09 -0600 Subject: [PATCH 043/359] gnu: Add B-Hooks-EndOfScope. * gnu/packages/perl.scm (perl-b-hooks-endofscope): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 173ff8cd39..b4a4aa9ae8 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -101,6 +101,30 @@ manipulate, read, and write Zip archive files.") (home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm") (license (package-license perl)))) +(define-public perl-b-hooks-endofscope + (package + (name "perl-b-hooks-endofscope") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "B-Hooks-EndOfScope-" version ".tar.gz")) + (sha256 + (base32 + "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-module-runtime" ,perl-module-runtime) + ("perl-module-implementation" ,perl-module-implementation) + ("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive) + ("perl-variable-magic" ,perl-variable-magic))) + (home-page "http://search.cpan.org/dist/B-Hooks-EndOfScope") + (synopsis "Execute code after a scope finished compilation") + (description "This module allows you to execute code when perl finished +compiling the surrounding scope.") + (license (package-license perl)))) + (define-public perl-benchmark-timer (package (name "perl-benchmark-timer") From 9727c33f3bf431472ce61fe4667c93e230d2ca29 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:52:40 -0600 Subject: [PATCH 044/359] gnu: Add namespace-clean. * gnu/packages/perl.scm (perl-namespace-clean): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b4a4aa9ae8..62a9089c8d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -461,6 +461,30 @@ implementations.") handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) +(define-public perl-namespace-clean + (package + (name "perl-namespace-clean") + (version "0.25") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" + "namespace-clean-" version ".tar.gz")) + (sha256 + (base32 + "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-package-stash" ,perl-package-stash) + ("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope))) + (home-page "http://search.cpan.org/dist/namespace-clean") + (synopsis "Keep imports and functions out of your namespace") + (description "The namespace::clean pragma will remove all previously +declared or imported symbols at the end of the current package's compile +cycle. Functions called in the package itself will still be bound by their +name, but they won't show up as methods on your class or instances.") + (license (package-license perl)))) + (define-public perl-package-anon (package (name "perl-package-anon") From a7a75c87b05e139253753655f236f3ad5877317c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:54:07 -0600 Subject: [PATCH 045/359] gnu: Add Sub-Identify. * gnu/packages/perl.scm (perl-sub-identify): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 62a9089c8d..fd5a0e6b37 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -677,6 +677,25 @@ if your users try to use \"Sub::Exporter\"'s more advanced features, like renaming exports, if they try to use them.") (license (package-license perl)))) +(define-public perl-sub-identify + (package + (name "perl-sub-identify") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/" + "Sub-Identify-" version ".tar.gz")) + (sha256 + (base32 + "087fjcg6w576w47i1slj6mjfd3gl1b0airgddmn3prn0nff6nn2m")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Sub-Identify") + (synopsis "Retrieve names of code references") + (description "Sub::Identify allows you to retrieve the real name of code +references.") + (license (package-license perl)))) + (define-public perl-sub-install (package (name "perl-sub-install") From cab88488e937e677d1b0aef39a5ca926a54eced2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:55:37 -0600 Subject: [PATCH 046/359] gnu: Add Text-Glob. * gnu/packages/perl.scm (perl-text-glob): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fd5a0e6b37..caa129264b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -938,6 +938,26 @@ hooking into done_testing as well as via an END block. You can declare a plan, or not, and things will still Just Work.") (license (package-license perl)))) +(define-public perl-text-glob + (package + (name "perl-text-glob") + (version "0.09") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "Text-Glob-" version ".tar.gz")) + (sha256 + (base32 + "0lr76wrsj8wcxrq4wi8z1640w4dmdbkznp06q744rg3g0bd238d5")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-Glob") + (synopsis "Match globbing patterns against text") + (description "Text::Glob implements glob(3) style matching that can be +used to match against text, rather than fetching names from a filesystem. If +you want to do full file globbing use the File::Glob module instead.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From f57c76863912d97af4102b2a8249aaf71446cb5f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:56:41 -0600 Subject: [PATCH 047/359] gnu: Add Number-Compare. * gnu/packages/perl.scm (perl-number-compare): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index caa129264b..c8480d8d49 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -485,6 +485,25 @@ cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.") (license (package-license perl)))) +(define-public perl-number-compare + (package + (name "perl-number-compare") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "Number-Compare-" version ".tar.gz")) + (sha256 + (base32 + "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Number-Compare") + (synopsis "Numeric comparisons") + (description "Number::Compare compiles a simple comparison to an anonymous +subroutine, which you can call with a value to be tested against.") + (license (package-license perl)))) + (define-public perl-package-anon (package (name "perl-package-anon") From e91d4accd102803457d320ccf6b8b6193a51f85e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 15:58:18 -0600 Subject: [PATCH 048/359] gnu: Add File-Find-Rule. * gnu/packages/perl.scm (perl-file-find-rule): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c8480d8d49..a65804ba34 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -300,6 +300,29 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-file-find-rule + (package + (name "perl-file-find-rule") + (version "0.33") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "File-Find-Rule-" version ".tar.gz")) + (sha256 + (base32 + "0w73b4jr2fcrd74a1w3b2jryq3mqzc8z5mk7ia9p85xn3qmpa5r4")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-text-glob" ,perl-text-glob) + ("perl-number-compare" ,perl-number-compare))) + (home-page "http://search.cpan.org/dist/File-Find-Rule") + (synopsis "Alternative interface to File::Find") + (description "File::Find::Rule is a friendlier interface to File::Find. +It allows you to build rules which specify the desired files and +directories.") + (license (package-license perl)))) + (define-public perl-file-list (package (name "perl-file-list") From b0c2ae50228988a482ebe14debc5d25621f454b2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:01:47 -0600 Subject: [PATCH 049/359] gnu: Add File-Find-Rule-Perl. * gnu/packages/perl.scm (perl-file-find-rule-perl): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a65804ba34..962536c5c4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -323,6 +323,30 @@ It allows you to build rules which specify the desired files and directories.") (license (package-license perl)))) +(define-public perl-file-find-rule-perl + (package + (name "perl-file-find-rule-perl") + (version "1.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "File-Find-Rule-Perl-" version ".tar.gz")) + (sha256 + (base32 + "0xi4ppqr6r57l5xlkwxpvkvpb9p7dvz053d76v2m9pwdfxqb5v6j")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-file-find-rule" ,perl-file-find-rule) + ("perl-params-util" ,perl-params-util) + ("perl-parse-cpan-meta" ,perl-parse-cpan-meta))) + (home-page "http://search.cpan.org/dist/File-Find-Rule-Perl") + (synopsis "Common rules for searching for Perl things") + (description "File::Find::Rule::Perl provides methods for finding various +types Perl-related files, or replicating search queries run on a distribution +in various parts of the CPAN ecosystem.") + (license (package-license perl)))) + (define-public perl-file-list (package (name "perl-file-list") From 269ef086224e77a4ff9933a1d9ce26a0fcfbed59 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:03:06 -0600 Subject: [PATCH 050/359] gnu: Add Test-CleanNamespaces. * gnu/packages/perl.scm (perl-test-cleannamespaces): New variable. --- gnu/packages/perl.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 962536c5c4..5e4ac07317 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -805,6 +805,39 @@ clock speed.") "Sys-CPU-" version)) (license (package-license perl)))) +(define-public perl-test-cleannamespaces + (package + (name "perl-test-cleannamespaces") + (version "0.16") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Test-CleanNamespaces-" version ".tar.gz")) + (sha256 + (base32 + "1ynrds515gcq954z34zm03rgcx0dskiaz7qj0k7k5gmrjj1kfycp")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-requires" ,perl-test-requires) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-warnings" ,perl-test-warnings) + ("perl-test-tester" ,perl-test-tester))) + (propagated-inputs + `(("perl-namespace-clean" ,perl-namespace-clean) + ("perl-package-stash" ,perl-package-stash) + ("perl-sub-identify" ,perl-sub-identify) + ("perl-sub-exporter" ,perl-sub-exporter) + ("perl-file-find-rule" ,perl-file-find-rule) + ("perl-file-find-rule-perl" ,perl-file-find-rule-perl))) + (home-page "http://search.cpan.org/dist/Test-CleanNamespaces") + (synopsis "Check for uncleaned imports") + (description "This module lets you check your module's namespaces for +imported functions you might have forgotten to remove with +namespace::autoclean or namespace::clean and are therefore available to be +called as methods, which usually isn't want you want.") + (license (package-license perl)))) + (define-public perl-test-deep (package (name "perl-test-deep") From 6eb28ece007ba60166933b72c4ac69706cbf933b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:03:58 -0600 Subject: [PATCH 051/359] gnu: Add ExtUtils-Config. * gnu/packages/perl.scm (perl-extutils-config): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5e4ac07317..26b27d46b8 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -300,6 +300,26 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-extutils-config + (package + (name "perl-extutils-config") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "ExtUtils-Config-" version ".tar.gz")) + (sha256 + (base32 + "130s5zk4krrymbynqxx62g13jynnb7xi7vdpg65cw3b56kv08ldf")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/ExtUtils-Config") + (synopsis "Wrapper for perl's configuration") + (description "ExtUtils::Config is an abstraction around the %Config hash. +By itself it is not a particularly interesting module by any measure, however +it ties together a family of modern toolchain modules.") + (license (package-license perl)))) + (define-public perl-file-find-rule (package (name "perl-file-find-rule") From 9c8f076567f07c69b611aca1edd3b69e833898c5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:05:11 -0600 Subject: [PATCH 052/359] gnu: Add ExtUtils-InstallPaths. * gnu/packages/perl.scm (perl-extutils-installpaths): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 26b27d46b8..282c7f82bc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -300,6 +300,27 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-extutils-installpaths + (package + (name "perl-extutils-installpaths") + (version "0.010") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "ExtUtils-InstallPaths-" version ".tar.gz")) + (sha256 + (base32 + "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-extutils-config" ,perl-extutils-config))) + (home-page "http://search.cpan.org/dist/ExtUtils-InstallPaths") + (synopsis "Build.PL install path logic made easy") + (description "This module tries to make install path resolution as easy as +possible.") + (license (package-license perl)))) + (define-public perl-extutils-config (package (name "perl-extutils-config") From 0bcb85be50724e3d0dc3f91646edf93114f8884d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:06:08 -0600 Subject: [PATCH 053/359] gnu: Add ExtUtils-Helpers. * gnu/packages/perl.scm (perl-extutils-helpers): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 282c7f82bc..25a53c96d6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -341,6 +341,25 @@ By itself it is not a particularly interesting module by any measure, however it ties together a family of modern toolchain modules.") (license (package-license perl)))) +(define-public perl-extutils-helpers + (package + (name "perl-extutils-helpers") + (version "0.022") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "ExtUtils-Helpers-" version ".tar.gz")) + (sha256 + (base32 + "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/ExtUtils-Helpers") + (synopsis "Various portability utilities for module builders") + (description "This module provides various portable helper functions for +module building modules.") + (license (package-license perl)))) + (define-public perl-file-find-rule (package (name "perl-file-find-rule") From 9c7d97c47d9a238800aaa565228c001205f7d45d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:07:11 -0600 Subject: [PATCH 054/359] gnu: Add Test-Harness. * gnu/packages/perl.scm (perl-test-harness): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 25a53c96d6..7bdb93bb15 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -943,6 +943,36 @@ Test::Exception. It does much less, but should allow greater flexibility in testing exception-throwing code with about the same amount of typing.") (license (package-license perl)))) +(define-public perl-test-harness + (package + (name "perl-test-harness") + (version "3.35") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "Test-Harness-" version ".tar.gz")) + (sha256 + (base32 + "06l29y1bpizb9vd9g49lgi0wzj1xy4rsk42ahdj3fpgqnvb9wp05")))) + (build-system perl-build-system) + (arguments + `(#:phases (alist-cons-before + 'check 'patch-test + (lambda* (#:key inputs #:allow-other-keys) + ;; This test looks for "#!/usr/bin/perl" in some source. + ;; Patch what the test looks for. + (substitute* "t/source.t" + (("#!/usr/bin/perl") + (string-append "#!" (assoc-ref inputs "perl") + "/bin/perl")))) + %standard-phases))) + (home-page "http://search.cpan.org/dist/Test-Harness") + (synopsis "Run Perl standard test scripts with statistics") + (description "Simple test harness which allows tests to be run and results +automatically aggregated and output to STDOUT.") + (license (package-license perl)))) + (define-public perl-test-nowarnings (package (name "perl-test-nowarnings") From 6c319d12bdeb6d67e2698d463f4387c6bcfa498a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:09:00 -0600 Subject: [PATCH 055/359] gnu: Add Module-Build-Tiny. * gnu/packages/perl.scm (perl-module-build-tiny): New variable. --- gnu/packages/perl.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7bdb93bb15..71508f794f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -521,6 +521,39 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-module-build-tiny + (package + (name "perl-module-build-tiny") + (version "0.039") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "Module-Build-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "077ijxbvamybph4ymamy1i9q2993xb46vf1npxaybjz0mkv0yn3x")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-installpaths" ,perl-extutils-installpaths) + ("perl-extutils-config" ,perl-extutils-config) + ("perl-extutils-helpers" ,perl-extutils-helpers) + ("perl-test-harness" ,perl-test-harness))) + (propagated-inputs + `(("perl-extutils-installpaths" ,perl-extutils-installpaths) + ("perl-extutils-config" ,perl-extutils-config) + ("perl-extutils-helpers" ,perl-extutils-helpers) + ("perl-test-harness" ,perl-test-harness))) + (home-page "http://search.cpan.org/dist/Module-Build-Tiny") + (synopsis "Tiny replacement for Module::Build") + (description "Many Perl distributions use a Build.PL file instead of a +Makefile.PL file to drive distribution configuration, build, test and +installation. Traditionally, Build.PL uses Module::Build as the underlying +build system. This module provides a simple, lightweight, drop-in +replacement. Whereas Module::Build has over 6,700 lines of code; this module +has less than 120, yet supports the features needed by most distributions.") + (license (package-license perl)))) + (define-public perl-module-implementation (package (name "perl-module-implementation") From d439d53741ee1d51ac141387fa77f7ebbe86e571 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:11:01 -0600 Subject: [PATCH 056/359] gnu: Add Class-Load. * gnu/packages/perl.scm (perl-class-load): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 71508f794f..063c7ef460 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -173,6 +173,36 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-class-load + (package + (name "perl-class-load") + (version "0.22") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Class-Load-" version ".tar.gz")) + (sha256 + (base32 + "049i285yj8hwgzj7nncjbs2bhxvpdk88wmx1d0nh0rdmh5hdnlmy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build-tiny" ,perl-module-build-tiny) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-package-stash" ,perl-package-stash) + ("perl-data-optlist" ,perl-data-optlist) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-module-implementation" ,perl-module-implementation))) + (home-page "http://search.cpan.org/dist/Class-Load") + (synopsis "Working (require \"Class::Name\") and more") + (description "\"require EXPR\" only accepts Class/Name.pm style module +names, not Class::Name. For that, this module provides \"load_class +'Class::Name'\".") + (license (package-license perl)))) + (define-public perl-clone (package (name "perl-clone") From 81bffd455b9f21a6af7fea2f60319efd80bffa06 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:11:34 -0600 Subject: [PATCH 057/359] gnu: Add Class-Load-XS. * gnu/packages/perl.scm (perl-class-load-xs): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 063c7ef460..303f5122e0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -203,6 +203,29 @@ names, not Class::Name. For that, this module provides \"load_class 'Class::Name'\".") (license (package-license perl)))) +(define-public perl-class-load-xs + (package + (name "perl-class-load-xs") + (version "0.09") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Class-Load-XS-" version ".tar.gz")) + (sha256 + (base32 + "1aivalms81s3a2cj053ncgnmkpgl7vspna8ajlkqir7rdn8kpv5v")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (inputs `(("perl-class-load" ,perl-class-load))) + (home-page "http://search.cpan.org/dist/Class-Load-XS") + (synopsis "XS implementation of parts of Class::Load") + (description "This module provides an XS implementation for portions of +Class::Load") + (license artistic2.0))) + (define-public perl-clone (package (name "perl-clone") From 70a9a4911a30205428371d49e846ea9509e650bf Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:12:37 -0600 Subject: [PATCH 058/359] gnu: Add Devel-GlobalDestruction. * gnu/packages/perl.scm (perl-devel-globaldestruction): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 303f5122e0..a3bbbc0450 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -291,6 +291,27 @@ CPAN::Meta object are present.") "Data::OptList provides a simple syntax for name/value option pairs.") (license (package-license perl)))) +(define-public perl-devel-globaldestruction + (package + (name "perl-devel-globaldestruction") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Devel-GlobalDestruction-" version ".tar.gz")) + (sha256 + (base32 + "0qn4iszgylnxjdkb6430f6a3ci7bcx9ih1az6bd5cbij1pf2965j")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive))) + (home-page "http://search.cpan.org/dist/Devel-GlobalDestruction") + (synopsis "Provides equivalent of ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls") + (description "Devel::GlobalDestruction provides a function returning the +equivalent of \"${^GLOBAL_PHASE} eq 'DESTRUCT'\" for older perls.") + (license (package-license perl)))) + (define-public perl-digest-sha1 (package (name "perl-digest-sha1") From 2aa51030e916e0783b0dfdf1617791a42931ae86 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:18:13 -0600 Subject: [PATCH 059/359] gnu: Add MRO-Compat. * gnu/packages/perl.scm (perl-mro-compat): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a3bbbc0450..f0e5567b53 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -675,6 +675,27 @@ implementations.") handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) +(define-public perl-mro-compat + (package + (name "perl-mro-compat") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/" + "MRO-Compat-" version ".tar.gz")) + (sha256 + (base32 + "1mhma2g83ih9f8nkmg2k9l0x6izhhbb6k5lli4rpllxad4wbk9dv")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/MRO-Compat") + (synopsis "MRO interface compatibility for Perls < 5.9.5") + (description "The \"mro\" namespace provides several utilities for dealing +with method resolution order and method caching in general in Perl 5.9.5 and +higher. This module provides those interfaces for earlier versions of +Perl (back to 5.6.0).") + (license (package-license perl)))) + (define-public perl-namespace-clean (package (name "perl-namespace-clean") From e2e3d62a657f72d50d23fd3cf387202fcd1c3ce8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:19:25 -0600 Subject: [PATCH 060/359] gnu: Add Devel-OverloadInfo. * gnu/packages/perl.scm (perl-devel-overloadinfo): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f0e5567b53..c59601250a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -312,6 +312,30 @@ CPAN::Meta object are present.") equivalent of \"${^GLOBAL_PHASE} eq 'DESTRUCT'\" for older perls.") (license (package-license perl)))) +(define-public perl-devel-overloadinfo + (package + (name "perl-devel-overloadinfo") + (version "0.002") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" + "Devel-OverloadInfo-" version ".tar.gz")) + (sha256 + (base32 + "14gzjlsqhypqp0szqj6152qfn69snzydgk1yk6bji5zimzv86qyy")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-package-stash" ,perl-package-stash) + ("perl-sub-identify" ,perl-sub-identify) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Devel-OverloadInfo") + (synopsis "Introspect overloaded operators") + (description "Devel::OverloadInfo returns information about overloaded +operators for a given class (or object), including where in the inheritance +hierarchy the overloads are declared and where the code implementing it is.") + (license (package-license perl)))) + (define-public perl-digest-sha1 (package (name "perl-digest-sha1") From 5d2935e3fc50b98e3396722af55158f4016bc0a6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:21:24 -0600 Subject: [PATCH 061/359] gnu: Add Sub-Uplevel. * gnu/packages/perl.scm (perl-sub-uplevel): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c59601250a..d4d652bd1a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -996,6 +996,26 @@ the unsightly mess of C or typeglobs lying about where just anyone can see them.") (license (package-license perl)))) +(define-public perl-sub-uplevel + (package + (name "perl-sub-uplevel") + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "Sub-Uplevel-" version ".tar.gz")) + (sha256 + (base32 + "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Sub-Uplevel") + (synopsis "Apparently run a function in a higher stack frame") + (description "Like Tcl's uplevel() function, but not quite so dangerous. +The idea is just to fool caller(). All the really naughty bits of Tcl's +uplevel() are avoided.") + (license (package-license perl)))) + (define-public perl-sys-cpu (package (name "perl-sys-cpu") From bf1975c7746dd04c0a1995181fd37bd0650dd3d4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:23:35 -0600 Subject: [PATCH 062/359] gnu: Add Test-Warn. * gnu/packages/perl.scm (perl-test-warn): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d4d652bd1a..3bc7a90bc1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1277,6 +1277,27 @@ a minimum of effort.") ;; "Under the same license as Perl itself" (license (package-license perl)))) +(define-public perl-test-warn + (package + (name "perl-test-warn") + (version "0.30") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/" + "Test-Warn-" version ".tar.gz")) + (sha256 + (base32 + "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sub-uplevel" ,perl-sub-uplevel))) + (home-page "http://search.cpan.org/dist/Test-Warn") + (synopsis "Perl extension to test methods for warnings") + (description "This module provides a few convenience methods for testing +warning based code.") + (license (package-license perl)))) + (define-public perl-test-warnings (package (name "perl-test-warnings") From d85de704a45a6f1825c5fb7f4483ac5a66430cbe Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:25:07 -0600 Subject: [PATCH 063/359] gnu: Add Class-Tiny. * gnu/packages/perl.scm (perl-class-tiny): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3bc7a90bc1..9bc5034d54 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -226,6 +226,25 @@ names, not Class::Name. For that, this module provides \"load_class Class::Load") (license artistic2.0))) +(define-public perl-class-tiny + (package + (name "perl-class-tiny") + (version "1.000") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "Class-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "0jll90byj0nl16hwpf28k54i4n53jidjsj1bnlbx72v0n56qfpb2")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Class-Tiny") + (synopsis "Minimalist class construction") + (description "This module offers a minimalist class construction kit. It +uses no non-core modules for any recent Perl.") + (license asl2.0))) + (define-public perl-clone (package (name "perl-clone") From 81da66e239d057e3cb5aef1cdd41f9765c9f96f7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:25:49 -0600 Subject: [PATCH 064/359] gnu: Add Devel-PartialDump. * gnu/packages/perl.scm (perl-devel-partialdump): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9bc5034d54..55b130d359 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -355,6 +355,33 @@ operators for a given class (or object), including where in the inheritance hierarchy the overloads are declared and where the code implementing it is.") (license (package-license perl)))) +(define-public perl-devel-partialdump + (package + (name "perl-devel-partialdump") + (version "0.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Devel-PartialDump-" version ".tar.gz")) + (sha256 + (base32 + "0nr3qa68x4yp219kd17j1ks9c95qc9agfvz7ddnpn8p78f3kgwfn")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build-tiny" ,perl-module-build-tiny) + ("perl-test-warn" ,perl-test-warn) + ("perl-test-simple" ,perl-test-simple))) + (propagated-inputs + `(("perl-class-tiny" ,perl-class-tiny) + ("perl-sub-exporter" ,perl-sub-exporter) + ("perl-namespace-clean" ,perl-namespace-clean))) + (home-page "http://search.cpan.org/dist/Devel-PartialDump") + (synopsis "Partial dumping of data structures") + (description "This module is a data dumper optimized for logging of +arbitrary parameters.") + (license (package-license perl)))) + (define-public perl-digest-sha1 (package (name "perl-digest-sha1") From 42350bbe77bf0ef106f241f07cd2f5e2768e4b2d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:26:39 -0600 Subject: [PATCH 065/359] gnu: Add Devel-StackTrace. * gnu/packages/perl.scm (perl-devel-stacktrace): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 55b130d359..7b78f76650 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -382,6 +382,27 @@ hierarchy the overloads are declared and where the code implementing it is.") arbitrary parameters.") (license (package-license perl)))) +(define-public perl-devel-stacktrace + (package + (name "perl-devel-stacktrace") + (version "2.00") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Devel-StackTrace-" version ".tar.gz")) + (sha256 + (base32 + "1r65iq5i11xh0r0kp3pdycydnd3kxpdmxnp0hq9hx9lr60kygsqx")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Devel-StackTrace") + (synopsis "Object representing a stack trace") + (description "The Devel::StackTrace module contains two classes, +Devel::StackTrace and Devel::StackTrace::Frame. These objects encapsulate the +information that can be retrieved via Perl's caller() function, as well as +providing a simple interface to this data.") + (license artistic2.0))) + (define-public perl-digest-sha1 (package (name "perl-digest-sha1") From 54af5f55180f6544b573bc6830fe45425369015c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:28:54 -0600 Subject: [PATCH 066/359] gnu: Add PadWalker. * gnu/packages/perl.scm (perl-padwalker): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7b78f76650..48022d9f1d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -907,6 +907,27 @@ default if it's installed, and should be preferred in all environments with a compiler.") (license (package-license perl)))) +(define-public perl-padwalker + (package + (name "perl-padwalker") + (version "2.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RO/ROBIN/" + "PadWalker-" version ".tar.gz")) + (sha256 + (base32 + "058l78rkr6px3rqcv2sdf9sqimdq1nc6py5yb9rrg3wmva7crw84")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/PadWalker") + (synopsis "Play with other peoples' lexical variables") + (description "PadWalker is a module which allows you to inspect (and even +change) lexical variables in any subroutine which called you. It will only +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-params-util (package (name "perl-params-util") From 0b15ffbc316a2600b63c0bfccc673ad0071b49fe Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:29:37 -0600 Subject: [PATCH 067/359] gnu: Add Devel-Caller. * gnu/packages/perl.scm (perl-devel-caller): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 48022d9f1d..285a7fb30f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -310,6 +310,26 @@ CPAN::Meta object are present.") "Data::OptList provides a simple syntax for name/value option pairs.") (license (package-license perl)))) +(define-public perl-devel-caller + (package + (name "perl-devel-caller") + (version "2.06") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "Devel-Caller-" version ".tar.gz")) + (sha256 + (base32 + "1pxpimifzmnjnvf4icclx77myc15ahh0k56sj1djad1855mawwva")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-padwalker" ,perl-padwalker))) + (home-page "http://search.cpan.org/dist/Devel-Caller") + (synopsis "Meatier version of caller") + (description "Devel::Caller provides meatier version of caller.") + (license (package-license perl)))) + (define-public perl-devel-globaldestruction (package (name "perl-devel-globaldestruction") From 4400eb95e473386c16e546978236430735712b9d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:30:26 -0600 Subject: [PATCH 068/359] gnu: Add Devel-LexAlias. * gnu/packages/perl.scm (perl-devel-lexalias): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 285a7fb30f..a50927aff1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -351,6 +351,27 @@ CPAN::Meta object are present.") equivalent of \"${^GLOBAL_PHASE} eq 'DESTRUCT'\" for older perls.") (license (package-license perl)))) +(define-public perl-devel-lexalias + (package + (name "perl-devel-lexalias") + (version "0.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "Devel-LexAlias-" version ".tar.gz")) + (sha256 + (base32 + "0wpfpjqlrncslnmxa37494sfdy0901510kj2ds2k6q167vadj2jy")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-devel-caller" ,perl-devel-caller))) + (home-page "http://search.cpan.org/dist/Devel-LexAlias") + (synopsis "Alias lexical variables") + (description "Devel::LexAlias provides the ability to alias a lexical +variable in a subroutines scope to one of your choosing.") + (license (package-license perl)))) + (define-public perl-devel-overloadinfo (package (name "perl-devel-overloadinfo") From 8bc9515d9bdd8c854024d6b60a59692ecfcbd77f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:32:00 -0600 Subject: [PATCH 069/359] gnu: Add Eval-Closure. * gnu/packages/perl.scm (perl-eval-closure): New variable. --- gnu/packages/perl.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a50927aff1..0911c70e8c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -485,6 +485,38 @@ SHA-1 message digest algorithm for use by Perl programs.") modules separately and deal with them after the module is done installing.") (license (package-license perl)))) +(define-public perl-eval-closure + (package + (name "perl-eval-closure") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Eval-Closure-" version ".tar.gz")) + (sha256 + (base32 + "0ssvlgx3y1y28wrrp0lmmffzqxfrwb2lb3p60b8cjvxsf1c3jbfv")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-devel-lexalias" ,perl-devel-lexalias))) + (home-page "http://search.cpan.org/dist/Eval-Closure") + (synopsis "Safely and cleanly create closures via string eval") + (description "String eval is often used for dynamic code generation. For +instance, Moose uses it heavily, to generate inlined versions of accessors and +constructors, which speeds code up at runtime by a significant amount. String +eval is not without its issues however - it's difficult to control the scope +it's used in (which determines which variables are in scope inside the eval), +and it's easy to miss compilation errors, since eval catches them and sticks +them in $@ instead. This module attempts to solve these problems. It +provides an eval_closure function, which evals a string in a clean +environment, other than a fixed list of specified variables. Compilation +errors are rethrown automatically.") + (license (package-license perl)))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") From ce60f167ea229a4aa2f369534e6330755b970a9f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:34:03 -0600 Subject: [PATCH 070/359] gnu: Add Config-AutoConf. * gnu/packages/perl.scm (perl-config-autoconf): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0911c70e8c..3b15a2d687 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -266,6 +266,27 @@ objects.") "Clone-" version)) (license (package-license perl)))) +(define-public perl-config-autoconf + (package + (name "perl-config-autoconf") + (version "0.309") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "Config-AutoConf-" version ".tar.gz")) + (sha256 + (base32 + "1nqc7calfny12dwfhz7ylsvx55nf69kirdc5dbyvh3sjsqj8yvdq")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-capture-tiny" ,perl-capture-tiny))) + (home-page "http://search.cpan.org/dist/Config-AutoConf") + (synopsis "Module to implement some AutoConf macros in Perl") + (description "Config::AutoConf is intended to provide the same +opportunities to Perl developers as GNU Autoconf does for Shell developers.") + (license (package-license perl)))) + (define-public perl-cpan-meta-check (package (name "perl-cpan-meta-check") From e8bba431a81872bb16a2497908477dbec1258224 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:34:56 -0600 Subject: [PATCH 071/359] gnu: Add inc-latest. * gnu/packages/perl.scm (perl-inc-latest): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3b15a2d687..fa25a8d36a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -737,6 +737,26 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") "Getopt-Tabular-" version)) (license (package-license perl)))) +(define-public perl-inc-latest + (package + (name "perl-inc-latest") + (version "0.500") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "inc-latest-" version ".tar.gz")) + (sha256 + (base32 + "04f6qf6ll2hkdsr9aglykg3wlgsnf0w4f264nzg4i9y6cgrhbafs")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/inc-latest") + (synopsis "Use modules in inc/ if newer than installed") + (description "The inc::latest module helps bootstrap configure-time +dependencies for CPAN distributions. These dependencies get bundled into the +inc directory within a distribution and are used by Makefile.PL or Build.PL.") + (license asl2.0))) + (define-public perl-io-tty (package (name "perl-io-tty") From 0d3ec4951ee1d891f5853b4eadd95d3aa0c240e6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:39:37 -0600 Subject: [PATCH 072/359] gnu: Add Algorithm-Diff. * gnu/packages/perl.scm (perl-algorithm-diff): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fa25a8d36a..e4ede6a44b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -81,6 +81,28 @@ (home-page "http://www.perl.org/") (license gpl1+))) ; or "Artistic" +(define-public perl-algorithm-diff + (package + (name "perl-algorithm-diff") + (version "1.1903") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TY/TYEMQ/" + "Algorithm-Diff-" version ".tar.gz")) + (sha256 + (base32 + "0l8pk7ziz72d022hsn4xldhhb9f5649j5cgpjdibch0xng24ms1h")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Algorithm-Diff") + (synopsis "Compute differences between two files or lists") + (description "This is a module for computing the difference between two +files, two strings, or any other two lists of things. It uses an intelligent +algorithm similar to (or identical to) the one used by the Unix \"diff\" +program. It is guaranteed to find the *smallest possible* set of +differences.") + (license (package-license perl)))) + (define-public perl-archive-zip (package (name "perl-archive-zip") From 3453cd7adb3b9ac095b9e3cb54c8f0fdab7219ff Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:41:32 -0600 Subject: [PATCH 073/359] gnu: Add Text-Diff. * gnu/packages/perl.scm (perl-text-diff): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e4ede6a44b..958a948a8a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1544,6 +1544,30 @@ hooking into done_testing as well as via an END block. You can declare a plan, or not, and things will still Just Work.") (license (package-license perl)))) +(define-public perl-text-diff + (package + (name "perl-text-diff") + (version "1.41") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/" + "Text-Diff-" version ".tar.gz")) + (sha256 + (base32 + "1ynjsa4sr1yvyh65sdfvahaafglibz70j8b6rj01cg1iisj50zx6")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-algorithm-diff" ,perl-algorithm-diff))) + (home-page "http://search.cpan.org/dist/Text-Diff") + (synopsis "Perform diffs on files and record sets") + (description "Text::Diff provides a basic set of services akin to the GNU +diff utility. It is not anywhere near as feature complete as GNU diff, but it +is better integrated with Perl and available on all platforms. It is often +faster than shelling out to a system's diff executable for small files, and +generally slower on larger files.") + (license (package-license perl)))) + (define-public perl-text-glob (package (name "perl-text-glob") From c68b185842e9e07c95fa28812ad566ec6e68439b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:42:49 -0600 Subject: [PATCH 074/359] gnu: Add Test-Differences. * gnu/packages/perl.scm (perl-test-differences): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 958a948a8a..1d986928fc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1318,6 +1318,30 @@ structures without getting caught in an infinite loop.") "Test-Deep-" version)) (license gpl1+))) ; or "Artistic License" +(define-public perl-test-differences + (package + (name "perl-test-differences") + (version "0.63") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DC/DCANTRELL/" + "Test-Differences-" version ".tar.gz")) + (sha256 + (base32 + "0rhs4q6qn64ji06ns7lwl6iiiw3mggvd9xk9nkiqvx1jihbplrbw")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-text-diff" ,perl-text-diff) + ("perl-capture-tiny" ,perl-capture-tiny))) + (home-page "http://search.cpan.org/dist/Test-Differences") + (synopsis "Test strings and data structures and show differences") + (description "This module exports three test functions and four diff-style +functions") + ;; See LICENSE section of Test/Differences.pm, which reads "... GNU public + ;; license, any version, ..." + (license gpl3+))) + (define-public perl-test-fatal (package (name "perl-test-fatal") From bc4899e3d9eb4b975705029f997d1a73d84f845e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:43:19 -0600 Subject: [PATCH 075/359] gnu: Add Class-Data-Inheritable. * gnu/packages/perl.scm (perl-class-data-inheritable): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1d986928fc..1f1ce340e0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -195,6 +195,27 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-class-data-inheritable + (package + (name "perl-class-data-inheritable") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TM/TMTM/" + "Class-Data-Inheritable-" version ".tar.gz")) + (sha256 + (base32 + "0jpi38wy5xh6p1mg2cbyjjw76vgbccqp46685r27w8hmxb7gwrwr")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Class-Data-Inheritable") + (synopsis "Inheritable, overridable class data") + (description "Class::Data::Inheritable is for creating accessor/mutators +to class data. That is, if you want to store something about your class as a +whole (instead of about a single object). This data is then inherited by your +subclasses and can be overriden.") + (license (package-license perl)))) + (define-public perl-class-load (package (name "perl-class-load") From 3a8ee9d163651c02f48b324c20e63292b02c1cef Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:44:58 -0600 Subject: [PATCH 076/359] gnu: Add Exception-Class. * gnu/packages/perl.scm (perl-exception-class): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1f1ce340e0..dd9d4836cb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -581,6 +581,28 @@ environment, other than a fixed list of specified variables. Compilation errors are rethrown automatically.") (license (package-license perl)))) +(define-public perl-exception-class + (package + (name "perl-exception-class") + (version "1.39") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Exception-Class-" version ".tar.gz")) + (sha256 + (base32 + "10r06v6568s33p6h9f9ml0iabc07id86mjkf74gy7ld6d5m7b741")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-class-data-inheritable" ,perl-class-data-inheritable))) + (home-page "http://search.cpan.org/dist/Exception-Class") + (synopsis "Allows you to declare real exception classes in Perl") + (description "Exception::Class allows you to declare exception hierarchies +in your modules in a \"Java-esque\" manner.") + (license (package-license perl)))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") From 625d0661fa9026d6eb69d156837001b841b92a1a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:47:16 -0600 Subject: [PATCH 077/359] gnu: Add Module-Build. * gnu/packages/perl.scm (perl-module-build): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index dd9d4836cb..6f6e8d5c92 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1773,6 +1773,31 @@ for use in reading and writing CPAN metadata files like META.yml and MYMETA.yml.") (license (package-license perl)))) +(define-public perl-module-build + (package + (name "perl-module-build") + (version "0.4211") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" + "Module-Build-" version ".tar.gz")) + (sha256 + (base32 + "1c5hfhajr963w4mdjivsc7yz4vf4pz1rrfch5a93fbac1x2mr58h")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-cpan-meta" ,perl-cpan-meta))) + (home-page "http://search.cpan.org/dist/Module-Build") + (synopsis "Build and install Perl modules") + (description "\"Module::Build\" is a system for building, testing, and +installing Perl modules. It is meant to be an alternative to +\"ExtUtils::MakeMaker\". Developers may alter the behavior of the module +through subclassing in a much more straightforward way than with +\"MakeMaker\". It also does not require a \"make\" on your system - most of +the \"Module::Build\" code is pure-perl and written in a cross-platform way.") + (license (package-license perl)))) + (define-public perl-parse-cpan-meta (package (name "perl-parse-cpan-meta") From 800e13d26530439f00d08aee37822326c9104047 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:47:53 -0600 Subject: [PATCH 078/359] gnu: Add Test-Exception. * gnu/packages/perl.scm (perl-test-exception): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6f6e8d5c92..4315650bc0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1385,6 +1385,30 @@ functions") ;; license, any version, ..." (license gpl3+))) +(define-public perl-test-exception + (package + (name "perl-test-exception") + (version "0.36") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" + "Test-Exception-" version ".tar.gz")) + (sha256 + (base32 + "1zpwimspbq11wjrli481qk17aabzxab15cnnryflx45nzn3za2xk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-sub-uplevel" ,perl-sub-uplevel))) + (home-page "http://search.cpan.org/dist/Test-Exception") + (synopsis "Test exception based code") + (description "This module provides a few convenience methods for testing +exception based code. It is built with Test::Builder and plays happily with +Test::More and friends.") + (license (package-license perl)))) + (define-public perl-test-fatal (package (name "perl-test-fatal") From d4dfe333dfcd906019f63172a27c8f984fd804e6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:49:16 -0600 Subject: [PATCH 079/359] gnu: Add Test-Most. * gnu/packages/perl.scm (perl-test-most): New variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4315650bc0..1cea293b52 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1460,6 +1460,32 @@ testing exception-throwing code with about the same amount of typing.") automatically aggregated and output to STDOUT.") (license (package-license perl)))) +(define-public perl-test-most + (package + (name "perl-test-most") + (version "0.34") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/" + "Test-Most-" version ".tar.gz")) + (sha256 + (base32 + "0i72aih3pakm8gh73wx1n4dwq8lbx6dvxhla46gsapszws6hr0n2")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-test-differences" ,perl-test-differences) + ("perl-test-warn" ,perl-test-warn) + ("perl-exception-class" ,perl-exception-class) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-exception" ,perl-test-exception))) + (home-page "http://search.cpan.org/dist/Test-Most") + (synopsis "Most commonly needed test functions and features") + (description "This module provides the most commonly used testing +functions, along with automatically turning on strict and warning and gives a +bit more fine-grained control over test suites.") + (license (package-license perl)))) + (define-public perl-test-nowarnings (package (name "perl-test-nowarnings") From d0662af9556d19dedfc3cc9595c0169f0ed967f4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:49:44 -0600 Subject: [PATCH 080/359] gnu: Add Test-Directory. * gnu/packages/perl.scm (perl-test-directory): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1cea293b52..8d9e9f6a2c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1385,6 +1385,30 @@ functions") ;; license, any version, ..." (license gpl3+))) +(define-public perl-test-directory + (package + (name "perl-test-directory") + (version "0.041") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SA/SANBEG/" + "Test-Directory-" version ".tar.gz")) + (sha256 + (base32 + "1ncql08cizhicbxwd753b4czns8nlcnlw0zfjcfrbdd41x4j6hqr")))) + (build-system perl-build-system) + (native-inputs `(("perl-test-exception" ,perl-test-exception))) + (home-page "http://search.cpan.org/dist/Test-Directory") + (synopsis "Perl extension for maintaining test directories") + (description "Testing code can involve making sure that files are created +and deleted as expected. Doing this manually can be error prone, as it's easy +to forget a file, or miss that some unexpected file was added. This module +simplifies maintaining test directories by tracking their status as they are +modified or tested with this API, making it simple to test both individual +files, as well as to verify that there are no missing or unknown files.") + (license (package-license perl)))) + (define-public perl-test-exception (package (name "perl-test-exception") From ec77a714c5642ac35366fd6c31aee29847b77cb7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:51:28 -0600 Subject: [PATCH 081/359] gnu: Add parent. * gnu/packages/perl.scm (perl-parent): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8d9e9f6a2c..f87606eadf 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1128,6 +1128,25 @@ is particularly useful for debugging.") checking parameters easier.") (license (package-license perl)))) +(define-public perl-parent + (package + (name "perl-parent") + (version "0.228") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CO/CORION/" + "parent-" version ".tar.gz")) + (sha256 + (base32 + "0w0i02y4z8465z050kml57mvhv7c5gl8w8ivplhr3cms0zbaq87b")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/parent") + (synopsis "Establish an ISA relationship with base classes at compile time") + (description "Allows you to both load one or more modules, while setting +up inheritance from those modules at the same time.") + (license (package-license perl)))) + (define-public perl-probe-perl (package (name "perl-probe-perl") From 29b6ca73e17099a7172a6e8048a9fd7174dd1d09 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:52:18 -0600 Subject: [PATCH 082/359] gnu: Add File-Temp. * gnu/packages/perl.scm (perl-file-temp): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f87606eadf..24ecad503d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -760,6 +760,27 @@ provided base directory and can return files (and/or directories if desired) matching a regular expression.") (home-page "http://search.cpan.org/~dopacki/File-List/"))) +(define-public perl-file-temp + (package + (name "perl-file-temp") + (version "0.2304") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "File-Temp-" version ".tar.gz")) + (sha256 + (base32 + "1b11scbw77924awwdf5yw8sk8z0s2hskvpyyxws9yz4gwhim6h8k")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-parent" ,perl-parent))) + (home-page "http://search.cpan.org/dist/File-Temp") + (synopsis "Return name and handle of a temporary file safely") + (description "File::Temp can be used to create and open temporary files in +a safe way.") + (license (package-license perl)))) + (define-public perl-file-which (package (name "perl-file-which") From 4ee88d69dd70e913d65cbced7ed64409b0953df8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:53:22 -0600 Subject: [PATCH 083/359] gnu: Add File-HomeDir. * gnu/packages/perl.scm (perl-file-homedir): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 24ecad503d..b6327fd0c3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -731,6 +731,31 @@ types Perl-related files, or replicating search queries run on a distribution in various parts of the CPAN ecosystem.") (license (package-license perl)))) +(define-public perl-file-homedir + (package + (name "perl-file-homedir") + (version "1.00") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "File-HomeDir-" version ".tar.gz")) + (sha256 + (base32 + "0hvihydd0y4gdxafi8dpybk9ll8q35bz5ycibfic0gh92cslzfc5")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-file-which" ,perl-file-which) + ("perl-file-temp" ,perl-file-temp))) + (arguments `(#:tests? #f)) ;Not appropriate for chroot + (home-page "http://search.cpan.org/dist/File-HomeDir") + (synopsis "Find your home and other directories on any platform") + (description "File::HomeDir is a module for locating the directories that +are \"owned\" by a user (typicaly your user) and to solve the various issues +that arise trying to find them consistently across a wide variety of +platforms.") + (license (package-license perl)))) + (define-public perl-file-list (package (name "perl-file-list") From 61fc683117ea7bd3d30063b5e24cbe24a2f9ff88 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:54:08 -0600 Subject: [PATCH 084/359] gnu: Add Data-Tumbler. * gnu/packages/perl.scm (perl-data-tumbler): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b6327fd0c3..dfc281a210 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -374,6 +374,29 @@ CPAN::Meta object are present.") "Data::OptList provides a simple syntax for name/value option pairs.") (license (package-license perl)))) +(define-public perl-data-tumbler + (package + (name "perl-data-tumbler") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "Data-Tumbler-" version ".tar.gz")) + (sha256 + (base32 + "13kww2xj30rkk8w9h50h4blypdb689zgils0zyah587kip0z6509")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-most" ,perl-test-most))) + (propagated-inputs + `(("perl-file-homedir" ,perl-file-homedir))) + (home-page "http://search.cpan.org/dist/Data-Tumbler") + (synopsis "Dynamic generation of nested combinations of variants") + (description "Data::Tumbler - Dynamic generation of nested combinations of +variants") + (license (package-license perl)))) + (define-public perl-devel-caller (package (name "perl-devel-caller") From da9e3012b59d8013b49a7f578798c016d14c7c9f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:55:38 -0600 Subject: [PATCH 085/359] gnu: Add Test-WriteVariants. * gnu/packages/perl.scm (perl-test-writevariants): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index dfc281a210..9c626d118d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1773,6 +1773,31 @@ hooking into done_testing as well as via an END block. You can declare a plan, or not, and things will still Just Work.") (license (package-license perl)))) +(define-public perl-test-writevariants + (package + (name "perl-test-writevariants") + (version "0.010") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "Test-WriteVariants-" version ".tar.gz")) + (sha256 + (base32 + "0kklp05fj98yiq8znyfx9lx1vmjay2ypfb868qdwv3kf93m5zjwr")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-most" ,perl-test-most) + ("perl-test-directory" ,perl-test-directory))) + (propagated-inputs + `(("perl-data-tumbler" ,perl-data-tumbler) + ("perl-file-homedir" ,perl-file-homedir))) + (home-page "http://search.cpan.org/dist/Test-WriteVariants") + (synopsis "Dynamic generation of tests") + (description "The Test::WriteVariants module provides for the dynamic +generation of tests in nested combinations of contexts.") + (license (package-license perl)))) ;See LICENSE + (define-public perl-text-diff (package (name "perl-text-diff") From a595c108cd986863a4a9f54b1a2d6b696575581d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:56:12 -0600 Subject: [PATCH 086/359] gnu: Add Exporter-Tiny. * gnu/packages/perl.scm (perl-exporter-tiny): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9c626d118d..589501e44c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -647,6 +647,28 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-exporter-tiny + (package + (name "perl-exporter-tiny") + (version "0.042") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" + "Exporter-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "0gq2ia8c6n84gdrlc73vab61djs8gs8zf7fqx8cxbg5zxg2j45lg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Exporter-Tiny") + (synopsis "Exporter with the features of Sub::Exporter but only core dependencies") + (description "Exporter::Tiny supports many of Sub::Exporter's +external-facing features including renaming imported functions with the `-as`, +`-prefix` and `-suffix` options; explicit destinations with the `into` option; +and alternative installers with the `installler` option. But it's written in +only about 40% as many lines of code and with zero non-core dependencies.") + (license (package-license perl)))) + (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") From 04e9de02838cf5344dc904b9b2f90bc4a08cf911 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:57:20 -0600 Subject: [PATCH 087/359] gnu: Add List-MoreUtils. * gnu/packages/perl.scm (perl-list-moreutils): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 589501e44c..a8ecccd47f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -956,6 +956,31 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-list-moreutils + (package + (name "perl-list-moreutils") + (version "0.402") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "List-MoreUtils-" version ".tar.gz")) + (sha256 + (base32 + "1i0k7kqg1m9nf2xvq9l4lyf38fxvi9952vmmvhcdaf3qa95pxb24")))) + (build-system perl-build-system) + (native-inputs + `(("perl-config-autoconf" ,perl-config-autoconf) + ("perl-inc-latest" ,perl-inc-latest) + ("perl-test-writevariants" ,perl-test-writevariants))) + (propagated-inputs + `(("perl-exporter-tiny" ,perl-exporter-tiny))) + (home-page "http://search.cpan.org/dist/List-MoreUtils") + (synopsis "Provide the stuff missing in List::Util") + (description "List::MoreUtils provides some trivial but commonly needed +functionality on lists which is not going to go into List::Util.") + (license (package-license perl)))) + (define-public perl-module-build-tiny (package (name "perl-module-build-tiny") From ff8925541e60f0fab082bd680ef67849e33c76df Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 16:58:24 -0600 Subject: [PATCH 088/359] gnu: Add Module-Runtime-Conflicts. * gnu/packages/perl.scm (perl-module-runtime-conflicts): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a8ecccd47f..7bf49d48b0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1061,6 +1061,29 @@ implementations.") handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) +(define-public perl-module-runtime-conflicts + (package + (name "perl-module-runtime-conflicts") + (version "0.001") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Module-Runtime-Conflicts-" version ".tar.gz")) + (sha256 + (base32 + "0pz23ch78lbpn4kdbm04icgsmbr7jvmxwq1p5m4x2pap8qwd0wqg")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-module-runtime" ,perl-module-runtime) + ("perl-dist-checkconflicts" ,perl-dist-checkconflicts))) + (home-page "http://search.cpan.org/dist/Module-Runtime-Conflicts") + (synopsis "Provide information on conflicts for Module::Runtime") + (description "This module provides conflicts checking for Module::Runtime, +which had a recent release that broke some versions of Moose. It is called +from Moose::Conflicts and moose-outdated.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") From 21a99dda72ad165c8823c6580cfb6f687d72a7ac Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:01:03 -0600 Subject: [PATCH 089/359] gnu: Add Package-DeprecationManager. * gnu/packages/perl.scm (perl-package-deprecationmanager): New variable. --- gnu/packages/perl.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7bf49d48b0..49fbe5c303 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1171,6 +1171,34 @@ independent of the main namespace and only available through an object instance, not by name.") (license (package-license perl)))) +(define-public perl-package-deprecationmanager + (package + (name "perl-package-deprecationmanager") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Package-DeprecationManager-" version ".tar.gz")) + (sha256 + (base32 + "0fkvq3xxwc3l5hg64dr9sj3l12dl59i44cg407qx9sd6r51j3qfi")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires) + ("perl-test-output" ,perl-test-output))) + (propagated-inputs + `(("perl-list-moreutils" ,perl-list-moreutils) + ("perl-params-util" ,perl-params-util) + ("perl-sub-install" ,perl-sub-install))) + (arguments `(#:tests? #f)) ;XXX: Failing for some reason... + (home-page "http://search.cpan.org/dist/Package-DeprecationManager") + (synopsis "Manage deprecation warnings for your distribution") + (description "This module allows you to manage a set of deprecations for +one or more modules.") + (license artistic2.0))) + (define-public perl-package-stash (package (name "perl-package-stash") From c8d68ff9c3763abd24473dd2d414e581ef5ca059 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:01:58 -0600 Subject: [PATCH 090/359] gnu: Add Scalar-List-Utils. * gnu/packages/perl.scm (perl-scalar-list-utils): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 49fbe5c303..8a99ab7713 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2104,4 +2104,25 @@ the \"Module::Build\" code is pure-perl and written in a cross-platform way.") files, using JSON::PP and/or CPAN::Meta::YAML.") (license (package-license perl)))) +(define-public perl-scalar-list-utils + (package + (name "perl-scalar-list-utils") + (version "1.41") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/" + "Scalar-List-Utils-" version ".tar.gz")) + (sha256 + (base32 + "04l1q4hps9n8b1hk9kpgpc1cryim7pl9sfdyb7fz5nq4gmz307j7")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Scalar-List-Utils") + (synopsis "Common Scalar and List utility subroutines") + (description "This package contains a selection of subroutines that people +have expressed would be nice to have in the perl core, but the usage would not +really be high enough to warrant the use of a keyword, and the size so small +such that being individual extensions would be wasteful.") + (license (package-license perl)))) + ;;; END: Core module overrides From 7bda142b559ec8a276b5b7124011bff09a5c3c6c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:02:31 -0600 Subject: [PATCH 091/359] gnu: Add Devel-CheckBin. * gnu/packages/perl.scm (perl-devel-checkbin): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8a99ab7713..a4aa11c0d4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -417,6 +417,25 @@ variants") (description "Devel::Caller provides meatier version of caller.") (license (package-license perl)))) +(define-public perl-devel-checkbin + (package + (name "perl-devel-checkbin") + (version "0.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/" + "Devel-CheckBin-" version ".tar.gz")) + (sha256 + (base32 + "0g71sma9jy0fjm619hcrcsb9spg2y03vjxx36y8k1xpa2553sr7m")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Devel-CheckBin") + (synopsis "Check that a command is available") + (description "Devel::CheckBin is a perl module that checks whether a +particular command is available.") + (license (package-license perl)))) + (define-public perl-devel-globaldestruction (package (name "perl-devel-globaldestruction") From 39bbf6131c4a3fea15a279d9a69ed8ad0e308e75 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:03:27 -0600 Subject: [PATCH 092/359] gnu: Add Sub-Name. * gnu/packages/perl.scm (perl-sub-name): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a4aa11c0d4..fb5c90ea3f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1468,6 +1468,28 @@ the unsightly mess of C or typeglobs lying about where just anyone can see them.") (license (package-license perl)))) +(define-public perl-sub-name + (package + (name "perl-sub-name") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Sub-Name-" version ".tar.gz")) + (sha256 + (base32 + "1sdlc8pv7vyyc48gzh70hbwzn0hzwl3zbcy2dkmfw8vjzgya5i06")))) + (build-system perl-build-system) + (native-inputs + `(("perl-devel-checkbin" ,perl-devel-checkbin))) + (home-page "http://search.cpan.org/dist/Sub-Name") + (synopsis "(Re)name a sub") + (description "Assigns a new name to referenced sub. If package +specification is omitted in the name, then the current package is used. The +return value is the sub.") + (license (package-license perl)))) + (define-public perl-sub-uplevel (package (name "perl-sub-uplevel") From ae7135a2d32d777c575c13a89d7cd40600d34dbd Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:03:53 -0600 Subject: [PATCH 093/359] gnu: Add Task-Weaken. * gnu/packages/perl.scm (perl-task-weaken): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fb5c90ea3f..0338d69834 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1531,6 +1531,29 @@ clock speed.") "Sys-CPU-" version)) (license (package-license perl)))) +(define-public perl-task-weaken + (package + (name "perl-task-weaken") + (version "1.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "Task-Weaken-" version ".tar.gz")) + (sha256 + (base32 + "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Task-Weaken") + (synopsis "Ensure that a platform has weaken support") + (description "One recurring problem in modules that use Scalar::Util's +weaken function is that it is not present in the pure-perl variant. If +Scalar::Util is not available at all, it will issue a normal dependency on the +module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the +module does not have weaken, the install will bail out altogether with a long +error encouraging the user to seek support.") + (license (package-license perl)))) + (define-public perl-test-cleannamespaces (package (name "perl-test-cleannamespaces") From 840e577455b596e2ac75390c98ef7433ca080670 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 5 Mar 2015 17:05:10 -0600 Subject: [PATCH 094/359] gnu: Add Moose. * gnu/packages/perl.scm (perl-moose): New variable. --- gnu/packages/perl.scm | 81 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0338d69834..44332fe519 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1103,6 +1103,87 @@ which had a recent release that broke some versions of Moose. It is called from Moose::Conflicts and moose-outdated.") (license (package-license perl)))) +(define-public perl-moose + (package + (name "perl-moose") + (version "2.1403") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Moose-" version ".tar.gz")) + (sha256 + (base32 + "16iaazikbnq2jjjac84jrdpfzm4qwqg1nbfgs11jlwn84q4jp1n3")))) + (build-system perl-build-system) + (native-inputs + `(("perl-cpan-meta-check" ,perl-cpan-meta-check) + ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) + ("perl-test-cleannamespaces" ,perl-test-cleannamespaces) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires) + ("perl-test-warnings" ,perl-test-warnings))) + ;; XXX:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + ;; # === Other Modules === + ;; # + ;; # Module Want Have + ;; # ---------------------------- ---- ------- + ;; # Algorithm::C3 any missing + ;; # DBM::Deep any missing + ;; # DateTime any missing + ;; # DateTime::Calendar::Mayan any missing + ;; # DateTime::Format::MySQL any missing + ;; # Declare::Constraints::Simple any missing + ;; # Dist::CheckConflicts any 0.11 + ;; # HTTP::Headers any missing + ;; # IO::File any 1.16 + ;; # IO::String any missing + ;; # Locale::US any missing + ;; # Module::Refresh any missing + ;; # MooseX::NonMoose any missing + ;; # Params::Coerce any missing + ;; # Regexp::Common any missing + ;; # SUPER any missing + ;; # Test::Deep any missing + ;; # Test::DependentModules any missing + ;; # Test::LeakTrace any missing + ;; # Test::Output any missing + ;; # URI any missing + (propagated-inputs + `(("perl-class-load" ,perl-class-load) + ("perl-class-load-xs" ,perl-class-load-xs) + ("perl-data-optlist" ,perl-data-optlist) + ("perl-devel-globaldestruction" ,perl-devel-globaldestruction) + ("perl-devel-overloadinfo" ,perl-devel-overloadinfo) + ("perl-devel-partialdump" ,perl-devel-partialdump) + ("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) + ("perl-eval-closure" ,perl-eval-closure) + ("perl-list-moreutils" ,perl-list-moreutils) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-module-runtime-conflicts" ,perl-module-runtime-conflicts) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-package-deprecationmanager" ,perl-package-deprecationmanager) + ("perl-package-stash" ,perl-package-stash) + ("perl-package-stash-xs" ,perl-package-stash-xs) + ("perl-params-util" ,perl-params-util) + ("perl-parent" ,perl-parent) + ("perl-scalar-list-utils" ,perl-scalar-list-utils) + ("perl-sub-exporter" ,perl-sub-exporter) + ("perl-sub-name" ,perl-sub-name) + ("perl-task-weaken" ,perl-task-weaken) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Moose") + (synopsis "Postmodern object system for Perl 5") + (description + "Moose is a complete object system for Perl 5. It provides keywords for +attribute declaration, object construction, inheritance, and maybe more. With +Moose, you define your class declaratively, without needing to know about +blessed hashrefs, accessor methods, and so on. You can concentrate on the +logical structure of your classes, focusing on \"what\" rather than \"how\". +A class definition with Moose reads like a list of very concise English +sentences.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") From ffb010b5b1c86cf77c0ccab80ca7606ef5f44b63 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Mar 2015 09:46:04 +0100 Subject: [PATCH 095/359] gnu: Add LibreCAD. * gnu/packages/engineering.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/engineering.scm | 85 ++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 gnu/packages/engineering.scm diff --git a/gnu-system.am b/gnu-system.am index a10dd33b82..afbc9b2a20 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -91,6 +91,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/elf.scm \ gnu/packages/emacs.scm \ gnu/packages/enchant.scm \ + gnu/packages/engineering.scm \ gnu/packages/enlightenment.scm \ gnu/packages/feh.scm \ gnu/packages/file.scm \ diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm new file mode 100644 index 0000000000..70fd65583c --- /dev/null +++ b/gnu/packages/engineering.scm @@ -0,0 +1,85 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages audio) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages maths) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) + #:use-module (srfi srfi-1)) + +(define-public librecad + (package + (name "librecad") + (version "2.0.6-rc") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/LibreCAD/LibreCAD/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1n1mh8asj6yrl5hi438dvizmrbqk1kni5xkizhi3pdmkg7z3hksm")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (alist-cons-after + 'unpack + 'patch-paths + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "librecad/src/lib/engine/rs_system.cpp" + (("/usr/share") (string-append out "/share"))))) + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys) + (system* "qmake" (string-append "BOOST_DIR=" + (assoc-ref inputs "boost")))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/share/librecad")) + (copy-file "unix/librecad" + (string-append out "/bin/librecad")) + (copy-recursively "unix/resources" + (string-append out "/share/librecad")))) + %standard-phases))))) + (inputs + `(("boost" ,boost) + ("muparser" ,muparser) + ("freetype" ,freetype) + ("qt" ,qt-4))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (home-page "http://librecad.org/") + (synopsis "Computer-aided design (CAD) application") + (description + "LibreCAD is a 2D Computer-aided design (CAD) application for creating +plans and designs.") + (license license:gpl2))) From df81e046c57e5f767738113e4e7a28b212c03d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Fri, 6 Mar 2015 22:16:20 +0100 Subject: [PATCH 096/359] gnu: valgrind: Fix build against glibc 2.21 * gnu/packages/patches/valgrind-glibc-2.21.patch: New file. * gnu-system.am (dist_patch_DATA): Add patch. * gnu/packages/valgrind.scm (valgrind): Apply patch. --- gnu-system.am | 1 + .../patches/valgrind-glibc-2.21.patch | 26 +++++++++++++++++++ gnu/packages/valgrind.scm | 3 ++- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/valgrind-glibc-2.21.patch diff --git a/gnu-system.am b/gnu-system.am index afbc9b2a20..addb6e1217 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -529,6 +529,7 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/util-linux-tests.patch \ + gnu/packages/patches/valgrind-glibc-2.21.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-fix-compile.patch \ diff --git a/gnu/packages/patches/valgrind-glibc-2.21.patch b/gnu/packages/patches/valgrind-glibc-2.21.patch new file mode 100644 index 0000000000..70f809c43f --- /dev/null +++ b/gnu/packages/patches/valgrind-glibc-2.21.patch @@ -0,0 +1,26 @@ +Submitted By: Pierre Labastie +Date: 2015-02-22 +Initial Package Version: 3.10.1 +Upstream Status: Unknown +Origin: Self +Description: Allows Valgrind to build with glibc-2.21 +diff -Naur valgrind-3.10.1.old/configure valgrind-3.10.1.new/configure +--- valgrind-3.10.1.old/configure 2014-11-25 20:42:25.000000000 +0100 ++++ valgrind-3.10.1.new/configure 2015-02-22 10:46:06.607826488 +0100 +@@ -6842,6 +6842,16 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.21) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.21 family" >&5 ++$as_echo "2.21 family" >&6; } ++ ++$as_echo "#define GLIBC_2_21 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index f051c686e5..5e5a1d9069 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -36,7 +36,8 @@ version ".tar.bz2")) (sha256 (base32 - "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs")))) + "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs")) + (patches (list (search-patch "valgrind-glibc-2.21.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From e5e069302eeeb01df4191a0383201595d1e109c6 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 28 Feb 2015 21:08:50 +0100 Subject: [PATCH 097/359] gnu: Add libqtxdg. * gnu/packages/lxqt.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Register it. Co-authored-by: Sou Bunnbu --- gnu-system.am | 1 + gnu/packages/lxqt.scm | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 gnu/packages/lxqt.scm diff --git a/gnu-system.am b/gnu-system.am index addb6e1217..4931b705db 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -183,6 +183,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/lsh.scm \ gnu/packages/lsof.scm \ gnu/packages/lua.scm \ + gnu/packages/lxqt.scm \ gnu/packages/lynx.scm \ gnu/packages/m4.scm \ gnu/packages/man.scm \ diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm new file mode 100644 index 0000000000..cb6cb64e0b --- /dev/null +++ b/gnu/packages/lxqt.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015 Sou Bunnbu +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages lxqt) + #:use-module (guix download) + #:use-module ((guix licenses) #:select (lgpl2.1+)) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt)) + +(define-public libqtxdg + (package + (name "libqtxdg") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/lxde/" name "/releases/download/" + version "/" name "-" version ".tar.xz")) + (sha256 + (base32 + "00j0zzb8zn714lv77fawahlalxjznvh06nlhlz47qf0krngri42w")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; handled by configure flag instead + #:configure-flags '(;; FIXME: Currently, the tests fail; this is a + ;; known issue, see + ;; https://github.com/lxde/libqtxdg/issues/42 + ;; Enable in new release. + "-DBUILD_TESTS=OFF"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("qt" ,qt))) ; according to Qt5Xdg.pc + (home-page "https://github.com/lxde/libqtxdg") + (synopsis "Qt implementation of freedesktop.org xdg specifications") + (description "Libqtxdg implements the freedesktop.org xdg specifications +in Qt.") + (license lgpl2.1+))) From f944fbf185a869845fe3eb78977a118b1ef593cc Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 00:16:04 +0100 Subject: [PATCH 098/359] gnu: gnunet: Update to 0.10.1. * gnu/packages/gnunet.scm (gnunet): Update to 0.10.1. Adapt environment variable GNUNET_PREFIX to new use. Disable parallel tests. Disable tests until a failure is fixed. * gnu/packages/patches/gnunet-fix-scheduler.patch, gnu/packages/patches/gnunet-fix-tests.patch: Delete patch files. * gnu-system.am (dist_patch_DATA): Unregister patches. --- gnu-system.am | 2 - gnu/packages/gnunet.scm | 22 +++---- .../patches/gnunet-fix-scheduler.patch | 13 ----- gnu/packages/patches/gnunet-fix-tests.patch | 58 ------------------- 4 files changed, 7 insertions(+), 88 deletions(-) delete mode 100644 gnu/packages/patches/gnunet-fix-scheduler.patch delete mode 100644 gnu/packages/patches/gnunet-fix-tests.patch diff --git a/gnu-system.am b/gnu-system.am index 4931b705db..16e96bb99b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -407,8 +407,6 @@ dist_patch_DATA = \ gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/glibc-locales.patch \ gnu/packages/patches/gmp-arm-asm-nothumb.patch \ - gnu/packages/patches/gnunet-fix-scheduler.patch \ - gnu/packages/patches/gnunet-fix-tests.patch \ gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \ gnu/packages/patches/gobject-introspection-cc.patch \ gnu/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 4158c05112..220f7486cd 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -194,25 +194,14 @@ supports HTTPS, HTTPS and GnuTLS.") (define-public gnunet (package (name "gnunet") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnunet/gnunet-" version ".tar.gz")) (sha256 (base32 - "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i")) - (patches - (list - ;; Patch to fix serious bug in scheduler; upstream commit: #31747 - (search-patch "gnunet-fix-scheduler.patch") - ;; Patch to fix bugs in testcases: - ;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups - ;; * Allow revocation and integration-tests testcases to run on - ;; loopback; upstream: #32130, #32326 - ;; * Skip GNS testcases requiring DNS lookups; upstream: #32118 - (search-patch "gnunet-fix-tests.patch"))) - (patch-flags '("-p0")))) + "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n")))) (build-system gnu-build-system) (inputs `(("glpk" ,glpk) @@ -233,13 +222,16 @@ supports HTTPS, HTTPS and GnuTLS.") `(("pkg-config" ,pkg-config) ("python" ,python-2))) (arguments - '(#:phases + '(#:parallel-tests? #f + ;; test_gnunet_service_arm fails; reported upstream + #:tests? #f + #:phases ;; swap check and install phases and set paths to installed binaries (alist-cons-before 'check 'set-path-for-check (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (setenv "GNUNET_PREFIX" out) + (setenv "GNUNET_PREFIX" (string-append out "/lib")) (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")))) (alist-cons-after 'install 'check diff --git a/gnu/packages/patches/gnunet-fix-scheduler.patch b/gnu/packages/patches/gnunet-fix-scheduler.patch deleted file mode 100644 index 1e0aef2a1a..0000000000 --- a/gnu/packages/patches/gnunet-fix-scheduler.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: src/util/scheduler.c -=================================================================== ---- src/util/scheduler.c (revision 31745) -+++ src/util/scheduler.c (working copy) -@@ -1599,7 +1599,7 @@ - int real_fd; - - GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int)); -- GNUNET_assert (real_fd > 0); -+ GNUNET_assert (real_fd >= 0); - return add_without_sets ( - delay, priority, - on_read ? real_fd : -1, diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch deleted file mode 100644 index 4276db5a7c..0000000000 --- a/gnu/packages/patches/gnunet-fix-tests.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in ---- src/peerinfo-tool/Makefile.in 2013-12-24 13:55:04.000000000 +0100 -+++ src/peerinfo-tool/Makefile.in 2014-01-30 13:07:52.275965484 +0100 -@@ -335,9 +335,6 @@ - $(top_builddir)/src/statistics/libgnunetstatistics.la \ - $(top_builddir)/src/util/libgnunetutil.la - --@HAVE_PYTHON_TRUE@check_SCRIPTS = \ --@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py -- - @ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS) - do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g' - EXTRA_DIST = \ -diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf ---- src/revocation/test_revocation.conf 2013-12-21 18:57:06.000000000 +0100 -+++ src/revocation/test_revocation.conf 2014-01-30 15:00:02.841340556 +0100 -@@ -20,6 +20,9 @@ - [transport-udp] - BROADCAST = NO - -+[nat] -+RETURN_LOCAL_ADDRESSES = YES -+ - [peerinfo] - USE_INCLUDED_HELLOS = NO - -Index: src/gns/test_gns_cname_lookup.sh -=================================================================== ---- src/gns/test_gns_cname_lookup.sh (revision 32117) -+++ src/gns/test_gns_cname_lookup.sh (revision 32118) -@@ -13,6 +13,15 @@ - exit 77 - fi - -+# permissive DNS resolver we will use for the test -+DNS_RESOLVER="8.8.8.8" -+if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null -+then -+ echo "Cannot reach DNS, skipping test" -+ exit 77 -+fi -+ -+ - rm -rf /tmp/test-gnunet-gns-peer-1/ - - TEST_DOMAIN_PLUS="www.gnu" -Index: src/integration-tests/confs/test_defaults.conf -=================================================================== ---- src/integration-tests/confs/test_defaults.conf (revision 32320) -+++ src/integration-tests/confs/test_defaults.conf (working copy) -@@ -17,6 +17,7 @@ - EXTERNAL_ADDRESS = 127.0.0.1 - INTERNAL_ADDRESS = 127.0.0.1 - BINDTO = 127.0.0.1 -+RETURN_LOCAL_ADDRESSES = YES - - [hostlist] - SERVERS = From 516277cb146b528a3686c5d7d5ce0bd349095af3 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 00:56:43 +0100 Subject: [PATCH 099/359] gnu: python2-pil: Adapt to newer Freetype. * gnu/packages/python.scm (python2-pil): Add snippet. --- gnu/packages/python.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 58132b334a..c28d389f88 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3146,7 +3146,14 @@ libxml2 and libxslt.") version ".tar.gz")) (sha256 (base32 - "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9")))) + "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9")) + (modules '((guix build utils))) + (snippet + ;; Adapt to newer freetype. As the package is unmaintained upstream, + ;; there is no use in creating a patch and reporting it. + '(substitute* "_imagingft.c" + (("freetype/") + "freetype2/"))))) (build-system python-build-system) (inputs `(("freetype" ,freetype) From b8ac8c282d9a70949d3f603313b643bfd23b1e32 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 17 Feb 2015 23:15:18 +0100 Subject: [PATCH 100/359] gnu: Add calibre. * gnu/packages/ebook.scm (calibre): New variable. * gnu/packages/patches/calibre-drop-unrar.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. --- gnu-system.am | 1 + gnu/packages/ebook.scm | 108 +++++++++++++++++- gnu/packages/patches/calibre-drop-unrar.patch | 49 ++++++++ 3 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/calibre-drop-unrar.patch diff --git a/gnu-system.am b/gnu-system.am index 16e96bb99b..9ac7f6cdbf 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -367,6 +367,7 @@ dist_patch_DATA = \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \ + gnu/packages/patches/calibre-drop-unrar.patch \ gnu/packages/patches/cdparanoia-fpic.patch \ gnu/packages/patches/chmlib-inttypes.patch \ gnu/packages/patches/clucene-pkgconfig.patch \ diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index e4d609aaf2..a1d887a561 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -17,11 +17,27 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages ebook) - #:use-module ((guix licenses) #:select (lgpl2.1+)) + #:use-module ((guix licenses) #:select (gpl3 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (gnu packages)) + #:use-module (gnu packages) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages databases) + #:use-module (gnu packages ebook) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages glib) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libusb) + #:use-module (gnu packages pdf) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages xorg)) (define-public chmlib (package @@ -40,3 +56,91 @@ (synopsis "Library for CHM files") (description "CHMLIB is a library for dealing with ITSS/CHM format files.") (license lgpl2.1+))) + +(define-public calibre + (package + (name "calibre") + (version "2.20.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.calibre-ebook.com/" + version "/calibre-" + version ".tar.xz")) + (sha256 + (base32 + "13246f4vxz4ps3c549hrnwdkwic5jsf7g1faham38z1ixd094lkd")) + ;; Remove non-free or doubtful code, see + ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/unrar") + (delete-file "src/odf/thumbnail.py"))) + (patches (list (search-patch "calibre-drop-unrar.patch"))))) + (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qt" ,qt) ; for qmake + ;; xdg-utils is supposed to be used for desktop integration, but it + ;; also creates lots of messages + ;; mkdir: cannot create directory '/homeless-shelter': Permission denied + ("xdg-utils" ,xdg-utils))) + ;; FIXME: The following are missing inputs according to the documentation, + ;; but the package can apparently be used without them, + ;; They may need to be added if a deficiency is detected. + ;; BeautifulSoup >= 3.0.5 + ;; dnspython >= 1.6.0 + ;; poppler >= 0.20.2 + ;; libwmf >= 0.2.8 + ;; psutil >= 0.6.1 + ;; python-pygments >= 2.0.1 ; used for ebook editing + (inputs + `(("chmlib" ,chmlib) + ("fontconfig" ,fontconfig) + ("glib" ,glib) + ("icu4c" ,icu4c) + ("imagemagick" ,imagemagick) + ("libmtp" ,libmtp) + ("libpng" ,libpng) + ("libusb" ,libusb) + ("libxrender" ,libxrender) + ("podofo" ,podofo) + ("python" ,python-2) + ("python2-apsw" ,python2-apsw) + ("python2-cssselect" ,python2-cssselect) + ("python2-cssutils" ,python2-cssutils) + ("python2-dateutil" ,python2-dateutil) + ("python2-dbus" ,python2-dbus) + ("python2-lxml" ,python2-lxml) + ("python2-mechanize" ,python2-mechanize) + ("python2-netifaces" ,python2-netifaces) + ;; pil is unmaintained, but the maintained fork pillow does not work. + ("python2-pil" ,python2-pil) + ("python2-pyqt" ,python2-pyqt) + ("python2-sip" ,python2-sip) + ("qt" ,qt) + ("sqlite" ,sqlite))) + (arguments + `(#:python ,python-2 + #:test-target "check" + #:tests? #f ; FIXME: enable once flake8 is packaged + #:phases + (alist-cons-before + 'build 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((podofo (assoc-ref inputs "podofo")) + (pyqt (assoc-ref inputs "python2-pyqt"))) + (substitute* "setup/build_environment.py" + (("sys.prefix") (string-append "'" pyqt "'"))) + (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) + (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))) + %standard-phases))) + (home-page "http://calibre-ebook.com/") + (synopsis "E-book library management software") + (description "Calibre is an ebook library manager. It can view, convert +and catalog ebooks in most of the major ebook formats. It can also talk +to many ebook reader devices. It can go out to the Internet and fetch +metadata for books. It can download newspapers and convert them into +ebooks for convenient reading.") + (license gpl3))) ; some files are under various other licenses, see COPYRIGHT diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch new file mode 100644 index 0000000000..6b7a9f454c --- /dev/null +++ b/gnu/packages/patches/calibre-drop-unrar.patch @@ -0,0 +1,49 @@ +Taken from Debian. + +Author: Dmitry Shachnev +Description: do not build unrar extension as we strip unrar from the tarball +Forwarded: not-needed +Last-Update: 2013-04-04 + +Index: calibre/setup/extensions.py +=================================================================== +--- calibre.orig/setup/extensions.py 2014-02-02 10:42:14.510954007 +0100 ++++ calibre/setup/extensions.py 2014-02-02 10:42:14.502954007 +0100 +@@ -209,24 +209,6 @@ + sip_files=['calibre/ebooks/pdf/render/qt_hack.sip'] + ), + +- Extension('unrar', +- ['unrar/%s.cpp'%(x.partition('.')[0]) for x in ''' +- rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o +- filefn.o filcreat.o archive.o arcread.o unicode.o system.o +- isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o +- timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o +- secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o +- volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o +- '''.split()] + ['calibre/utils/unrar.cpp'], +- inc_dirs=['unrar'], +- cflags=[('/' if iswindows else '-') + x for x in ( +- 'DSILENT', 'DRARDLL', 'DUNRAR')] + ( +- [] if iswindows else ['-D_FILE_OFFSET_BITS=64', +- '-D_LARGEFILE_SOURCE']), +- optimize_level=2, +- libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else [] +- ), +- + ] + + +Index: calibre/src/calibre/ebooks/metadata/archive.py +=================================================================== +--- calibre.orig/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.510954007 +0100 ++++ calibre/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.502954007 +0100 +@@ -42,7 +42,7 @@ + description = _('Extract common e-book formats from archives ' + '(zip/rar) files. Also try to autodetect if they are actually ' + 'cbz/cbr files.') +- file_types = set(['zip', 'rar']) ++ file_types = set(['zip']) + supported_platforms = ['windows', 'osx', 'linux'] + on_import = True + From dde70926568019c1000a1cf7863a3e44433774d7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 01:37:58 +0100 Subject: [PATCH 101/359] gnu: podofo: Fix detection of freetype. * gnu/packages/pdf.scm (podofo)[arguments]: Add phase patching the cmake file that looks for freetype. --- gnu/packages/pdf.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index f6db546a88..f75a060a4b 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -338,7 +338,16 @@ interaction.") ("zlib" ,zlib))) (arguments `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" - "-DPODOFO_BUILD_STATIC=ON"))) + "-DPODOFO_BUILD_STATIC=ON") + #:phases + (alist-cons-before + 'configure 'patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((freetype (assoc-ref inputs "freetype"))) + ;; Look for freetype include files in the correct place. + (substitute* "cmake/modules/FindFREETYPE.cmake" + (("/usr/local") freetype)))) + %standard-phases))) (home-page "http://podofo.sourceforge.net") (synopsis "Tools to work with the PDF file format") (description From 93c117eec3680c3f2b8d8fe4aafb99db352c468e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 01:09:55 -0500 Subject: [PATCH 102/359] gnu: gmime: Use ISO-8859-1 when patching tests. * gnu/packages/mail.scm (gmime)[arguments]: Use ISO-8859-1 when patching tests. --- gnu/packages/mail.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 33076c1a60..4aa74fe3ee 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -227,14 +227,16 @@ operating systems.") (alist-cons-after 'unpack 'patch-paths-in-tests (lambda _ - ;; The test programs run several programs using 'system' - ;; with hard-coded paths. Here we patch them all. We also - ;; change "gpg" to "gpg2". - (substitute* (find-files "tests" "\\.c$") - (("(system *\\(\")(/[^ ]*)" all pre prog-path) - (let* ((base (basename prog-path)) - (prog (which (if (string=? base "gpg") "gpg2" base)))) - (string-append pre (or prog (error "not found: " base))))))) + ;; The test programs run several programs using 'system' with + ;; hard-coded paths. Here we patch them all. We also change "gpg" + ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains + ;; raw byte sequences in several different encodings. + (with-fluids ((%default-port-encoding #f)) + (substitute* (find-files "tests" "\\.c$") + (("(system *\\(\")(/[^ ]*)" all pre prog-path) + (let* ((base (basename prog-path)) + (prog (which (if (string=? base "gpg") "gpg2" base)))) + (string-append pre (or prog (error "not found: " base)))))))) %standard-phases))) (home-page "http://spruce.sourceforge.net/gmime/") (synopsis "MIME message parser and creator library") From 526d71b3033217332edb5076833e662ab92e0ad9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 02:40:55 -0500 Subject: [PATCH 103/359] gnu: zsh: Use ISO-8859-1 in 'fix-sh' phase. * gnu/packages/zsh.scm (zsh)[arguments]: Use ISO-8859-1 in 'fix-sh' phase. --- gnu/packages/zsh.scm | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/gnu/packages/zsh.scm b/gnu/packages/zsh.scm index 9e9ee99cc8..3d3d5889d9 100644 --- a/gnu/packages/zsh.scm +++ b/gnu/packages/zsh.scm @@ -41,20 +41,22 @@ #:phases (alist-cons-before 'configure 'fix-sh (lambda _ - (substitute* - '("configure" - "configure.ac" - "Src/exec.c" - "Src/mkmakemod.sh" - "Config/installfns.sh" - "Config/defs.mk.in" - "Test/E01options.ztst" - "Test/A05execution.ztst" - "Test/A01grammar.ztst" - "Test/B02typeset.ztst" - "Completion/Unix/Command/_init_d" - "Util/preconfig") - (("/bin/sh") (which "sh")))) + ;; Some of the files are ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* + '("configure" + "configure.ac" + "Src/exec.c" + "Src/mkmakemod.sh" + "Config/installfns.sh" + "Config/defs.mk.in" + "Test/E01options.ztst" + "Test/A05execution.ztst" + "Test/A01grammar.ztst" + "Test/B02typeset.ztst" + "Completion/Unix/Command/_init_d" + "Util/preconfig") + (("/bin/sh") (which "sh"))))) %standard-phases))) (native-inputs `(("autoconf", autoconf))) (inputs `(("ncurses", ncurses) From d5f5b6aa7b7932763ed7ae1108334364d0ff98d0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 10:41:06 +0100 Subject: [PATCH 104/359] gnu: qt: Update to 5.4.1. * gnu/packages/qt.scm (qt): Update to 5.4.1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 31afc8d544..4c750416e5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -92,7 +92,7 @@ X11 (yet).") (define-public qt (package (name "qt") - (version "5.4.0") + (version "5.4.1") (source (origin (method url-fetch) (uri (string-append "http://download.qt-project.org/official_releases/qt/" @@ -102,7 +102,7 @@ X11 (yet).") version ".tar.xz")) (sha256 (base32 - "176351k8ngczb324i8bbkrsz9pby7cvy2qnixfjwybzxp53xzndj")) + "0q6qzakq8xihw91xv310qi3vyylq7x2bzdkjgy8sqxii2lgbjzhv")) (snippet '(begin ;; Remove broken symlinks. From e2808a4ac678daf8aafe73406f46afd9937913c7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 6 Mar 2015 22:40:19 +0100 Subject: [PATCH 105/359] gnu: gcc: Add copyright line. --- gnu/packages/gcc.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 6143f5b335..ce37cb92cb 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2014 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; From ed2b1c4f5583ebe850bedc0b275b03bdab7c9a84 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 6 Mar 2015 22:45:47 +0100 Subject: [PATCH 106/359] gnu: gcj: Move javac.in from a file in the distribution to an origin. * gnu/packages/javac.in: Delete file. * gnu-system.am (MISC_DISTRO_FILES): Delete. * gnu/packages/gcc.scm (javac.in): New variable. (gcj-4.8): Use it as an input. --- gnu-system.am | 2 -- gnu/packages/gcc.scm | 12 +++++++-- gnu/packages/javac.in | 61 ------------------------------------------- 3 files changed, 10 insertions(+), 65 deletions(-) delete mode 100644 gnu/packages/javac.in diff --git a/gnu-system.am b/gnu-system.am index 9ac7f6cdbf..5d981cb8bf 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -558,8 +558,6 @@ dist_patch_DATA = \ gnu/packages/patches/xmodmap-asprintf.patch \ gnu/packages/patches/zathura-plugindir-environment-variable.patch -MISC_DISTRO_FILES = gnu/packages/javac.in - bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index ce37cb92cb..1acc4d5ded 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Ricardo Wurmus +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -339,14 +340,21 @@ Go. It also includes runtime support libraries for these languages.") ;; a cyclic dependency. #:separate-lib-output? #f)) +(define javac.in + (origin + (method url-fetch) + (uri (string-append "http://sources.gentoo.org/cgi-bin/viewvc.cgi/" + "gentoo-x86/dev-java/gcj-jdk/files/javac.in")) + (sha256 (base32 + "1c3dk4z5yfj6ic2fn3lyxs27n6pmn2wy9k0r1s17lnkf1bzkrciv")))) + (define-public gcj-4.8 (package (inherit gcc-4.8) (name "gcj") (inputs `(("fastjar" ,fastjar) ("perl" ,perl) - ("javac.in" ,(search-path %load-path - "gnu/packages/javac.in")) + ("javac.in" ,javac.in) ("ecj-bootstrap" ,ecj-bootstrap-4.8) ,@(package-inputs gcc-4.8))) ;; Suppress the separate "lib" output, because otherwise the diff --git a/gnu/packages/javac.in b/gnu/packages/javac.in deleted file mode 100644 index adb4dc1f6c..0000000000 --- a/gnu/packages/javac.in +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/perl -w - -# Taken from Gentoo: -# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-java/gcj-jdk/files/javac.in - -use strict; -use constant NO_DUP_ARGS => qw(-source -target -d -encoding); -use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:); - -my $ECJ_WARNINGS="-nowarn"; - -my ( @bcoption, @source15, @target15, @cp ); -push @bcoption, '-bootclasspath', '@RT_JAR@:@TOOLS_JAR@' - unless grep {$_ eq '-bootclasspath'} @ARGV; -push @source15, '-source', '1.5' - unless grep {$_ eq '-source'} @ARGV; -push @target15, '-target', '1.5' - unless grep {$_ eq '-target'} @ARGV; -push @cp, '-cp', '.' - unless grep {$_ =~ '\-c(p|lasspath)'} @ARGV or $ENV{CLASSPATH}; -my @ecj_parms = ($ECJ_WARNINGS, @bcoption, @source15, @target15, @cp); - -# Work around ecj's inability to handle duplicate command-line -# options and unknown javac options. -sub gen_ecj_opts -{ - my @new_args = @{$_[0]}; - - for my $opt (NO_DUP_ARGS) - { - my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; - if (@indices > 1) { - shift @indices; # keep last instance only - splice @new_args, $_, 2 for @indices; - } - } - - for my $opt (STRIP_ARGS) - { - my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; - splice @new_args, $_, 1 for @indices; - } - - return \@new_args; -} - -sub split_vm_args -{ - my @new_args = @{$_[0]}; - - my @vm_args = map { substr $_, 2 } grep $_ =~ /^-J/, @new_args; - my @javac_args = grep $_ !~ /^-J/, @new_args; - - return (\@vm_args, \@javac_args); -} - -my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV )); -my @CLASSPATH = ('@ECJ_JAR@'); -push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"}; -$ENV{"CLASSPATH"} = join ':', @CLASSPATH; -exec '@JAVA@', @$vm_args, 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @$javac_args; From cd77777602af48a32466d8d720a6c70a89721607 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Sat, 7 Mar 2015 13:40:40 +0100 Subject: [PATCH 107/359] gnu: ncmpcpp: Enable taglib support. * gnu/packages/mpd.scm (ncmpcpp): Add --with-taglib configure flag. --- gnu/packages/mpd.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 2313b3049a..2f9ad7214b 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -196,10 +196,11 @@ terminal using ncurses.") `(("pkg-config" ,pkg-config) ("automake" ,automake) ("autoconf" ,autoconf) - ("libtool" ,libtool))) + ("libtool" ,libtool) + ("taglib" ,taglib))) (arguments '(#:configure-flags - '("BOOST_LIB_SUFFIX=") + '("BOOST_LIB_SUFFIX=" "--with-taglib") #:phases (alist-cons-after 'unpack 'autogen From a1920bc9f25210b243ebd20f0a3624d644d08efb Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 25 Feb 2015 20:33:39 +0100 Subject: [PATCH 108/359] gnu: Add python-testlib and python2-testlib. * gnu/packages/python.scm (python-testlib, python2-testlib): New variables. --- gnu/packages/python.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c28d389f88..112aa4c388 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3312,3 +3312,39 @@ interfaces in an easy and portable manner.") providing a clean and modern domain specific specification language (DSL) in Python style, together with a fast and comfortable execution environment.") (license license:expat))) + +(define-public python-testlib + (package + (name "python-testlib") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/t/testlib/testlib-" + version ".zip")) + (sha256 + (base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:phases + (alist-replace + 'unpack + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((unzip (string-append (assoc-ref inputs "unzip") + "/bin/unzip")) + (source (assoc-ref inputs "source"))) + (and (zero? (system* unzip source)) + (chdir (string-append "testlib-" ,version))))) + %standard-phases))) + (synopsis "Python micro test suite harness") + (description "A micro unittest suite harness for Python.") + (home-page "https://github.com/trentm/testlib") + (license expat))) + +(define-public python2-testlib + (package-with-python2 python-testlib)) From c8daf5720018c1ca232bb35606278983ece66005 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Thu, 26 Feb 2015 09:33:57 +0100 Subject: [PATCH 109/359] gnu: Add libedit. * gnu/packages/libedit.scm: New file. --- gnu/packages/libedit.scm | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 gnu/packages/libedit.scm diff --git a/gnu/packages/libedit.scm b/gnu/packages/libedit.scm new file mode 100644 index 0000000000..fcf5ab4c74 --- /dev/null +++ b/gnu/packages/libedit.scm @@ -0,0 +1,50 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Federico Beffa +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages libedit) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses)) + +(define-public libedit + (package + (name "libedit") + (version "20141030-3.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://thrysoee.dk/editline" + "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0h2svwfcdldpbg0fy7fnkld706r2a9k9h1mm0yj7z3zvf1jy20cp")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses))) + (home-page "http://thrysoee.dk/editline/") + (synopsis "NetBSD Editline library") + (description + "This is an autotool- and libtoolized port of the NetBSD Editline +library (libedit). This Berkeley-style licensed command line editor library +provides generic line editing, history, and tokenization functions, similar to +those found in GNU Readline.") + (license bsd-3))) + +;;; libedit.scm ends here From 246b3437f701518afa7e6f7ca942997bfdbae7a2 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 25 Feb 2015 20:20:24 +0100 Subject: [PATCH 110/359] gnu: Add ghc. * gnu/packages/haskell.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/haskell.scm | 231 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 gnu/packages/haskell.scm diff --git a/gnu-system.am b/gnu-system.am index 5d981cb8bf..b65c249fc7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -145,6 +145,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/guile-wm.scm \ gnu/packages/gv.scm \ gnu/packages/gxmessage.scm \ + gnu/packages/haskell.scm \ gnu/packages/hugs.scm \ gnu/packages/hurd.scm \ gnu/packages/icu4c.scm \ diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm new file mode 100644 index 0000000000..04c69a8dca --- /dev/null +++ b/gnu/packages/haskell.scm @@ -0,0 +1,231 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Federico Beffa +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages haskell) + #:use-module (ice-9 regex) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl) + #:use-module (gnu packages elf) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libffi) + #:use-module (gnu packages libedit) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages python)) + +;; We use bootstrap binaries with a fix version which can be used to build +;; more versions of the GHC compiler. +(define ghc-bootstrap-7.8.4 + (origin + (method url-fetch) + (uri (string-append "https://www.haskell.org/ghc/dist/" + "7.8.4/ghc-7.8.4-" + (if (string-match "x86_64" (%current-system)) + "x86_64" + "i386") + "-unknown-linux-deb7.tar.xz")) + (sha256 + (base32 + (if (string-match "x86_64" (%current-system)) + "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn" + "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))) + +;; 43 tests out of 3965 fail. +;; +;; Most of them do not appear to be serious: +;; +;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not +;; figured out how these references are generated. +;; +;; - Some tests allocate more memory than expected (ca. 3% above upper limit) +;; +;; - Some tests try to load unavailable libriries: Control.Concurrent.STM, +;; Data.Vector, Control.Monad.State. +;; +;; - Test posix010 tries to check the existence of a user on the system: +;; getUserEntryForName: does not exist (no such user) +(define-public ghc + (package + (name "ghc") + (version "7.8.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-src.tar.xz")) + (sha256 + (base32 + "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3")))) + (build-system gnu-build-system) + (supported-systems '("i686-linux" "x86_64-linux")) + (outputs '("out" "doc")) + (inputs + `(("gmp" ,gmp) + ("ncurses" ,ncurses) + ("libffi" ,libffi) + ("libedit" ,libedit) + ("ghc-testsuite" + ,(origin + (method url-fetch) + (uri (string-append + "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-testsuite.tar.xz")) + (sha256 + (base32 + "0q95whf87y4mxjzwzy899g7z7l9pazq4si6iciyhxkcdhqq2ycyh")))))) + (native-inputs + `(("perl" ,perl) + ("python" ,python-2) ; for tests (fails with python-3) + ("ghostscript" ,ghostscript) ; for tests + ("patchelf" ,patchelf) + ;; GHC is built with GHC. Therefore we need bootstrap binaries. + ("ghc-binary" ,ghc-bootstrap-7.8.4))) + (arguments + `(#:test-target "test" + ;; We get a smaller number of test failures by disabling parallel test + ;; execution. + #:parallel-tests? #f + #:modules ((guix build gnu-build-system) + (guix build utils) + (guix build rpath) + (srfi srfi-26) + (srfi srfi-1)) + #:imported-modules ((guix build gnu-build-system) + (guix build utils) + (guix build rpath)) + #:configure-flags + (list + (string-append "--with-gmp-libraries=" + (assoc-ref %build-inputs "gmp") "/lib") + (string-append "--with-gmp-includes=" + (assoc-ref %build-inputs "gmp") "/include") + "--with-system-libffi" + (string-append "--with-ffi-libraries=" + (assoc-ref %build-inputs "libffi") "/lib") + (string-append "--with-ffi-includes=" + (assoc-ref %build-inputs "libffi") "/include")) + ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils. + ;; Currently we do not have the last one. + ;; #:make-flags + ;; (list "BUILD_DOCBOOK_HTML = YES") + #:phases + (let* ((ghc-bootstrap-path + (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin")) + (ghc-bootstrap-prefix + (string-append ghc-bootstrap-path "/usr" ))) + (alist-cons-after + 'unpack-bin 'unpack-and-fix-testsuite + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion ".." + (copy-file (assoc-ref inputs "ghc-testsuite") + "ghc-testsuite.tar.xz") + (system* "tar" "xvf" "ghc-testsuite.tar.xz")) + ;; We need to install an UTF-8 locale for the tests to produce results + ;; identical to the expected ones. + (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "UTF-8" "./en_US.UTF-8") + (setenv "LOCPATH" (getcwd)) + (setenv "LC_ALL" "en_US.UTF-8") + (substitute* + (list "testsuite/timeout/Makefile" + "testsuite/timeout/timeout.py" + "testsuite/timeout/timeout.hs" + "testsuite/tests/rename/prog006/Setup.lhs" + "testsuite/tests/programs/life_space_leak/life.test") + (("/bin/sh") (which "sh")) + (("/bin/rm") "rm")) + #t) + (alist-cons-after + 'unpack 'unpack-bin + (lambda* (#:key inputs outputs #:allow-other-keys) + (mkdir-p ghc-bootstrap-prefix) + (with-directory-excursion ghc-bootstrap-path + (copy-file (assoc-ref inputs "ghc-binary") + "ghc-bin.tar.xz") + (zero? (system* "tar" "xvf" "ghc-bin.tar.xz")))) + (alist-cons-before + 'install-bin 'configure-bin + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((binaries + (list + "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd" + "./utils/hpc/dist-install/build/tmp/hpc" + "./utils/haddock/dist/build/tmp/haddock" + "./utils/hsc2hs/dist-install/build/tmp/hsc2hs" + "./utils/runghc/dist-install/build/tmp/runghc" + "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal" + "./utils/hp2ps/dist/build/tmp/hp2ps" + "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg" + "./utils/unlit/dist/build/tmp/unlit" + "./ghc/stage2/build/tmp/ghc-stage2")) + (gmp (assoc-ref inputs "gmp")) + (gmp-lib (string-append gmp "/lib")) + (gmp-include (string-append gmp "/include")) + (ncurses-lib + (string-append (assoc-ref inputs "ncurses") "/lib")) + (ld-so (string-append (assoc-ref inputs "libc") + ,(glibc-dynamic-linker))) + (libtinfo-dir + (string-append ghc-bootstrap-prefix + "/lib/ghc-7.8.4/terminfo-0.4.0.0"))) + (with-directory-excursion + (string-append ghc-bootstrap-path "/" ,name "-" ,version) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "LD_LIBRARY_PATH" gmp-lib) + ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded. + (for-each + (cut system* "patchelf" "--set-interpreter" ld-so <>) + binaries) + ;; The binaries include a reference to libtinfo.so.5 which + ;; is a subset of libncurses.so.5. We create a symlink in a + ;; directory included in the bootstrap binaries rpath. + (mkdir-p libtinfo-dir) + (symlink + (string-append ncurses-lib "/libncursesw.so." + ,(version-major+minor + (package-version ncurses))) + (string-append libtinfo-dir "/libtinfo.so.5")) + (setenv "PATH" + (string-append (getenv "PATH") ":" + ghc-bootstrap-prefix "/bin")) + (system* + (string-append (getcwd) "/configure") + (string-append "--prefix=" ghc-bootstrap-prefix) + (string-append "--with-gmp-libraries=" gmp-lib) + (string-append "--with-gmp-includes=" gmp-include))))) + (alist-cons-before + 'configure 'install-bin + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion + (string-append ghc-bootstrap-path "/" ,name "-" ,version) + (zero? (system* "make" "install")))) + %standard-phases))))))) + (home-page "https://www.haskell.org/ghc") + (synopsis "The Glasgow Haskell Compiler") + (description + "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and +interactive environment for the functional language Haskell.") + (license bsd-3))) + +;;; haskell.scm ends here From 35035074a24a1a414f6393b2afd216d27a78a839 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Sat, 7 Mar 2015 15:17:47 +0100 Subject: [PATCH 111/359] gnu: Add libedit.scm to gnu-system.am. * gnu-system.am (GNU_SYSTEM_MODULES): Add libedit.scm. --- gnu-system.am | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu-system.am b/gnu-system.am index b65c249fc7..2474c1fa0c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -164,6 +164,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/lesstif.scm \ gnu/packages/libcanberra.scm \ gnu/packages/libdaemon.scm \ + gnu/packages/libedit.scm \ gnu/packages/libevent.scm \ gnu/packages/libffcall.scm \ gnu/packages/libffi.scm \ From 1cb9c00614da7a9d56e2ee28c6da1bd8a53ef4e1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 13:58:50 -0500 Subject: [PATCH 112/359] gnu: python-testlib: Fix license field. Fixes a problem introduced in a1920bc9f25210b2. Debugged by David Thompson. * gnu/packages/python.scm (python-testlib)[license]: 'expat' -> 'license:expat'. --- gnu/packages/python.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 112aa4c388..ce882dba71 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3344,7 +3344,7 @@ Python style, together with a fast and comfortable execution environment.") (synopsis "Python micro test suite harness") (description "A micro unittest suite harness for Python.") (home-page "https://github.com/trentm/testlib") - (license expat))) + (license license:expat))) (define-public python2-testlib (package-with-python2 python-testlib)) From bdbf227fa3c1112ac19992711411c448bcf12735 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 20:15:28 +0100 Subject: [PATCH 113/359] gnu: xpdf: Fix detection of freetype. * gnu/packages/pdf.scm (xpdf)[configure-flags]: Add flag to correctly detect freetype. Otherwise, the xpdf binary is not built. --- gnu/packages/pdf.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index f75a060a4b..21fb39562b 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -127,7 +127,11 @@ ("zlib" ,zlib))) (arguments `(#:tests? #f ; there is no check target - #:parallel-build? #f ; build fails randomly on 8-way machines + #:parallel-build? #f ; build fails randomly on 8-way machines + #:configure-flags + (list (string-append "--with-freetype2-includes=" + (assoc-ref %build-inputs "freetype") + "/include/freetype2")) #:phases (alist-replace 'install From 2fbec76275c2200c7e6eb1a750d7dca7b0382666 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Mar 2015 20:30:17 +0100 Subject: [PATCH 114/359] gnu: calibre: Swap input python2-pil for python2-pillow. * gnu/packages/ebook.scm (calibre)[inputs]: Drop python2-pil, add python2-pillow. --- gnu/packages/ebook.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index a1d887a561..4664067d7c 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -115,8 +115,7 @@ ("python2-lxml" ,python2-lxml) ("python2-mechanize" ,python2-mechanize) ("python2-netifaces" ,python2-netifaces) - ;; pil is unmaintained, but the maintained fork pillow does not work. - ("python2-pil" ,python2-pil) + ("python2-pillow" ,python2-pillow) ("python2-pyqt" ,python2-pyqt) ("python2-sip" ,python2-sip) ("qt" ,qt) From aa45c7a42533075a3ebe0a40b41c8e4b3df1a7c0 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 7 Mar 2015 16:03:55 -0500 Subject: [PATCH 115/359] gnu: fish: Update to 2.1.2. --- gnu/packages/fish.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm index 9398446a0c..629e5f7b46 100644 --- a/gnu/packages/fish.scm +++ b/gnu/packages/fish.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 David Thompson +;;; Copyright © 2014, 2015 David Thompson ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,14 +28,14 @@ (define-public fish (package (name "fish") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (string-append "http://fishshell.com/files/" version "/fish-" version ".tar.gz")) (sha256 (base32 - "096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p")) + "1pgnz5lapm4qk48a13k9698jaswybzlbz2nyc621d852ldf0vhn6")) (modules '((guix build utils))) ;; Don't try to install /etc/fish/config.fish. (snippet From cded001198d60d151935134e85733ca453d72066 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 8 Mar 2015 00:11:15 +0100 Subject: [PATCH 116/359] gnu: patch: Update to 2.7.5. * gnu/packages/base.scm (patch): Update to 2.7.5. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ac059870e2..69d1205259 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -151,14 +151,14 @@ standard utility.") (define-public patch (package (name "patch") - (version "2.7.4") + (version "2.7.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/patch/patch-" version ".tar.xz")) (sha256 (base32 - "02gikxjvcxysr4l65c8vivgz62xmalp0av5ypzff8vqhrq3vpb0f")))) + "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx")))) (build-system gnu-build-system) (native-inputs `(("ed", ed))) (synopsis "Apply differences to originals, with optional backups") From 22e357397a76ef274b9b9466ace8bf31c8c472b4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 19:23:10 -0500 Subject: [PATCH 117/359] gnu: slang: Disable parallel build. * gnu/packages/slang.scm (slang)[arguments]: Disable parallel build. --- gnu/packages/slang.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm index 8c35c8b43e..f07a5685ed 100644 --- a/gnu/packages/slang.scm +++ b/gnu/packages/slang.scm @@ -56,6 +56,7 @@ ("libpng" ,libpng) ("pcre" ,pcre) ("ncurses" ,ncurses))) + (arguments `(#:parallel-build? #f)) ; there's at least one race (home-page "http://www.jedsoft.org/slang/") (synopsis "Library for interactive applications and extensibility") (description From 68a5d6c770a6600d4a92ab7e81ed42a988d76f19 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 20:34:50 -0500 Subject: [PATCH 118/359] Revert "gnu: patch: Update to 2.7.5." This reverts commit cded001198d60d151935134e85733ca453d72066. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 69d1205259..ac059870e2 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -151,14 +151,14 @@ standard utility.") (define-public patch (package (name "patch") - (version "2.7.5") + (version "2.7.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/patch/patch-" version ".tar.xz")) (sha256 (base32 - "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx")))) + "02gikxjvcxysr4l65c8vivgz62xmalp0av5ypzff8vqhrq3vpb0f")))) (build-system gnu-build-system) (native-inputs `(("ed", ed))) (synopsis "Apply differences to originals, with optional backups") From e396976b9b61c1db08c35059a2d46d72a4e93479 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 20:42:01 -0500 Subject: [PATCH 119/359] gnu: sbcl: Use ISO-8859-1 to patch unix tool paths. * gnu/packages/lisp.scm (sbcl)[arguments]: Use ISO-8859-1 to patch unix tool paths in string literals. --- gnu/packages/lisp.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 76c826cc6e..f0599a95c6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -231,14 +232,16 @@ an interpreter, a compiler, a debugger, and much more.") (define (quoted-path input path) (string-append "\"" input path "\"")) ;; Patch absolute paths in string literals. Note that this - ;; occurs in some .sh files too (which contain Lisp code). - (substitute* (find-files "." "\\.(lisp|sh)$") - (("\"/bin/sh\"") (quoted-path bash "/bin/sh")) - (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env")) - (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat")) - (("\"/bin/ed\"") (quoted-path ed "/bin/ed")) - (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo")) - (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"))) + ;; occurs in some .sh files too (which contain Lisp code). Use + ;; ISO-8859-1 because some of the files are ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* (find-files "." "\\.(lisp|sh)$") + (("\"/bin/sh\"") (quoted-path bash "/bin/sh")) + (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env")) + (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat")) + (("\"/bin/ed\"") (quoted-path ed "/bin/ed")) + (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo")) + (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname")))) ;; This one script has a non-string occurrence of /bin/sh. (substitute* '("tests/foreign.test.sh") ;; Leave whitespace so we don't match the shebang. From 0e396872a6375d875982ebafc283659a85208261 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 21:42:43 -0500 Subject: [PATCH 120/359] gnu: sysfsutils-1: Pass --build to configure. * gnu/packages/linux.scm (sysfsutils-1)[arguments]: Pass --build to configure. --- gnu/packages/linux.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 621ce69c2d..6cf9cf4541 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1961,6 +1961,13 @@ also contains the libsysfs library.") (substitute* "configure" (("includedir='(\\$\\{prefix\\}/include)'" all orig) (string-append "includedir='" orig "/sysfs'"))))))) + ;; XXX sysfsutils-1.3.0's config.guess fails on mips64el + (arguments `(#:configure-flags + '(,@(if (%current-target-system) + '() + (let ((triplet + (nix-system->gnu-triplet (%current-system)))) + (list (string-append "--build=" triplet))))))) (synopsis "System utilities based on Linux sysfs (version 1.x)"))) (define-public cpufrequtils From 5c3f2a5a77031c52b5b9f6b912382646afbc60ff Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 7 Mar 2015 22:39:43 -0500 Subject: [PATCH 121/359] gnu: lrdf: Fix phases. Fixes a regression caused by 722ec722441a755e18fbc696d23441427dfb26af. * gnu/packages/rdf.scm (lrdf)[arguments]: Swap order of 'alist-cons-after' calls. --- gnu/packages/rdf.scm | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index a76b2c30ab..b105f0b1d7 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -127,24 +127,24 @@ Java Lucene text search engine API to C++.") (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after - 'unpack 'remove-out-of-tree-references + 'remove-out-of-tree-references 'autoreconf (lambda _ - ;; remove symlinks to files in /usr/ - (delete-file-recursively "m4") - (for-each delete-file '("config.guess" - "config.sub" - "depcomp" - "install-sh" - "ltmain.sh" - "missing")) - ;; remove_test depends on an out-of-tree RDF file - (substitute* "examples/Makefile.am" - (("instances_test remove_test") "instances_test") - (("\\$\\(TESTS\\) remove_test") "$(TESTS)"))) + (zero? (system* "autoreconf" "-vfi"))) (alist-cons-after - 'remove-out-of-tree-references 'autoreconf + 'unpack 'remove-out-of-tree-references (lambda _ - (zero? (system* "autoreconf" "-vfi"))) + ;; remove symlinks to files in /usr/ + (delete-file-recursively "m4") + (for-each delete-file '("config.guess" + "config.sub" + "depcomp" + "install-sh" + "ltmain.sh" + "missing")) + ;; remove_test depends on an out-of-tree RDF file + (substitute* "examples/Makefile.am" + (("instances_test remove_test") "instances_test") + (("\\$\\(TESTS\\) remove_test") "$(TESTS)"))) %standard-phases)))) (inputs `(("raptor" ,raptor2) From ee2a7f0789fd4fc4cf8009b9dbbfdc0dd4294478 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 8 Mar 2015 01:36:35 -0500 Subject: [PATCH 122/359] gnu: slang: Combine duplicate 'arguments' fields. Combine duplicate 'arguments' fields introduced in 22e357397a76ef. * gnu/packages/slang.scm (slang)[arguments]: Combine duplicate fields. --- gnu/packages/slang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm index f07a5685ed..577d7aff45 100644 --- a/gnu/packages/slang.scm +++ b/gnu/packages/slang.scm @@ -49,14 +49,14 @@ (("-ltermcap") "")))))) (build-system gnu-build-system) (arguments - '(#:parallel-tests? #f)) + '(#:parallel-tests? #f + #:parallel-build? #f)) ; there's at least one race (inputs `(("readline" ,readline) ("zlib" ,zlib) ("libpng" ,libpng) ("pcre" ,pcre) ("ncurses" ,ncurses))) - (arguments `(#:parallel-build? #f)) ; there's at least one race (home-page "http://www.jedsoft.org/slang/") (synopsis "Library for interactive applications and extensibility") (description From ebaa68c019846999fd026deb41899d4758ab006a Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Sun, 8 Mar 2015 09:10:44 +0100 Subject: [PATCH 123/359] gnu: ghc: Remove installation of locale. * gnu/packages/haskell.scm (ghc): Remove installation of locale from 'unpack-and-fix-testsuite phase. --- gnu/packages/haskell.scm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 04c69a8dca..183d0eb4cb 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -140,13 +140,6 @@ (copy-file (assoc-ref inputs "ghc-testsuite") "ghc-testsuite.tar.xz") (system* "tar" "xvf" "ghc-testsuite.tar.xz")) - ;; We need to install an UTF-8 locale for the tests to produce results - ;; identical to the expected ones. - (system* "localedef" "--no-archive" - "--prefix" (getcwd) "-i" "en_US" - "-f" "UTF-8" "./en_US.UTF-8") - (setenv "LOCPATH" (getcwd)) - (setenv "LC_ALL" "en_US.UTF-8") (substitute* (list "testsuite/timeout/Makefile" "testsuite/timeout/timeout.py" From 40fbd52ae57e6120676676a2deaaf9267b6ebf19 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 8 Mar 2015 11:12:16 +0100 Subject: [PATCH 124/359] gnu: rename engineering module * gnu/packages/engineering.scm: Change module name from "audio" to "engineering". --- gnu/packages/engineering.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 70fd65583c..b735aa2e19 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -16,7 +16,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages audio) +(define-module (gnu packages engineering) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) From 5699a3cf5ad7ee48b9fd2ecc6a5971fb767bd8b6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 8 Mar 2015 11:13:57 +0100 Subject: [PATCH 125/359] gnu: librecad: use (gnu packages base) module * gnu/packages/engineering.scm: use (gnu packages base) module for "which". --- gnu/packages/engineering.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b735aa2e19..c3f9f44f8b 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages fontutils) #:use-module (gnu packages maths) From 6efd0823e1a50d82fa466106d6b7fe71a93a5aaa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Mar 2015 08:30:46 +0100 Subject: [PATCH 126/359] gnu: Add fdupes. * gnu/packages/admin.scm (fdupes): New variable. --- gnu/packages/admin.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c85204f3ae..95b0c9f007 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1081,3 +1081,29 @@ Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks. In many cases, these utilities will provide advanced warning of disk degradation and failure.") (license license:gpl2+))) + +(define-public fdupes + (package + (name "fdupes") + (version "1.51") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/adrianlopezroche/fdupes/archive/fdupes-" + version ".tar.gz")) + (sha256 + (base32 + "11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-delete 'configure %standard-phases) + #:tests? #f ; no 'check' target + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))))) + (home-page "https://github.com/adrianlopezroche/fdupes") + (synopsis "Identify duplicate files") + (description + "fdupes is a program for identifying duplicate files residing within +specified directories.") + (license license:expat))) From 3540a481383aa53fccda30013240ff54a9320c48 Mon Sep 17 00:00:00 2001 From: Jason Self Date: Sun, 8 Mar 2015 12:30:11 -0700 Subject: [PATCH 127/359] gnu: linux-libre: Update to 3.18.9 * gnu/packages/linux.scm (linux-libre): Update to version 3.18.9. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6cf9cf4541..b7391b3532 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.18.8") + (let* ((version "3.18.9") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1ai2krm0svq52z4nm0qyw3q3ybfia83zvpv1f38q1wkllwq0gi6j")))) + "0n3p9ci8w71hd168df7xlccafxzb3agr8rk3xmvnj7dnbfiddqv6")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) From 61af1014c6703454c0dded6155637818e3322930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Mar 2015 22:27:20 +0100 Subject: [PATCH 128/359] gnu: gcj: Use a versioned URL for 'javac.in'. * gnu/packages/gcc.scm (javac.in): Use a ViewVC URL that specifies the CVS revision. --- gnu/packages/gcc.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 1acc4d5ded..27e40f2f66 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge @@ -344,7 +344,8 @@ Go. It also includes runtime support libraries for these languages.") (origin (method url-fetch) (uri (string-append "http://sources.gentoo.org/cgi-bin/viewvc.cgi/" - "gentoo-x86/dev-java/gcj-jdk/files/javac.in")) + "gentoo-x86/dev-java/gcj-jdk/files/javac.in?revision=1.1")) + (file-name "javac.in") (sha256 (base32 "1c3dk4z5yfj6ic2fn3lyxs27n6pmn2wy9k0r1s17lnkf1bzkrciv")))) From 0c36a681c8fe7248924a15379ab3b1cc92ecdcd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Mar 2015 23:05:51 +0100 Subject: [PATCH 129/359] doc: Add 'packages' field to OS configuration template. * gnu/system/os-config.tmpl (packages): New field. --- gnu/system/os-config.tmpl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/system/os-config.tmpl b/gnu/system/os-config.tmpl index 07b099531e..e14c95733a 100644 --- a/gnu/system/os-config.tmpl +++ b/gnu/system/os-config.tmpl @@ -2,7 +2,7 @@ (use-modules (gnu)) (use-service-modules xorg networking dbus avahi) -(use-package-modules avahi) +(use-package-modules xorg avahi) (operating-system (host-name "antelope") @@ -35,6 +35,9 @@ "audio" "video")) (home-directory "/home/alice")))) + ;; Globally-installed packages. + (packages (cons xterm %base-packages)) + ;; Add services to the baseline: the SLiM log-in manager ;; for Xorg sessions, a DHCP client, Avahi, and D-Bus. (services (cons* (slim-service) From 412726ee4ad459cf5fcd7e122fa30de668dcc142 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Mar 2015 08:38:46 +0100 Subject: [PATCH 130/359] gnu: Add gEDA/gaf. * gnu/packages/engineering.scm (geda-gaf): New variable. --- gnu/packages/engineering.scm | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c3f9f44f8b..b29c6bc9f4 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -20,13 +20,19 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages fontutils) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (srfi srfi-1)) @@ -84,3 +90,48 @@ "LibreCAD is a 2D Computer-aided design (CAD) application for creating plans and designs.") (license license:gpl2))) + +(define-public geda-gaf + (package + (name "geda-gaf") + (version "1.8.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.geda-project.org/geda-gaf/stable/v" + (version-major+minor version) "/" + version "/geda-gaf-" version ".tar.gz")) + (sha256 + (base32 + "08dpa506xk4gjbbi8vnxcb640wq4ihlgmhzlssl52nhvxwx7gx5v")))) + (build-system gnu-build-system) + (arguments + '(#:phases + ;; tests require a writable HOME + (alist-cons-before + 'check 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR"))) + %standard-phases))) + (inputs + `(("glib" ,glib) + ("gtk" ,gtk+-2) + ("guile" ,guile-2.0) + ("desktop-file-utils" ,desktop-file-utils) + ("shared-mime-info" ,shared-mime-info))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("perl" ,perl))) ; for tests + (home-page "http://geda-project.org/") + (synopsis "Schematic capture, netlister, symbols, symbol checker, and utils") + (description + "gaf stands for “gschem and friends”. It is a subset of the entire tool +suite grouped together under the gEDA name. gEDA/gaf is a collection of tools +which currently includes: gschem, a schematic capture program; gnetlist, a +netlist generation program; gsymcheck, a syntax checker for schematic symbols; +gattrib, a spreadsheet programm that manipulates the properties of symbols of +a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a +tool to forward annotation from your schematic to layout using PCB; some minor +utilities.") + (license license:gpl2+))) + From 2cb4ca6303e44dd0f8b8073a24b9f8966b73fb9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 9 Mar 2015 17:14:04 +0800 Subject: [PATCH 131/359] gnu: libmikmod: Remove inputs alsa-lib and libx11. Fixes . * gnu/packages/sdl.scm (libmikmod)[inputs]: Remove. --- gnu/packages/sdl.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index c9b82f4b62..03aa56d118 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -111,8 +111,6 @@ joystick, and graphics hardware.") ;; unless the right libalsa happens to be in $LD_LIBRARY_PATH. Pass ;; '--disable-dl' to avoid that. '(#:configure-flags '("--disable-dl"))) - (inputs `(("alsa-lib" ,alsa-lib) - ("libx11" ,libx11))) (synopsis "Library for module sound formats") (description "MikMod is able to play a wide range of module formats, as well as From a22722c1a58459564509d0cb6a0a579805236a22 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Mon, 9 Mar 2015 11:01:08 +0100 Subject: [PATCH 132/359] gnu: ncmpcpp: Move taglib from native-inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mpd.scm (ncmpcpp): Move TAGLIB from ‘native-inputs’ to ‘inputs’. --- gnu/packages/mpd.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 2f9ad7214b..f89d3ed377 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -191,13 +191,13 @@ terminal using ncurses.") (inputs `(("libmpdclient" ,libmpdclient) ("boost" ,boost) ("readline" ,readline) - ("ncurses" ,ncurses))) + ("ncurses" ,ncurses) + ("taglib" ,taglib))) (native-inputs `(("pkg-config" ,pkg-config) ("automake" ,automake) ("autoconf" ,autoconf) - ("libtool" ,libtool) - ("taglib" ,taglib))) + ("libtool" ,libtool))) (arguments '(#:configure-flags '("BOOST_LIB_SUFFIX=" "--with-taglib") From 70fc29d9c5fb14da49c69c60a15916dc4e11bd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 15:46:14 +0100 Subject: [PATCH 133/359] gnu: Add faad2. * gnu/packages/audio.scm (faad2): New variable. --- gnu/packages/audio.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 64bde2ea20..98794aea9f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) + #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) (define-public alsa-modular-synth @@ -277,6 +278,38 @@ plugins are provided.") ALSA PCM devices.") (license license:gpl2+))) +(define-public faad2 + (package + (name "faad2") + (version "2.7") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/faac/faad2-" version ".zip")) + (sha256 + (base32 + "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("unzip" ,unzip))) + (arguments + '(#:phases + (alist-cons-after + 'unpack 'bootstrap + (lambda _ + (substitute* "bootstrap" (("\r\n") "\n")) + (zero? (system* "sh" "bootstrap"))) + %standard-phases))) + (home-page "http://www.audiocoding.com/faad2.html") + (synopsis "MPEG-4 and MPEG-2 AAC decoder") + (description + "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR, +PS, and DAB+.") + (license license:gpl2))) + (define-public freepats (package (name "freepats") From 8c0b5a75ad8855c011d5ee57ab134f3a03c8fd1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 15:45:35 +0100 Subject: [PATCH 134/359] gnu: Add libbs2b. * gnu/packages/audio.scm (libbs2b): New variable. --- gnu/packages/audio.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 98794aea9f..6e8e2e3ebb 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -524,6 +524,29 @@ applications, restoring program state (i.e. loaded patches) and the connections between them.") (license license:gpl2+))) +(define-public libbs2b + (package + (name "libbs2b") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma")) + (sha256 + (base32 + "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libsndfile" ,libsndfile))) + (home-page "http://sourceforge.net/projects/bs2b/") + (synopsis "Bauer stereophonic-to-binaural DSP") + (description + "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is +designed to improve headphone listening of stereo audio records. Recommended +for headphone prolonged listening to disable superstereo fatigue without +essential distortions.") + (license license:expat))) + (define-public liblo (package (name "liblo") From f2fac35953fa14606d426a1bc42b0a0a238926a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 19:51:02 +0100 Subject: [PATCH 135/359] gnu: Move 'openal' to (gnu packages audio). * gnu/packages/games.scm (openal): Removed variable. * gnu/packages/audio.scm (openal): New variable. --- gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++ gnu/packages/games.scm | 30 +----------------------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6e8e2e3ebb..e9e924a836 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -713,6 +713,35 @@ extensions into easy to use C++ classes. It is the successor of lv2-c++-tools.") (license license:gpl3+))) +(define-public openal + (package + (name "openal") + (version "1.15.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://kcat.strangesoft.net/openal-releases/openal-soft-" + version ".tar.bz2")) + (sha256 + (base32 + "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ; no check target + (inputs + `(("alsa-lib" ,alsa-lib) + ("pulseaudio" ,pulseaudio))) + (synopsis "3D audio API") + (description + "OpenAL provides capabilities for playing audio in a virtual 3D +environment. Distance attenuation, doppler shift, and directional sound +emitters are among the features handled by the API. More advanced effects, +including air absorption, occlusion, and environmental reverb, are available +through the EFX extension. It also facilitates streaming audio, multi-channel +buffers, and audio capture.") + (home-page "http://kcat.strangesoft.net/openal.html") + (license license:lgpl2.0+))) + (define-public patchage (package (name "patchage") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9c02d88eab..ff3239a22c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages admin) + #:use-module (gnu packages audio) #:use-module (gnu packages boost) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -512,35 +513,6 @@ alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials are primarily in English, however some in other languages are provided.") (license license:gpl3+))) -(define-public openal - (package - (name "openal") - (version "1.15.1") - (source (origin - (method url-fetch) - (uri (string-append - "http://kcat.strangesoft.net/openal-releases/openal-soft-" - version ".tar.bz2")) - (sha256 - (base32 - "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f)) ; no check target - (inputs - `(("alsa-lib" ,alsa-lib) - ("pulseaudio" ,pulseaudio))) - (synopsis "3D audio API") - (description - "OpenAL provides capabilities for playing audio in a virtual 3D -environment. Distance attenuation, doppler shift, and directional sound -emitters are among the features handled by the API. More advanced effects, -including air absorption, occlusion, and environmental reverb, are available -through the EFX extension. It also facilitates streaming audio, multi-channel -buffers, and audio capture.") - (home-page "http://kcat.strangesoft.net/openal.html") - (license license:lgpl2.0+))) - (define-public irrlicht (package (name "irrlicht") From 55b596c3f5bfde273377e019b5fcf56c8049881f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 19:52:26 +0100 Subject: [PATCH 136/359] gnu: Add rsound. * gnu/packages/audio.scm (rsound): New variable. --- gnu/packages/audio.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e9e924a836..e44db11199 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1105,6 +1105,46 @@ to record and/or play sound using a callback function or a blocking read/write interface.") (license license:expat))) +(define-public rsound + (package + (name "rsound") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Themaister/RSound/archive/v" + version ".tar.gz")) + (sha256 + (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx")))) + (build-system gnu-build-system) + (inputs + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-2) + ("ao" ,ao) + ("libsamplerate" ,libsamplerate) + ("openal" ,openal) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio))) + (arguments + '(#:phases + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CC" "gcc") + (zero? + (system* "./configure" + (string-append "--prefix=" (assoc-ref outputs "out"))))) + %standard-phases) + ;; No 'check' target. + #:tests? #f)) + (home-page "http://themaister.net/rsound.html") + (synopsis "Networked audio system") + (description + "RSound allows you to send audio from an application and transfer it +directly to a different computer on your LAN network. It is an audio daemon +with a much different focus than most other audio daemons.") + (license license:gpl3+))) + (define-public zita-alsa-pcmi (package (name "zita-alsa-pcmi") From 0731a47cd4ad61284abab0aee6a8d2b0d784bdaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 15:45:01 +0100 Subject: [PATCH 137/359] gnu: Add libungif. * gnu/packages/image.scm (libungif): New variable. --- gnu/packages/image.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 46b0824c8d..8d4b6fce46 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014 Ricardo Wurmus +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -294,6 +295,25 @@ compose, and analyze GIF images.") (home-page "http://giflib.sourceforge.net/") (license license:x11))) +(define-public libungif + (package + (name "libungif") + (version "4.1.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/giflib/libungif-" + version ".tar.bz2")) + (sha256 + (base32 + "0cnksimmmjngdrys302ik1385sg1sj4i0gxivzldhgwd46n7x2kh")))) + (build-system gnu-build-system) + (inputs `(("perl" ,perl))) ;package ships some perl tools + (home-page "http://giflib.sourceforge.net/") + (synopsis "GIF decompression library") + (description + "libungif is the old GIF decompression library by the GIFLIB project.") + (license license:expat))) + (define-public imlib2 (package (name "imlib2") From cda163cdb9397027f921f6722e98e266023262a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 10:17:19 +0100 Subject: [PATCH 138/359] gnu: Add liba52. * gnu/packages/video.scm (liba52): New variable. --- gnu/packages/video.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 87d98242d0..67998cf3b2 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,25 @@ #:use-module (gnu packages yasm) #:use-module (gnu packages zip)) +(define-public liba52 + (package + (name "liba52") + (version "0.7.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/liba52/a52dec-" + version ".tar.gz")) + (sha256 + (base32 + "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2")))) + (build-system gnu-build-system) + (home-page "http://liba52.sourceforge.net/") + (synopsis "ATSC A/52 stream decoder") + (description "liba52 is a library for decoding ATSC A/52 streams. The +A/52 standard is used in a variety of applications, including digital +television and DVD. It is also known as AC-3.") + (license gpl2+))) + (define-public ffmpeg (package (name "ffmpeg") From 3bfb78dc3bb29c074189cafbd9056cb509322a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 10:17:35 +0100 Subject: [PATCH 139/359] gnu: Add libdca. * gnu/packages/video.scm (libdca): New variable. --- gnu/packages/video.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 67998cf3b2..b825ddba91 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -83,6 +83,25 @@ A/52 standard is used in a variety of applications, including digital television and DVD. It is also known as AC-3.") (license gpl2+))) +(define-public libdca + (package + (name "libdca") + (version "0.0.5") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.videolan.org/pub/videolan/libdca/" + version "/libdca-" version ".tar.bz2")) + (sha256 + (base32 + "0hh6a7l8vvccsd5i1fkv9av2gzv9fy8m0b8jpsn5p6hh4bh2586v")))) + (build-system gnu-build-system) + (home-page "http://www.videolan.org/developers/libdca.html") + (synopsis "DTS Coherent Acoustics decoder") + (description "libdca is a library for decoding DTS Coherent Acoustics +streams.") + (license gpl2+))) + (define-public ffmpeg (package (name "ffmpeg") From 99d4c455e364c7771dec069727ef9e9d3faa31b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 11:50:14 +0100 Subject: [PATCH 140/359] gnu: Add libdv. * gnu/packages/video.scm (libdv): New variable. --- gnu/packages/video.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b825ddba91..aa06ebe021 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -102,6 +102,29 @@ television and DVD. It is also known as AC-3.") streams.") (license gpl2+))) +(define-public libdv + (package + (name "libdv") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/libdv/libdv-" version ".tar.gz")) + (sha256 + (base32 + "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libxv" ,libxv))) + (home-page "http://libdv.sourceforge.net/") + (synopsis "DV video (IEC 61834 and SMPTE 314M) codec") + (description "The Quasar DV codec (libdv) is a software codec for DV +video, the encoding format used by most digital camcorders, typically those +that support the IEEE 1394 (a.k.a. FireWire or i.Link) interface. Libdv was +developed according to the official standards for DV video: IEC 61834 and +SMPTE 314M.") + (license lgpl2.1+))) + (define-public ffmpeg (package (name "ffmpeg") From 5d3609e42d2b6039f266503cd0aa30632da21437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 21:40:36 +0100 Subject: [PATCH 141/359] gnu: Add libbluray. * gnu/packages/video.scm (libbluray): New variable. (ffmpeg): Add input libbluray. --- gnu/packages/video.scm | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index aa06ebe021..1dcfa80903 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -22,7 +22,7 @@ (define-module (gnu packages video) #:use-module (ice-9 match) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ bsd-3 public-domain)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 public-domain)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -35,6 +35,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages databases) + #:use-module (gnu packages doxygen) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages fribidi) @@ -57,6 +58,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages sdl) #:use-module (gnu packages ssh) + #:use-module (gnu packages texlive) #:use-module (gnu packages version-control) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) @@ -142,6 +144,7 @@ SMPTE 314M.") ("freetype" ,freetype) ("opus" ,opus) ("lame" ,lame) + ("libbluray" ,libbluray) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) @@ -184,7 +187,6 @@ SMPTE 314M.") ;; --enable-ladspa enable LADSPA audio filtering ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] ;; --enable-libass enable libass subtitles rendering [no] -;; --enable-libbluray enable BluRay reading using libbluray [no] ;; --enable-libcaca enable textual display using libcaca ;; --enable-libcelt enable CELT decoding via libcelt [no] ;; --enable-libcdio enable audio CD grabbing with libcdio @@ -234,6 +236,7 @@ SMPTE 314M.") "--enable-shared" "--enable-fontconfig" ;; "--enable-gnutls" ; causes test failures + "--enable-libbluray" "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" @@ -508,6 +511,34 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") YouTube.com and a few more sites.") (license public-domain))) +(define-public libbluray + (package + (name "libbluray") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.videolan.org/videolan/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("doxygen" ,doxygen) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libxml2" ,libxml2) + ("perl" ,perl) ;for doxygen + ("texlive" ,texlive))) + (home-page "http://www.videolan.org/developers/libbluray.html") + (synopsis "Blu-Ray Disc playback library") + (description + "libbluray is a library designed for Blu-Ray Disc playback for media +players, like VLC or MPlayer.") + (license lgpl2.1+))) + (define-public libdvdread (package (name "libdvdread") From a6f710ec4e4afdecd28c5f2c395847162a9b2438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 10:39:10 +0100 Subject: [PATCH 142/359] gnu: Add libdvdcss. * gnu/packages/video.scm (libdvdcss): New variable. --- gnu/packages/video.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1dcfa80903..670e731259 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -594,6 +594,26 @@ DVD virtual machine and internal playback states are completely encapsulated.") (license gpl2+))) +(define-public libdvdcss + (package + (name "libdvdcss") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.videolan.org/videolan/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw")))) + (build-system gnu-build-system) + (home-page "http://www.videolan.org/developers/libdvdcss.html") + (synopsis "Library for accessing DVDs as block devices") + (description + "libdvdcss is a simple library designed for accessing DVDs like a block +device without having to bother about the decryption.") + (license gpl2+))) + (define-public srt2vtt (package (name "srt2vtt") From f1044010951d5b48e92b6977980666c013525084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 17:07:55 +0100 Subject: [PATCH 143/359] gnu: Add libdvdnav-4. * gnu/packages/video.scm (libdvdnav-4): New variable. --- gnu/packages/video.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 670e731259..ba6a48fb58 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) @@ -594,6 +595,32 @@ DVD virtual machine and internal playback states are completely encapsulated.") (license gpl2+))) +(define-public libdvdnav-4 + (package + (inherit libdvdnav) + (version "4.2.1") + (source (origin + (method url-fetch) + (uri + (string-append + "http://download.videolan.org/videolan/libdvdnav/libdvdnav-" + version ".tar.xz")) + (sha256 + (base32 + "0wi3gy408c8xj0ism0hckv5jbfh3lg4pmgxv87gbch9jrhp2gjkz")))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + '(#:phases + (alist-cons-after + 'unpack 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif"))) + %standard-phases))))) + (define-public libdvdcss (package (name "libdvdcss") From 67932f86d3b8a62f938ab5daa5c48e50d7b3dc14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 11:50:40 +0100 Subject: [PATCH 144/359] gnu: Add xvid. * gnu/packages/video.scm (xvid): New variable. (ffmpeg): Add input xvid. --- gnu/packages/video.scm | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ba6a48fb58..9d93301be9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -153,6 +153,7 @@ SMPTE 314M.") ("soxr" ,soxr) ("speex" ,speex) ("twolame" ,twolame) + ("xvid" ,xvid) ("zlib", zlib))) (native-inputs `(("bc" ,bc) @@ -223,8 +224,6 @@ SMPTE 314M.") ;; --enable-libwavpack enable wavpack encoding via libwavpack [no] ;; --enable-libx264 enable H.264 encoding via x264 [no] ;; --enable-libxavs enable AVS encoding via xavs [no] -;; --enable-libxvid enable Xvid encoding via xvidcore, -;; native MPEG-4/Xvid encoder exists [no] ;; --enable-libzmq enable message passing via libzmq [no] ;; --enable-libzvbi enable teletext support via libzvbi [no] ;; --enable-openal enable OpenAL 1.1 capture support [no] @@ -247,6 +246,7 @@ SMPTE 314M.") "--enable-libtwolame" "--enable-libvorbis" "--enable-libvpx" + "--enable-libxvid" "--enable-runtime-cpudetect" @@ -866,3 +866,36 @@ capabilities.") (string-append out "/share/ADM_addons")))) (alist-delete 'install %standard-phases))))))))) + +(define-public xvid + (package + (name "xvid") + (version "1.3.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.xvid.org/downloads/xvidcore-" + version ".tar.bz2")) + (sha256 + (base32 + "0m5g75qvapr7xpywg6a83v5x19kw1nm9l2q48lg7jvvpba0bmqdh")))) + (build-system gnu-build-system) + (native-inputs `(("yasm" ,yasm))) + (arguments + '(#:phases + (alist-cons-before + 'configure 'pre-configure + (lambda _ + (chdir "build/generic") + (substitute* "configure" + (("#! /bin/sh") (string-append "#!" (which "sh"))))) + %standard-phases) + ;; No 'check' target. + #:tests? #f)) + (home-page "https://www.xvid.com/") + (synopsis "MPEG-4 Part 2 Advanced Simple Profile video codec") + (description "Xvid is an MPEG-4 Part 2 Advanced Simple Profile (ASP) video +codec library. It uses ASP features such as b-frames, global and quarter +pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG +and custom quantization matrices.") + (license gpl2+))) From 01793502e8c141f7b13688b1922b4d117e30ecf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 15:44:16 +0100 Subject: [PATCH 145/359] gnu: freeglut: Propagate input glu. * gnu/packages/gl.scm (freeglut): Make glu a propagated input instead of a normal input. --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 0eb2d2609e..7d549d38e5 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -82,8 +82,8 @@ as ASCII text.") ("libxrandr" ,libxrandr) ("libxxf86vm" ,libxxf86vm) ("inputproto" ,inputproto) - ("xinput" ,xinput) - ("glu" ,glu))) + ("xinput" ,xinput))) + (propagated-inputs `(("glu" ,glu))) (home-page "http://freeglut.sourceforge.net/") (synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)") (description From 4d94b93ce17132098ca1524a8180961826f9917a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 15:56:58 +0100 Subject: [PATCH 146/359] gnu: Add libcaca. * gnu/packages/video.scm (libcaca): New variable. (ffmpeg): Add input libcaca. --- gnu/packages/video.scm | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9d93301be9..980c9efb3e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -22,7 +22,8 @@ (define-module (gnu packages video) #:use-module (ice-9 match) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 public-domain)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 public-domain + fsf-free)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -51,6 +52,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) + #:use-module (gnu packages ncurses) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -86,6 +88,34 @@ A/52 standard is used in a variety of applications, including digital television and DVD. It is also known as AC-3.") (license gpl2+))) +(define-public libcaca + (package + (name "libcaca") + (version "0.99.beta19") + (source (origin + (method url-fetch) + (uri (string-append "http://caca.zoy.org/files/libcaca/libcaca-" + version ".tar.gz")) + (sha256 + (base32 + "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("freeglut" ,freeglut) + ("ftgl" ,ftgl) + ("libx11" ,libx11) + ("mesa" ,mesa) + ("ncurses" ,ncurses) + ("zlib" ,zlib))) + (home-page "http://caca.zoy.org/wiki/libcaca") + (synopsis "Colour ASCII-art library") + (description "libcaca is a graphics library that outputs text instead of +pixels, so that it can work on older video cards or text terminals. It +supports Unicode, 2048 colors, dithering of color images, and advanced text +canvas operations.") + (license (fsf-free "file://COPYING")))) ;WTFPL version 2 + (define-public libdca (package (name "libdca") @@ -146,6 +176,7 @@ SMPTE 314M.") ("opus" ,opus) ("lame" ,lame) ("libbluray" ,libbluray) + ("libcaca" ,libcaca) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) @@ -189,7 +220,6 @@ SMPTE 314M.") ;; --enable-ladspa enable LADSPA audio filtering ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] ;; --enable-libass enable libass subtitles rendering [no] -;; --enable-libcaca enable textual display using libcaca ;; --enable-libcelt enable CELT decoding via libcelt [no] ;; --enable-libcdio enable audio CD grabbing with libcdio ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 @@ -237,6 +267,7 @@ SMPTE 314M.") "--enable-fontconfig" ;; "--enable-gnutls" ; causes test failures "--enable-libbluray" + "--enable-libcaca" "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" From fbf42fbd72cc1f2e42b08eee6161b5bb1c35dc15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Wed, 4 Mar 2015 22:35:53 +0100 Subject: [PATCH 147/359] gnu: Add libquvi-scripts. * gnu/packages/web.scm (libquvi-scripts): New variable. --- gnu/packages/web.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8754ecee8b..4e74613d69 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -817,3 +817,21 @@ of people.") (description "LibYAML is a YAML 1.1 parser and emitter written in C.") (license l:expat))) + +(define-public libquvi-scripts + (package + (name "libquvi-scripts") + (version "0.4.21") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/quvi/libquvi-scripts-" version ".tar.xz")) + (sha256 + (base32 "0d0giry6bb57pnidymvdl7i5x9bq3ljk3g4bs294hcr5mj3cq0kw")))) + (build-system gnu-build-system) + (home-page "http://quvi.sourceforge.net/") + (synopsis "Media stream URL parser") + (description "This package contains support scripts called by libquvi to +parse media stream properties.") + (license l:lgpl2.1+))) From bb470bd3a4cf9148bd5b4da75ee11055d8546fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 7 Mar 2015 12:18:32 +0100 Subject: [PATCH 148/359] gnu: Add libquvi. * gnu/packages/web.scm (libquvi): New variable. * gnu/packages/video.scm (ffmpeg): Add input libquvi. --- gnu/packages/video.scm | 4 +++- gnu/packages/web.scm | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 980c9efb3e..598e164871 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -63,6 +63,7 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages texlive) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -177,6 +178,7 @@ SMPTE 314M.") ("lame" ,lame) ("libbluray" ,libbluray) ("libcaca" ,libcaca) + ("libquvi" ,libquvi) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) @@ -239,7 +241,6 @@ SMPTE 314M.") ;; --enable-libopencv enable video filtering via libopencv [no] ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] ;; --enable-libpulse enable Pulseaudio input via libpulse [no] -;; --enable-libquvi enable quvi input via libquvi [no] ;; --enable-librtmp enable RTMP[E] support via librtmp [no] ;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] ;; --enable-libshine enable fixed-point MP3 encoding via libshine [no] @@ -271,6 +272,7 @@ SMPTE 314M.") "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" + "--enable-libquvi" "--enable-libsoxr" "--enable-libspeex" "--enable-libtheora" diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4e74613d69..45bf5ba401 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -36,11 +36,14 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) + #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages openssl) #:use-module (gnu packages gettext) #:use-module (gnu packages icu4c) + #:use-module (gnu packages lua) #:use-module (gnu packages base) #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml) #:use-module (gnu packages curl) #:use-module (gnu packages perl) @@ -835,3 +838,36 @@ of people.") (description "This package contains support scripts called by libquvi to parse media stream properties.") (license l:lgpl2.1+))) + +(define-public libquvi + (package + (name "libquvi") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/quvi/libquvi-" version ".tar.xz")) + (sha256 + (base32 "00x9gbmzc5cns0gnfag0hsphcr3cb33vbbb9s7ppvvd6bxz2z1mm")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("cyrus-sasl" ,cyrus-sasl) + ("libquvi-scripts" ,libquvi-scripts) + ("lua" ,lua-5.1) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (arguments + ;; Lua provides no .pc file, so add CFLAGS/LIBS manually. + '(#:configure-flags + (let ((lua (assoc-ref %build-inputs "lua"))) + (list + (string-append "liblua_CFLAGS=-I" lua "/include") + (string-append "liblua_LIBS=-L" lua "/libs -llua"))))) + (home-page "http://quvi.sourceforge.net/") + (synopsis "Media stream URL parser") + (description "libquvi is a library with a C API for parsing media stream +URLs and extracting their actual media files.") + (license l:lgpl2.1+))) From 111cd65b8f52ae92188183078f58a51901ce4368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 7 Mar 2015 12:19:47 +0100 Subject: [PATCH 149/359] gnu: Add quvi. * gnu/packages/web.scm (quvi): New variable. --- gnu/packages/web.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 45bf5ba401..c977a1ee7d 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -871,3 +871,25 @@ parse media stream properties.") (description "libquvi is a library with a C API for parsing media stream URLs and extracting their actual media files.") (license l:lgpl2.1+))) + +(define-public quvi + (package + (name "quvi") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/quvi/quvi-" version ".tar.xz")) + (sha256 + (base32 "09lhl6dv5zpryasx7yjslfrcdcqlsbwapvd5lg7w6sm5x5n3k8ci")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("libquvi" ,libquvi))) + (home-page "http://quvi.sourceforge.net/") + (synopsis "Media stream URL parser") + (description "quvi is a command-line-tool suite to extract media files +from streaming URLs. It is a command-line wrapper for the libquvi library.") + (license l:lgpl2.1+))) From db361234f1df879847835fcf391baa2787a83900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 20:41:22 +0100 Subject: [PATCH 150/359] gnu: cdio: Fix description. * gnu/packages/cdrom.scm (libcdio): This package does not contain pycdio or libcdio-paranoia, so remove these from the description. They can be obtained separately from . --- gnu/packages/cdrom.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index ac5f64f48f..05980bc365 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,9 +95,7 @@ caching facility provided by the library.") for CD-ROM and CD image file access. It allows the developer to add CD access to an application without having to worry about the OS- and device-dependent properties of CD-ROM or the specific details of CD image -formats. It includes pycdio, a Python interface to libcdio, and -libcdio-paranoia, a library providing jitter-free and error-free audio -extraction from CDs.") +formats.") (license gpl3+))) (define-public xorriso From cc6c01706600326f90b01f0a3a789bf463cef650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 20:44:00 +0100 Subject: [PATCH 151/359] gnu: Add libcdio-paranoia. * gnu/packages/cdrom.scm (libcdio-paranoia): New variable. * gnu/packages/video.scm (ffmpeg): Add input libcdio-paranoia. --- gnu/packages/cdrom.scm | 21 +++++++++++++++++++++ gnu/packages/video.scm | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 05980bc365..9af0ea7b09 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -98,6 +98,27 @@ device-dependent properties of CD-ROM or the specific details of CD image formats.") (license gpl3+))) +(define-public libcdio-paranoia + (package + (name "libcdio-paranoia") + (version "10.2+0.93+1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/libcdio/libcdio-paranoia-" + version ".tar.bz2")) + (sha256 + (base32 + "14x4b4jk5b0zvcalrg02y4jmbkmmlb07qfmk5hph9k18b8frn7gc")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("libcdio" ,libcdio))) + (home-page "http://www.gnu.org/software/libcdio/") + (synopsis "Jitter- and error-tolerant CD audio extraction") + (description + "libcdio-paranoia is an implementation of CD paranoia libraries based on +libcdio.") + (license gpl3+))) + (define-public xorriso (package (name "xorriso") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 598e164871..5404f9df9c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -178,6 +178,7 @@ SMPTE 314M.") ("lame" ,lame) ("libbluray" ,libbluray) ("libcaca" ,libcaca) + ("libcdio-paranoia" ,libcdio-paranoia) ("libquvi" ,libquvi) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) @@ -223,7 +224,6 @@ SMPTE 314M.") ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] ;; --enable-libass enable libass subtitles rendering [no] ;; --enable-libcelt enable CELT decoding via libcelt [no] -;; --enable-libcdio enable audio CD grabbing with libcdio ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 ;; and libraw1394 [no] ;; --enable-libfaac enable AAC encoding via libfaac [no] @@ -269,6 +269,7 @@ SMPTE 314M.") ;; "--enable-gnutls" ; causes test failures "--enable-libbluray" "--enable-libcaca" + "--enable-libcdio" "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" From 7124119203958aff1ff45e3340e1c76c8cd126c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 5 Mar 2015 19:54:25 +0100 Subject: [PATCH 152/359] gnu: ffmpeg: Add more optional inputs. * gnu/packages/video.scm (ffmpeg): Add inputs ladspa, openal, pulseaudio. --- gnu/packages/video.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5404f9df9c..3b7161b884 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -175,6 +175,7 @@ SMPTE 314M.") `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("opus" ,opus) + ("ladspa" ,ladspa) ("lame" ,lame) ("libbluray" ,libbluray) ("libcaca" ,libcaca) @@ -183,7 +184,9 @@ SMPTE 314M.") ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) + ("openal" ,openal) ("patchelf" ,patchelf) + ("pulseaudio" ,pulseaudio) ("soxr" ,soxr) ("speex" ,speex) ("twolame" ,twolame) @@ -220,7 +223,6 @@ SMPTE 314M.") ;; possible additional inputs: ;; --enable-avisynth enable reading of AviSynth script files [no] ;; --enable-frei0r enable frei0r video filtering -;; --enable-ladspa enable LADSPA audio filtering ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] ;; --enable-libass enable libass subtitles rendering [no] ;; --enable-libcelt enable CELT decoding via libcelt [no] @@ -240,7 +242,6 @@ SMPTE 314M.") ;; --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] ;; --enable-libopencv enable video filtering via libopencv [no] ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] -;; --enable-libpulse enable Pulseaudio input via libpulse [no] ;; --enable-librtmp enable RTMP[E] support via librtmp [no] ;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] ;; --enable-libshine enable fixed-point MP3 encoding via libshine [no] @@ -257,7 +258,6 @@ SMPTE 314M.") ;; --enable-libxavs enable AVS encoding via xavs [no] ;; --enable-libzmq enable message passing via libzmq [no] ;; --enable-libzvbi enable teletext support via libzvbi [no] -;; --enable-openal enable OpenAL 1.1 capture support [no] ;; --enable-opencl enable OpenCL code ;; --enable-x11grab enable X11 grabbing [no] (zero? (system* @@ -267,12 +267,14 @@ SMPTE 314M.") "--enable-shared" "--enable-fontconfig" ;; "--enable-gnutls" ; causes test failures + "--enable-ladspa" "--enable-libbluray" "--enable-libcaca" "--enable-libcdio" "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" + "--enable-libpulse" "--enable-libquvi" "--enable-libsoxr" "--enable-libspeex" @@ -281,6 +283,7 @@ SMPTE 314M.") "--enable-libvorbis" "--enable-libvpx" "--enable-libxvid" + "--enable-openal" "--enable-runtime-cpudetect" From c85a866ddf1a90e692a4286288b156d92d5d53bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 6 Mar 2015 10:18:39 +0100 Subject: [PATCH 153/359] gnu: ffmpeg: Enable libavresample. * gnu/packages/video.scm (ffmpeg): Add "--enable-avresample" configure option. --- gnu/packages/video.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3b7161b884..abc970451b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -263,6 +263,7 @@ SMPTE 314M.") (zero? (system* "./configure" (string-append "--prefix=" out) + "--enable-avresample" "--enable-gpl" ; enable optional gpl licensed parts "--enable-shared" "--enable-fontconfig" From 7939e70a3256e40366e0226c9b75e6c5b7768925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Wed, 4 Mar 2015 22:34:13 +0100 Subject: [PATCH 154/359] gnu: Add recode. * gnu/packages/textutils.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/textutils.scm | 60 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 gnu/packages/textutils.scm diff --git a/gnu-system.am b/gnu-system.am index 2474c1fa0c..4119f4638e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/telephony.scm \ gnu/packages/texinfo.scm \ gnu/packages/texlive.scm \ + gnu/packages/textutils.scm \ gnu/packages/time.scm \ gnu/packages/tmux.scm \ gnu/packages/tor.scm \ diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm new file mode 100644 index 0000000000..17e665a216 --- /dev/null +++ b/gnu/packages/textutils.scm @@ -0,0 +1,60 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages textutils) + #: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 (gnu packages python)) + +(define-public recode + (package + (name "recode") + ;; Last beta release (3.7-beta2) is from 2008; last commit from Feb 2014. + ;; So we use that commit instead. + (version "3.7.0.201402") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pinard/Recode.git") + (commit "2d7092a9999194fc0e9449717a8048c8d8e26c18"))) + (sha256 + (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm")))) + (build-system gnu-build-system) + (native-inputs `(("python" ,python-2))) + (arguments + '(#:phases + (alist-cons-before + 'check 'fix-setup-py + (lambda _ + (substitute* "tests/setup.py" + (("([[:space:]]*)include_dirs=.*" all space) + (string-append all space "library_dirs=['../src/.libs'],\n")))) + %standard-phases))) + (home-page "https://github.com/pinard/Recode") + (synopsis "Text encoding converter") + (description "The Recode library converts files between character sets and +usages. It recognises or produces over 200 different character sets (or about +300 if combined with an iconv library) and transliterates files between almost +any pair. When exact transliteration are not possible, it gets rid of +offending characters or falls back on approximations. The recode program is a +handy front-end to the library.") + (license license:gpl2+))) From 688fe86587083c37d5e63ec9ac7c7d11fe689ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Wed, 4 Mar 2015 22:35:15 +0100 Subject: [PATCH 155/359] gnu: Add enca. * gnu/packages/textutils.scm (enca): New variable. --- gnu/packages/textutils.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 17e665a216..deefc42ac9 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -58,3 +58,23 @@ any pair. When exact transliteration are not possible, it gets rid of offending characters or falls back on approximations. The recode program is a handy front-end to the library.") (license license:gpl2+))) + +(define-public enca + (package + (name "enca") + (version "1.16") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/nijel/enca/archive/" version ".tar.gz")) + (sha256 + (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l")))) + (build-system gnu-build-system) + (inputs `(("recode" ,recode))) + (home-page "https://github.com/nijel/enca") + (synopsis "Text encoding detection tool") + (description "Enca (Extremely Naive Charset Analyser) consists of libenca, +an encoding detection library, and enca, a command line frontend, integrating +libenca and several charset conversion libraries and tools.") + (license license:gpl2))) From c426e61e0057947a70093cd1a6a8261d20442bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Wed, 4 Mar 2015 22:37:08 +0100 Subject: [PATCH 156/359] gnu: Add libass. * gnu/packages/video.scm (libass): New variable. (ffmpeg): Add input libass. --- gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index abc970451b..1928755d2b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -23,7 +23,7 @@ #:use-module (ice-9 match) #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 public-domain - fsf-free)) + fsf-free isc)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -62,6 +62,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages ssh) #:use-module (gnu packages texlive) + #:use-module (gnu packages textutils) #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages xiph) @@ -89,6 +90,34 @@ A/52 standard is used in a variety of applications, including digital television and DVD. It is also known as AC-3.") (license gpl2+))) +(define-public libass + (package + (name "libass") + (version "0.12.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/libass/libass/releases/download/" + version "/libass-" version ".tar.xz")) + (sha256 + (base32 + "1mwj2nk9g6cq6f8m1hf0ijg1299rghhy9naahqq43sc2whblb1l7")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("yasm" ,yasm))) + (propagated-inputs + `(("freetype" ,freetype) + ("fribidi" ,fribidi) + ("fontconfig" ,fontconfig) + ("harfbuzz" ,harfbuzz) + ("enca" ,enca))) + (home-page "https://github.com/libass/libass") + (synopsis "Subtitle rendering library for the ASS/SSA format") + (description "libass is a subtitle rendering library for the +ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.") + (license isc))) + (define-public libcaca (package (name "libcaca") @@ -177,6 +206,7 @@ SMPTE 314M.") ("opus" ,opus) ("ladspa" ,ladspa) ("lame" ,lame) + ("libass" ,libass) ("libbluray" ,libbluray) ("libcaca" ,libcaca) ("libcdio-paranoia" ,libcdio-paranoia) @@ -224,7 +254,6 @@ SMPTE 314M.") ;; --enable-avisynth enable reading of AviSynth script files [no] ;; --enable-frei0r enable frei0r video filtering ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] -;; --enable-libass enable libass subtitles rendering [no] ;; --enable-libcelt enable CELT decoding via libcelt [no] ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 ;; and libraw1394 [no] @@ -269,6 +298,7 @@ SMPTE 314M.") "--enable-fontconfig" ;; "--enable-gnutls" ; causes test failures "--enable-ladspa" + "--enable-libass" "--enable-libbluray" "--enable-libcaca" "--enable-libcdio" From 42f2c2b9d5435f42e4b9d69eab78edd768cdd9ea Mon Sep 17 00:00:00 2001 From: "Alexander I.Grafov (Axel)" Date: Mon, 9 Mar 2015 05:03:39 +0300 Subject: [PATCH 157/359] gnu: Add rxvt-unicode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xdisorg.scm (rxvt-unicode): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/xdisorg.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 67aa34a84b..bef0b38374 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014, 2015 Alex Kost ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin +;;; Copyright © 2015 Alexander I.Grafov ;;; ;;; This file is part of GNU Guix. ;;; @@ -453,3 +454,35 @@ to access all XBindKeys internals, so you can have key combinations, double clicks or timed double clicks take actions. Also all functions that work in Guile will work for XBindKeys.") (license license:gpl2+))) + +(define-public rxvt-unicode + (package + (name "rxvt-unicode") + (version "9.21") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dist.schmorp.de/rxvt-unicode/" + name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm")))) + (build-system gnu-build-system) + (inputs + `(("libXft" ,libxft) + ("libX11" ,libx11))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html") + (synopsis "Rxvt clone with XFT and unicode support") + (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator +intended as an xterm replacement for users who do not require features such as +Tektronix 4014 emulation and toolkit-style configurability. It supports +unicode, XFT and may be extended with Perl plugins. It also comes with a +client/daemon pair that lets you open any number of terminal windows from +within a single process.") + (license license:gpl3+))) From e92da92d63d0b50d462fc3608b19d18ac239d87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Mar 2015 21:02:59 +0100 Subject: [PATCH 158/359] Add Alexander to 'AUTHORS'. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 47eb50c1a7..5fb04e9cf0 100644 --- a/AUTHORS +++ b/AUTHORS @@ -18,6 +18,7 @@ alphabetical order): John Darrington Andreas Enge Alírio Eyng + Alexander I. Grafov Joshua Grant Raimon Grau David Hashe From 40e9de2ae510827053bdce1062c379e0358ef7db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Mar 2015 21:03:17 +0100 Subject: [PATCH 159/359] gnu: Add Ploticus. * gnu/packages/plotutils.scm (ploticus): New variable. --- gnu/packages/plotutils.scm | 68 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index da40e28334..245dfe9c67 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages plotutils) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -26,6 +26,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages compression) #:use-module (gnu packages)) (define-public plotutils @@ -64,7 +65,7 @@ It includes a library, \"libplot\", for C and C++ for exporting 2D vector graphics in many file formats. It also has support for 2D vector graphics animations. The package also contains command-line programs for plotting scientific data.") - (license gpl2+))) + (license license:gpl2+))) (define-public guile-charting (package @@ -93,4 +94,65 @@ scientific data.") (description "Guile-Charting is a Guile Scheme library to create bar charts and graphs using the Cairo drawing library.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) + +(define-public ploticus + (package + (name "ploticus") + (version "2.42") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ploticus/ploticus/" + version "/ploticus242_src.tar.gz")) + (sha256 + (base32 + "1c70cvfvgjh83hj1x21130wb9qfr2rc0x47cxy9kl805yjwy8a9z")) + (modules '((guix build utils))) + (snippet + ;; Install binaries in the right place. + '(substitute* "src/Makefile" + (("INSTALLBIN =.*$") + (string-append "INSTALLBIN = $(out)/bin")))))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace configure (lambda _ (chdir "src"))) + (add-before install make-target-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + #t))) + (add-after install install-prefabs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out + "/share/ploticus/prefabs")) + (bin (string-append out "/bin"))) + (mkdir-p dir) + + ;; Install "prefabs". + (for-each (lambda (file) + (let ((target + (string-append dir "/" + (basename file)))) + (copy-file file target))) + (find-files "../prefabs" ".")) + + ;; Allow them to be found. + (wrap-program (string-append bin "/pl") + `("PLOTICUS_PREFABS" ":" = (,dir))))))))) + (inputs + `(("libpng" ,libpng) + ("libx11" ,libx11) + ("zlib" ,zlib))) + (home-page "http://ploticus.sourceforge.net/") + (synopsis "Command-line tool for producing plots and charts") + (description + "Ploticus is a non-interactive software package for producing plots, +charts, and graphics from data. Ploticus is good for automated or +just-in-time graph generation, handles date and time data nicely, and has +basic statistical capabilities. It allows significant user control over +colors, styles, options and details.") + (license license:gpl2+))) From 1ae8237fc94d5f5a93ec7b5804d58ceda057f7e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Mar 2015 21:07:28 +0100 Subject: [PATCH 160/359] gnu: wget: Update to 1.16.3. * gnu/packages/wget.scm (wget): Update to 1.16.3. --- gnu/packages/wget.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 3ca297d90c..0cdb4964fa 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -32,7 +32,7 @@ (define-public wget (package (name "wget") - (version "1.16.2") + (version "1.16.3") (source (origin (method url-fetch) @@ -40,7 +40,7 @@ version ".tar.xz")) (sha256 (base32 - "1mfpvhgzvpvw36wmkwyyds3ilz74s2gn8yjqvynkbc8frcdxxpx7")))) + "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) From b0b727808b0b3466959b3f7143d35435834df0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Mar 2015 23:34:39 +0100 Subject: [PATCH 161/359] gnu: guile-ncurses: Run tests with a locale that's actually available. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Add 'change-locale' phase. --- gnu/packages/guile.scm | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ea18bdfdac..9fde9490c1 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -237,17 +237,25 @@ many readers as needed).") (string-append "--with-guilesitedir=" (assoc-ref %outputs "out") "/share/guile/site/2.0")) - #:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/share/guile/site/")) - (files (find-files dir ".scm"))) - (substitute* files - (("\"libguile-ncurses\"") - (format #f "\"~a/lib/libguile-ncurses\"" - out))))) - %standard-phases))) + #:phases (alist-cons-before + 'check 'change-locale + (lambda _ + ;; Use the locale that's actually available in the build + ;; environment. + (substitute* "test/f009_form_wide.test" + (("en_US\\.utf8") + "en_US.UTF-8"))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/share/guile/site/")) + (files (find-files dir ".scm"))) + (substitute* files + (("\"libguile-ncurses\"") + (format #f "\"~a/lib/libguile-ncurses\"" + out))))) + %standard-phases)))) (home-page "http://www.gnu.org/software/guile-ncurses/") (synopsis "Guile bindings to ncurses") (description From 116244df95faf664fd6f106ac8c3117674f81310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Mar 2015 23:49:18 +0100 Subject: [PATCH 162/359] services: Statically report duplicate dmd service identifiers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by 白い熊 @相撲道 at . * gnu/services/dmd.scm (assert-no-duplicates): New procedure. (dmd-configuration-file): Use it. * po/guix/POTFILES.in: Add gnu/services/dmd.scm. * tests/guix-system.sh (errorfile): Add test. --- gnu/services/dmd.scm | 26 ++++++++++++++++++++++++++ po/guix/POTFILES.in | 1 + tests/guix-system.sh | 37 ++++++++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/gnu/services/dmd.scm b/gnu/services/dmd.scm index 4bf76e01ec..618df91c5e 100644 --- a/gnu/services/dmd.scm +++ b/gnu/services/dmd.scm @@ -17,6 +17,8 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu services dmd) + #:use-module (guix ui) + #:use-module (guix sets) #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) @@ -24,6 +26,8 @@ #:use-module (gnu services) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (dmd-configuration-file)) ;;; Commentary: @@ -32,6 +36,26 @@ ;;; ;;; Code: +(define (assert-no-duplicates services) + "Raise an error if SERVICES provide the same dmd service more than once. + +This is a constraint that dmd's 'register-service' verifies but we'd better +verify it here statically than wait until PID 1 halts with an assertion +failure." + (fold (lambda (service set) + (define (assert-unique symbol) + (when (set-contains? set symbol) + (raise (condition + (&message + (message + (format #f (_ "service '~a' provided more than once") + symbol))))))) + + (for-each assert-unique (service-provision service)) + (fold set-insert set (service-provision service))) + (setq) + services)) + (define (dmd-configuration-file services) "Return the dmd configuration file for SERVICES." (define modules @@ -40,6 +64,8 @@ (gnu build file-systems) (guix build utils))) + (assert-no-duplicates services) + (mlet %store-monad ((modules (imported-modules modules)) (compiled (compiled-modules modules))) (define config diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 591b6a1c9a..619f6f99fc 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -2,6 +2,7 @@ # This should be source files of the various tools, and not package modules. gnu/packages.scm gnu/system.scm +gnu/services/dmd.scm guix/scripts/build.scm guix/scripts/download.scm guix/scripts/package.scm diff --git a/tests/guix-system.sh b/tests/guix-system.sh index b5476476e1..76e722fbc1 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2014 Ludovic Courtès +# Copyright © 2014, 2015 Ludovic Courtès # # This file is part of GNU Guix. # @@ -28,6 +28,8 @@ tmpfile="t-guix-system-$$" errorfile="t-guix-system-error-$$" trap 'rm -f "$tmpfile" "$errorfile"' EXIT +# Reporting of syntax errors. + cat > "$tmpfile"< "$tmpfile" < "$errorfile" +then + # This must not succeed. + exit 1 +else + grep "service 'networking'.*more than once" "$errorfile" +fi From 1cf0814d4d89737d7a61bc64650ea5ac58fff7cb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Mar 2015 20:26:44 -0400 Subject: [PATCH 163/359] Add Paul to 'AUTHORS'. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 5fb04e9cf0..c4506d2c9b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -33,5 +33,6 @@ alphabetical order): Jason Self Sree Harsha Totakura David Thompson + Paul van der Walt Mark H. Weaver Ricardo Wurmus From a79112079e7f233f24a5cb09e03bbfff6e8b9a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 10 Mar 2015 12:48:02 +0800 Subject: [PATCH 164/359] gnu: ratpoison: Install xsession file (ratpoison.desktop). * gnu/packages/ratpoison.scm (ratpoison.desktop): New variable. (ratpoison)[arguments]: New field. --- gnu/packages/ratpoison.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm index 61c68b557f..bde3fccf5d 100644 --- a/gnu/packages/ratpoison.scm +++ b/gnu/packages/ratpoison.scm @@ -28,6 +28,17 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages fontutils)) +(define ratpoison.desktop + (origin + (method url-fetch) + (uri (string-append "http://sources.gentoo.org/cgi-bin/viewvc.cgi/" + "gentoo-x86/x11-wm/ratpoison/files/ratpoison.desktop" + "?revision=1.1")) + (file-name "ratpoison.desktop") + (sha256 + (base32 + "1rh3f4c3rhn6q2hmkraam0831xqcqyj3qkqf019ahaxsxaan3553")))) + (define-public ratpoison (package (name "ratpoison") @@ -41,6 +52,17 @@ "0v4mh8d3vsh5xbbycfdl3g8zfygi1rkslh1x7k5hi1d05bfq3cdr")) (patches (list (search-patch "ratpoison-shell.patch"))))) (build-system gnu-build-system) + (arguments + '(#:phases + (alist-cons-after + 'install 'install-xsession + (lambda _ + (let* ((file (assoc-ref %build-inputs "ratpoison.desktop")) + (xsessions (string-append %output "/share/xsessions")) + (target (string-append xsessions "/ratpoison.desktop"))) + (mkdir-p xsessions) + (copy-file file target))) + %standard-phases))) (inputs `(("libXi" ,libxi) ("readline" ,readline) @@ -52,7 +74,8 @@ ("libXpm" ,libxpm) ("libXt" ,libxt) ("inputproto" ,inputproto) - ("libX11" ,libx11))) + ("libX11" ,libx11) + ("ratpoison.desktop" ,ratpoison.desktop))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) From 15a3c3d4f1e45f40f7a40722726c41b902ddb316 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Mar 2015 10:24:12 +0100 Subject: [PATCH 165/359] gnu: Add htsjdk. * gnu/packages/bioinformatics.scm (htsjdk): New variable. --- gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8ed871003a..d3b891996d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages java) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -446,6 +447,51 @@ particular, reads spanning multiple exons.") from high-throughput sequencing assays.") (license license:gpl3+))) +(define-public htsjdk + (package + (name "htsjdk") + (version "1.129") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/samtools/htsjdk/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0asdk9b8jx2ij7yd6apg9qx03li8q7z3ml0qy2r2qczkra79y6fw")) + (modules '((guix build utils))) + ;; remove build dependency on git + (snippet '(substitute* "build.xml" + (("failifexecutionfails=\"true\"") + "failifexecutionfails=\"false\""))))) + (build-system gnu-build-system) + (arguments + `(#:modules ((srfi srfi-1) + (guix build gnu-build-system) + (guix build utils)) + #:phases (alist-replace + 'build + (lambda _ + (setenv "JAVA_HOME" (assoc-ref %build-inputs "jdk")) + (zero? (system* "ant" "all" + (string-append "-Ddist=" + (assoc-ref %outputs "out") + "/share/java/htsjdk/")))) + (fold alist-delete %standard-phases + '(configure install check))))) + (native-inputs + `(("ant" ,ant) + ("jdk" ,icedtea6 "jdk"))) + (home-page "http://samtools.github.io/htsjdk/") + (synopsis "Java API for high-throughput sequencing data (HTS) formats") + (description + "HTSJDK is an implementation of a unified Java library for accessing +common file formats, such as SAM and VCF, used for high-throughput +sequencing (HTS) data. There are also an number of useful utilities for +manipulating HTS data.") + (license license:expat))) + (define-public macs (package (name "macs") From 6795b8d8f258c33cee2df63cc00b89e9e5515339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 10 Mar 2015 14:18:19 +0100 Subject: [PATCH 166/359] gnu: enca: Run tests sequentially. * gnu/packages/textutils.scm (enca)[arguments]: New field. Fixes build issue visible at . --- gnu/packages/textutils.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index deefc42ac9..5a8f9f09ea 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -72,6 +72,11 @@ handy front-end to the library.") (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l")))) (build-system gnu-build-system) (inputs `(("recode" ,recode))) + + ;; Both 'test-convert-64.sh' and 'test-convert-filter.sh' manipulate a + ;; 'test.tmp' file, so they have to run in sequence. + (arguments '(#:parallel-tests? #f)) + (home-page "https://github.com/nijel/enca") (synopsis "Text encoding detection tool") (description "Enca (Extremely Naive Charset Analyser) consists of libenca, From 61427c8d0365ac1238db1df99667ecac390db00b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Mar 2015 20:55:29 -0400 Subject: [PATCH 167/359] gnu: nspr: Update to 4.10.8. * gnu/packages/gnuzilla.scm (nspr): Update to 4.10.8. --- gnu/packages/gnuzilla.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 335cfd1983..bc74fa8d60 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -89,7 +89,7 @@ in C/C++.") (define-public nspr (package (name "nspr") - (version "4.10.7") + (version "4.10.8") (source (origin (method url-fetch) (uri (string-append @@ -97,7 +97,7 @@ in C/C++.") version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0f1ri51yzjikigf6z31g03cdv6sgi9gw2c3vvv39psk3m37zb6iq")))) + "05aaakz24ba2hdzlqx8qamwrsp7gni1acms8mr6m432wa9yaazjh")))) (build-system gnu-build-system) (native-inputs `(("perl", perl))) From a24175ac8d772e714a7cb5796e2da8799d9cf055 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 10 Mar 2015 03:06:06 -0400 Subject: [PATCH 168/359] gnu: nss: Include -L$libdir in output of "nss-config --libs". * gnu/packages/patches/nss-pkgconfig.patch (nss-config): Include -L$libdir in output of "nss-config --libs". --- gnu/packages/patches/nss-pkgconfig.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch index da5c48979e..80c0c5b009 100644 --- a/gnu/packages/patches/nss-pkgconfig.patch +++ b/gnu/packages/patches/nss-pkgconfig.patch @@ -5,6 +5,7 @@ Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/fil Modifications: Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss. Remove optional patching in nss/Makefile. + Include -L$libdir in output from "nss-config --libs". --- nss-3.17.1/nss/config/Makefile +++ nss-3.17.1/nss/config/Makefile @@ -181,7 +182,7 @@ Modifications: +fi + +if test "$echo_libs" = "yes"; then -+ libdirs="" ++ libdirs=-L$libdir + if test -n "$lib_ssl"; then + libdirs="$libdirs -lssl${major_version}" + fi From 5b17fabca63296e04d35679b92150c1c73d1df53 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 9 Mar 2015 20:50:12 -0400 Subject: [PATCH 169/359] gnu: icecat: Update to 31.5.0. * gnu/packages/patches/icecat-CVE-2015-0822.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch, gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch, gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files. * gnu-system.am (dist_patch_DATA): Remove them. * gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0. Remove patches. Add 'nspr', 'nss', and 'cairo' to inputs. Add configure flags to use those system libraries. --- gnu-system.am | 17 -- gnu/packages/gnuzilla.scm | 42 +--- .../patches/icecat-CVE-2015-0822.patch | 154 ------------ .../patches/icecat-CVE-2015-0827-pt-1.patch | 33 --- .../patches/icecat-CVE-2015-0827-pt-2.patch | 35 --- .../patches/icecat-CVE-2015-0827-pt-3.patch | 56 ----- .../patches/icecat-CVE-2015-0831-pt-1.patch | 32 --- .../patches/icecat-CVE-2015-0831-pt-2.patch | 26 --- .../patches/icecat-CVE-2015-0836-pt-01.patch | 26 --- .../patches/icecat-CVE-2015-0836-pt-02.patch | 27 --- .../patches/icecat-CVE-2015-0836-pt-03.patch | 220 ------------------ .../patches/icecat-CVE-2015-0836-pt-04.patch | 89 ------- .../patches/icecat-CVE-2015-0836-pt-05.patch | 25 -- .../patches/icecat-CVE-2015-0836-pt-06.patch | 41 ---- .../patches/icecat-CVE-2015-0836-pt-07.patch | 54 ----- .../patches/icecat-CVE-2015-0836-pt-08.patch | 53 ----- .../patches/icecat-CVE-2015-0836-pt-09.patch | 52 ----- .../patches/icecat-CVE-2015-0836-pt-10.patch | 219 ----------------- .../patches/icecat-CVE-2015-0836-pt-11.patch | 104 --------- 19 files changed, 11 insertions(+), 1294 deletions(-) delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0822.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch diff --git a/gnu-system.am b/gnu-system.am index 4119f4638e..21756054c0 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -427,23 +427,6 @@ dist_patch_DATA = \ gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ - gnu/packages/patches/icecat-CVE-2015-0822.patch \ - gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch \ - gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch \ - gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch \ - gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch \ - gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch \ - gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index bc74fa8d60..1d450cda64 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -216,7 +216,7 @@ standards.") (define-public icecat (package (name "icecat") - (version "31.4.0") + (version "31.5.0") (source (origin (method url-fetch) @@ -224,29 +224,12 @@ standards.") version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2")) - (patches (map search-patch - '("icecat-CVE-2015-0822.patch" - "icecat-CVE-2015-0827-pt-1.patch" - "icecat-CVE-2015-0827-pt-2.patch" - "icecat-CVE-2015-0827-pt-3.patch" - "icecat-CVE-2015-0831-pt-1.patch" - "icecat-CVE-2015-0831-pt-2.patch" - "icecat-CVE-2015-0836-pt-01.patch" - "icecat-CVE-2015-0836-pt-02.patch" - "icecat-CVE-2015-0836-pt-03.patch" - "icecat-CVE-2015-0836-pt-04.patch" - "icecat-CVE-2015-0836-pt-05.patch" - "icecat-CVE-2015-0836-pt-06.patch" - "icecat-CVE-2015-0836-pt-07.patch" - "icecat-CVE-2015-0836-pt-08.patch" - "icecat-CVE-2015-0836-pt-09.patch" - "icecat-CVE-2015-0836-pt-10.patch" - "icecat-CVE-2015-0836-pt-11.patch"))))) + "1rr4axghaypdkrf60i1qp6dz4cd29ya02fs3vyffvp4x9kgcq2dd")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) ("bzip2" ,bzip2) + ("cairo" ,cairo) ("dbus" ,dbus) ("dbus-glib" ,dbus-glib) ("glib" ,glib) @@ -264,6 +247,8 @@ standards.") ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) ("mesa" ,mesa) + ("nspr" ,nspr) + ("nss" ,nss) ("unzip" ,unzip) ("yasm" ,yasm) ("zip" ,zip) @@ -290,19 +275,15 @@ standards.") "--with-system-libevent" "--with-system-libvpx" "--with-system-icu" + "--with-system-nspr" + "--with-system-nss" "--enable-system-pixman" - - ;; XXX unsure whether to use these. - ;; "--with-system-nspr" - ;; "--with-system-nss" - - ;; Fails with "configure: error: Library requirements - ;; (cairo-tee >= 1.10) not met". - ;; "--enable-system-cairo" + "--enable-system-cairo" + "--enable-system-ffi" ;; Fails with "configure: error: System ;; SQLite library is not compiled with - ;; SQLITE_SECURE_DELETE." + ;; SQLITE_ENABLE_UNLOCK_NOTIFY." ;; "--enable-system-sqlite" ;; Fails with "--with-system-png won't work because @@ -324,8 +305,7 @@ standards.") ;; to accelerate baseline JPEG compression/ ;; decompression", so we had better not use it ;; "--with-system-jpeg" - - "--enable-system-ffi") + ) #:phases (alist-replace diff --git a/gnu/packages/patches/icecat-CVE-2015-0822.patch b/gnu/packages/patches/icecat-CVE-2015-0822.patch deleted file mode 100644 index 2625151453..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0822.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 0922145c255bf2503d3b2dd5f8f1e813338ba990 Mon Sep 17 00:00:00 2001 -From: Mats Palmgren -Date: Sat, 24 Jan 2015 12:37:47 -0500 -Subject: [PATCH] Bug 1110557. r=mak, r=gavin, a=bkerensa - ---- - .../components/satchel/nsFormFillController.cpp | 67 +++++++++++++++------- - toolkit/components/satchel/nsFormFillController.h | 5 ++ - 2 files changed, 52 insertions(+), 20 deletions(-) - -diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp -index 315fc68..676ad84 100644 ---- a/toolkit/components/satchel/nsFormFillController.cpp -+++ b/toolkit/components/satchel/nsFormFillController.cpp -@@ -61,6 +61,7 @@ nsFormFillController::nsFormFillController() : - mSuppressOnInput(false) - { - mController = do_GetService("@mozilla.org/autocomplete/controller;1"); -+ MOZ_ASSERT(mController); - } - - struct PwmgrInputsEnumData -@@ -104,6 +105,21 @@ nsFormFillController::AttributeChanged(nsIDocument* aDocument, - int32_t aNameSpaceID, - nsIAtom* aAttribute, int32_t aModType) - { -+ if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly || -+ aAttribute == nsGkAtoms::autocomplete) && -+ aNameSpaceID == kNameSpaceID_None) { -+ nsCOMPtr focusedInput(mFocusedInput); -+ // Reset the current state of the controller, unconditionally. -+ StopControllingInput(); -+ // Then restart based on the new values. We have to delay this -+ // to avoid ending up in an endless loop due to re-registering our -+ // mutation observer (which would notify us again for *this* event). -+ nsCOMPtr event = -+ NS_NewRunnableMethodWithArg> -+ (this, &nsFormFillController::MaybeStartControllingInput, focusedInput); -+ NS_DispatchToCurrentThread(event); -+ } -+ - if (mListNode && mListNode->Contains(aElement)) { - RevalidateDataList(); - } -@@ -841,28 +857,26 @@ nsFormFillController::RemoveForDocumentEnumerator(const nsINode* aKey, - return PL_DHASH_NEXT; - } - --nsresult --nsFormFillController::Focus(nsIDOMEvent* aEvent) -+void -+nsFormFillController::MaybeStartControllingInput(nsIDOMHTMLInputElement* aInput) - { -- nsCOMPtr input = do_QueryInterface( -- aEvent->InternalDOMEvent()->GetTarget()); -- nsCOMPtr inputNode = do_QueryInterface(input); -+ nsCOMPtr inputNode = do_QueryInterface(aInput); - if (!inputNode) -- return NS_OK; -+ return; - -- nsCOMPtr formControl = do_QueryInterface(input); -+ nsCOMPtr formControl = do_QueryInterface(aInput); - if (!formControl || !formControl->IsSingleLineTextControl(true)) -- return NS_OK; -+ return; - - bool isReadOnly = false; -- input->GetReadOnly(&isReadOnly); -+ aInput->GetReadOnly(&isReadOnly); - if (isReadOnly) -- return NS_OK; -+ return; - -- bool autocomplete = nsContentUtils::IsAutocompleteEnabled(input); -+ bool autocomplete = nsContentUtils::IsAutocompleteEnabled(aInput); - - nsCOMPtr datalist; -- input->GetList(getter_AddRefs(datalist)); -+ aInput->GetList(getter_AddRefs(datalist)); - bool hasList = datalist != nullptr; - - bool dummy; -@@ -871,9 +885,16 @@ nsFormFillController::Focus(nsIDOMEvent* aEvent) - isPwmgrInput = true; - - if (isPwmgrInput || hasList || autocomplete) { -- StartControllingInput(input); -+ StartControllingInput(aInput); - } -+} - -+nsresult -+nsFormFillController::Focus(nsIDOMEvent* aEvent) -+{ -+ nsCOMPtr input = do_QueryInterface( -+ aEvent->InternalDOMEvent()->GetTarget()); -+ MaybeStartControllingInput(input); - return NS_OK; - } - -@@ -1087,6 +1108,10 @@ nsFormFillController::StartControllingInput(nsIDOMHTMLInputElement *aInput) - // Make sure we're not still attached to an input - StopControllingInput(); - -+ if (!mController) { -+ return; -+ } -+ - // Find the currently focused docShell - nsCOMPtr docShell = GetDocShellForInput(aInput); - int32_t index = GetIndexOfDocShell(docShell); -@@ -1129,13 +1154,15 @@ nsFormFillController::StopControllingInput() - mListNode = nullptr; - } - -- // Reset the controller's input, but not if it has been switched -- // to another input already, which might happen if the user switches -- // focus by clicking another autocomplete textbox -- nsCOMPtr input; -- mController->GetInput(getter_AddRefs(input)); -- if (input == this) -- mController->SetInput(nullptr); -+ if (mController) { -+ // Reset the controller's input, but not if it has been switched -+ // to another input already, which might happen if the user switches -+ // focus by clicking another autocomplete textbox -+ nsCOMPtr input; -+ mController->GetInput(getter_AddRefs(input)); -+ if (input == this) -+ mController->SetInput(nullptr); -+ } - - if (mFocusedInputNode) { - MaybeRemoveMutationObserver(mFocusedInputNode); -diff --git a/toolkit/components/satchel/nsFormFillController.h b/toolkit/components/satchel/nsFormFillController.h -index b60d28d..8c3ba26 100644 ---- a/toolkit/components/satchel/nsFormFillController.h -+++ b/toolkit/components/satchel/nsFormFillController.h -@@ -62,6 +62,11 @@ protected: - - void StartControllingInput(nsIDOMHTMLInputElement *aInput); - void StopControllingInput(); -+ /** -+ * Checks that aElement is a type of element we want to fill, then calls -+ * StartControllingInput on it. -+ */ -+ void MaybeStartControllingInput(nsIDOMHTMLInputElement* aElement); - - nsresult PerformInputListAutoComplete(nsIAutoCompleteResult* aPreviousResult); - --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch deleted file mode 100644 index c57da755d1..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 28b6204b1421aa57b3c10c43d90cb516910bc80f Mon Sep 17 00:00:00 2001 -From: Markus Stange -Date: Tue, 6 Jan 2015 12:08:39 +0100 -Subject: [PATCH] Bug 1117304 - Also do the checks at the start of CopyRect in - release builds. r=Bas, a=sledru - ---- - gfx/2d/FilterNodeSoftware.cpp | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp -index 00d790f..396d0da 100644 ---- a/gfx/2d/FilterNodeSoftware.cpp -+++ b/gfx/2d/FilterNodeSoftware.cpp -@@ -253,9 +253,12 @@ CopyRect(DataSourceSurface* aSrc, DataSourceSurface* aDest, - MOZ_CRASH("we should never be getting invalid rects at this point"); - } - -- MOZ_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), "different surface formats"); -- MOZ_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), "source rect too big for source surface"); -- MOZ_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(aSrcRect - aSrcRect.TopLeft() + aDestPoint), "dest surface too small"); -+ MOZ_RELEASE_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), -+ "different surface formats"); -+ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), -+ "source rect too big for source surface"); -+ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(IntRect(aDestPoint, aSrcRect.Size())), -+ "dest surface too small"); - - if (aSrcRect.IsEmpty()) { - return; --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch deleted file mode 100644 index 1ff68f4b4c..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5ff75fbe51d5760a96b4e614617c9cbf35f1fbaa Mon Sep 17 00:00:00 2001 -From: Markus Stange -Date: Mon, 5 Jan 2015 18:40:27 +0100 -Subject: [PATCH] Bug 1117304 - Make sure the tile filter doesn't call CopyRect - on surfaces with different formats. r=Bas, a=sledru - ---- - gfx/2d/FilterNodeSoftware.cpp | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp -index 396d0da..10d92c6 100644 ---- a/gfx/2d/FilterNodeSoftware.cpp -+++ b/gfx/2d/FilterNodeSoftware.cpp -@@ -1568,7 +1568,16 @@ FilterNodeTileSoftware::Render(const IntRect& aRect) - return nullptr; - } - } -- MOZ_ASSERT(input->GetFormat() == target->GetFormat(), "different surface formats from the same input?"); -+ -+ if (input->GetFormat() != target->GetFormat()) { -+ // Different rectangles of the input can have different formats. If -+ // that happens, just convert everything to B8G8R8A8. -+ target = FilterProcessing::ConvertToB8G8R8A8(target); -+ input = FilterProcessing::ConvertToB8G8R8A8(input); -+ if (MOZ2D_WARN_IF(!target) || MOZ2D_WARN_IF(!input)) { -+ return nullptr; -+ } -+ } - - CopyRect(input, target, srcRect - srcRect.TopLeft(), destRect.TopLeft() - aRect.TopLeft()); - } --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch deleted file mode 100644 index 8d40126849..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c91087708686ae1c47abee65e19536688e5ec8f2 Mon Sep 17 00:00:00 2001 -From: Ryan VanderMeulen -Date: Mon, 26 Jan 2015 17:24:46 -0500 -Subject: [PATCH] Bug 1117304 - Add missing MOZ2D_WARN_IF definition to fix - bustage. r=milan, a=bustage - ---- - gfx/2d/FilterNodeSoftware.cpp | 1 + - gfx/2d/Logging.h | 19 +++++++++++++++++++ - 2 files changed, 20 insertions(+) - -diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp -index 10d92c6..48bf162 100644 ---- a/gfx/2d/FilterNodeSoftware.cpp -+++ b/gfx/2d/FilterNodeSoftware.cpp -@@ -12,6 +12,7 @@ - #include "Blur.h" - #include - #include "FilterProcessing.h" -+#include "Logging.h" - #include "mozilla/PodOperations.h" - #include "mozilla/DebugOnly.h" - -diff --git a/gfx/2d/Logging.h b/gfx/2d/Logging.h -index 85e788c..d7728bb 100644 ---- a/gfx/2d/Logging.h -+++ b/gfx/2d/Logging.h -@@ -155,6 +155,25 @@ typedef Log WarningLog; - #define gfxWarning if (1) ; else NoLog - #endif - -+// See nsDebug.h and the NS_WARN_IF macro -+ -+#ifdef __cplusplus -+#ifdef DEBUG -+inline bool MOZ2D_warn_if_impl(bool aCondition, const char* aExpr, -+ const char* aFile, int32_t aLine) -+{ -+ if (MOZ_UNLIKELY(aCondition)) { -+ gfxWarning() << aExpr << " at " << aFile << ":" << aLine; -+ } -+ return aCondition; -+} -+#define MOZ2D_WARN_IF(condition) \ -+ MOZ2D_warn_if_impl(condition, #condition, __FILE__, __LINE__) -+#else -+#define MOZ2D_WARN_IF(condition) (bool)(condition) -+#endif -+#endif -+ - const int INDENT_PER_LEVEL = 2; - - class TreeLog --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch deleted file mode 100644 index c04d604923..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From c8437505a63fc2b2552b8af217d60d79abb92ba3 Mon Sep 17 00:00:00 2001 -From: Ben Turner -Date: Fri, 6 Feb 2015 15:25:33 -0800 -Subject: [PATCH] Bug 1130541. r=janv, a=sledru - ---- - dom/indexedDB/IDBDatabase.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp -index 7329cec..c9c7e4f 100644 ---- a/dom/indexedDB/IDBDatabase.cpp -+++ b/dom/indexedDB/IDBDatabase.cpp -@@ -536,6 +536,7 @@ IDBDatabase::CreateObjectStore( - IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction(); - - if (!transaction || -+ transaction->Database() != this || - transaction->GetMode() != IDBTransaction::VERSION_CHANGE) { - aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR); - return nullptr; -@@ -577,6 +578,7 @@ IDBDatabase::DeleteObjectStore(const nsAString& aName, ErrorResult& aRv) - IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction(); - - if (!transaction || -+ transaction->Database() != this || - transaction->GetMode() != IDBTransaction::VERSION_CHANGE) { - aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR); - return; --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch deleted file mode 100644 index 9510cd611f..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4e799e44288c951f8d9acd17e7d8c56c9ee6a7d3 Mon Sep 17 00:00:00 2001 -From: Ben Turner -Date: Mon, 9 Feb 2015 14:38:26 -0800 -Subject: [PATCH] Bug 1130541 followup a=test-only - ---HG-- -extra : amend_source : 23d80353f87897fdac9c99048d12ebe4ed390f76 ---- - dom/indexedDB/test/browser_quotaPrompt.html | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dom/indexedDB/test/browser_quotaPrompt.html b/dom/indexedDB/test/browser_quotaPrompt.html -index c139970..dbeea68 100644 ---- a/dom/indexedDB/test/browser_quotaPrompt.html -+++ b/dom/indexedDB/test/browser_quotaPrompt.html -@@ -38,6 +38,7 @@ - let request = indexedDB.open(window.location.pathname, version++); - request.onerror = errorHandler; - request.onupgradeneeded = function(event) { -+ let db = event.target.result; - db.deleteObjectStore("foo"); - db.onversionchange = function () { db.close(); }; - request.transaction.oncomplete = function(event) { --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch deleted file mode 100644 index f6e2756054..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4106ffa6ee83b814428bb07948b3595e3fa3847e Mon Sep 17 00:00:00 2001 -From: Jan de Mooij -Date: Tue, 10 Feb 2015 09:40:46 +0100 -Subject: [PATCH] Bug 1128196 - Don't relazify scripts with a TypeScript. - r=till, a=lmandel - ---- - js/src/jsscript.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/src/jsscript.h b/js/src/jsscript.h -index 4d548ef..9a0cfbb 100644 ---- a/js/src/jsscript.h -+++ b/js/src/jsscript.h -@@ -1251,7 +1251,7 @@ class JSScript : public js::gc::BarrieredCell - } - - bool isRelazifiable() const { -- return (selfHosted() || lazyScript) && -+ return (selfHosted() || lazyScript) && !types && - !isGenerator() && !hasBaselineScript() && !hasAnyIonScript() && !hasBeenInlined(); - } - void setLazyScript(js::LazyScript *lazy) { --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch deleted file mode 100644 index c95cf23a29..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 83c4bfeea2d2203f726e3bfcb7ee6fe56b4d9703 Mon Sep 17 00:00:00 2001 -From: Ryan VanderMeulen -Date: Thu, 29 Jan 2015 10:31:25 -0500 -Subject: [PATCH] Bug 1111248. r=Waldo, a=sledru - ---- - js/src/jsbool.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/js/src/jsbool.cpp b/js/src/jsbool.cpp -index 5d88bd5..8d5d672 100644 ---- a/js/src/jsbool.cpp -+++ b/js/src/jsbool.cpp -@@ -198,7 +198,8 @@ js::ToBooleanSlow(HandleValue v) - bool - js::BooleanGetPrimitiveValueSlow(HandleObject wrappedBool) - { -- JSObject *obj = wrappedBool->as().target(); -- JS_ASSERT(obj); -+ JSObject *obj = CheckedUnwrap(wrappedBool); -+ if (!obj || !obj->is()) -+ return false; - return obj->as().unbox(); - } --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch deleted file mode 100644 index 115cd76201..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 4e4e34238e5bb5af83a645a5f4d2097e3b30e9dd Mon Sep 17 00:00:00 2001 -From: Tom Schuster -Date: Sun, 25 Jan 2015 21:42:10 +0100 -Subject: [PATCH] Bug 1111243 - Implement ES6 proxy behavior for IsArray. - r=efaust, a=abillings - ---- - browser/devtools/app-manager/app-projects.js | 2 ++ - js/public/Class.h | 5 +++- - js/src/jsarray.cpp | 9 ++++-- - js/src/jsobjinlines.h | 15 +++++++++- - js/src/json.cpp | 11 +++---- - js/src/jsproxy.cpp | 45 ++++++++++++++++++++++++++++ - 6 files changed, 78 insertions(+), 9 deletions(-) - -diff --git a/browser/devtools/app-manager/app-projects.js b/browser/devtools/app-manager/app-projects.js -index d09f72f..77ca67b 100644 ---- a/browser/devtools/app-manager/app-projects.js -+++ b/browser/devtools/app-manager/app-projects.js -@@ -61,6 +61,8 @@ const IDB = { - add: function(project) { - let deferred = promise.defer(); - -+ project = JSON.parse(JSON.stringify(project)); -+ - if (!project.location) { - // We need to make sure this object has a `.location` property. - deferred.reject("Missing location property on project object."); -diff --git a/js/public/Class.h b/js/public/Class.h -index ff864b1..46f7d39 100644 ---- a/js/public/Class.h -+++ b/js/public/Class.h -@@ -521,7 +521,10 @@ Valueify(const JSClass *c) - */ - enum ESClassValue { - ESClass_Array, ESClass_Number, ESClass_String, ESClass_Boolean, -- ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date -+ ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date, -+ // Special snowflake for the ES6 IsArray method. -+ // Please don't use it without calling that function. -+ ESClass_IsArray - }; - - /* -diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp -index 24da176..46f1c20 100644 ---- a/js/src/jsarray.cpp -+++ b/js/src/jsarray.cpp -@@ -2645,7 +2645,8 @@ js::array_concat(JSContext *cx, unsigned argc, Value *vp) - HandleValue v = HandleValue::fromMarkedLocation(&p[i]); - if (v.isObject()) { - RootedObject obj(cx, &v.toObject()); -- if (ObjectClassIs(obj, ESClass_Array, cx)) { -+ // This should be IsConcatSpreadable -+ if (IsArray(obj, cx)) { - uint32_t alength; - if (!GetLengthProperty(cx, obj, &alength)) - return false; -@@ -2870,7 +2871,11 @@ static bool - array_isArray(JSContext *cx, unsigned argc, Value *vp) - { - CallArgs args = CallArgsFromVp(argc, vp); -- bool isArray = args.length() > 0 && IsObjectWithClass(args[0], ESClass_Array, cx); -+ bool isArray = false; -+ if (args.get(0).isObject()) { -+ RootedObject obj(cx, &args[0].toObject()); -+ isArray = IsArray(obj, cx); -+ } - args.rval().setBoolean(isArray); - return true; - } -diff --git a/js/src/jsobjinlines.h b/js/src/jsobjinlines.h -index e848ba7..557dd26 100644 ---- a/js/src/jsobjinlines.h -+++ b/js/src/jsobjinlines.h -@@ -1032,7 +1032,10 @@ ObjectClassIs(HandleObject obj, ESClassValue classValue, JSContext *cx) - return Proxy::objectClassIs(obj, classValue, cx); - - switch (classValue) { -- case ESClass_Array: return obj->is(); -+ case ESClass_Array: -+ case ESClass_IsArray: -+ // There difference between those is only relevant for proxies. -+ return obj->is(); - case ESClass_Number: return obj->is(); - case ESClass_String: return obj->is(); - case ESClass_Boolean: return obj->is(); -@@ -1053,6 +1056,16 @@ IsObjectWithClass(const Value &v, ESClassValue classValue, JSContext *cx) - return ObjectClassIs(obj, classValue, cx); - } - -+// ES6 7.2.2 -+inline bool -+IsArray(HandleObject obj, JSContext *cx) -+{ -+ if (obj->is()) -+ return true; -+ -+ return ObjectClassIs(obj, ESClass_IsArray, cx); -+} -+ - static MOZ_ALWAYS_INLINE bool - NewObjectMetadata(ExclusiveContext *cxArg, JSObject **pmetadata) - { -diff --git a/js/src/json.cpp b/js/src/json.cpp -index 6e45bfd..81a99a6 100644 ---- a/js/src/json.cpp -+++ b/js/src/json.cpp -@@ -300,7 +300,7 @@ JO(JSContext *cx, HandleObject obj, StringifyContext *scx) - Maybe ids; - const AutoIdVector *props; - if (scx->replacer && !scx->replacer->isCallable()) { -- JS_ASSERT(JS_IsArrayObject(cx, scx->replacer)); -+ JS_ASSERT(IsArray(scx->replacer, cx)); - props = &scx->propertyList; - } else { - JS_ASSERT_IF(scx->replacer, scx->propertyList.length() == 0); -@@ -488,7 +488,7 @@ Str(JSContext *cx, const Value &v, StringifyContext *scx) - - scx->depth++; - bool ok; -- if (ObjectClassIs(obj, ESClass_Array, cx)) -+ if (IsArray(obj, cx)) - ok = JA(cx, obj, scx); - else - ok = JO(cx, obj, scx); -@@ -510,7 +510,7 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp - if (replacer) { - if (replacer->isCallable()) { - /* Step 4a(i): use replacer to transform values. */ -- } else if (ObjectClassIs(replacer, ESClass_Array, cx)) { -+ } else if (IsArray(replacer, cx)) { - /* - * Step 4b: The spec algorithm is unhelpfully vague about the exact - * steps taken when the replacer is an array, regarding the exact -@@ -541,7 +541,8 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp - - /* Step 4b(ii). */ - uint32_t len; -- JS_ALWAYS_TRUE(GetLengthProperty(cx, replacer, &len)); -+ if (!GetLengthProperty(cx, replacer, &len)) -+ return false; - if (replacer->is() && !replacer->isIndexed()) - len = Min(len, replacer->getDenseInitializedLength()); - -@@ -678,7 +679,7 @@ Walk(JSContext *cx, HandleObject holder, HandleId name, HandleValue reviver, Mut - if (val.isObject()) { - RootedObject obj(cx, &val.toObject()); - -- if (ObjectClassIs(obj, ESClass_Array, cx)) { -+ if (IsArray(obj, cx)) { - /* Step 2a(ii). */ - uint32_t length; - if (!GetLengthProperty(cx, obj, &length)) -diff --git a/js/src/jsproxy.cpp b/js/src/jsproxy.cpp -index 7644da1..7453103 100644 ---- a/js/src/jsproxy.cpp -+++ b/js/src/jsproxy.cpp -@@ -1108,6 +1108,14 @@ class ScriptedDirectProxyHandler : public DirectProxyHandler { - virtual bool isExtensible(JSContext *cx, HandleObject proxy, bool *extensible) MOZ_OVERRIDE; - - /* Spidermonkey extensions. */ -+ // A scripted proxy should not be treated as generic in most contexts. -+ virtual bool nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl, -+ CallArgs args) MOZ_OVERRIDE; -+ virtual bool objectClassIs(HandleObject obj, ESClassValue classValue, -+ JSContext *cx) MOZ_OVERRIDE; -+ virtual bool regexp_toShared(JSContext *cx, HandleObject proxy, -+ RegExpGuard *g) MOZ_OVERRIDE; -+ - virtual bool call(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE; - virtual bool construct(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE; - virtual bool isScripted() MOZ_OVERRIDE { return true; } -@@ -2350,6 +2358,43 @@ ScriptedDirectProxyHandler::construct(JSContext *cx, HandleObject proxy, const C - return true; - } - -+bool -+ScriptedDirectProxyHandler::nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl, -+ CallArgs args) -+{ -+ ReportIncompatible(cx, args); -+ return false; -+} -+ -+bool -+ScriptedDirectProxyHandler::objectClassIs(HandleObject proxy, ESClassValue classValue, -+ JSContext *cx) -+{ -+ // Special case IsArray. In every other instance ES wants to have exactly -+ // one object type and not a proxy around it, so return false. -+ if (classValue != ESClass_IsArray) -+ return false; -+ -+ // In ES6 IsArray is supposed to poke at the Proxy target, instead we do this here. -+ // The reason for this is that we have proxies for which looking at the target might -+ // be impossible. So instead we use our little objectClassIs function that just works -+ // already across different wrappers. -+ RootedObject target(cx, proxy->as().target()); -+ if (!target) -+ return false; -+ -+ return IsArray(target, cx); -+} -+ -+bool -+ScriptedDirectProxyHandler::regexp_toShared(JSContext *cx, HandleObject proxy, -+ RegExpGuard *g) -+{ -+ MOZ_CRASH("Should not end up in ScriptedDirectProxyHandler::regexp_toShared"); -+ return false; -+} -+ -+ - ScriptedDirectProxyHandler ScriptedDirectProxyHandler::singleton; - - #define INVOKE_ON_PROTOTYPE(cx, handler, proxy, protoCall) \ --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch deleted file mode 100644 index 58e61d080c..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 97ba04bf95606b409b1b3035504a41c274ecffe2 Mon Sep 17 00:00:00 2001 -From: Shu-yu Guo -Date: Mon, 26 Jan 2015 18:26:25 -0800 -Subject: [PATCH] Bug 1119579 - Don't GC while iterating compartments in - findAllGlobals. r=sfink, a=abillings - ---- - js/src/vm/Debugger.cpp | 56 ++++++++++++++++++++++++++++++-------------------- - 1 file changed, 34 insertions(+), 22 deletions(-) - -diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp -index 27e993d..a8decef 100644 ---- a/js/src/vm/Debugger.cpp -+++ b/js/src/vm/Debugger.cpp -@@ -2825,37 +2825,49 @@ Debugger::findAllGlobals(JSContext *cx, unsigned argc, Value *vp) - { - THIS_DEBUGGER(cx, argc, vp, "findAllGlobals", args, dbg); - -- RootedObject result(cx, NewDenseEmptyArray(cx)); -- if (!result) -- return false; -+ AutoObjectVector globals(cx); - -- for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) { -- if (c->options().invisibleToDebugger()) -- continue; -+ { -+ // Accumulate the list of globals before wrapping them, because -+ // wrapping can GC and collect compartments from under us, while -+ // iterating. - -- c->zone()->scheduledForDestruction = false; -+ for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) { -+ if (c->options().invisibleToDebugger()) -+ continue; - -- GlobalObject *global = c->maybeGlobal(); -+ c->zone()->scheduledForDestruction = false; - -- if (cx->runtime()->isSelfHostingGlobal(global)) -- continue; -+ GlobalObject *global = c->maybeGlobal(); - -- if (global) { -- /* -- * We pulled |global| out of nowhere, so it's possible that it was -- * marked gray by XPConnect. Since we're now exposing it to JS code, -- * we need to mark it black. -- */ -- JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT); -+ if (cx->runtime()->isSelfHostingGlobal(global)) -+ continue; - -- RootedValue globalValue(cx, ObjectValue(*global)); -- if (!dbg->wrapDebuggeeValue(cx, &globalValue)) -- return false; -- if (!NewbornArrayPush(cx, result, globalValue)) -- return false; -+ if (global) { -+ /* -+ * We pulled |global| out of nowhere, so it's possible that it was -+ * marked gray by XPConnect. Since we're now exposing it to JS code, -+ * we need to mark it black. -+ */ -+ JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT); -+ if (!globals.append(global)) -+ return false; -+ } - } - } - -+ RootedObject result(cx, NewDenseEmptyArray(cx)); -+ if (!result) -+ return false; -+ -+ for (size_t i = 0; i < globals.length(); i++) { -+ RootedValue globalValue(cx, ObjectValue(*globals[i])); -+ if (!dbg->wrapDebuggeeValue(cx, &globalValue)) -+ return false; -+ if (!NewbornArrayPush(cx, result, globalValue)) -+ return false; -+ } -+ - args.rval().setObject(*result); - return true; - } --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch deleted file mode 100644 index 3e4ed17598..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 746ddf19ff532b8abc90d3a91322a04b462ebfa8 Mon Sep 17 00:00:00 2001 -From: Brian Hackett -Date: Mon, 26 Jan 2015 13:14:34 -0500 -Subject: [PATCH] Bug 1124018 - Null the allocation site table if - initialization fails. r=jonco, a=bkerensa - ---- - js/src/jsinfer.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/js/src/jsinfer.cpp b/js/src/jsinfer.cpp -index b62ad1f..4019b16 100644 ---- a/js/src/jsinfer.cpp -+++ b/js/src/jsinfer.cpp -@@ -2035,6 +2035,7 @@ TypeCompartment::addAllocationSiteTypeObject(JSContext *cx, AllocationSiteKey ke - allocationSiteTable = cx->new_(); - if (!allocationSiteTable || !allocationSiteTable->init()) { - js_delete(allocationSiteTable); -+ allocationSiteTable = nullptr; - return nullptr; - } - } --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch deleted file mode 100644 index 181f9243e3..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0758363d982b0b3e6cf021c164715a028a345b9e Mon Sep 17 00:00:00 2001 -From: "Byron Campen [:bwc]" -Date: Wed, 21 Jan 2015 08:56:36 -0800 -Subject: [PATCH] Bug 1123882 - Fix case where offset != 0. r=derf, a=bkerensa - ---- - content/media/MediaDecoderStateMachine.cpp | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/content/media/MediaDecoderStateMachine.cpp b/content/media/MediaDecoderStateMachine.cpp -index ce5870f..4ed496c 100644 ---- a/content/media/MediaDecoderStateMachine.cpp -+++ b/content/media/MediaDecoderStateMachine.cpp -@@ -328,6 +328,8 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio, - if (offset >= aAudio->mFrames) - return; - -+ size_t framesToWrite = aAudio->mFrames - offset; -+ - aAudio->EnsureAudioBuffer(); - nsRefPtr buffer = aAudio->mAudioBuffer; - AudioDataValue* bufferData = static_cast(buffer->Data()); -@@ -335,10 +337,11 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio, - for (uint32_t i = 0; i < aAudio->mChannels; ++i) { - channels.AppendElement(bufferData + i*aAudio->mFrames + offset); - } -- aOutput->AppendFrames(buffer.forget(), channels, aAudio->mFrames); -- VERBOSE_LOG("writing %d frames of data to MediaStream for AudioData at %lld", -- aAudio->mFrames - int32_t(offset), aAudio->mTime); -- aStream->mAudioFramesWritten += aAudio->mFrames - int32_t(offset); -+ aOutput->AppendFrames(buffer.forget(), channels, framesToWrite); -+ VERBOSE_LOG("writing %u frames of data to MediaStream for AudioData at %lld", -+ static_cast(framesToWrite), -+ aAudio->mTime); -+ aStream->mAudioFramesWritten += framesToWrite; - } - - static void WriteVideoToMediaStream(layers::Image* aImage, --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch deleted file mode 100644 index 818d369b26..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 94899f849e50a765bb26420f5c70d49002d6673f Mon Sep 17 00:00:00 2001 -From: Glenn Randers-Pehrson -Date: Mon, 26 Jan 2015 16:07:00 -0500 -Subject: [PATCH] Bug 1117406 - Fix handling of out-of-range PNG tRNS values. - r=jmuizelaar, a=abillings - ---- - image/decoders/nsPNGDecoder.cpp | 22 ++++++++++++---------- - 1 file changed, 12 insertions(+), 10 deletions(-) - -diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp -index acaa835..8e6bc2d 100644 ---- a/image/decoders/nsPNGDecoder.cpp -+++ b/image/decoders/nsPNGDecoder.cpp -@@ -528,24 +528,26 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr) - png_set_expand(png_ptr); - - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { -- int sample_max = (1 << bit_depth); - png_color_16p trans_values; - png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &trans_values); - /* libpng doesn't reject a tRNS chunk with out-of-range samples - so we check it here to avoid setting up a useless opacity -- channel or producing unexpected transparent pixels when using -- libpng-1.2.19 through 1.2.26 (bug #428045) */ -- if ((color_type == PNG_COLOR_TYPE_GRAY && -- (int)trans_values->gray > sample_max) || -- (color_type == PNG_COLOR_TYPE_RGB && -- ((int)trans_values->red > sample_max || -- (int)trans_values->green > sample_max || -- (int)trans_values->blue > sample_max))) -+ channel or producing unexpected transparent pixels (bug #428045) */ -+ if (bit_depth < 16) { -+ png_uint_16 sample_max = (1 << bit_depth) - 1; -+ if ((color_type == PNG_COLOR_TYPE_GRAY && -+ trans_values->gray > sample_max) || -+ (color_type == PNG_COLOR_TYPE_RGB && -+ (trans_values->red > sample_max || -+ trans_values->green > sample_max || -+ trans_values->blue > sample_max))) - { - /* clear the tRNS valid flag and release tRNS memory */ - png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0); -+ num_trans = 0; - } -- else -+ } -+ if (num_trans != 0) - png_set_expand(png_ptr); - } - --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch deleted file mode 100644 index 685e3a6d43..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 4920c5c447d1153dffa623dd70d8b535b9ca6795 Mon Sep 17 00:00:00 2001 -From: Jan de Mooij -Date: Mon, 26 Jan 2015 12:59:47 +0100 -Subject: [PATCH] Bug 1115776 - Fix LApplyArgsGeneric to always emit the - has-script check. r=shu, a=sledru - ---- - js/src/jit/CodeGenerator.cpp | 24 ++++++++---------------- - 1 file changed, 8 insertions(+), 16 deletions(-) - -diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp -index ba14f86..0669692 100644 ---- a/js/src/jit/CodeGenerator.cpp -+++ b/js/src/jit/CodeGenerator.cpp -@@ -2448,27 +2448,19 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply) - - masm.checkStackAlignment(); - -- // If the function is known to be uncompilable, only emit the call to InvokeFunction. -+ // If the function is native, only emit the call to InvokeFunction. - ExecutionMode executionMode = gen->info().executionMode(); -- if (apply->hasSingleTarget()) { -- JSFunction *target = apply->getSingleTarget(); -- if (target->isNative()) { -- if (!emitCallInvokeFunction(apply, copyreg)) -- return false; -- emitPopArguments(apply, copyreg); -- return true; -- } -+ if (apply->hasSingleTarget() && apply->getSingleTarget()->isNative()) { -+ if (!emitCallInvokeFunction(apply, copyreg)) -+ return false; -+ emitPopArguments(apply, copyreg); -+ return true; - } - - Label end, invoke; - -- // Guard that calleereg is an interpreted function with a JSScript: -- if (!apply->hasSingleTarget()) { -- masm.branchIfFunctionHasNoScript(calleereg, &invoke); -- } else { -- // Native single targets are handled by LCallNative. -- JS_ASSERT(!apply->getSingleTarget()->isNative()); -- } -+ // Guard that calleereg is an interpreted function with a JSScript. -+ masm.branchIfFunctionHasNoScript(calleereg, &invoke); - - // Knowing that calleereg is a non-native function, load the JSScript. - masm.loadPtr(Address(calleereg, JSFunction::offsetOfNativeOrScript()), objreg); --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch deleted file mode 100644 index d067d8133d..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001 -From: Kartikaya Gupta -Date: Tue, 20 Jan 2015 10:33:27 -0500 -Subject: [PATCH] Bug 1107009 - Additional locking needed for esr31 backport. - r=BenWa a=sledru - ---- - gfx/layers/ipc/CompositorParent.cpp | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp -index 97c8693..cb03e71 100644 ---- a/gfx/layers/ipc/CompositorParent.cpp -+++ b/gfx/layers/ipc/CompositorParent.cpp -@@ -1286,13 +1286,19 @@ CrossProcessCompositorParent::ShadowLayersUpdated( - { - uint64_t id = aLayerTree->GetId(); - MOZ_ASSERT(id != 0); -+ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); -+ if (!state) { -+ return; -+ } -+ MOZ_ASSERT(state->mParent); -+ - Layer* shadowRoot = aLayerTree->GetRoot(); - if (shadowRoot) { - SetShadowProperties(shadowRoot); - } - UpdateIndirectTree(id, shadowRoot, aTargetConfig); - -- sIndirectLayerTrees[id].mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); -+ state->mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); - } - - void -@@ -1329,7 +1335,12 @@ AsyncCompositionManager* - CrossProcessCompositorParent::GetCompositionManager(LayerTransactionParent* aLayerTree) - { - uint64_t id = aLayerTree->GetId(); -- return sIndirectLayerTrees[id].mParent->GetCompositionManager(aLayerTree); -+ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); -+ if (!state) { -+ return nullptr; -+ } -+ MOZ_ASSERT(state->mParent); -+ return state->mParent->GetCompositionManager(aLayerTree); - } - - void --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch deleted file mode 100644 index 9a4668b2dc..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch +++ /dev/null @@ -1,219 +0,0 @@ -From 66e65b2138c6db20288ef4cf78d15995f382a7e2 Mon Sep 17 00:00:00 2001 -From: Kartikaya Gupta -Date: Tue, 13 Jan 2015 13:26:26 -0500 -Subject: [PATCH] Bug 1107009. r=BenWa, a=sledru - ---- - gfx/layers/ipc/CompositorParent.cpp | 57 ++++++++++++++++++++++++++++++------- - 1 file changed, 46 insertions(+), 11 deletions(-) - -diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp -index ce50277..cbbb2ef 100644 ---- a/gfx/layers/ipc/CompositorParent.cpp -+++ b/gfx/layers/ipc/CompositorParent.cpp -@@ -22,6 +22,7 @@ - #include "gfxPrefs.h" // for gfxPrefs - #include "ipc/ShadowLayersManager.h" // for ShadowLayersManager - #include "mozilla/AutoRestore.h" // for AutoRestore -+#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown - #include "mozilla/DebugOnly.h" // for DebugOnly - #include "mozilla/gfx/2D.h" // for DrawTarget - #include "mozilla/gfx/Point.h" // for IntSize -@@ -70,6 +71,16 @@ CompositorParent::LayerTreeState::LayerTreeState() - - typedef map LayerTreeMap; - static LayerTreeMap sIndirectLayerTrees; -+static StaticAutoPtr sIndirectLayerTreesLock; -+ -+static void EnsureLayerTreeMapReady() -+{ -+ MOZ_ASSERT(NS_IsMainThread()); -+ if (!sIndirectLayerTreesLock) { -+ sIndirectLayerTreesLock = new Monitor("IndirectLayerTree"); -+ mozilla::ClearOnShutdown(&sIndirectLayerTreesLock); -+ } -+} - - // FIXME/bug 774386: we're assuming that there's only one - // CompositorParent, but that's not always true. This assumption only -@@ -132,6 +143,7 @@ void CompositorParent::StartUp() - return; - } - MOZ_ASSERT(!sCompositorLoop); -+ EnsureLayerTreeMapReady(); - CreateCompositorMap(); - CreateThread(); - sMainLoop = MessageLoop::current(); -@@ -206,7 +218,11 @@ CompositorParent::CompositorParent(nsIWidget* aWidget, - this, &mCompositorID)); - - mRootLayerTreeID = AllocateLayerTreeId(); -- sIndirectLayerTrees[mRootLayerTreeID].mParent = this; -+ -+ { // scope lock -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); -+ sIndirectLayerTrees[mRootLayerTreeID].mParent = this; -+ } - - mApzcTreeManager = new APZCTreeManager(); - ++sCompositorThreadRefCount; -@@ -249,7 +265,10 @@ CompositorParent::Destroy() - mCompositionManager = nullptr; - mApzcTreeManager->ClearTree(); - mApzcTreeManager = nullptr; -- sIndirectLayerTrees.erase(mRootLayerTreeID); -+ { // scope lock -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); -+ sIndirectLayerTrees.erase(mRootLayerTreeID); -+ } - } - - void -@@ -266,6 +285,7 @@ CompositorParent::RecvWillStop() - - // Ensure that the layer manager is destroyed before CompositorChild. - if (mLayerManager) { -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin(); - it != sIndirectLayerTrees.end(); it++) - { -@@ -380,7 +400,10 @@ CompositorParent::ActorDestroy(ActorDestroyReason why) - if (mLayerManager) { - mLayerManager->Destroy(); - mLayerManager = nullptr; -- sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr; -+ { // scope lock -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); -+ sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr; -+ } - mCompositionManager = nullptr; - mCompositor = nullptr; - } -@@ -696,6 +719,7 @@ CompositorParent::DidComposite() - { - unused << SendDidComposite(0); - -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin(); - it != sIndirectLayerTrees.end(); it++) { - LayerTreeState* lts = &it->second; -@@ -867,6 +891,7 @@ CompositorParent::InitializeLayerManager(const nsTArray& aBackend - mLayerManager = layerManager; - MOZ_ASSERT(compositor); - mCompositor = compositor; -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = layerManager; - return; - } -@@ -969,6 +994,7 @@ CompositorParent::RecvNotifyChildCreated(const uint64_t& child) - void - CompositorParent::NotifyChildCreated(uint64_t aChild) - { -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees[aChild].mParent = this; - sIndirectLayerTrees[aChild].mLayerManager = mLayerManager; - } -@@ -985,6 +1011,7 @@ CompositorParent::AllocateLayerTreeId() - static void - EraseLayerState(uint64_t aId) - { -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees.erase(aId); - } - -@@ -1001,6 +1028,7 @@ UpdateControllerForLayersId(uint64_t aLayersId, - GeckoContentController* aController) - { - // Adopt ref given to us by SetControllerForLayerTree() -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees[aLayersId].mController = - already_AddRefed(aController); - } -@@ -1010,12 +1038,15 @@ ScopedLayerTreeRegistration::ScopedLayerTreeRegistration(uint64_t aLayersId, - GeckoContentController* aController) - : mLayersId(aLayersId) - { -+ EnsureLayerTreeMapReady(); -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees[aLayersId].mRoot = aRoot; - sIndirectLayerTrees[aLayersId].mController = aController; - } - - ScopedLayerTreeRegistration::~ScopedLayerTreeRegistration() - { -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees.erase(mLayersId); - } - -@@ -1175,6 +1206,7 @@ CompositorParent::CloneToplevel(const InfallibleTArraysecond; - } - --static void --RemoveIndirectTree(uint64_t aId) --{ -- sIndirectLayerTrees.erase(aId); --} -- - void - CrossProcessCompositorParent::ActorDestroy(ActorDestroyReason aWhy) - { -@@ -1211,6 +1238,8 @@ CrossProcessCompositorParent::AllocPLayerTransactionParent(const nsTArray(aLayers); -- RemoveIndirectTree(slp->GetId()); -+ EraseLayerState(slp->GetId()); - static_cast(aLayers)->ReleaseIPDLReference(); - return true; - } -@@ -1242,6 +1271,7 @@ CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionPa - bool - CrossProcessCompositorParent::RecvNotifyChildCreated(const uint64_t& child) - { -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); - sIndirectLayerTrees[child].mParent->NotifyChildCreated(child); - return true; - } -@@ -1269,7 +1299,12 @@ CrossProcessCompositorParent::ForceComposite(LayerTransactionParent* aLayerTree) - { - uint64_t id = aLayerTree->GetId(); - MOZ_ASSERT(id != 0); -- sIndirectLayerTrees[id].mParent->ForceComposite(aLayerTree); -+ CompositorParent* parent; -+ { // scope lock -+ MonitorAutoLock lock(*sIndirectLayerTreesLock); -+ parent = sIndirectLayerTrees[id].mParent; -+ } -+ parent->ForceComposite(aLayerTree); - } - - bool --- -2.2.1 - diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch deleted file mode 100644 index 869feaf7c6..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 3f0f685829445ae82974d61f6017fdb67349c32b Mon Sep 17 00:00:00 2001 -From: Dan Gohman -Date: Fri, 9 Jan 2015 09:04:12 -0500 -Subject: [PATCH] Bug 1096138 - IonMonkey: Augment Nops with Mops to avoid - collisions with fixed live ranges. r=jandem, a=sledru - ---- - js/src/jit/CodeGenerator.cpp | 6 ++++++ - js/src/jit/CodeGenerator.h | 1 + - js/src/jit/LIR-Common.h | 6 ++++++ - js/src/jit/LOpcodes.h | 1 + - js/src/jit/Lowering.cpp | 12 ++++++++++++ - 5 files changed, 26 insertions(+) - -diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp -index 4f07524..ba14f86 100644 ---- a/js/src/jit/CodeGenerator.cpp -+++ b/js/src/jit/CodeGenerator.cpp -@@ -1077,6 +1077,12 @@ CodeGenerator::visitNop(LNop *lir) - } - - bool -+CodeGenerator::visitMop(LMop *lir) -+{ -+ return true; -+} -+ -+bool - CodeGenerator::visitOsiPoint(LOsiPoint *lir) - { - // Note: markOsiPoint ensures enough space exists between the last -diff --git a/js/src/jit/CodeGenerator.h b/js/src/jit/CodeGenerator.h -index 03677a5..dce095d 100644 ---- a/js/src/jit/CodeGenerator.h -+++ b/js/src/jit/CodeGenerator.h -@@ -58,6 +58,7 @@ class CodeGenerator : public CodeGeneratorSpecific - - bool visitLabel(LLabel *lir); - bool visitNop(LNop *lir); -+ bool visitMop(LMop *lir); - bool visitOsiPoint(LOsiPoint *lir); - bool visitGoto(LGoto *lir); - bool visitTableSwitch(LTableSwitch *ins); -diff --git a/js/src/jit/LIR-Common.h b/js/src/jit/LIR-Common.h -index c90aef9..e7a0e4c 100644 ---- a/js/src/jit/LIR-Common.h -+++ b/js/src/jit/LIR-Common.h -@@ -42,6 +42,12 @@ class LNop : public LInstructionHelper<0, 0, 0> - LIR_HEADER(Nop) - }; - -+class LMop : public LInstructionHelper<0, 0, 0> -+{ -+ public: -+ LIR_HEADER(Mop) -+}; -+ - // An LOsiPoint captures a snapshot after a call and ensures enough space to - // patch in a call to the invalidation mechanism. - // -diff --git a/js/src/jit/LOpcodes.h b/js/src/jit/LOpcodes.h -index a32d64f..cd7eef8 100644 ---- a/js/src/jit/LOpcodes.h -+++ b/js/src/jit/LOpcodes.h -@@ -10,6 +10,7 @@ - #define LIR_COMMON_OPCODE_LIST(_) \ - _(Label) \ - _(Nop) \ -+ _(Mop) \ - _(OsiPoint) \ - _(MoveGroup) \ - _(Integer) \ -diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp -index d5f8227..48b7fa9 100644 ---- a/js/src/jit/Lowering.cpp -+++ b/js/src/jit/Lowering.cpp -@@ -3616,12 +3616,24 @@ LIRGenerator::visitInstruction(MInstruction *ins) - ins->setInWorklistUnchecked(); - #endif - -+ // If we added a Nop for this instruction, we'll also add a Mop, so that -+ // that live-ranges for fixed register defs, which with LSRA extend through -+ // the Nop so that they can extend through the OsiPoint don't, with their -+ // one-extra extension, extend into a position where they use the input -+ // move group for the following instruction. -+ bool needsMop = !current->instructions().empty() && current->rbegin()->isNop(); -+ - // If no safepoint was created, there's no need for an OSI point. - if (LOsiPoint *osiPoint = popOsiPoint()) { - if (!add(osiPoint)) - return false; - } - -+ if (needsMop) { -+ if (!add(new(alloc()) LMop)) -+ return false; -+ } -+ - return true; - } - --- -2.2.1 - From b9156ccc0882fb35fc6b3e109ed45c68a6d40fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 10 Mar 2015 17:26:00 +0100 Subject: [PATCH 170/359] Revert "gnu: vlc: Update to 2.2.0" This reverts commit ad036bda89e338ec44d314d6c17049aff57c788f. This version has always failed to build according to . --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1928755d2b..344e4b6dc4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -357,7 +357,7 @@ audio/video codec library.") (define-public vlc (package (name "vlc") - (version "2.2.0") + (version "2.1.5") (source (origin (method url-fetch) (uri (string-append @@ -365,7 +365,7 @@ audio/video codec library.") version "/vlc-" version ".tar.xz")) (sha256 (base32 - "05smn9hqdp7iscc1dj4cxp1mrlad7b50lhlnlqisfzf493i2f2jy")))) + "0whzbn7ahn5maarcwl1yhk9lq10b0q0y9w5pjl9kh3frdjmncrbg")))) (build-system gnu-build-system) (native-inputs `(("git" ,git) ; needed for a test From 11dddd8a3e559eff21b12db46d993b07b624ab15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 10 Mar 2015 18:07:48 +0100 Subject: [PATCH 171/359] system: Don't compare objects with 'equal?'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by 宋文武 and Tomáš Čech. * gnu/system.scm (operating-system-etc-directory): Remove call to 'delete-duplicates'. * gnu/system/linux.scm (pam-services->directory)[builder]: Add call to 'delete-duplicates'. --- gnu/system.scm | 5 ++--- gnu/system/linux.scm | 10 ++++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index a51b176640..1a0aee41eb 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -511,9 +511,8 @@ export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\" ((services (operating-system-services os)) (pam-services -> ;; Services known to PAM. - (delete-duplicates - (append (operating-system-pam-services os) - (append-map service-pam-services services)))) + (append (operating-system-pam-services os) + (append-map service-pam-services services))) (profile-drv (operating-system-profile os)) (skeletons (operating-system-skeletons os)) (/etc/hosts (or (operating-system-hosts-file os) diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm index 8cddedf28e..aaaa8c6dee 100644 --- a/gnu/system/linux.scm +++ b/gnu/system/linux.scm @@ -100,13 +100,19 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." services)))) (define builder #~(begin - (use-modules (ice-9 match)) + (use-modules (ice-9 match) + (srfi srfi-1)) (mkdir #$output) (for-each (match-lambda ((name file) (symlink file (string-append #$output "/" name)))) - '#$(zip names files)))) + + ;; Since objects cannot be compared with + ;; 'equal?' since they contain gexps, which contain + ;; closures, use 'delete-duplicates' on the build-side + ;; instead. See . + (delete-duplicates '#$(zip names files))))) (gexp->derivation "pam.d" builder))) From c58ed7732ac31ba3829e1bbb4342b63c84e6d44b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Thu, 26 Feb 2015 23:36:55 +0100 Subject: [PATCH 172/359] gnu: Add enlightenment. * gnu/packages/enlightenment.scm (enlightenment): New variable. --- gnu/packages/enlightenment.scm | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 499ea24634..4a59e67ed8 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -28,6 +28,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages fribidi) #:use-module (gnu packages game-development) + #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -234,3 +235,40 @@ based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8, URL and local path detection, themes, popup based content viewer for non-text contents and more.") (license license:bsd-2))) + +(define-public enlightenment + (package + (name "enlightenment") + (version "0.19.4") + (source (origin + (method url-fetch) + (uri + (string-append + "http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-" + version ".tar.gz")) + (sha256 + (base32 "01pg3ng4m3vmwzzivlssdmvhf72bsvcmm3xwf45849cibllaib8v")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("dbus" ,dbus) + ("freetype" ,freetype) + ("gettext" ,gnu-gettext) + ("libxcb" ,libxcb) + ("libxext" ,libxext) + ("linux-pam" ,linux-pam) + ("xcb-util-keysyms" ,xcb-util-keysyms))) + (propagated-inputs + ;; both these inputs are present in pkgconfig file in Require section + `(("efl" ,efl) ; enlightenment.pc + ("elementary" ,elementary))) ; enlightenment.pc + (home-page "http://www.enlightenment.org") + (synopsis "Lightweight desktop environment") + (description + "Enlightenment is resource friendly desktop environment with integrated +file manager, wide range of configuration options, plugin system allowing to +unload unused functionality, with support for touchscreen and suitable for +embedded systems.") + (license license:bsd-2))) From e1605e36a804d5d67fd926ea529d9bab38bc87b7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 9 Mar 2015 11:07:13 +0100 Subject: [PATCH 173/359] gnu: Add openlibm. * gnu/packages/maths.scm (openlibm): New variable. --- gnu/packages/maths.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 231206ce30..24c4149587 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -991,6 +991,43 @@ based on transforming an expression into a bytecode and precalculating constant parts of it.") (license license:expat))) +(define-public openlibm + (package + (name "openlibm") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/JuliaLang/openlibm/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + ;; no configure script + (alist-delete 'configure %standard-phases) + #:tests? #f)) ;the tests are part of the default target + (home-page "http://openlibm.org/") + (synopsis "Portable C mathematical library (libm)") + (description + "OpenLibm is an effort to have a high quality, portable, standalone C +mathematical library (libm). It can be used standalone in applications and +programming language implementations. The project was born out of a need to +have a good libm for the Julia programming langage that worked consistently +across compilers and operating systems, and in 32-bit and 64-bit +environments.") + ;; See LICENSE.md for details. + (license (list license:expat + license:isc + license:bsd-2 + license:public-domain + license:lgpl2.1+)))) + (define-public atlas (package (name "atlas") From e62be58fc35dac1980f59331545d36e7865efc77 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 9 Mar 2015 11:27:52 +0100 Subject: [PATCH 174/359] gnu: Add openspecfun. * gnu/packages/maths.scm (openspecfun): New variable. --- gnu/packages/maths.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 24c4149587..c1f270a721 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1028,6 +1028,43 @@ environments.") license:public-domain license:lgpl2.1+)))) +(define-public openspecfun + (package + (name "openspecfun") + (version "0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/JuliaLang/openspecfun/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nsa3jjmlhcqkw5ba5ypbn3n0c8b6lc22zzlxnmxkxi9shhdx65z")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no "check" target + #:make-flags + (list (string-append "prefix=" (assoc-ref %outputs "out"))) + ;; no configure script + #:phases (alist-delete 'configure %standard-phases))) + (inputs + `(("fortran" ,gfortran-4.8))) + (home-page "https://github.com/JuliaLang/openspecfun") + (synopsis "Collection of special mathematical functions") + (description + "Openspecfun provides AMOS and Faddeeva. AMOS (from Netlib) is a +portable package for Bessel Functions of a Complex Argument and Nonnegative +Order; it contains subroutines for computing Bessel functions and Airy +functions. Faddeeva allows computing the various error functions of arbitrary +complex arguments (Faddeeva function, error function, complementary error +function, scaled complementary error function, imaginary error function, and +Dawson function); given these, one can also easily compute Voigt functions, +Fresnel integrals, and similar related functions as well.") + ;; Faddeeva is released under the Expat license; AMOS is included as + ;; public domain software. + (license (list license:expat license:public-domain)))) + (define-public atlas (package (name "atlas") From 205006624e59f0a9c51742f367a835ef1a3380a1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 6 Mar 2015 21:11:01 +0100 Subject: [PATCH 175/359] gnu: Add PCB. * gnu/packages/engineering.scm (pcb): New variable. --- gnu/packages/engineering.scm | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b29c6bc9f4..88b462c232 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -25,16 +25,22 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gd) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module ((gnu packages linux) #:select (eudev)) ; FIXME: for pcb #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) + #:use-module (gnu packages tcl) #:use-module (srfi srfi-1)) (define-public librecad @@ -135,3 +141,58 @@ tool to forward annotation from your schematic to layout using PCB; some minor utilities.") (license license:gpl2+))) +(define-public pcb + (package + (name "pcb") + (version "20140316") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.geda-project.org/pcb/pcb-" version "/pcb-" + version ".tar.gz")) + (sha256 + (base32 + "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-after + 'unpack 'use-wish8.6 + (lambda _ + (substitute* "configure" + (("wish85") "wish8.6"))) + (alist-cons-after + 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a + ;; fix of the mesa package we wrap the pcb executable such that + ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. + (let* ((out (assoc-ref outputs "out")) + (path (string-append (assoc-ref inputs "udev") "/lib"))) + (wrap-program (string-append out "/bin/pcb") + `("LD_LIBRARY_PATH" ":" prefix (,path))))) + %standard-phases)))) + (inputs + `(("dbus" ,dbus) + ("mesa" ,mesa) + ("udev" ,eudev) ;FIXME: required by mesa + ("glu" ,glu) + ("gd" ,gd) + ("gtk" ,gtk+-2) + ("gtkglext" ,gtkglext) + ("desktop-file-utils" ,desktop-file-utils) + ("shared-mime-info" ,shared-mime-info) + ("tk" ,tk))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("bison" ,bison) + ("flex" ,flex))) + (home-page "http://pcb.geda-project.org/") + (synopsis "Design printed circuit board layouts") + (description + "GNU PCB is an interactive tool for editing printed circuit board +layouts. It features a rats-nest implementation, schematic/netlist import, +and design rule checking. It also includes an autorouter and a trace +optimizer; and it can produce photorealistic and design review images.") + (license license:gpl2+))) From 192b48020f7561ae3c6b9308f99b58aec47995a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Mar 2015 08:55:57 +0100 Subject: [PATCH 176/359] gnu: Add WenQuanYi ZenHei font. * gnu/packages/fonts.scm (font-wqy-zenhei): New variable. --- gnu/packages/fonts.scm | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 77abc2b700..40b17220b9 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -359,3 +359,50 @@ fonts are intended to support the characters necessary to render or display text in Simplified Chinese, Traditional Chinese, Japanese, and Korean. ") (license license:asl2.0))) + +(define-public font-wqy-zenhei + (package + (name "font-wqy-zenhei") + (version "0.9.45") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/wqy/wqy-zenhei-" + version ".tar.gz")) + (file-name (string-append "wqy-zenhei-" version ".tar.gz")) + (sha256 + (base32 + "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((PATH (string-append (assoc-ref %build-inputs "tar") "/bin:" + (assoc-ref %build-inputs "gzip") "/bin")) + (font-dir (string-append (assoc-ref %outputs "out") + "/share/fonts/wenquanyi/"))) + (setenv "PATH" PATH) + (mkdir-p font-dir) + (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (chdir "wqy-zenhei") + (copy-file "wqy-zenhei.ttc" + (string-append font-dir "wqy-zenhei.ttc")))))) + (native-inputs + `(("gzip" ,gzip) + ("tar" ,tar))) + (home-page "http://wenq.org/wqy2/") + (synopsis "CJK font") + (description + "WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline +font. It is designed for general purpose text formatting and on-screen +display of Chinese characters and symbols from many other languages. +WenQuanYi Zen Hei provides a rather complete coverage to Chinese Hanzi glyphs, +including both simplified and traditional forms. The total glyph number in +this font is over 35,000, including over 21,000 Chinese Hanzi. This font has +full coverage to GBK(CP936) charset, CJK Unified Ideographs, as well as the +code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and +ko (Korean) locales for fontconfig.") + ;; GPLv2 with font embedding exception + (license license:gpl2))) From 8142aff3f675df50495fcf1a89903a06bb930660 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 9 Mar 2015 13:48:43 -0500 Subject: [PATCH 177/359] gnu: Group and alphabetize perl module packages. * gnu/packages/web.scm (perl-encode-locale, perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies, perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate, perl-io-html, perl-io-socket-ssl, perl-libwww, perl-lwp-mediatypes, perl-net-http, perl-uri, perl-www-curl, perl-www-robotrules): Group and alphabetize. --- gnu/packages/web.scm | 802 ++++++++++++++++++++++--------------------- 1 file changed, 402 insertions(+), 400 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index c977a1ee7d..07fcc21c31 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -325,360 +326,6 @@ used to validate and fix HTML data.") (home-page "http://tidy.sourceforge.net/") (license (l:x11-style "file:///include/tidy.h")))) -(define-public perl-html-tagset - (package - (name "perl-html-tagset") - (version "3.20") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-" - version ".tar.gz")) - (sha256 - (base32 - "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl data tables useful in parsing HTML") - (description - "The HTML::Tagset module contains several data tables useful in various -kinds of HTML parsing operations.") - (home-page "http://search.cpan.org/dist/HTML-Tagset/"))) - -(define-public perl-html-parser - (package - (name "perl-html-parser") - (version "3.71") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-" - version ".tar.gz")) - (sha256 - (base32 - "00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy")))) - (build-system perl-build-system) - (inputs - `(("perl-html-tagset" ,perl-html-tagset))) - (license (package-license perl)) - (synopsis "Perl HTML parser class") - (description - "Objects of the HTML::Parser class will recognize markup and separate -it from plain text (alias data content) in HTML documents. As different -kinds of markup and text are recognized, the corresponding event handlers -are invoked.") - (home-page "http://search.cpan.org/~gaas/HTML-Parser/"))) - -(define-public perl-http-date - (package - (name "perl-http-date") - (version "6.02") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-" - version ".tar.gz")) - (sha256 - (base32 - "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl date conversion routines") - (description - "The HTTP::Date module provides functions that deal with date formats -used by the HTTP protocol (and then some more).") - (home-page "http://search.cpan.org/~gaas/HTTP-Date/"))) - -(define-public perl-uri - (package - (name "perl-uri") - (version "1.60") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/URI-" - version ".tar.gz")) - (sha256 - (base32 - "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") - (description - "The URI module implements the URI class. Objects of this class -represent \"Uniform Resource Identifier references\" as specified in RFC 2396 -(and updated by RFC 2732).") - (home-page "http://search.cpan.org/~gaas/URI/"))) - -(define-public perl-lwp-mediatypes - (package - (name "perl-lwp-mediatypes") - (version "6.02") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-" - version ".tar.gz")) - (sha256 - (base32 - "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl module to guess the media type for a file or a URL") - (description - "The LWP::MediaTypes module provides functions for handling media (also -known as MIME) types and encodings. The mapping from file extensions to -media types is defined by the media.types file. If the ~/.media.types file -exists it is used instead.") - (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/"))) - -(define-public perl-io-html - (package - (name "perl-io-html") - (version "1.00") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-" - version ".tar.gz")) - (sha256 - (base32 - "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl module to open an HTML file with automatic charset detection") - (description - "IO::HTML provides an easy way to open a file containing HTML while -automatically determining its encoding. It uses the HTML5 encoding sniffing -algorithm specified in section 8.2.2.1 of the draft standard.") - (home-page "http://search.cpan.org/~cjm/IO-HTML/"))) - -(define-public perl-http-message - (package - (name "perl-http-message") - (version "6.06") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-" - version ".tar.gz")) - (sha256 - (base32 - "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-http-date" ,perl-http-date) - ("perl-uri" ,perl-uri))) - (inputs - `(("perl-io-html" ,perl-io-html) - ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) - (license (package-license perl)) - (synopsis "Perl HTTP style message") - (description - "An HTTP::Message object contains some headers and a content body.") - (home-page "http://search.cpan.org/~gaas/HTTP-Message/"))) - -(define-public perl-http-cookies - (package - (name "perl-http-cookies") - (version "6.01") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-" - version ".tar.gz")) - (sha256 - (base32 - "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-http-message" ,perl-http-message))) - (license (package-license perl)) - (synopsis "Perl HTTP cookie jars") - (description - "The HTTP::Cookies class is for objects that represent a cookie jar, -that is, a database of all the HTTP cookies that a given LWP::UserAgent -object knows about.") - (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/"))) - -(define-public perl-http-daemon - (package - (name "perl-http-daemon") - (version "6.01") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-" - version ".tar.gz")) - (sha256 - (base32 - "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-http-message" ,perl-http-message) - ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) - (license (package-license perl)) - (synopsis "Perl simple http server class") - (description - "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen -on a socket for incoming requests. The HTTP::Daemon is a subclass of -IO::Socket::INET, so you can perform socket operations directly on it too.") - (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/"))) - -(define-public perl-http-negotiate - (package - (name "perl-http-negotiate") - (version "6.01") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-" - version ".tar.gz")) - (sha256 - (base32 - "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-http-message" ,perl-http-message))) - (license (package-license perl)) - (synopsis "Perl http content negotiation") - (description - "The HTTP::Negotiate module provides a complete implementation of the -HTTP content negotiation algorithm specified in -draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for -the selection of a preferred content representation based upon attributes -of the negotiable variants and the value of the various Accept* header -fields in the request.") - (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/"))) - -(define-public perl-www-robotrules - (package - (name "perl-www-robotrules") - (version "6.02") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-" - version ".tar.gz")) - (sha256 - (base32 - "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-uri" ,perl-uri))) - (license (package-license perl)) - (synopsis "Perl database of robots.txt-derived permissions") - (description - "The WWW::RobotRules module parses /robots.txt files as specified in -\"A Standard for Robot Exclusion\", at -. Webmasters can use the -/robots.txt file to forbid conforming robots from accessing parts of -their web site.") - (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/"))) - -(define-public perl-net-http - (package - (name "perl-net-http") - (version "6.06") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-" - version ".tar.gz")) - (sha256 - (base32 - "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl low-level HTTP connection (client)") - (description - "The Net::HTTP class is a low-level HTTP client. An instance of the -Net::HTTP class represents a connection to an HTTP server. The HTTP protocol -is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and -HTTP/1.1.") - (home-page "http://search.cpan.org/~gaas/Net-HTTP/"))) - -(define-public perl-file-listing - (package - (name "perl-file-listing") - (version "6.04") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" - version ".tar.gz")) - (sha256 - (base32 - "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-http-date" ,perl-http-date))) - (license (package-license perl)) - (synopsis "Perl directory listing parser") - (description - "The File::Listing module exports a single function called parse_dir(), -which can be used to parse directory listings.") - (home-page "http://search.cpan.org/~gaas/File-Listing/"))) - -(define-public perl-encode-locale - (package - (name "perl-encode-locale") - (version "1.03") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-" - version ".tar.gz")) - (sha256 - (base32 - "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp")))) - (build-system perl-build-system) - (license (package-license perl)) - (synopsis "Perl locale encoding determination") - (description - "The POSIX locale system is used to specify both the language -conventions requested by the user and the preferred character set to consume -and output. The Encode::Locale module looks up the charset and encoding -(called a CODESET in the locale jargon) and arranges for the Encode module -to know this encoding under the name \"locale\". It means bytes obtained -from the environment can be converted to Unicode strings by calling -Encode::encode(locale => $bytes) and converted back again with -Encode::decode(locale => $string).") - (home-page "http://search.cpan.org/~gaas/Encode-Locale/"))) - -(define-public perl-libwww - (package - (name "perl-libwww") - (version "6.05") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-" - version ".tar.gz")) - (sha256 - (base32 - "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv")))) - (build-system perl-build-system) - (propagated-inputs - `(("perl-encode-locale" ,perl-encode-locale) - ("perl-file-listing" ,perl-file-listing) - ("perl-html-parser" ,perl-html-parser) - ("perl-http-cookies" ,perl-http-cookies) - ("perl-http-daemon" ,perl-http-daemon) - ("perl-http-negotiate" ,perl-http-negotiate) - ("perl-net-http" ,perl-net-http) - ("perl-www-robotrules" ,perl-www-robotrules))) - (license (package-license perl)) - (synopsis "Perl modules for the WWW") - (description - "The libwww-perl collection is a set of Perl modules which provides a -simple and consistent application programming interface to the -World-Wide Web. The main focus of the library is to provide classes -and functions that allow you to write WWW clients. The library also -contains modules that are of more general use and even classes that -help you implement simple HTTP servers.") - (home-page "http://search.cpan.org/~gaas/libwww-perl/"))) - (define-public tinyproxy (package (name "tinyproxy") @@ -722,52 +369,6 @@ proxy is required, but the system resources for a larger proxy are unavailable.") (license l:gpl2+))) -(define-public perl-www-curl - (package - (name "perl-www-curl") - (version "4.17") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-" - version".tar.gz")) - (sha256 - (base32 - "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj")))) - (build-system perl-build-system) - (arguments - '(#:tests? #f)) ;XXX: tests require network access - (inputs `(("curl" ,curl))) - (synopsis "Perl extension interface for libcurl") - (description - "This is a Perl extension interface for the libcurl file downloading -library.") - (license (package-license perl)) - (home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm"))) - -(define-public perl-io-socket-ssl - (package - (name "perl-io-socket-ssl") - (version "2.002") - (source (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/S/SU/SULLR/" - "IO-Socket-SSL-" version ".tar.gz")) - (sha256 - (base32 - "1mph52lw6x5v44wf8mw00llzi8pp6k5c4jnrnrvlacrlfv260jb8")))) - (build-system perl-build-system) - (propagated-inputs `(("perl-net-ssleay" ,perl-net-ssleay))) - (synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET") - (description - "IO::Socket::SSL makes using SSL/TLS much easier by wrapping the -necessary functionality into the familiar IO::Socket interface and providing -secure defaults whenever possible. This way existing applications can be made -SSL-aware without much effort, at least if you do blocking I/O and don't use -select or poll.") - (license (package-license perl)) - (home-page "https://github.com/noxxi/p5-io-socket-ssl"))) - (define-public polipo (package (name "polipo") @@ -893,3 +494,404 @@ URLs and extracting their actual media files.") (description "quvi is a command-line-tool suite to extract media files from streaming URLs. It is a command-line wrapper for the libquvi library.") (license l:lgpl2.1+))) + + +(define-public perl-encode-locale + (package + (name "perl-encode-locale") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-" + version ".tar.gz")) + (sha256 + (base32 + "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl locale encoding determination") + (description + "The POSIX locale system is used to specify both the language +conventions requested by the user and the preferred character set to consume +and output. The Encode::Locale module looks up the charset and encoding +(called a CODESET in the locale jargon) and arranges for the Encode module +to know this encoding under the name \"locale\". It means bytes obtained +from the environment can be converted to Unicode strings by calling +Encode::encode(locale => $bytes) and converted back again with +Encode::decode(locale => $string).") + (home-page "http://search.cpan.org/~gaas/Encode-Locale/"))) + +(define-public perl-file-listing + (package + (name "perl-file-listing") + (version "6.04") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" + version ".tar.gz")) + (sha256 + (base32 + "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-http-date" ,perl-http-date))) + (license (package-license perl)) + (synopsis "Perl directory listing parser") + (description + "The File::Listing module exports a single function called parse_dir(), +which can be used to parse directory listings.") + (home-page "http://search.cpan.org/~gaas/File-Listing/"))) + +(define-public perl-html-parser + (package + (name "perl-html-parser") + (version "3.71") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-" + version ".tar.gz")) + (sha256 + (base32 + "00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy")))) + (build-system perl-build-system) + (inputs + `(("perl-html-tagset" ,perl-html-tagset))) + (license (package-license perl)) + (synopsis "Perl HTML parser class") + (description + "Objects of the HTML::Parser class will recognize markup and separate +it from plain text (alias data content) in HTML documents. As different +kinds of markup and text are recognized, the corresponding event handlers +are invoked.") + (home-page "http://search.cpan.org/~gaas/HTML-Parser/"))) + +(define-public perl-html-tagset + (package + (name "perl-html-tagset") + (version "3.20") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-" + version ".tar.gz")) + (sha256 + (base32 + "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl data tables useful in parsing HTML") + (description + "The HTML::Tagset module contains several data tables useful in various +kinds of HTML parsing operations.") + (home-page "http://search.cpan.org/dist/HTML-Tagset/"))) + +(define-public perl-http-cookies + (package + (name "perl-http-cookies") + (version "6.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-" + version ".tar.gz")) + (sha256 + (base32 + "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-http-message" ,perl-http-message))) + (license (package-license perl)) + (synopsis "Perl HTTP cookie jars") + (description + "The HTTP::Cookies class is for objects that represent a cookie jar, +that is, a database of all the HTTP cookies that a given LWP::UserAgent +object knows about.") + (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/"))) + +(define-public perl-http-daemon + (package + (name "perl-http-daemon") + (version "6.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-" + version ".tar.gz")) + (sha256 + (base32 + "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-http-message" ,perl-http-message) + ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) + (license (package-license perl)) + (synopsis "Perl simple http server class") + (description + "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen +on a socket for incoming requests. The HTTP::Daemon is a subclass of +IO::Socket::INET, so you can perform socket operations directly on it too.") + (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/"))) + +(define-public perl-http-date + (package + (name "perl-http-date") + (version "6.02") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-" + version ".tar.gz")) + (sha256 + (base32 + "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl date conversion routines") + (description + "The HTTP::Date module provides functions that deal with date formats +used by the HTTP protocol (and then some more).") + (home-page "http://search.cpan.org/~gaas/HTTP-Date/"))) + +(define-public perl-http-message + (package + (name "perl-http-message") + (version "6.06") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-" + version ".tar.gz")) + (sha256 + (base32 + "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-http-date" ,perl-http-date) + ("perl-uri" ,perl-uri))) + (inputs + `(("perl-io-html" ,perl-io-html) + ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) + (license (package-license perl)) + (synopsis "Perl HTTP style message") + (description + "An HTTP::Message object contains some headers and a content body.") + (home-page "http://search.cpan.org/~gaas/HTTP-Message/"))) + +(define-public perl-http-negotiate + (package + (name "perl-http-negotiate") + (version "6.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-" + version ".tar.gz")) + (sha256 + (base32 + "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-http-message" ,perl-http-message))) + (license (package-license perl)) + (synopsis "Perl http content negotiation") + (description + "The HTTP::Negotiate module provides a complete implementation of the +HTTP content negotiation algorithm specified in +draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for +the selection of a preferred content representation based upon attributes +of the negotiable variants and the value of the various Accept* header +fields in the request.") + (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/"))) + +(define-public perl-io-html + (package + (name "perl-io-html") + (version "1.00") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-" + version ".tar.gz")) + (sha256 + (base32 + "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl module to open an HTML file with automatic charset detection") + (description + "IO::HTML provides an easy way to open a file containing HTML while +automatically determining its encoding. It uses the HTML5 encoding sniffing +algorithm specified in section 8.2.2.1 of the draft standard.") + (home-page "http://search.cpan.org/~cjm/IO-HTML/"))) + +(define-public perl-io-socket-ssl + (package + (name "perl-io-socket-ssl") + (version "2.002") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SU/SULLR/" + "IO-Socket-SSL-" version ".tar.gz")) + (sha256 + (base32 + "1mph52lw6x5v44wf8mw00llzi8pp6k5c4jnrnrvlacrlfv260jb8")))) + (build-system perl-build-system) + (propagated-inputs `(("perl-net-ssleay" ,perl-net-ssleay))) + (synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET") + (description + "IO::Socket::SSL makes using SSL/TLS much easier by wrapping the +necessary functionality into the familiar IO::Socket interface and providing +secure defaults whenever possible. This way existing applications can be made +SSL-aware without much effort, at least if you do blocking I/O and don't use +select or poll.") + (license (package-license perl)) + (home-page "https://github.com/noxxi/p5-io-socket-ssl"))) + +(define-public perl-libwww + (package + (name "perl-libwww") + (version "6.05") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-" + version ".tar.gz")) + (sha256 + (base32 + "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-encode-locale" ,perl-encode-locale) + ("perl-file-listing" ,perl-file-listing) + ("perl-html-parser" ,perl-html-parser) + ("perl-http-cookies" ,perl-http-cookies) + ("perl-http-daemon" ,perl-http-daemon) + ("perl-http-negotiate" ,perl-http-negotiate) + ("perl-net-http" ,perl-net-http) + ("perl-www-robotrules" ,perl-www-robotrules))) + (license (package-license perl)) + (synopsis "Perl modules for the WWW") + (description + "The libwww-perl collection is a set of Perl modules which provides a +simple and consistent application programming interface to the +World-Wide Web. The main focus of the library is to provide classes +and functions that allow you to write WWW clients. The library also +contains modules that are of more general use and even classes that +help you implement simple HTTP servers.") + (home-page "http://search.cpan.org/~gaas/libwww-perl/"))) + +(define-public perl-lwp-mediatypes + (package + (name "perl-lwp-mediatypes") + (version "6.02") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-" + version ".tar.gz")) + (sha256 + (base32 + "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl module to guess the media type for a file or a URL") + (description + "The LWP::MediaTypes module provides functions for handling media (also +known as MIME) types and encodings. The mapping from file extensions to +media types is defined by the media.types file. If the ~/.media.types file +exists it is used instead.") + (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/"))) + +(define-public perl-net-http + (package + (name "perl-net-http") + (version "6.06") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-" + version ".tar.gz")) + (sha256 + (base32 + "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl low-level HTTP connection (client)") + (description + "The Net::HTTP class is a low-level HTTP client. An instance of the +Net::HTTP class represents a connection to an HTTP server. The HTTP protocol +is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and +HTTP/1.1.") + (home-page "http://search.cpan.org/~gaas/Net-HTTP/"))) + +(define-public perl-uri + (package + (name "perl-uri") + (version "1.60") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/URI-" + version ".tar.gz")) + (sha256 + (base32 + "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz")))) + (build-system perl-build-system) + (license (package-license perl)) + (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") + (description + "The URI module implements the URI class. Objects of this class +represent \"Uniform Resource Identifier references\" as specified in RFC 2396 +and updated by RFC 2732.") + (home-page "http://search.cpan.org/~gaas/URI/"))) + +(define-public perl-www-curl + (package + (name "perl-www-curl") + (version "4.17") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-" + version".tar.gz")) + (sha256 + (base32 + "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj")))) + (build-system perl-build-system) + (arguments + '(#:tests? #f)) ;XXX: tests require network access + (inputs `(("curl" ,curl))) + (synopsis "Perl extension interface for libcurl") + (description + "This is a Perl extension interface for the libcurl file downloading +library.") + (license (package-license perl)) + (home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm"))) + +(define-public perl-www-robotrules + (package + (name "perl-www-robotrules") + (version "6.02") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-" + version ".tar.gz")) + (sha256 + (base32 + "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-uri" ,perl-uri))) + (license (package-license perl)) + (synopsis "Perl database of robots.txt-derived permissions") + (description + "The WWW::RobotRules module parses /robots.txt files as specified in +\"A Standard for Robot Exclusion\", at +. Webmasters can use the +/robots.txt file to forbid conforming robots from accessing parts of +their web site.") + (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/"))) From 3deac8c17b3ec6834437596cc3d9655724806651 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 14:53:39 -0500 Subject: [PATCH 178/359] gnu: Add Time-Local. * gnu/packages/perl.scm (perl-time-local): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 44332fe519..bd15f80aa1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2085,6 +2085,27 @@ used to match against text, rather than fetching names from a filesystem. If you want to do full file globbing use the File::Glob module instead.") (license (package-license perl)))) +(define-public perl-time-local + (package + (name "perl-time-local") + (version "1.2300") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Time-Local-" version ".tar.gz")) + (sha256 + (base32 + "0jgvd6v93hlrcmy56yxbm4yrhzi8yvrq8c3xffpgh28af01wmb5j")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Time-Local") + (synopsis "Efficiently compute time from local and GMT time") + (description "This module provides functions that are the inverse of +built-in perl functions localtime() and gmtime(). They accept a date as a +six-element array, and return the corresponding time(2) value in seconds since +the system epoch") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From 9afa15ffee9985c9197450cf558c47453580269a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:04:44 -0500 Subject: [PATCH 179/359] gnu: Add Class-Inspector. * gnu/packages/perl.scm (perl-class-inspector): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bd15f80aa1..9709c4b655 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -216,6 +216,25 @@ whole (instead of about a single object). This data is then inherited by your subclasses and can be overriden.") (license (package-license perl)))) +(define-public perl-class-inspector + (package + (name "perl-class-inspector") + (version "1.28") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "Class-Inspector-" version ".tar.gz")) + (sha256 + (base32 + "04iij8dbcgaim7g109frpyf7mh4ydsd8zh53r53chk0zxnivg91w")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Class-Inspector") + (synopsis "Get information about a class and its structure") + (description "Class::Inspector allows you to get information about a +loaded class.") + (license (package-license perl)))) + (define-public perl-class-load (package (name "perl-class-load") From e55d07b134680ca952ee6e458ce34ff57ea3ec17 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 14:54:11 -0500 Subject: [PATCH 180/359] gnu: Add File-ShareDir-Install. * gnu/packages/perl.scm (perl-file-sharedir-install): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9709c4b655..7dc3105b2e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -868,6 +868,26 @@ provided base directory and can return files (and/or directories if desired) matching a regular expression.") (home-page "http://search.cpan.org/~dopacki/File-List/"))) +(define-public perl-file-sharedir-install + (package + (name "perl-file-sharedir-install") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GW/GWYN/" + "File-ShareDir-Install-" version ".tar.gz")) + (sha256 + (base32 + "1xz60bi7x8755lq24rx7y1jkyk3icssn7s55z665mysdxhfzg2kh")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/File-ShareDir-Install") + (synopsis "Install shared files") + (description "File::ShareDir::Install allows you to install read-only data +files from a distribution. It is a companion module to File::ShareDir, which +allows you to locate these files after installation.") + (license (package-license perl)))) + (define-public perl-file-temp (package (name "perl-file-temp") From 1e507297e975aac7e7c8e507d37af330d94b0e63 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 14:54:38 -0500 Subject: [PATCH 181/359] gnu: Add File-ShareDir. * gnu/packages/perl.scm (perl-file-sharedir): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7dc3105b2e..4fe5f1f938 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -868,6 +868,33 @@ provided base directory and can return files (and/or directories if desired) matching a regular expression.") (home-page "http://search.cpan.org/~dopacki/File-List/"))) +(define-public perl-file-sharedir + (package + (name "perl-file-sharedir") + (version "1.102") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "File-ShareDir-" version ".tar.gz")) + (sha256 + (base32 + "04blqn4cms9zjmhlfvwyx6mrglaaq1mmy4xwv7xqf9c8fjwk8wvw")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-sharedir-install" ,perl-file-sharedir-install))) + (propagated-inputs + `(("perl-class-inspector" ,perl-class-inspector))) + (home-page "http://search.cpan.org/dist/File-ShareDir") + (synopsis "Locate per-dist and per-module shared files") + (description "The intent of File::ShareDir is to provide a companion to +Class::Inspector and File::HomeDir. Quite often you want or need your Perl +module to have access to a large amount of read-only data that is stored on +the file-system at run-time. Once the files have been installed to the +correct directory, you can use File::ShareDir to find your files again after +the installation.") + (license (package-license perl)))) + (define-public perl-file-sharedir-install (package (name "perl-file-sharedir-install") From 9bc8671846c5a3f8567f83ff86df31df5badbd09 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:09:38 -0500 Subject: [PATCH 182/359] gnu: Add Test-MockTime. * gnu/packages/perl.scm (perl-test-mocktime): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4fe5f1f938..f1894196c5 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1881,6 +1881,28 @@ testing exception-throwing code with about the same amount of typing.") automatically aggregated and output to STDOUT.") (license (package-license perl)))) +(define-public perl-test-mocktime + (package + (name "perl-test-mocktime") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DD/DDICK/" + "Test-MockTime-" version ".tar.gz")) + (sha256 + (base32 + "0yrqmjg33akannwz2f99rfm7dvvxpzsdj23lsvlvfi4qslrlqfvw")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-MockTime") + (synopsis "Replaces actual time with simulated time") + (description "This module was created to enable test suites to test code +at specific points in time. Specifically it overrides localtime, gmtime and +time at compile time and then relies on the user supplying a mock time via +set_relative_time, set_absolute_time or set_fixed_time to alter future calls +to gmtime,time or localtime.") + (license (package-license perl)))) + (define-public perl-test-most (package (name "perl-test-most") From f5721e475fb8e1399f883700d8f71b6d37f20a06 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:13:04 -0500 Subject: [PATCH 183/359] gnu: Add POSIX-strftime-Compiler. * gnu/packages/perl.scm (perl-posix-strftime-compiler): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f1894196c5..0dc3521dc9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1480,6 +1480,28 @@ checking parameters easier.") up inheritance from those modules at the same time.") (license (package-license perl)))) +(define-public perl-posix-strftime-compiler + (package + (name "perl-posix-strftime-compiler") + (version "0.41") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/" + "POSIX-strftime-Compiler-" version ".tar.gz")) + (sha256 + (base32 + "0f9p3hx0vqx8zg5v24pz0s4zc8ln100c7c91ks681wq02phqj2v7")))) + (build-system perl-build-system) + (arguments `(#:tests? #f)) ;TODO: Timezone test failures + (home-page "http://search.cpan.org/dist/POSIX-strftime-Compiler") + (synopsis "GNU C library compatible strftime for loggers and servers") + (description "POSIX::strftime::Compiler provides GNU C library compatible +strftime(3). But this module is not affected by the system locale. This +feature is useful when you want to write loggers, servers, and portable +applications.") + (license (package-license perl)))) + (define-public perl-probe-perl (package (name "perl-probe-perl") From dc1c804a6c4292b4797ef2af4b008f0d566eb0eb Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:21:30 -0500 Subject: [PATCH 184/359] gnu: Add Apache-LogFormat-Compiler. * gnu/packages/web.scm (perl-apache-logformat-compiler): New variable. --- gnu/packages/web.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 07fcc21c31..e245bc6cd9 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -496,6 +496,33 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.") (license l:lgpl2.1+))) +(define-public perl-apache-logformat-compiler + (package + (name "perl-apache-logformat-compiler") + (version "0.32") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/" + "Apache-LogFormat-Compiler-" version ".tar.gz")) + (sha256 + (base32 + "0zyx4r2bxc6d48m70fhcq80nw0q9wnfz6qgn1g0r6bigqgdjq4dw")))) + (build-system perl-build-system) + (native-inputs + `(("perl-http-message" ,perl-http-message) + ("perl-test-mocktime" ,perl-test-mocktime) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-uri" ,perl-uri))) + (propagated-inputs + `(("perl-posix-strftime-compiler" ,perl-posix-strftime-compiler))) + (arguments `(#:tests? #f)) ;TODO: Timezone test failures + (home-page "http://search.cpan.org/dist/Apache-LogFormat-Compiler") + (synopsis "Compile a log format string to perl-code") + (description "This module provides methods to compile a log format string +to perl-code, for faster generation of access_log lines.") + (license (package-license perl)))) + (define-public perl-encode-locale (package (name "perl-encode-locale") From 40f2518c1f844ce44e2ec7907ea10a15fd6d8ad9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:31:52 -0500 Subject: [PATCH 185/359] gnu: Add TimeDate. * gnu/packages/perl.scm (perl-timedate): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0dc3521dc9..00a811c206 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2216,6 +2216,25 @@ six-element array, and return the corresponding time(2) value in seconds since the system epoch") (license (package-license perl)))) +(define-public perl-timedate + (package + (name "perl-timedate") + (version "2.30") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GB/GBARR/" + "TimeDate-" version ".tar.gz")) + (sha256 + (base32 + "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/TimeDate") + (synopsis "Date parsing/formating subroutines") + (description "This module provides routines for parsing date string into +time values and formating dates into ASCII strings.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From b79d8b1ff7d94e67fe49564f30c21d2d2fa1dc8b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:32:36 -0500 Subject: [PATCH 186/359] gnu: Add Time-Mock. * gnu/packages/perl.scm (perl-time-mock): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 00a811c206..94023782ba 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2235,6 +2235,27 @@ the system epoch") time values and formating dates into ASCII strings.") (license (package-license perl)))) +(define-public perl-time-mock + (package + (name "perl-time-mock") + (version "v0.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EW/EWILHELM/" + "Time-Mock-" version ".tar.gz")) + (sha256 + (base32 + "0bwqyg8z98m8cjw1qcm4wg502n225k33j2fp8ywxkgfjdd1zgllv")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-timedate" ,perl-timedate))) ;For Date::Parse + (home-page "http://search.cpan.org/dist/Time-Mock") + (synopsis "Shift and scale time") + (description "This module allows you to speed up your sleep(), alarm(), +and time() calls.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From c8a316a3b7c2ebeb10e4a9dc4a732b7ae19aafa0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:34:49 -0500 Subject: [PATCH 187/359] gnu: Add HTTP-CookieJar. * gnu/packages/web.scm (perl-http-cookiejar): New variable. --- gnu/packages/web.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e245bc6cd9..f8eda6e4f1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -615,6 +615,32 @@ are invoked.") kinds of HTML parsing operations.") (home-page "http://search.cpan.org/dist/HTML-Tagset/"))) +(define-public perl-http-cookiejar + (package + (name "perl-http-cookiejar") + (version "0.006") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "HTTP-CookieJar-" version ".tar.gz")) + (sha256 + (base32 + "0c7l29ak6ba2j006ca00vnkxpyc1fvpikydjvsb24s50zf1mv7b2")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-deep" ,perl-test-deep) + ("perl-test-requires" ,perl-test-requires) + ("perl-time-mock" ,perl-time-mock))) + (inputs + `(("perl-time-local" ,perl-time-local) + ("perl-http-date" ,perl-http-date))) + (home-page "http://search.cpan.org/dist/HTTP-CookieJar") + (synopsis "Minimalist HTTP user agent cookie jar") + (description "This module implements a minimalist HTTP user agent cookie +jar in conformance with RFC 6265 .") + (license l:asl2.0))) + (define-public perl-http-cookies (package (name "perl-http-cookies") From 2b63ebc1fea2bacca53c40e2805f4daa48d1f4bc Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 15:46:50 -0500 Subject: [PATCH 188/359] gnu: Add IO-Socket-IP. * gnu/packages/web.scm (perl-io-socket-ip): New variable. --- gnu/packages/web.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f8eda6e4f1..18a193c539 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -780,6 +780,25 @@ automatically determining its encoding. It uses the HTML5 encoding sniffing algorithm specified in section 8.2.2.1 of the draft standard.") (home-page "http://search.cpan.org/~cjm/IO-HTML/"))) +(define-public perl-io-socket-ip + (package + (name "perl-io-socket-ip") + (version "0.36") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/" + "IO-Socket-IP-" version ".tar.gz")) + (sha256 + (base32 + "0ky20hmln6waipzqikizyw04vpszf70fgpshz7ib8zv8480ri456")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IO-Socket-IP") + (synopsis "Family-neutral IP socket supporting both IPv4 and IPv6") + (description "This module provides a protocol-independent way to use IPv4 +and IPv6 sockets, intended as a replacement for IO::Socket::INET.") + (license (package-license perl)))) + (define-public perl-io-socket-ssl (package (name "perl-io-socket-ssl") From c3c03bebd1e34ca2a40a46af08d0ae99e11bab15 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 17:14:26 -0500 Subject: [PATCH 189/359] gnu: Add HTTP-Tiny. * gnu/packages/web.scm (perl-http-tiny): New variable. --- gnu/packages/web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 18a193c539..7da10cf3be 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -759,6 +759,31 @@ of the negotiable variants and the value of the various Accept* header fields in the request.") (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/"))) +(define-public perl-http-tiny + (package + (name "perl-http-tiny") + (version "0.053") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "HTTP-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "1bwy31xrcz5zfx1n3vc50vj1aqvzn5ccr7lgacl8wmi03a6w2af2")))) + (build-system perl-build-system) + (inputs + `(("perl-http-cookiejar" ,perl-http-cookiejar) + ("perl-io-socket-ip" ,perl-io-socket-ip) + ("perl-io-socket-ssl" ,perl-io-socket-ssl) + ("perl-net-ssleay" ,perl-net-ssleay))) + (home-page "http://search.cpan.org/dist/HTTP-Tiny") + (synopsis "HTTP/1.1 client") + (description "This is a very simple HTTP/1.1 client, designed for doing +simple requests without the overhead of a large framework like LWP::UserAgent. +It supports proxies and redirection. It also correctly resumes after EINTR.") + (license (package-license perl)))) + (define-public perl-io-html (package (name "perl-io-html") From 5bfab17a2bd4dd75a2e833d095a75a28a1fa961f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 17:19:47 -0500 Subject: [PATCH 190/359] gnu: Add Devel-StackTrace-AsHTML. * gnu/packages/perl.scm (perl-devel-stacktrace-ashtml): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 94023782ba..2d97fe89ef 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -569,6 +569,30 @@ information that can be retrieved via Perl's caller() function, as well as providing a simple interface to this data.") (license artistic2.0))) +(define-public perl-devel-stacktrace-ashtml + (package + (name "perl-devel-stacktrace-ashtml") + (version "0.14") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Devel-StackTrace-AsHTML-" version ".tar.gz")) + (sha256 + (base32 + "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-devel-stacktrace" ,perl-devel-stacktrace))) + (home-page "http://search.cpan.org/dist/Devel-StackTrace-AsHTML") + (synopsis "Displays stack trace in HTML") + (description "Devel::StackTrace::AsHTML adds as_html method to +Devel::StackTrace which displays the stack trace in beautiful HTML, with code +snippet context and function parameters. If you call it on an instance of +Devel::StackTrace::WithLexicals, you even get to see the lexical variables of +each stack frame.") + (license (package-license perl)))) + (define-public perl-digest-sha1 (package (name "perl-digest-sha1") From 14b44398fb61435ae232eaa0f9f3a362eecc0f09 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 17:22:41 -0500 Subject: [PATCH 191/359] gnu: Add Hash-MultiValue. * gnu/packages/perl.scm (perl-hash-multivalue): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2d97fe89ef..8421e3c1df 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1002,6 +1002,25 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") "Getopt-Tabular-" version)) (license (package-license perl)))) +(define-public perl-hash-multivalue + (package + (name "perl-hash-multivalue") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Hash-MultiValue-" version ".tar.gz")) + (sha256 + (base32 + "1jc37kwpa1fl88va8bd1p95h0vjv1gsvmn7pc2pxj62ga6x0wpc0")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Hash-MultiValue") + (synopsis "Store multiple values per key") + (description "Hash::MultiValue is an object (and a plain hash reference) +that may contain multiple values per key, inspired by MultiDict of WebOb.") + (license (package-license perl)))) + (define-public perl-inc-latest (package (name "perl-inc-latest") From 5ec8ec83f657bba46ffc67a9ed75f188190fccc6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 10 Mar 2015 17:26:17 -0500 Subject: [PATCH 192/359] gnu: Add HTTP-Body. * gnu/packages/web.scm (perl-http-body): New variable. --- gnu/packages/web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7da10cf3be..6a703cdf51 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -615,6 +615,31 @@ are invoked.") kinds of HTML parsing operations.") (home-page "http://search.cpan.org/dist/HTML-Tagset/"))) +(define-public perl-http-body + (package + (name "perl-http-body") + (version "1.19") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GE/GETTY/" + "HTTP-Body-" version ".tar.gz")) + (sha256 + (base32 + "0ahhksj0zg6wq6glpjkxdr3byd5riwvq2f5aw21n1jcsl71nll01")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-deep" ,perl-test-deep))) + (propagated-inputs + `(("perl-file-temp" ,perl-file-temp) + ("perl-http-message" ,perl-http-message))) ;For HTTP::Headers + (home-page "http://search.cpan.org/dist/HTTP-Body") + (synopsis "HTTP Body Parser") + (description "HTTP::Body parses chunks of HTTP POST data and supports +application/octet-stream, application/json, application/x-www-form-urlencoded, +and multipart/form-data.") + (license (package-license perl)))) + (define-public perl-http-cookiejar (package (name "perl-http-cookiejar") From 83e825a16eca8e17023221fa55dc08b289cf70be Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 12:08:00 -0500 Subject: [PATCH 193/359] gnu: Add Stream-Buffered. * gnu/packages/perl.scm (perl-stream-buffered): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8421e3c1df..abbc22d3e4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1591,6 +1591,27 @@ codes.") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) x11 bsd-3)))) +(define-public perl-stream-buffered + (package + (name "perl-stream-buffered") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "Stream-Buffered-" version ".tar.gz")) + (sha256 + (base32 + "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Stream-Buffered") + (synopsis "Temporary buffer to save bytes") + (description "Stream::Buffered is a buffer class to store arbitrary length +of byte strings and then get a seekable filehandle once everything is +buffered. It uses PerlIO and/or temporary file to save the buffer depending +on the length of the size.") + (license (package-license perl)))) + (define-public perl-sub-exporter (package (name "perl-sub-exporter") From 786ccb71cce8ccc2a77e5b2b0622070485ed7b57 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 12:20:29 -0500 Subject: [PATCH 194/359] gnu: Add Test-SharedFork. * gnu/packages/perl.scm (perl-test-sharedfork): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index abbc22d3e4..39239c9daa 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2107,6 +2107,27 @@ bin as is also commonly used) paths of your Perl distribution.") "Test-Script-" version)) (license (package-license perl)))) +(define-public perl-test-sharedfork + (package + (name "perl-test-sharedfork") + (version "0.29") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" + "Test-SharedFork-" version ".tar.gz")) + (sha256 + (base32 + "0vlak10q4gcf0ch0rfcb9lvddav6r8h15iipzbkbgf9mrj47gbv3")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-requires" ,perl-test-requires))) + (home-page "http://search.cpan.org/dist/Test-SharedFork") + (synopsis "Fork test in Perl") + (description "Test::SharedFork is a utility module for Test::Builder. It +makes fork(2) safe to use in test cases.") + (license (package-license perl)))) + (define-public perl-test-simple (package (name "perl-test-simple") From bb8bfe5ec8c642133afb493a2bf907f4146d3f0a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 13:39:00 -0500 Subject: [PATCH 195/359] gnu: Add Test-TCP. * gnu/packages/web.scm (perl-test-tcp): New variable. --- gnu/packages/web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6a703cdf51..92ef27f72c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -949,6 +949,27 @@ is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and HTTP/1.1.") (home-page "http://search.cpan.org/~gaas/Net-HTTP/"))) +(define-public perl-test-tcp + (package + (name "perl-test-tcp") + (version "2.06") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/" + "Test-TCP-" version ".tar.gz")) + (sha256 + (base32 + "0acjwm21y2an4f3fasci9qa0isakh9cgp74fk0bzcdi506xmcjbi")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-test-sharedfork" ,perl-test-sharedfork))) + (arguments `(#:tests? #f)) ;related to signaling in t/05_sigint.t + (home-page "http://search.cpan.org/dist/Test-TCP") + (synopsis "Testing TCP programs") + (description "Test::TCP is test utilities for TCP/IP programs.") + (license (package-license perl)))) + (define-public perl-uri (package (name "perl-uri") From 5933549dbd8c9c7857805bf457e4d80fcbe113e9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 13:58:50 -0500 Subject: [PATCH 196/359] gnu: Add Plack. * gnu/packages/web.scm (perl-plack): New variable. --- gnu/packages/web.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 92ef27f72c..64fee1b135 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -949,6 +949,44 @@ is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and HTTP/1.1.") (home-page "http://search.cpan.org/~gaas/Net-HTTP/"))) +(define-public perl-plack + (package + (name "perl-plack") + (version "1.0033") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Plack-" version ".tar.gz")) + (sha256 + (base32 + "081jg0xddzpg2anmqi9i6d7vs6c8z7k557bf8xl6vgb3h95pin5w")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-requires" ,perl-test-requires) + ("perl-file-sharedir-install" ,perl-file-sharedir-install))) + (propagated-inputs + `(("perl-apache-logformat-compiler" ,perl-apache-logformat-compiler) + ("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-devel-stacktrace-ashtml" ,perl-devel-stacktrace-ashtml) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-hash-multivalue" ,perl-hash-multivalue) + ("perl-http-body" ,perl-http-body) + ("perl-http-message" ,perl-http-message) + ("perl-http-tiny" ,perl-http-tiny) + ("perl-libwww" ,perl-libwww) + ("perl-stream-buffered" ,perl-stream-buffered) + ("perl-test-tcp" ,perl-test-tcp) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-uri" ,perl-uri))) + (home-page "http://search.cpan.org/dist/Plack") + (synopsis "Perl Superglue for Web frameworks and servers (PSGI toolkit)") + (description "Plack is a set of tools for using the PSGI stack. It +contains middleware components, a reference server, and utilities for Web +application frameworks. Plack is like Ruby's Rack or Python's Paste for +WSGI.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From 84399103da1b94d9557b543df66da7cf9c183875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 11 Mar 2015 10:11:19 +0100 Subject: [PATCH 197/359] doc: Suggest to use 'lsh-service' with #:initialize? #t. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suggested by Tomáš Čech. * doc/guix.texi (Using the Configuration System): Pass #:initialize? #t to 'lsh-service'. --- doc/guix.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index bd8091ae51..b605c5b192 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3730,7 +3730,8 @@ kernel, initial RAM disk, and boot loader looks like this: (comment "Bob's sister") (home-directory "/home/alice")))) (packages (cons emacs %base-packages)) - (services (cons (lsh-service #:port 2222 #:root-login? #t) + (services (cons (lsh-service #:port 2222 #:root-login? #t + #:initialize? #t) %base-services))) @end lisp From a1ddf97cabb4675fcece1edbfd1694f2e4f6aa13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 11 Mar 2015 23:14:13 +0100 Subject: [PATCH 198/359] gnu: help2man: Update to 1.46.5. * gnu/packages/man.scm (help2man): Update to 1.46.5. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 3507c0c1fb..f5bd339100 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -153,7 +153,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.46.4") + (version "1.46.5") (source (origin (method url-fetch) @@ -161,7 +161,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs")))) + "1gqfqgxq3qgwnldjz3i5mxvzyx2w3j042r3fw1wygic3f6327nha")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) From 46ffff90245de835e72a756a6801e11e05161b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 11 Mar 2015 23:23:16 +0100 Subject: [PATCH 199/359] gnu: guile-ssh: Update to 0.7.2. * gnu/packages/ssh.scm (guile-ssh): Update to 0.7.2. --- gnu/packages/ssh.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index f475eeab09..8800be3dcb 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -186,15 +186,15 @@ Additionally, various channel-specific options can be negotiated.") (define-public guile-ssh (package (name "guile-ssh") - (version "0.7.1") + (version "0.7.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/artyom-poptsov/libguile-ssh.git") - (commit "e216e1d78bf93a9753ea813f930cac5e68e52180"))) + (commit (string-append "v" version)))) (sha256 (base32 - "1sbxhmynmpwfjwb3dp6lrc3cxi5kffqmb6klhx7wnkgqxvs61lsw")))) + "1wcv10xv7ayrhrg77zyng6flknnlkzhni24nf8x9nic00zha8znk")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 23153c907bb2de46e517343ab43c08e0cfe4ef90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 11:35:16 +0100 Subject: [PATCH 200/359] gnu: Add SLOCCount. * gnu/packages/code.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/code.scm | 82 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 gnu/packages/code.scm diff --git a/gnu-system.am b/gnu-system.am index 21756054c0..bd63deb66b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -60,6 +60,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/cflow.scm \ gnu/packages/check.scm \ gnu/packages/cmake.scm \ + gnu/packages/code.scm \ gnu/packages/commencement.scm \ gnu/packages/compression.scm \ gnu/packages/complexity.scm \ diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm new file mode 100644 index 0000000000..7eb2cc3bb8 --- /dev/null +++ b/gnu/packages/code.scm @@ -0,0 +1,82 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages code) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl)) + +;;; Tools to deal with source code: metrics, cross-references, etc. + +(define-public sloccount + (package + (name "sloccount") + (version "2.26") + (source (origin + (method url-fetch) + (uri (string-append "http://www.dwheeler.com/sloccount/sloccount-" + version ".tar.gz")) + (sha256 + (base32 + "0ayiwfjdh1946asah861ah9269s5xkc8p5fv1wnxs9znyaxs4zzs")))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (delete configure) + (add-before build make-dotl-files-older + (lambda _ + ;; Make the '.l' files as old as the '.c' + ;; files to avoid triggering the rule that + ;; requires Flex. + (define ref + (stat "README")) + + (for-each (lambda (file) + (set-file-time file ref)) + (find-files "." "\\.[chl]$")) + #t)) + (add-before install make-target-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out + "/share/man/man1")) + (mkdir-p (string-append out + "/share/doc"))))) + (replace check + (lambda _ + (setenv "HOME" (getcwd)) + (setenv "PATH" + (string-append (getcwd) ":" + (getenv "PATH"))) + (zero? (system* "make" "test"))))) + + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))))) + (inputs `(("perl" ,perl))) + (home-page "http://www.dwheeler.com/sloccount/") + (synopsis "Count physical source lines of code (SLOC)") + (description + "SLOCCount is a set of the programs for counting source lines of +code (SLOC) in large software systems. It can automatically identify and +measure a wide range of programming languages. It automatically estimates the +effort, time, and money it would take to develop the software, using the +COCOMO model or user-provided parameters.") + (license gpl2+))) From 99e64a6e7742b8c3727968e5d094e71d33c5cb3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 11:40:27 +0100 Subject: [PATCH 201/359] gnu: Move cflow, Complexity, and GLOBAL to (gnu packages code). * gnu/packages/code.scm (cflow, complexity, global): New variables. * gnu/packages/cflow.scm, gnu/packages/complexity.scm, gnu/packages/global.scm: Remove. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. --- gnu-system.am | 3 -- gnu/packages/cflow.scm | 49 ------------------ gnu/packages/code.scm | 100 +++++++++++++++++++++++++++++++++++- gnu/packages/complexity.scm | 50 ------------------ gnu/packages/global.scm | 67 ------------------------ 5 files changed, 98 insertions(+), 171 deletions(-) delete mode 100644 gnu/packages/cflow.scm delete mode 100644 gnu/packages/complexity.scm delete mode 100644 gnu/packages/global.scm diff --git a/gnu-system.am b/gnu-system.am index bd63deb66b..aa37726b6a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -57,13 +57,11 @@ GNU_SYSTEM_MODULES = \ gnu/packages/ccache.scm \ gnu/packages/cdrom.scm \ gnu/packages/certs.scm \ - gnu/packages/cflow.scm \ gnu/packages/check.scm \ gnu/packages/cmake.scm \ gnu/packages/code.scm \ gnu/packages/commencement.scm \ gnu/packages/compression.scm \ - gnu/packages/complexity.scm \ gnu/packages/conkeror.scm \ gnu/packages/cook.scm \ gnu/packages/cpio.scm \ @@ -123,7 +121,6 @@ GNU_SYSTEM_MODULES = \ gnu/packages/gkrellm.scm \ gnu/packages/gl.scm \ gnu/packages/glib.scm \ - gnu/packages/global.scm \ gnu/packages/gnome.scm \ gnu/packages/gnunet.scm \ gnu/packages/gnupg.scm \ diff --git a/gnu/packages/cflow.scm b/gnu/packages/cflow.scm deleted file mode 100644 index 2bb1fefda3..0000000000 --- a/gnu/packages/cflow.scm +++ /dev/null @@ -1,49 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages cflow) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages emacs)) - -(define-public cflow - (package - (name "cflow") - (version "1.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/cflow/cflow-" - version ".tar.bz2")) - (sha256 - (base32 - "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3")))) - (build-system gnu-build-system) - - ;; Needed to have cflow-mode.el installed. - (native-inputs `(("emacs" ,emacs))) - - (home-page "http://www.gnu.org/software/cflow/") - (synopsis "Create a graph of control flow within a program") - (description - "GNU cflow analyzes C source files and produces a graph charting the -control flow of the program. It can output the graph in several styles and -in either the POSIX format or in an extended GNU format. cflow also includes -a major mode for Emacs for examining the flowcharts that it produces.") - (license gpl3+))) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 7eb2cc3bb8..544681212b 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2013, 2015 Ludovic Courtès +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,10 +22,105 @@ #:use-module (guix download) #:use-module (guix licenses) #:use-module (guix build-system gnu) - #:use-module (gnu packages perl)) + #:use-module (gnu packages emacs) + #:use-module (gnu packages perl) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages autogen) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages autotools)) ;;; Tools to deal with source code: metrics, cross-references, etc. +(define-public cflow + (package + (name "cflow") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/cflow/cflow-" + version ".tar.bz2")) + (sha256 + (base32 + "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3")))) + (build-system gnu-build-system) + + ;; Needed to have cflow-mode.el installed. + (native-inputs `(("emacs" ,emacs))) + + (home-page "http://www.gnu.org/software/cflow/") + (synopsis "Create a graph of control flow within a program") + (description + "GNU cflow analyzes C source files and produces a graph charting the +control flow of the program. It can output the graph in several styles and +in either the POSIX format or in an extended GNU format. cflow also includes +a major mode for Emacs for examining the flowcharts that it produces.") + (license gpl3+))) + +(define-public complexity + (package + (name "complexity") + (version "1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/complexity/complexity-" + version ".tar.gz")) + (sha256 + (base32 + "0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d")))) + (build-system gnu-build-system) + (native-inputs + `(("texinfo" ,texinfo) + ("autogen" ,autogen))) + (home-page "http://www.gnu.org/software/complexity/") + (synopsis "Analyze complexity of C functions") + (description + "GNU complexity provides tools for finding procedures that are +convoluted, overly long or otherwise difficult to understand. This +may help in learning or reviewing unfamiliar code or perhaps +highlighting your own code that seemed comprehensible when you wrote it.") + (license gpl3+))) + +(define-public global ; a global variable + (package + (name "global") + (version "6.3.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/global/global-" + version ".tar.gz")) + (sha256 + (base32 + "0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85")))) + (build-system gnu-build-system) + (inputs `(("ncurses" ,ncurses) + ("libltdl" ,libltdl))) + (arguments + `(#:configure-flags + (list (string-append "--with-ncurses=" + (assoc-ref %build-inputs "ncurses"))) + + #:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the Emacs Lisp file in the right place. + (let* ((out (assoc-ref outputs "out")) + (data (string-append out "/share/gtags")) + (lisp (string-append out "/share/emacs/site-lisp"))) + (mkdir-p lisp) + (copy-file (string-append data "/gtags.el") + (string-append lisp "/gtags.el")) + (delete-file (string-append data "/gtags.el")) + #t)) + %standard-phases))) + (home-page "http://www.gnu.org/software/global/") + (synopsis "Cross-environment source code tag system") + (description + "GLOBAL is a source code tagging system that functions in the same way +across a wide array of environments, such as different text editors, shells +and web browsers. The resulting tags are useful for quickly moving around in +a large, deeply nested project.") + (license gpl3+))) + (define-public sloccount (package (name "sloccount") diff --git a/gnu/packages/complexity.scm b/gnu/packages/complexity.scm deleted file mode 100644 index f0cd11e245..0000000000 --- a/gnu/packages/complexity.scm +++ /dev/null @@ -1,50 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès -;;; Copyright © 2015 Andreas Enge -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages complexity) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix licenses) - #:use-module (guix build-system gnu) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages autogen)) - -(define-public complexity - (package - (name "complexity") - (version "1.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/complexity/complexity-" - version ".tar.gz")) - (sha256 - (base32 - "0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d")))) - (build-system gnu-build-system) - (native-inputs - `(("texinfo" ,texinfo) - ("autogen" ,autogen))) - (home-page "http://www.gnu.org/software/complexity/") - (synopsis "Analyze complexity of C functions") - (description - "GNU complexity provides tools for finding procedures that are -convoluted, overly long or otherwise difficult to understand. This -may help in learning or reviewing unfamiliar code or perhaps -highlighting your own code that seemed comprehensible when you wrote it.") - (license gpl3+))) diff --git a/gnu/packages/global.scm b/gnu/packages/global.scm deleted file mode 100644 index 99d83f4f9b..0000000000 --- a/gnu/packages/global.scm +++ /dev/null @@ -1,67 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages global) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages autotools) - #:use-module (gnu packages)) - -(define-public global ; a global variable - (package - (name "global") - (version "6.3.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/global/global-" - version ".tar.gz")) - (sha256 - (base32 - "0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("libltdl" ,libltdl))) - (arguments - `(#:configure-flags - (list (string-append "--with-ncurses=" - (assoc-ref %build-inputs "ncurses"))) - - #:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; Install the Emacs Lisp file in the right place. - (let* ((out (assoc-ref outputs "out")) - (data (string-append out "/share/gtags")) - (lisp (string-append out "/share/emacs/site-lisp"))) - (mkdir-p lisp) - (copy-file (string-append data "/gtags.el") - (string-append lisp "/gtags.el")) - (delete-file (string-append data "/gtags.el")) - #t)) - %standard-phases))) - (home-page "http://www.gnu.org/software/global/") - (synopsis "Cross-environment source code tag system") - (description - "GLOBAL is a source code tagging system that functions in the same way -across a wide array of environments, such as different text editors, shells -and web browsers. The resulting tags are useful for quickly moving around in -a large, deeply nested project.") - (license gpl3+))) From 9a10acc9860d649f4b17c7d84ea685a98ba54b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 19:00:54 +0100 Subject: [PATCH 202/359] system: Adjust '.bashrc' skeleton for non-interactive SSH sessions. * gnu/system/shadow.scm (default-skeletons)[bashrc]: Source /etc/profile when in a non-interactive SSH session. --- gnu/system/shadow.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4a9580a672..4cb8018827 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -120,6 +120,18 @@ # Honor per-interactive-shell startup file if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) (bashrc (text-file "bashrc" "\ +# Bash initialization for interactive non-login shells and +# for remote shells (info \"(bash) Bash Startup Files\"). + +if [ -n \"$SSH_CLIENT\" -a -z \"`type -P cat`\" ] +then + # We are being invoked from a non-interactive SSH session + # (as in \"ssh host command\") but 'cat' cannot be found + # in $PATH. Source /etc/profile so we get $PATH and other + # essential variables. + source /etc/profile +fi + PS1='\\u@\\h \\w\\$ ' alias ls='ls -p --color' alias ll='ls -l'\n")) From 9751c39a6d493535d3866f536fed8b16b5a4f1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 19:10:44 +0100 Subject: [PATCH 203/359] services: bitlbee: Make /var/lib/bitlbee when activating. * gnu/services/networking.scm (bitlbee-service): Add 'activate' field. --- gnu/services/networking.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index a2d8e3a045..af8dd43bd6 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -286,6 +286,14 @@ configuration file." (service (provision '(bitlbee)) (requirement '(user-processes loopback)) + (activate #~(begin + (use-modules (guix build utils)) + + ;; This directory is used to store OTR data. + (mkdir-p "/var/lib/bitlbee") + (let ((user (getpwnam "bitlbee"))) + (chown "/var/lib/bitlbee" + (passwd:uid user) (passwd:gid user))))) (start #~(make-forkexec-constructor (list (string-append #$bitlbee "/sbin/bitlbee") "-n" "-F" "-u" "bitlbee" "-c" #$conf))) From 8c9653b3735749cc16e01c6d0a9de7a89e038a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 19:31:07 +0100 Subject: [PATCH 204/359] build-system/python: Delay evaluation of the 'python2' package. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a bug whereby uses of 'package-with-python2' at the top-level in modules other than (gnu packages python) could lead to an "Unbound variable: python2" error due to the circular references. Reported by Tomáš Čech. * guix/build-system/python.scm (package-with-explicit-python)[arguments]: Check whether PYTHON is a promise, and force it if it is. (package-with-python2): Wrap 'default-python2' call in 'delay'. --- guix/build-system/python.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index e8af9f8146..37108650d0 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; @@ -76,7 +76,10 @@ prepended to the name." (substring name (string-length old-prefix)) name)))) (arguments - (let ((arguments (package-arguments p))) + (let ((arguments (package-arguments p)) + (python (if (promise? python) + (force python) + python))) (if (member #:python arguments) (substitute-keyword-arguments arguments ((#:python p) python)) (append arguments `(#:python ,python))))) @@ -86,7 +89,11 @@ prepended to the name." p))) (define package-with-python2 - (cut package-with-explicit-python <> (default-python2) "python-" "python2-")) + ;; Note: delay call to 'default-python2' until after the 'arguments' field + ;; of packages is accessed to avoid a circular dependency when evaluating + ;; the top-level of (gnu packages python). + (cut package-with-explicit-python <> (delay (default-python2)) + "python-" "python2-")) (define* (lower name #:key source inputs native-inputs outputs system target From 2d8288040b83c31eb564630d7e3a8ba46e14599d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Tue, 10 Mar 2015 19:37:57 +0100 Subject: [PATCH 205/359] gnu: samba: Augment dynamic library rpaths. * gnu/packages/samba.scm (samba): Augment the rpath of files in lib/ in addition to those in bin/ and sbin/. --- gnu/packages/samba.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 46b97215ba..c147abcaab 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -114,11 +114,13 @@ anywhere.") (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib"))) - ;; Add LIB to the RUNPATH of all the executables. + ;; Add LIB to the RUNPATH of all the executables and + ;; dynamic libraries. (with-directory-excursion out (for-each (cut augment-rpath <> lib) (append (find-files "bin" ".*") - (find-files "sbin" ".*")))))) + (find-files "sbin" ".*") + (find-files "lib" ".*")))))) %standard-phases)) #:modules ((guix build gnu-build-system) From d8450272096145aeb351f96c8761ae22fe3589b5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:41:06 -0500 Subject: [PATCH 206/359] gnu: perl-http-message: Propagate all inputs. * gnu/packages/web.scm (perl-http-message)[inputs]: Move all to... [propagate-inputs]: Here. --- gnu/packages/web.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 64fee1b135..fc17e21e68 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -748,10 +748,9 @@ used by the HTTP protocol (and then some more).") (build-system perl-build-system) (propagated-inputs `(("perl-http-date" ,perl-http-date) + ("perl-io-html" ,perl-io-html) + ("perl-lwp-mediatypes" ,perl-lwp-mediatypes) ("perl-uri" ,perl-uri))) - (inputs - `(("perl-io-html" ,perl-io-html) - ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) (license (package-license perl)) (synopsis "Perl HTTP style message") (description From 9acf97f2fb80fa7465fab068bcf2704557c0aafa Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:42:39 -0500 Subject: [PATCH 207/359] gnu: perl-uri: Update to 1.67. * gnu/packages/web.scm (perl-uri): Update to 1.67. [source]: Update mirror uri. [home-page]: Point to distribution uri. --- gnu/packages/web.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index fc17e21e68..7bf1642108 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1010,15 +1010,14 @@ WSGI.") (define-public perl-uri (package (name "perl-uri") - (version "1.60") + (version "1.67") (source (origin (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/URI-" - version ".tar.gz")) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "URI-" version ".tar.gz")) (sha256 (base32 - "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz")))) + "0ki7i830gs0cwwwjsyv3s6yy1l76ym8pfqp0lp7vw0j9bwyx923h")))) (build-system perl-build-system) (license (package-license perl)) (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") @@ -1026,7 +1025,7 @@ WSGI.") "The URI module implements the URI class. Objects of this class represent \"Uniform Resource Identifier references\" as specified in RFC 2396 and updated by RFC 2732.") - (home-page "http://search.cpan.org/~gaas/URI/"))) + (home-page "http://search.cpan.org/dist/URI/"))) (define-public perl-www-curl (package From 19449405ac78d6c37bb5d061d0443f1a4487ea98 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:25:04 -0500 Subject: [PATCH 208/359] gnu: Add IO-stringy. * gnu/packages/perl.scm (perl-io-stringy): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 39239c9daa..b02e47fa9b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1041,6 +1041,26 @@ dependencies for CPAN distributions. These dependencies get bundled into the inc directory within a distribution and are used by Makefile.PL or Build.PL.") (license asl2.0))) +(define-public perl-io-stringy + (package + (name "perl-io-stringy") + (version "2.110") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DS/DSKOLL/" + "IO-stringy-" version ".tar.gz")) + (sha256 + (base32 + "1vh4n0k22hx20rwvf6h7lp25wb7spg0089shrf92d2lkncwg8g3y")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IO-stringy") + (synopsis "IO:: interface for reading/writing an array of lines") + (description "This toolkit primarily provides modules for performing both +traditional and object-oriented i/o) on things *other* than normal +filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.") + (license (package-license perl)))) + (define-public perl-io-tty (package (name "perl-io-tty") From 0148aa55cf05bbdbd9146fea4483d06cffaae533 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:25:58 -0500 Subject: [PATCH 209/359] gnu: Add CGI-Simple. * gnu/packages/web.scm (perl-cgi-simple): New variable. --- gnu/packages/web.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7bf1642108..698380e337 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -523,6 +523,28 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.") to perl-code, for faster generation of access_log lines.") (license (package-license perl)))) +(define-public perl-cgi-simple + (package + (name "perl-cgi-simple") + (version "1.115") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/" + "CGI-Simple-" version ".tar.gz")) + (sha256 + (base32 + "1nkyb1m1g5r47xykflf68dplanih5p15njv82frbgbsms34kp1sg")))) + (build-system perl-build-system) + (native-inputs + `(("perl-io-stringy" ,perl-io-stringy))) ;for IO::Scalar + (home-page "http://search.cpan.org/dist/CGI-Simple") + (synopsis "CGI interface that is CGI.pm compliant") + (description "CGI::Simple provides a relatively lightweight drop in +replacement for CGI.pm. It shares an identical OO interface to CGI.pm for +parameter parsing, file upload, cookie handling and header generation.") + (license (package-license perl)))) + (define-public perl-encode-locale (package (name "perl-encode-locale") From 76b8b86c91929bbcd2d1d98977cfe50532223ffa Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:28:29 -0500 Subject: [PATCH 210/359] gnu: Add CGI-Struct. * gnu/packages/web.scm (perl-cgi-struct): New variable. --- gnu/packages/web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 698380e337..dc8269a240 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -545,6 +545,27 @@ replacement for CGI.pm. It shares an identical OO interface to CGI.pm for parameter parsing, file upload, cookie handling and header generation.") (license (package-license perl)))) +(define-public perl-cgi-struct + (package + (name "perl-cgi-struct") + (version "1.21") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FU/FULLERMD/" + "CGI-Struct-" version ".tar.gz")) + (sha256 + (base32 + "0v4xq2qpryr7i6jngw1wpn8yr2kiib10yxp4aih90vfdznkqsgfi")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-deep" ,perl-test-deep))) + (home-page "http://search.cpan.org/dist/CGI-Struct") + (synopsis "Build structures from CGI data") + (description "This is a module for building structured data from CGI +inputs, in a manner reminiscent of how PHP does.") + (license l:bsd-2))) + (define-public perl-encode-locale (package (name "perl-encode-locale") From 4abba47dc6d3aacd17226b8f85645672a172f59a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:39:46 -0500 Subject: [PATCH 211/359] gnu: Add Class-C3-Adopt-NEXT. * gnu/packages/perl.scm (perl-class-c3-adopt-next): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b02e47fa9b..15e28eb70a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -195,6 +195,30 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-class-c3-adopt-next + (package + (name "perl-class-c3-adopt-next") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + "Class-C3-Adopt-NEXT-" version ".tar.gz")) + (sha256 + (base32 + "1rwgbx6dsy4rpas94p8wakzj7hrla1p15jnbm24kwhsv79gp91ld")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-list-moreutils" ,perl-list-moreutils) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Class-C3-Adopt-NEXT") + (synopsis "Drop-in replacement for NEXT") + (description "This module is intended as a drop-in replacement for NEXT, +supporting the same interface, but using Class::C3 to do the hard work.") + (license (package-license perl)))) + (define-public perl-class-data-inheritable (package (name "perl-class-data-inheritable") From fcf1043e565fa72fcec8a58c866d69994d1084ca Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:44:20 -0500 Subject: [PATCH 212/359] gnu: Add Class-Date. * gnu/packages/perl.scm (perl-class-date): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 15e28eb70a..619d2edafb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -240,6 +240,26 @@ whole (instead of about a single object). This data is then inherited by your subclasses and can be overriden.") (license (package-license perl)))) +(define-public perl-class-date + (package + (name "perl-class-date") + (version "1.1.15") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/" + "Class-Date-" version ".tar.gz")) + (sha256 + (base32 + "0dd707sq8ix2dqbnp7ga77ba69r3vsn0cd6scnkn13s0gm2g4b00")))) + (build-system perl-build-system) + (arguments `(#:tests? #f)) ;timezone tests in chroot + (home-page "http://search.cpan.org/dist/Class-Date") + (synopsis "Class for easy date and time manipulation") + (description "This module provides a general-purpose date and datetime +type for perl.") + (license (package-license perl)))) + (define-public perl-class-inspector (package (name "perl-class-inspector") From 84c2c6d6339d8103db264dfcb790f0520abb7f2a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 16:47:49 -0500 Subject: [PATCH 213/359] gnu: Add Data-Dump. * gnu/packages/perl.scm (perl-data-dump): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 619d2edafb..07df78ce6b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -414,6 +414,26 @@ opportunities to Perl developers as GNU Autoconf does for Shell developers.") CPAN::Meta object are present.") (license (package-license perl)))) +(define-public perl-data-dump + (package + (name "perl-data-dump") + (version "1.22") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/" + "Data-Dump-" version ".tar.gz")) + (sha256 + (base32 + "1ciqlwsy1q35s94dry9bjy1pwanbq6b7q4rhxm9z8prgkzbslg2k")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Data-Dump") + (synopsis "Pretty printing of data structures") + (description "This module provide functions that takes a list of values as +their argument and produces a string as its result. The string contains Perl +code that, when \"eval\"ed, produces a deep copy of the original arguments.") + (license (package-license perl)))) + (define-public perl-data-optlist (package (name "perl-data-optlist") From f902e4bcc2fd174dabee1e68f80df7f3e60ec9ef Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 17:18:02 -0500 Subject: [PATCH 214/359] gnu: Add base. * gnu/packages/perl.scm (perl-base): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 07df78ce6b..90ba940e63 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -123,6 +123,27 @@ manipulate, read, and write Zip archive files.") (home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm") (license (package-license perl)))) +(define-public perl-base + (package + (name "perl-base") + (version "2.18") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/" + "base-" version ".tar.gz")) + (sha256 + (base32 + "01n3l5ifmn2wd0aadpnzya27b75imibj9zdivkfzcpnviqgx5c2m")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/base") + (synopsis "Establish an ISA relationship with base classes at compile time") + (description "Allows you to both load one or more modules, while setting +up inheritance from those modules at the same time. Unless you are using the +fields pragma, consider this module discouraged in favor of the lighter-weight +parent.") + (license (package-license perl)))) ;See README + (define-public perl-b-hooks-endofscope (package (name "perl-b-hooks-endofscope") From 8819f57bc1181a0eb67f01d60d63cdbfd25c62e0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 17:18:42 -0500 Subject: [PATCH 215/359] gnu: Add Class-Accessor. * gnu/packages/perl.scm (perl-class-accessor): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 90ba940e63..588e61b922 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -216,6 +216,29 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-class-accessor + (package + (name "perl-class-accessor") + (version "0.34") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KA/KASEI/" + "Class-Accessor-" version ".tar.gz")) + (sha256 + (base32 + "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd")))) + (build-system perl-build-system) + (native-inputs + `(("perl-sub-name" ,perl-sub-name))) + (propagated-inputs + `(("perl-base" ,perl-base))) + (home-page "http://search.cpan.org/dist/Class-Accessor") + (synopsis "Automated accessor generation") + (description "This module automagically generates accessors/mutators for +your class.") + (license (package-license perl)))) + (define-public perl-class-c3-adopt-next (package (name "perl-class-c3-adopt-next") From 724d222773eb538a3877e2fffdbd861c20cc26b9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 17:19:46 -0500 Subject: [PATCH 216/359] gnu: Add HTTP-Request-AsCGI. * gnu/packages/web.scm (perl-http-request-ascgi): New variable. --- gnu/packages/web.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index dc8269a240..6ef92dc65f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -826,6 +826,28 @@ of the negotiable variants and the value of the various Accept* header fields in the request.") (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/"))) +(define-public perl-http-request-ascgi + (package + (name "perl-http-request-ascgi") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + "HTTP-Request-AsCGI-" version ".tar.gz")) + (sha256 + (base32 + "1smwmiarwcgq7vjdblnb6ldi2x1s5sk5p15p7xvm5byiqq3znnwl")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-class-accessor" ,perl-class-accessor) + ("perl-http-message" ,perl-http-message))) + (home-page "http://search.cpan.org/dist/HTTP-Request-AsCGI") + (synopsis "Set up a CGI environment from an HTTP::Request") + (description "This module provides a convenient way to set up a CGI +environment from an HTTP::Request.") + (license (package-license perl)))) + (define-public perl-http-tiny (package (name "perl-http-tiny") From 89341090f0abe214f60784385f239252ea66534b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 11 Mar 2015 17:25:47 -0500 Subject: [PATCH 217/359] gnu: Add common-sense. * gnu/packages/perl.scm (perl-common-sense): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 588e61b922..718b259dc6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -416,6 +416,25 @@ objects.") "Clone-" version)) (license (package-license perl)))) +(define-public perl-common-sense + (package + (name "perl-common-sense") + (version "3.73") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" + "common-sense-" version ".tar.gz")) + (sha256 + (base32 + "047xwgpn5611zrhk4c8vk9pzcbk1q7n3q0lfiwhhq7k4fbjca441")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/common-sense") + (synopsis "Sane defaults for Perl programs") + (description "This module implements some sane defaults for Perl programs, +as defined by two typical specimens of Perl coders.") + (license (package-license perl)))) + (define-public perl-config-autoconf (package (name "perl-config-autoconf") From 1c48820ed6d694ce2545b2ac68dcf252b35c27fe Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:14:19 -0500 Subject: [PATCH 218/359] gnu: Add Cpanel-JSON-XS. * gnu/packages/web.scm (perl-cpanel-json-xs): New variable. --- gnu/packages/web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6ef92dc65f..736b2157b4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -566,6 +566,27 @@ parameter parsing, file upload, cookie handling and header generation.") inputs, in a manner reminiscent of how PHP does.") (license l:bsd-2))) +(define-public perl-cpanel-json-xs + (package + (name "perl-cpanel-json-xs") + (version "3.0114") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" + "Cpanel-JSON-XS-" version ".tar.gz")) + (sha256 + (base32 + "0jhi1v0631x4d14a7cpfnpjqhs34zkygxjn1nwvvr927awx5jx71")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-common-sense" ,perl-common-sense))) + (home-page "http://search.cpan.org/dist/Cpanel-JSON-XS") + (synopsis "JSON::XS for Cpanel") + (description "This module converts Perl data structures to JSON and vice +versa.") + (license (package-license perl)))) + (define-public perl-encode-locale (package (name "perl-encode-locale") From 95aa068e44d585ba84f6b02add0b6b791b135f2e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:20:29 -0500 Subject: [PATCH 219/359] gnu: Add Test-Without-Module. * gnu/packages/perl.scm (perl-test-without-module): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 718b259dc6..6776048e2e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2358,6 +2358,27 @@ hooking into done_testing as well as via an END block. You can declare a plan, or not, and things will still Just Work.") (license (package-license perl)))) +(define-public perl-test-without-module + (package + (name "perl-test-without-module") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CO/CORION/" + "Test-Without-Module-" version ".tar.gz")) + (sha256 + (base32 + "0zwc2dk5srd02j4p049w77m89iw5nbff381rmhcbaz8x2w5kdhz2")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-Without-Module") + (synopsis "Test fallback behaviour in absence of modules") + (description "This module allows you to deliberately hide modules from a +program even though they are installed. This is mostly useful for testing +modules that have a fallback when a certain dependency module is not +installed.") + (license (package-license perl)))) + (define-public perl-test-writevariants (package (name "perl-test-writevariants") From 11f4c54206793a79d0969af1d22d6f0f898748c1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:21:28 -0500 Subject: [PATCH 220/359] gnu: Add JSON-MaybeXS. * gnu/packages/web.scm (perl-json-maybexs): New variable. --- gnu/packages/web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 736b2157b4..255b7f1dd0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -957,6 +957,31 @@ select or poll.") (license (package-license perl)) (home-page "https://github.com/noxxi/p5-io-socket-ssl"))) +(define-public perl-json-maybexs + (package + (name "perl-json-maybexs") + (version "1.003003") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "JSON-MaybeXS-" version ".tar.gz")) + (sha256 + (base32 + "0q21wzz87drrvblxcm2py8fcvkzwx1hxzfybynz8ln7wv66vbx3f")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-without-module" ,perl-test-without-module))) + (inputs + `(("perl-cpanel-json-xs" ,perl-cpanel-json-xs))) + (home-page "http://search.cpan.org/dist/JSON-MaybeXS") + (synopsis "Cpanel::JSON::XS with fallback") + (description "This module first checks to see if either Cpanel::JSON::XS +or JSON::XS is already loaded, in which case it uses that module. Otherwise +it tries to load Cpanel::JSON::XS, then JSON::XS, then JSON::PP in order, and +either uses the first module it finds or throws an error.") + (license (package-license perl)))) + (define-public perl-libwww (package (name "perl-libwww") From 7fc7903bb73cab7780663d96e03bcd832d1f4cf6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:32:52 -0500 Subject: [PATCH 221/359] gnu: Add MooseX-Emulate-Class-Accessor-Fast. * gnu/packages/perl.scm (perl-moosex-emulate-class-accessor-fast): New variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6776048e2e..8be6964038 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1440,6 +1440,32 @@ A class definition with Moose reads like a list of very concise English sentences.") (license (package-license perl)))) +(define-public perl-moosex-emulate-class-accessor-fast + (package + (name "perl-moosex-emulate-class-accessor-fast") + (version "0.00903") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + "MooseX-Emulate-Class-Accessor-Fast-" + version ".tar.gz")) + (sha256 + (base32 + "1lkn1h4sxr1483jicsgsgzclbfw63g2i2c3m4v4j9ar75yrb0kh8")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-moose" ,perl-moose))) + (home-page "http://search.cpan.org/dist/MooseX-Emulate-Class-Accessor-Fast") + (synopsis "Emulate Class::Accessor::Fast behavior using Moose attributes") + (description "This module attempts to emulate the behavior of +Class::Accessor::Fast as accurately as possible using the Moose attribute +system. The public API of Class::Accessor::Fast is wholly supported, but the +private methods are not.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") From 0c190411d8129b2ebe60611f603c3b9ba77639b7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:40:01 -0500 Subject: [PATCH 222/359] gnu: Add Test-Trap. * gnu/packages/perl.scm (perl-test-trap): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8be6964038..a9359a7a93 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2341,6 +2341,30 @@ a minimum of effort.") ;; "Under the same license as Perl itself" (license (package-license perl)))) +(define-public perl-test-trap + (package + (name "perl-test-trap") + (version "v0.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/EB/EBHANSSEN/" + "Test-Trap-" version ".tar.gz")) + (sha256 + (base32 + "05b4zc4087imwphls4yksg4chzx9yavbri301gaxas9kv1yhx13w")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-test-tester" ,perl-test-tester) + ("perl-data-dump" ,perl-data-dump))) + (home-page "http://search.cpan.org/dist/Test-Trap") + (synopsis "Trap exit codes, exceptions, output, etc.") + (description "This module is primarily (but not exclusively) for use in +test scripts: A block eval configurable and extensible but by default trapping +STDOUT, STDERR, warnings, exceptions, would-be exit codes, and return values +from boxed blocks of test code.") + (license (package-license perl)))) + (define-public perl-test-warn (package (name "perl-test-warn") From 5c2234f011e69499a2198269bea9ad4b25fec536 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:44:54 -0500 Subject: [PATCH 223/359] gnu: Add Params-Validate. * gnu/packages/perl.scm (perl-params-validate): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a9359a7a93..7bd0cff9b2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1677,6 +1677,30 @@ is particularly useful for debugging.") checking parameters easier.") (license (package-license perl)))) +(define-public perl-params-validate + (package + (name "perl-params-validate") + (version "1.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" + "Params-Validate-" version ".tar.gz")) + (sha256 + (base32 + "1wh23i9kkma6493c0q1kvy6wmahd6spg6xm3xbp2ar1iy1xhks5l")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-module-implementation" ,perl-module-implementation))) + (home-page "http://search.cpan.org/dist/Params-Validate") + (synopsis "Validate method/function parameters") + (description "The Params::Validate module allows you to validate method or +function call parameters to an arbitrary level of specificity.") + (license artistic2.0))) + (define-public perl-parent (package (name "perl-parent") From dd34630f56f546204ecae768a9ec7705da9d213d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 11:45:49 -0500 Subject: [PATCH 224/359] gnu: Add Getopt-Long-Descriptive. * gnu/packages/perl.scm (perl-getopt-long-descriptive): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7bd0cff9b2..fc8deccc19 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1109,6 +1109,33 @@ shell.") "File-Which-" version)) (license (package-license perl)))) +(define-public perl-getopt-long-descriptive + (package + (name "perl-getopt-long-descriptive") + (version "0.098") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "Getopt-Long-Descriptive-" version ".tar.gz")) + (sha256 + (base32 + "08lphvqshcajvvd6z4rvcda6rx5kz8pysrsip4nfv2mbks95p9ma")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-warnings" ,perl-test-warnings))) + (propagated-inputs + `(("perl-params-validate" ,perl-params-validate) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Getopt-Long-Descriptive") + (synopsis "Getopt::Long, but simpler and more powerful") + (description "Getopt::Long::Descriptive is yet another Getopt library. +It's built atop Getopt::Long, and gets a lot of its features, but tries to +avoid making you think about its huge array of options. It also provides +usage (help) messages, data validation, and a few other useful features.") + (license (package-license perl)))) + (define-public perl-getopt-tabular (package (name "perl-getopt-tabular") From eb81114cd2a23f5a7ef25905d904c6f0b0e2b67f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:00:08 -0500 Subject: [PATCH 225/359] gnu: Add aliased. * gnu/packages/perl.scm (perl-aliased): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fc8deccc19..81c8a0d235 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -103,6 +103,27 @@ program. It is guaranteed to find the *smallest possible* set of differences.") (license (package-license perl)))) +(define-public perl-aliased + (package + (name "perl-aliased") + (version "0.34") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "aliased-" version ".tar.gz")) + (sha256 + (base32 + "1syyqzy462501kn5ma9gl6xbmcahqcn4qpafhsmpz0nd0x2m4l63")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/aliased") + (synopsis "Use shorter versions of class names") + (description "The alias module loads the class you specify and exports +into your namespace a subroutine that returns the class name. You can +explicitly alias the class to another name or, if you prefer, you can do so +implicitly.") + (license (package-license perl)))) + (define-public perl-archive-zip (package (name "perl-archive-zip") From ceb3b13830c472d63c6fecd60771c69af77e33bb Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:04:48 -0500 Subject: [PATCH 226/359] gnu: Add namespace-autoclean. * gnu/packages/perl.scm (perl-namespace-autoclean): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 81c8a0d235..ec5f2cebde 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1535,6 +1535,36 @@ higher. This module provides those interfaces for earlier versions of Perl (back to 5.6.0).") (license (package-license perl)))) +(define-public perl-namespace-autoclean + (package + (name "perl-namespace-autoclean") + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "namespace-autoclean-" version ".tar.gz")) + (sha256 + (base32 + "0msggbg2zbixxjq1fda19h0yygavxndfzc4j4pq11nfghmawjsb0")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-sub-identify" ,perl-sub-identify))) + (home-page "http://search.cpan.org/dist/namespace-autoclean") + (synopsis "Keep imports out of your namespace") + (description "The namespace::autoclean pragma will remove all imported +symbols at the end of the current package's compile cycle. Functions called +in the package itself will still be bound by their name, but they won't show +up as methods on your class or instances. It is very similar to +namespace::clean, except it will clean all imported functions, no matter if +you imported them before or after you used the pragma. It will also not touch +anything that looks like a method.") + (license (package-license perl)))) + (define-public perl-namespace-clean (package (name "perl-namespace-clean") From bfcb13bc6a4c56ece232e7292155bfc1892c61c3 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:06:34 -0500 Subject: [PATCH 227/359] gnu: Add MooseX-Role-WithOverloading. * gnu/packages/perl.scm (perl-moosex-role-withoverloading): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ec5f2cebde..bdd7dfa1a9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1514,6 +1514,31 @@ system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.") (license (package-license perl)))) +(define-public perl-moosex-role-withoverloading + (package + (name "perl-moosex-role-withoverloading") + (version "0.16") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "MooseX-Role-WithOverloading-" version ".tar.gz")) + (sha256 + (base32 + "0kfs203ip44vsxh282kshia8wqkwklz4i7fs2ngsbj6frv00nqdv")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-aliased" ,perl-aliased) + ("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-Role-WithOverloading") + (synopsis "Roles which support overloading") + (description "MooseX::Role::WithOverloading allows you to write a +Moose::Role which defines overloaded operators and allows those overload +methods to be composed into the classes/roles/instances it's compiled to, +where plain Moose::Roles would lose the overloading.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") From 3fc65fd2c9ed5a9dd82ae30d8777d6b13adf3c0f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:10:48 -0500 Subject: [PATCH 228/359] gnu: Add MooseX-Role-Parameterized. * gnu/packages/perl.scm (perl-moosex-role-parameterized): New variable. --- gnu/packages/perl.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bdd7dfa1a9..ecdaa57a59 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1514,6 +1514,37 @@ system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.") (license (package-license perl)))) +(define-public perl-moosex-role-parameterized + (package + (name "perl-moosex-role-parameterized") + (version "1.08") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "MooseX-Role-Parameterized-" version ".tar.gz")) + (sha256 + (base32 + "12s2nmq13ri126yv02bx9h30j760zpal27i470z85ayw9s7il4jq")))) + (build-system perl-build-system) + (native-inputs + `(("perl-cpan-meta-check" ,perl-cpan-meta-check) + ("perl-moosex-role-withoverloading" ,perl-moosex-role-withoverloading) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-Role-Parameterized") + (synopsis "Moose roles with composition parameters") + (description "Because Moose roles serve many different masters, they +usually provide only the least common denominator of functionality. To +empower roles further, more configurability than -alias and -excludes is +required. Perhaps your role needs to know which method to call when it is +done processing, or what default value to use for its url attribute. +Parameterized roles offer a solution to these (and other) kinds of problems.") + (license (package-license perl)))) + (define-public perl-moosex-role-withoverloading (package (name "perl-moosex-role-withoverloading") From 1a17aa2dc7dedf4125517ff8532f20b7da73a0c9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:14:50 -0500 Subject: [PATCH 229/359] gnu: Add MooseX-Getopt. * gnu/packages/perl.scm (perl-moosex-getopt): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ecdaa57a59..96a77c95bf 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1514,6 +1514,36 @@ system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.") (license (package-license perl)))) +(define-public perl-moosex-getopt + (package + (name "perl-moosex-getopt") + (version "0.65") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "MooseX-Getopt-" version ".tar.gz")) + (sha256 + (base32 + "1nkzvbsiwldmpn6207ns7rinh860djnw098h6cnvywf429rjnz60")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-deep" ,perl-test-deep) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires) + ("perl-test-trap" ,perl-test-trap) + ("perl-test-warnings" ,perl-test-warnings))) + (propagated-inputs + `(("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive) + ("perl-moose" ,perl-moose) + ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-Getopt") + (synopsis "Moose role for processing command line options") + (description "This is a Moose role which provides an alternate constructor +for creating objects using parameters passed in from the command line.") + (license (package-license perl)))) + (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") From 40b2ea4c2cd506ba9f41c0d5f0c01523de95e261 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:28:23 -0500 Subject: [PATCH 230/359] gnu: Add Carp-Clan. * gnu/packages/perl.scm (perl-carp-clan): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 96a77c95bf..2909029e6c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -237,6 +237,29 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-carp-clan + (package + (name "perl-carp-clan") + (version "6.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/ST/STBEY/" + "Carp-Clan-" version ".tar.gz")) + (sha256 + (base32 + "1v71k8s1pi16l5y579gnrg372c6pdvy6qqm6iddm8h1dx7n16bjl")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page "http://search.cpan.org/dist/Carp-Clan") + (synopsis "Report errors from a \"clan\" of modules") + (description "This module allows errors from a clan (or family) of modules +to appear to originate from the caller of the clan. This is necessary in +cases where the clan modules are not classes derived from each other, and thus +the Carp.pm module doesn't help.") + (license (package-license perl)))) + (define-public perl-class-accessor (package (name "perl-class-accessor") From ffb2d0b42b14035a0ed403d42878fc38a1e2e7be Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:30:13 -0500 Subject: [PATCH 231/359] gnu: Add MooseX-Types. * gnu/packages/perl.scm (perl-moosex-types): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2909029e6c..22c83e8993 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1623,6 +1623,33 @@ methods to be composed into the classes/roles/instances it's compiled to, where plain Moose::Roles would lose the overloading.") (license (package-license perl)))) +(define-public perl-moosex-types + (package + (name "perl-moosex-types") + (version "0.45") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "MooseX-Types-" version ".tar.gz")) + (sha256 + (base32 + "1iq90s1f0xbmr194q0mhnp9wxqxwwilkbdml040ibqbqvfiz87yh")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-carp-clan" ,perl-carp-clan) + ("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-Types") + (synopsis "Organise your Moose types in libraries") + (description "This package lets you declare types using short names, but +behind the scenes it namespaces all your type declarations, effectively +prevent name clashes between packages.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") From 1e3a6eae990d1e8813b4fbfc5959ab7c379e2728 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:32:47 -0500 Subject: [PATCH 232/359] gnu: Add MooseX-MethodAttributes. * gnu/packages/perl.scm (perl-moosex-methodattributes): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 22c83e8993..0fcd019ce2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1567,6 +1567,33 @@ private methods are not.") for creating objects using parameters passed in from the command line.") (license (package-license perl)))) +(define-public perl-moosex-methodattributes + (package + (name "perl-moosex-methodattributes") + (version "0.29") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "MooseX-MethodAttributes-" version ".tar.gz")) + (sha256 + (base32 + "1pz3i67gadfmgzj87m1xp2ilcg3yhppdylcng2h6c11dy0a06hdk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build-tiny" ,perl-module-build-tiny) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-moose" ,perl-moose) + ("perl-moosex-types" ,perl-moosex-types) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-MethodAttributes") + (synopsis "Code attribute introspection") + (description "This module allows code attributes of methods to be +introspected using Moose meta method objects.") + (license (package-license perl)))) + (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") From 65b04b4a144564cc57847ab00c7b6da9a3cc1414 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:37:39 -0500 Subject: [PATCH 233/359] gnu: Add Path-Class. * gnu/packages/perl.scm (perl-path-class): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0fcd019ce2..73a81949bb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1961,6 +1961,25 @@ function call parameters to an arbitrary level of specificity.") up inheritance from those modules at the same time.") (license (package-license perl)))) +(define-public perl-path-class + (package + (name "perl-path-class") + (version "0.35") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" + "Path-Class-" version ".tar.gz")) + (sha256 + (base32 + "1viaj8jyshcj135la0kgfgzalaw06xnbsg9h54jx09v1342v69lj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Path-Class") + (synopsis "Path specification manipulation") + (description "Path::Class is a module for manipulation of file and +directory specifications in a cross-platform manner.") + (license (package-license perl)))) + (define-public perl-posix-strftime-compiler (package (name "perl-posix-strftime-compiler") From acd1f73a26d53692131c3af63731bc8839732156 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:41:58 -0500 Subject: [PATCH 234/359] gnu: Add Plack-Middleware-FixMissingBodyInRedirect. * gnu/packages/web.scm (perl-plack-middleware-fixmissingbodyinredirect): New variable. --- gnu/packages/web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 255b7f1dd0..420d1dc918 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1097,6 +1097,31 @@ application frameworks. Plack is like Ruby's Rack or Python's Paste for WSGI.") (license (package-license perl)))) +(define-public perl-plack-middleware-fixmissingbodyinredirect + (package + (name "perl-plack-middleware-fixmissingbodyinredirect") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SW/SWEETKID/" + "Plack-Middleware-FixMissingBodyInRedirect-" + version ".tar.gz")) + (sha256 + (base32 + "14dkrmccq7a5vpymx5dv8032gfcvhsw2i6v5sh3c4ym5ymlx08kc")))) + (build-system perl-build-system) + (native-inputs + `(("perl-html-parser" ,perl-html-parser) ;for HTML::Entities + ("perl-http-message" ,perl-http-message) + ("perl-plack" ,perl-plack))) ;for Plack::Test + (home-page + "http://search.cpan.org/dist/Plack-Middleware-FixMissingBodyInRedirect") + (synopsis "Plack::Middleware which sets body for redirect response") + (description "This module sets the body in redirect response, if it's not +already set.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From 03d874d069a565a7a55606024c572873aa362bf2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:45:40 -0500 Subject: [PATCH 235/359] gnu: Add Plack-Middleware-MethodOverride. * gnu/packages/web.scm (perl-plack-middleware-methodoverride): New variable. --- gnu/packages/web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 420d1dc918..b336cc2257 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1122,6 +1122,30 @@ WSGI.") already set.") (license (package-license perl)))) +(define-public perl-plack-middleware-methodoverride + (package + (name "perl-plack-middleware-methodoverride") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/" + "Plack-Middleware-MethodOverride-" + version ".tar.gz")) + (sha256 + (base32 + "1hb8dx7i4vs74n0p737wrvpdnnw6argxrjpr6kj6432zabp8325z")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-plack" ,perl-plack))) + (home-page "http://search.cpan.org/dist/Plack-Middleware-MethodOverride") + (synopsis "Override REST methods to Plack apps via POST") + (description "This middleware allows for POST requests that pretend to be +something else: by adding either a header named X-HTTP-Method-Override to the +request, or a query parameter named x-tunneled-method to the URI, the client +can say what method it actually meant.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From 13e330be236f4d29bf8774fc64dfbd4ddcf0aa5f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:53:22 -0500 Subject: [PATCH 236/359] gnu: Add Plack-Middleware-RemoveRedundantBody. * gnu/packages/web.scm (perl-plack-middleware-removeredundantbody): New variable. --- gnu/packages/web.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b336cc2257..d41ddccdc3 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1146,6 +1146,29 @@ request, or a query parameter named x-tunneled-method to the URI, the client can say what method it actually meant.") (license (package-license perl)))) +(define-public perl-plack-middleware-removeredundantbody + (package + (name "perl-plack-middleware-removeredundantbody") + (version "0.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SW/SWEETKID/" + "Plack-Middleware-RemoveRedundantBody-" + version ".tar.gz")) + (sha256 + (base32 + "1n3wm0zi8dnk54jx937asl951lslj3jvw0fry4jpzsibg4f6wrx0")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-plack" ,perl-plack))) + (home-page + "http://search.cpan.org/dist/Plack-Middleware-RemoveRedundantBody") + (synopsis "Plack::Middleware which removes body for HTTP response") + (description "This module removes the body in an HTTP response if it's not +required.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From ca157ba9b8dfecff764e08fef5c04ec4a399e1cf Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:55:42 -0500 Subject: [PATCH 237/359] gnu: Add Plack-Middleware-ReverseProxy. * gnu/packages/web.scm (perl-plack-middleware-reverseproxy): New variable. --- gnu/packages/web.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index d41ddccdc3..82d768e630 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1169,6 +1169,29 @@ can say what method it actually meant.") required.") (license (package-license perl)))) +(define-public perl-plack-middleware-reverseproxy + (package + (name "perl-plack-middleware-reverseproxy") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Plack-Middleware-ReverseProxy-" + version ".tar.gz")) + (sha256 + (base32 + "1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-plack" ,perl-plack))) + (home-page "http://search.cpan.org/dist/Plack-Middleware-ReverseProxy") + (synopsis "Supports app to run as a reverse proxy backend") + (description "Plack::Middleware::ReverseProxy resets some HTTP headers, +which are changed by reverse-proxy. You can specify the reverse proxy address +and stop fake requests using 'enable_if' directive in your app.psgi.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From 64b16bf7927482e853d15548003ccfb86caf973f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:59:30 -0500 Subject: [PATCH 238/359] gnu: Add Plack-Test-ExternalServer. * gnu/packages/web.scm (perl-plack-test-externalserver): New variable. --- gnu/packages/web.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 82d768e630..aecdd21950 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1192,6 +1192,28 @@ which are changed by reverse-proxy. You can specify the reverse proxy address and stop fake requests using 'enable_if' directive in your app.psgi.") (license (package-license perl)))) +(define-public perl-plack-test-externalserver + (package + (name "perl-plack-test-externalserver") + (version "0.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + "Plack-Test-ExternalServer-" version ".tar.gz")) + (sha256 + (base32 + "1dbg1p3rgvvbkkpvca5jlc2mzx8iqyiybk88al93pvbca65h1g7h")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-plack" ,perl-plack))) + (home-page "http://search.cpan.org/dist/Plack-Test-ExternalServer") + (synopsis "Run HTTP tests on external live servers") + (description "This module allows your to run your Plack::Test tests +against an external server instead of just against a local application through +either mocked HTTP or a locally spawned server.") + (license (package-license perl)))) + (define-public perl-test-tcp (package (name "perl-test-tcp") From 317c4a1da84cfa0b4f496dee3d843925a075e433 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 12:59:52 -0500 Subject: [PATCH 239/359] gnu: Add Safe-Isa. * gnu/packages/perl.scm (perl-safe-isa): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 73a81949bb..2ca1ce8e6c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2048,6 +2048,25 @@ codes.") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) x11 bsd-3)))) +(define-public perl-safe-isa + (package + (name "perl-safe-isa") + (version "1.000005") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Safe-Isa-" version ".tar.gz")) + (sha256 + (base32 + "1vib54cp64dy3ic4n73skadp1pl4gn8s9qpxmzvi078dm3mpnbcw")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Safe-Isa") + (synopsis "Call isa, can, does, and DOES safely") + (description "This module allows you to call isa, can, does, and DOES +safely on things that may not be objects.") + (license (package-license perl)))) + (define-public perl-stream-buffered (package (name "perl-stream-buffered") From 895046f935dd75fad2b62b258f0817b2f8ada631 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:03:06 -0500 Subject: [PATCH 240/359] gnu: Add String-RewritePrefix. * gnu/packages/perl.scm (perl-string-rewriteprefix): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2ca1ce8e6c..26f40f92bb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2088,6 +2088,27 @@ buffered. It uses PerlIO and/or temporary file to save the buffer depending on the length of the size.") (license (package-license perl)))) +(define-public perl-string-rewriteprefix + (package + (name "perl-string-rewriteprefix") + (version "0.007") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "String-RewritePrefix-" version ".tar.gz")) + (sha256 + (base32 + "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/String-RewritePrefix") + (synopsis "Rewrite strings based on a set of known prefixes") + (description "This module allows you to rewrite strings based on a set of +known pprefixes.") + (license (package-license perl)))) + (define-public perl-sub-exporter (package (name "perl-sub-exporter") From e3ad9d64d6e25207f3a489a0643ab0e56fcc0f03 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:06:32 -0500 Subject: [PATCH 241/359] gnu: Add Text-SimpleTable. * gnu/packages/perl.scm (perl-text-simpletable): New variable. --- gnu/packages/perl.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 26f40f92bb..beb7f8dce8 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2822,6 +2822,24 @@ used to match against text, rather than fetching names from a filesystem. If you want to do full file globbing use the File::Glob module instead.") (license (package-license perl)))) +(define-public perl-text-simpletable + (package + (name "perl-text-simpletable") + (version "2.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MR/MRAMBERG/" + "Text-SimpleTable-" version ".tar.gz")) + (sha256 + (base32 + "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-SimpleTable") + (synopsis "Simple ASCII tables") + (description "Text::SimpleTable draws simple ASCII tables.") + (license artistic2.0))) + (define-public perl-time-local (package (name "perl-time-local") From b9f6e75efc4ba146acd89dd35e073ebf998639ad Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:09:20 -0500 Subject: [PATCH 242/359] gnu: Add Tree-Simple. * gnu/packages/perl.scm (perl-tree-simple): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index beb7f8dce8..847abe7ec3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2901,6 +2901,30 @@ time values and formating dates into ASCII strings.") and time() calls.") (license (package-license perl)))) +(define-public perl-tree-simple + (package + (name "perl-tree-simple") + (version "1.25") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" + "Tree-Simple-" version ".tgz")) + (sha256 + (base32 + "1xj1n70v4qbx7m9k01bj9aixk77yssliavgvfds3xj755hcan0nr")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-scalar-list-utils" ,perl-scalar-list-utils))) + (home-page "http://search.cpan.org/dist/Tree-Simple") + (synopsis "Simple tree object") + (description "This module in a fully object-oriented implementation of a +simple n-ary tree.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From 7ffa58b3042dbe75de82483bbc9947474e308ff1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:13:33 -0500 Subject: [PATCH 243/359] gnu: Add Tree-Simple-VisitorFactory. * gnu/packages/perl.scm (perl-tree-simple-visitorfactory): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 847abe7ec3..7292da2f14 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2925,6 +2925,30 @@ and time() calls.") simple n-ary tree.") (license (package-license perl)))) +(define-public perl-tree-simple-visitorfactory + (package + (name "perl-tree-simple-visitorfactory") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" + "Tree-Simple-VisitorFactory-" version ".tgz")) + (sha256 + (base32 + "1g27xl48q1vr7aikhxg4vvcsj1si8allxz59vmnks61wsw4by7vg")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-tree-simple" ,perl-tree-simple) + ("perl-base" ,perl-base))) + (home-page "http://search.cpan.org/dist/Tree-Simple-VisitorFactory") + (synopsis "Factory object for dispensing Visitor objects") + (description "This module is a factory for dispensing +Tree::Simple::Visitor::* objects.") + (license (package-license perl)))) + (define-public perl-try-tiny (package (name "perl-try-tiny") From 36a100a1d667381d2b151e0a140cc8b9ee516f41 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:15:50 -0500 Subject: [PATCH 244/359] gnu: Add URI-ws. * gnu/packages/web.scm (perl-uri-ws): New variable. --- gnu/packages/web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index aecdd21950..6f8f25c36e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1255,6 +1255,27 @@ represent \"Uniform Resource Identifier references\" as specified in RFC 2396 and updated by RFC 2732.") (home-page "http://search.cpan.org/dist/URI/"))) +(define-public perl-uri-ws + (package + (name "perl-uri-ws") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/" + "URI-ws-" version ".tar.gz")) + (sha256 + (base32 + "1vs1wm80sq685944g1l4a0fxcbccc00c0f9648yabdmcf90hwsvf")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-uri" ,perl-uri))) + (home-page "http://search.cpan.org/dist/URI-ws") + (synopsis "WebSocket support for URI package") + (description "With this module, the URI package provides the same set of +methods for WebSocket URIs as it does for HTTP URIs.") + (license (package-license perl)))) + (define-public perl-www-curl (package (name "perl-www-curl") From 91f0629934624e517926a060afa892eea0958867 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Mar 2015 13:43:01 -0500 Subject: [PATCH 245/359] gnu: Add Catalyst-Runtime. * gnu/packages/web.scm (perl-catalyst-runtime): New variable. --- gnu/packages/web.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6f8f25c36e..62adab3952 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -523,6 +523,70 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.") to perl-code, for faster generation of access_log lines.") (license (package-license perl)))) +(define-public perl-catalyst-runtime + (package + (name "perl-catalyst-runtime") + (version "5.90082") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/" + "Catalyst-Runtime-" version ".tar.gz")) + (sha256 + (base32 + "1gs70nq4rikpq6siwds9disb1z03vwjzf979xi9kf7saa1drfncs")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-cgi-simple" ,perl-cgi-simple) + ("perl-cgi-struct" ,perl-cgi-struct) + ("perl-class-c3-adopt-next" ,perl-class-c3-adopt-next) + ("perl-class-data-inheritable" ,perl-class-data-inheritable) + ("perl-class-date" ,perl-class-date) + ("perl-class-load" ,perl-class-load) + ("perl-data-dump" ,perl-data-dump) + ("perl-http-body" ,perl-http-body) + ("perl-http-message" ,perl-http-message) + ("perl-http-request-ascgi" ,perl-http-request-ascgi) + ("perl-io-stringy" ,perl-io-stringy) + ("perl-json-maybexs" ,perl-json-maybexs) + ("perl-libwww" ,perl-libwww) + ("perl-moose" ,perl-moose) + ("perl-moosex-emulate-class-accessor-fast" + ,perl-moosex-emulate-class-accessor-fast) + ("perl-moosex-getopt" ,perl-moosex-getopt) + ("perl-moosex-methodattributes" ,perl-moosex-methodattributes) + ("perl-moosex-role-withoverloading" ,perl-moosex-role-withoverloading) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-path-class" ,perl-path-class) + ("perl-plack" ,perl-plack) + ("perl-plack-middleware-fixmissingbodyinredirect" + ,perl-plack-middleware-fixmissingbodyinredirect) + ("perl-plack-middleware-methodoverride" + ,perl-plack-middleware-methodoverride) + ("perl-plack-middleware-removeredundantbody" + ,perl-plack-middleware-removeredundantbody) + ("perl-plack-middleware-reverseproxy" + ,perl-plack-middleware-reverseproxy) + ("perl-plack-test-externalserver" ,perl-plack-test-externalserver) + ("perl-safe-isa" ,perl-safe-isa) + ("perl-string-rewriteprefix" ,perl-string-rewriteprefix) + ("perl-text-simpletable" ,perl-text-simpletable) + ("perl-tree-simple" ,perl-tree-simple) + ("perl-tree-simple-visitorfactory" ,perl-tree-simple-visitorfactory) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-uri" ,perl-uri) + ("perl-uri-ws" ,perl-uri-ws))) + (home-page "http://search.cpan.org/dist/Catalyst-Runtime") + (synopsis "The Catalyst Framework Runtime") + (description "Catalyst is a modern framework for making web applications. +It is designed to make it easy to manage the various tasks you need to do to +run an application on the web, either by doing them itself, or by letting you +\"plug in\" existing Perl modules that do what you need.") + (license (package-license perl)))) + (define-public perl-cgi-simple (package (name "perl-cgi-simple") From 81ce19f45238bb504ce862d1553e81dcc8239519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Wed, 11 Mar 2015 12:42:56 +0100 Subject: [PATCH 246/359] gnu: Add isync. * gnu/packages/mail.scm (isync): New variable. --- gnu/packages/mail.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4aa74fe3ee..552bf2c761 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) @@ -626,4 +627,26 @@ deal of flexibility in the way mail can be routed, and there are extensive facilities for checking incoming mail.") (license gpl2+))) +(define-public isync + (package + (name "isync") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/isync/isync/" + version "/isync-" version ".tar.gz")) + (sha256 (base32 + "1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2")))) + (build-system gnu-build-system) + (inputs + `(("bdb" ,bdb) + ("openssl" ,openssl))) + (home-page "http://isync.sourceforge.net/") + (synopsis "Mailbox synchronization program") + (description + "isync/mbsync is command line tool for two-way synchronization of +mailboxes. Currently Maildir and IMAP are supported types.") + (license gpl2+))) + ;;; mail.scm ends here From 70408ccbe692f53644885054540f8c8fa8437169 Mon Sep 17 00:00:00 2001 From: "Alexander I.Grafov (Axel)" Date: Wed, 11 Mar 2015 01:31:30 +0300 Subject: [PATCH 247/359] system: Remove duplicated line from export. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system.scm (gnu system): Remove duplicate in exported names list. Signed-off-by: Ludovic Courtès --- gnu/system.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/system.scm b/gnu/system.scm index 1a0aee41eb..9748113070 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -69,7 +69,6 @@ operating-system-users operating-system-groups operating-system-issue - operating-system-packages operating-system-timezone operating-system-locale operating-system-locale-definitions From cd9bc11273d11765db2c7431191c08d7ac969c7a Mon Sep 17 00:00:00 2001 From: "Alexander I.Grafov (Axel)" Date: Wed, 11 Mar 2015 15:17:24 +0300 Subject: [PATCH 248/359] system: Add fish, tcsh, and zsh to /etc/shells. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system.scm (etc-directory)[shells]: Add fish, tcsh, and zsh file names to /etc/shells. Signed-off-by: Ludovic Courtès --- gnu/system.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 9748113070..c43a8ede5c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -415,11 +415,17 @@ settings for 'guix.el' to work out-of-the-box." ((pam.d (pam-services->directory pam-services)) (sudoers (text-file "sudoers" sudoers)) (login.defs (text-file "login.defs" "# Empty for now.\n")) - (shells (text-file "shells" ; used by xterm and others + + ;; /etc/shells is used by xterm and other programs. We don't check + ;; whether these shells are installed, should be OK. + (shells (text-file "shells" "\ /bin/sh /run/current-system/profile/bin/sh -/run/current-system/profile/bin/bash\n")) +/run/current-system/profile/bin/bash +/run/current-system/profile/bin/fish +/run/current-system/profile/bin/tcsh +/run/current-system/profile/bin/zsh\n")) (emacs (emacs-site-directory)) (issue (text-file "issue" issue)) (nsswitch (text-file "nsswitch.conf" From 16629c8adf90db559a32b7a2c5ec8a94be7ef7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 22:08:04 +0100 Subject: [PATCH 249/359] gnu: bash-completion: Search for completion modules in profiles. * gnu/packages/patches/bash-completion-directories.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/bash.scm (bash-completion)[source]: Use it. --- gnu-system.am | 1 + gnu/packages/bash.scm | 5 ++- .../patches/bash-completion-directories.patch | 33 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/bash-completion-directories.patch diff --git a/gnu-system.am b/gnu-system.am index aa37726b6a..bd3f434090 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -364,6 +364,7 @@ dist_patch_DATA = \ gnu/packages/patches/automake-skip-amhello-tests.patch \ gnu/packages/patches/avahi-localstatedir.patch \ gnu/packages/patches/avrdude-fix-libusb.patch \ + gnu/packages/patches/bash-completion-directories.patch \ gnu/packages/patches/bowtie-fix-makefile.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index c669194c2e..361eb475d6 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -19,6 +19,7 @@ (define-module (gnu packages bash) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (gnu packages readline) #:use-module (gnu packages bison) @@ -218,7 +219,9 @@ without modification.") "bash-completion-" version ".tar.bz2")) (sha256 (base32 - "0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b")))) + "0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b")) + (patches + (list (search-patch "bash-completion-directories.patch"))))) (build-system gnu-build-system) (synopsis "Bash completions for common commands") (description diff --git a/gnu/packages/patches/bash-completion-directories.patch b/gnu/packages/patches/bash-completion-directories.patch new file mode 100644 index 0000000000..1a3e2f55c5 --- /dev/null +++ b/gnu/packages/patches/bash-completion-directories.patch @@ -0,0 +1,33 @@ +Bash-completion is written with FHS in mind where completion scripts +all get added to /usr/share/bash-completion/completions and are picked +up by the dynamic completion loader from there---whether they are +part of bash-completion or installed by another package. + +On Guix systems, we want not only to search within bash-completion's own +directory, but also in the user's profile and in the system profile. +This is what this patch does. + +--- bash-completion-2.1/bash_completion 2015-03-11 09:45:45.056846446 +0100 ++++ bash-completion-2.1/bash_completion 2015-03-11 09:52:43.248159504 +0100 +@@ -1928,9 +1928,20 @@ _completion_loader() + local compfile=./completions + [[ $BASH_SOURCE == */* ]] && compfile="${BASH_SOURCE%/*}/completions" + compfile+="/${1##*/}" ++ local base="${1##*/}" + ++ # Look for completion files in the user and global profiles and ++ # lastly in 'bash-completion' itself. ++ for file in \ ++ "$HOME/.guix-profile/share/bash-completion/completions/$base" \ ++ "$HOME/.guix-profile/etc/bash_completion.d/$base" \ ++ "/run/current-system/profile/share/bash-completion/completions/$base" \ ++ "/run/current-system/profile/etc/bash_completion.d/$base" \ ++ "$compfile" ++ do + # Avoid trying to source dirs; https://bugzilla.redhat.com/903540 +- [[ -f "$compfile" ]] && . "$compfile" &>/dev/null && return 124 ++ [[ -f "$file" ]] && . "$file" &>/dev/null && return 124 ++ done + + # Need to define *something*, otherwise there will be no completion at all. + complete -F _minimal "$1" && return 124 From be3ed52d7ba3038fe9350b43941613db1d10f032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 22:09:08 +0100 Subject: [PATCH 250/359] gnu: git: Install Bash completion as 'etc/bash_completion.d/git'. * gnu/packages/version-control.scm (git)[arguments] : Change "git.sh" to "git" as the completion module file name. --- gnu/packages/version-control.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 7434ed97b4..c0cdb047e1 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -154,7 +154,7 @@ as well as the classic centralized workflow.") ;; TODO: Install the tcsh and zsh completions in the right place. (mkdir-p completions) (copy-file "contrib/completion/git-completion.bash" - (string-append completions "/git.sh")) + (string-append completions "/git")) #t)) (alist-cons-after 'install 'split From 1d167b6e3779bcc1666b5c7d5ee802170c7023b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 22:11:18 +0100 Subject: [PATCH 251/359] system: Add /etc/bashrc that loads bash-completion when available. * gnu/system.scm (etc-directory)[profile]: Conditionally source /etc/bashrc. [bashrc]: New file. Source bash_completion.sh when available. --- gnu/system.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/system.scm b/gnu/system.scm index c43a8ede5c..0d510b623b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -352,6 +352,8 @@ explicitly appear in OS." e2fsprogs kbd + bash-completion + ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. (map canonical-package @@ -463,7 +465,25 @@ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\" # Allow Aspell to find dictionaries installed in the user profile. export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\" + +if [ -n \"$BASH_VERSION\" -a -f /etc/bashrc ] +then + # Load Bash-specific initialization code. + source /etc/bashrc +fi ")) + + (bashrc (text-file "bashrc" "\ +# Bash-specific initialization. + +# The 'bash-completion' package. +if [ -f /run/current-system/profile/etc/profile.d/bash_completion.sh ] +then + # Bash-completion sources ~/.bash_completion. It installs a dynamic + # completion loader that searches its own completion files as well + # as those in ~/.guix-profile and /run/current-system/profile. + source /run/current-system/profile/etc/profile.d/bash_completion.sh +fi\n")) (skel (skeleton-directory skeletons))) (file-union "etc" `(("services" ,#~(string-append #$net-base "/etc/services")) @@ -477,6 +497,7 @@ export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\" ("skel" ,#~#$skel) ("shells" ,#~#$shells) ("profile" ,#~#$profile) + ("bashrc" ,#~#$bashrc) ("hosts" ,#~#$hosts-file) ("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/" #$timezone)) From 7d9e8c08572f02e3742b759027e2943499ad25de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 22:46:28 +0100 Subject: [PATCH 252/359] gnu: guile-reader: Build with the C locale. * gnu/packages/guile.scm (guile-reader)[arguments]: Add #:locale. --- gnu/packages/guile.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 9fde9490c1..c605533fd2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -198,7 +198,13 @@ without requiring the source code to be rewritten.") (native-inputs `(("pkgconfig" ,pkg-config) ("gperf" ,gperf))) (inputs `(("guile" ,guile-2.0))) - (arguments `(#:configure-flags + (arguments `(;; The extract-*.sh scripts really expect to run in the C + ;; locale. Failing to do that, we end up with a build + ;; failure while extracting doc. (Fixed in Guile-Reader's + ;; repo.) + #:locale "C" + + #:configure-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "--with-guilemoduledir=" out "/share/guile/site/2.0"))))) From b3976e72f47f396ed2a304f9d8806618abe4c22e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 12 Mar 2015 22:49:27 +0100 Subject: [PATCH 253/359] gnu: skribilo: Add dependency on Ploticus. * gnu/packages/skribilo.scm (skribilo)[inputs]: Add PLOTUTILS. --- gnu/packages/skribilo.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index 8beb54dc3c..a1b3fe7c53 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +23,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages guile) #:use-module (gnu packages lout) + #:use-module (gnu packages plotutils) #:use-module (gnu packages imagemagick) #:use-module (gnu packages ghostscript)) @@ -60,10 +61,11 @@ %standard-phases) #:parallel-build? #f)) - ;; TODO: Add Ploticus. + (inputs `(("guile" ,guile-2.0) ("imagemagick" ,imagemagick) ("ghostscript" ,ghostscript) ; for 'convert' + ("ploticus" ,ploticus) ("lout" ,lout))) ;; The 'skribilo' command needs them, and for people using Skribilo as a From 97ffa451eb58b4883bbab86e52f8bbe1e37dee6d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Mar 2015 23:48:11 +0100 Subject: [PATCH 254/359] gnu: ffmpeg: Set LDFLAGS to -ldl. * gnu/packages/video.scm (ffmpeg, ffmpeg-2.2): Set LDFLAGS to -ldl. This fixes a build failure of ffmpeg-2.2. --- gnu/packages/video.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 344e4b6dc4..d16294ed68 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -250,6 +250,9 @@ SMPTE 314M.") (("#! /bin/sh") (string-append "#!" (which "bash")))) (setenv "SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash")) + ;; FIXME: only needed for ffmpeg-2.2.13, but easier to add + ;; globally; drop as soon as ffmpeg-2.2.13 is dropped + (setenv "LDFLAGS" "-ldl") ;; possible additional inputs: ;; --enable-avisynth enable reading of AviSynth script files [no] ;; --enable-frei0r enable frei0r video filtering From 40029cbe309fecda24e67d55ccd5fca505f35d68 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Mar 2015 22:16:12 +0100 Subject: [PATCH 255/359] gnu: hdf5: Combine all outputs into one. * gnu/packages/maths.scm (hdf5): Combine the outputs "out", "bin", "lib" and "include" into "out". (gmsh, octave): Adapt list of inputs. --- gnu/packages/maths.scm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c1f270a721..32fd448661 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -325,7 +325,6 @@ plotting engine by third-party applications like Octave.") (substitute* "configure" (("/bin/mv") "mv"))) %standard-phases))) - (outputs '("out" "bin" "lib" "include")) (home-page "http://www.hdfgroup.org") (synopsis "Management suite for extremely large and complex data") (description "HDF5 is a suite that makes possible the management of @@ -358,8 +357,7 @@ extremely large and complex data collections.") ("fltk" ,fltk) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("hdf5-lib" ,hdf5 "lib") - ("hdf5-include" ,hdf5 "include") + ("hdf5" ,hdf5) ("libxft" ,libxft) ("mesa" ,mesa) ("zlib" ,zlib))) @@ -411,8 +409,7 @@ files.") `(("fltk" ,fltk) ("gfortran" ,gfortran-4.8) ("gmp" ,gmp) - ("hdf5-lib" ,hdf5 "lib") - ("hdf5-include" ,hdf5 "include") + ("hdf5" ,hdf5) ("lapack" ,lapack) ("mesa" ,mesa) ("glu" ,glu) @@ -1098,7 +1095,7 @@ Fresnel integrals, and similar related functions as well.") (srfi srfi-1) (guix build gnu-build-system) (guix build utils)) - #:configure-flags + #:configure-flags `(;; Generate position independent code suitable for dynamic libraries ;; and use WALL timer to get more accurate timing. "-Fa" "alg" "-fPIC" "-D" "c" "-DWALL" @@ -1125,10 +1122,10 @@ Fresnel integrals, and similar related functions as well.") (alist-cons-after 'install 'install-doc (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") + (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/atlas"))) (mkdir-p doc) - (fold (lambda (file previous) + (fold (lambda (file previous) (and previous (zero? (system* "cp" file doc)))) #t (find-files "../ATLAS/doc" ".*")))) (alist-cons-after From 12ed1216de83929c303f5d910ce7c9ac9fdb7079 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Mar 2015 00:15:47 +0100 Subject: [PATCH 256/359] gnu: hdf5: Add input zlib. * gnu/packages/maths.scm (hdf5): Add input zlib. --- gnu/packages/maths.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 32fd448661..8eda4bd0b6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge +;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014 Eric Bavier @@ -317,6 +317,8 @@ plotting engine by third-party applications like Octave.") (sha256 (base32 "0f9n0v3p3lwc7564791a39c6cn1d3dbrn7d1j3ikqsi27a8hy23d")))) (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib))) (arguments `(#:phases (alist-cons-before From 97039f6ef2bd79e3dfdfcc7802a8d92f54fc99c4 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Mar 2015 10:33:42 +0100 Subject: [PATCH 257/359] gnu: Add vigra. * gnu/packages/image.scm (vigra): New variable. Co-authored-by: John Darrington --- gnu/packages/image.scm | 59 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 8d4b6fce46..5cce6284f0 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1,9 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2014 John Darrington ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,18 @@ (define-module (gnu packages image) #:use-module (gnu packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages doxygen) #:use-module (gnu packages fontutils) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages xml) - #:use-module (gnu packages ghostscript) ;lcms - #:use-module (gnu packages xorg) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages maths) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module (gnu packages zip) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -426,3 +432,46 @@ supplies a generic doubly-linked list and some string functions.") graphics image formats like PNG, BMP, JPEG, TIFF and others.") (license license:gpl2+) (home-page "http://freeimage.sourceforge.net"))) + +(define-public vigra + (package + (name "vigra") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hci.iwr.uni-heidelberg.de/vigra/vigra-" + version "-src.tar.gz")) + (sha256 (base32 + "16d0jvz3k49niljg9qvvlyxxl15yk0300xkymvyznlmvn1hs7m22")))) + (build-system cmake-build-system) + (inputs + `(("boost" ,boost) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hdf5" ,hdf5) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("python" ,python-2) ; print syntax + ("python2-numpy" ,python2-numpy) + ("zlib" ,zlib))) + (native-inputs + `(("doxygen" ,doxygen) + ("python2-nose" ,python2-nose) + ("python2-sphinx" ,python2-sphinx))) + (arguments + `(#:test-target "check" + #:configure-flags + (list "-Wno-dev" ; suppress developer mode with lots of warnings + (string-append "-DVIGRANUMPY_INSTALL_DIR=" + (assoc-ref %outputs "out") + "/lib/python2.7/site-packages")))) + (synopsis "Computer vision library") + (description + "VIGRA stands for Vision with Generic Algorithms. It is an image +processing and analysis library that puts its main emphasis on customizable +algorithms and data structures. It is particularly strong for +multi-dimensional image processing.") + (license license:expat) + (home-page "https://hci.iwr.uni-heidelberg.de/vigra"))) From 4e2f5b8f8fadfcb1d239cadabe22169443472266 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Mar 2015 10:44:11 +0100 Subject: [PATCH 258/359] gnu: calibre: Update to 2.21.0. * gnu/packages/ebook.scm (calibre): Update to 2.21.0. --- gnu/packages/ebook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 4664067d7c..196cbaeea3 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -60,7 +60,7 @@ (define-public calibre (package (name "calibre") - (version "2.20.0") + (version "2.21.0") (source (origin (method url-fetch) @@ -69,7 +69,7 @@ version ".tar.xz")) (sha256 (base32 - "13246f4vxz4ps3c549hrnwdkwic5jsf7g1faham38z1ixd094lkd")) + "1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) From 4bd43bbe73cfa5b6082078b9849fc09877e604df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 8 Mar 2015 20:39:26 +0800 Subject: [PATCH 259/359] services: slim: Use /run/current-system/profile/share/xsessions as sessiondir. * gnu/services/xorg.scm (, %windowmaker-session-type) (%ratposion-session-type, %sawfish-session-type, %default-xsessions) (xsessions-directory): Remove. (slim-service): Remove #:sessions parameter. [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir. * doc/guix.texi : Adjust accordingly. --- doc/guix.texi | 23 +------------ gnu/services/xorg.scm | 78 +++---------------------------------------- 2 files changed, 5 insertions(+), 96 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b605c5b192..fa8d3ab49e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4619,8 +4619,7 @@ started by the @dfn{login manager}, currently SLiM. @deffn {Monadic Procedure} slim-service [#:allow-empty-passwords? #f] @ [#:auto-login? #f] [#:default-user ""] [#:startx] @ [#:theme @var{%default-slim-theme}] @ - [#:theme-name @var{%default-slim-theme-name}] @ - [#:sessions @var{%default-sessions}] + [#:theme-name @var{%default-slim-theme-name}] Return a service that spawns the SLiM graphical login manager, which in turn starts the X display server with @var{startx}, a command as returned by @code{xorg-start-command}. @@ -4633,28 +4632,8 @@ If @var{theme} is @code{#f}, the use the default log-in theme; otherwise @var{theme} must be a gexp denoting the name of a directory containing the theme to use. In that case, @var{theme-name} specifies the name of the theme. - -Last, @var{session} is a list of @code{} objects denoting the -available session types that can be chosen from the log-in screen. The first -one is chosen by default. @end deffn -@defvr {Scheme Variable} %default-sessions -The list of default session types used by SLiM. -@end defvr - -@defvr {Scheme Variable} %ratpoison-session-type -Session type using the Ratpoison window manager. -@end defvr - -@defvr {Scheme Variable} %windowmaker-session-type -Session type using the WindowMaker window manager. -@end defvr - -@defvr {Scheme Variable} %sawfish-session-type -Session type using the Sawfish window manager. -@end defvr - @defvr {Scheme Variable} %default-theme @defvrx {Scheme Variable} %default-theme-name The G-Expression denoting the default SLiM theme and its name. diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 562f57ffa0..912cbd3885 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,9 +26,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages gl) #:use-module (gnu packages slim) - #:use-module (gnu packages ratpoison) #:use-module (gnu packages gnustep) - #:use-module (gnu packages sawfish) #:use-module (gnu packages admin) #:use-module (gnu packages bash) #:use-module (guix gexp) @@ -39,14 +38,6 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (xorg-start-command - %default-xsessions - %ratpoison-session-type - %windowmaker-session-type - %sawfish-session-type - - session-type? - session-type-name - %default-slim-theme %default-slim-theme-name slim-service)) @@ -194,61 +185,6 @@ which should be passed to this script as the first argument. If not, the ;;; SLiM log-in manager. ;;; -(define-record-type* session-type make-session-type - session-type? - (name session-type-name) ;string - (executable session-type-executable)) ;string-valued gexp - -(define %windowmaker-session-type - (session-type - (name "WindowMaker") - (executable #~(string-append #$windowmaker "/bin/wmaker")))) - -(define %ratpoison-session-type - (session-type - (name "Ratpoison") - (executable #~(string-append #$ratpoison "/bin/ratpoison")))) - -(define %sawfish-session-type - (session-type - (name "Sawfish") - (executable #~(string-append #$sawfish "/bin/sawfish")))) - -(define %default-xsessions - ;; Default session types available to the log-in manager. - (list %windowmaker-session-type %ratpoison-session-type)) - -(define (xsessions-directory sessions) - "Return a directory containing SESSIONS, a list of objects. -The alphabetical order of the files in that directory match the order of the -elements in SESSIONS." - (define builder - #~(begin - (use-modules (srfi srfi-1) - (ice-9 format)) - - (mkdir #$output) - (chdir #$output) - (fold (lambda (name executable number) - ;; Create file names such that the order of the items in - ;; SESSION is respected. SLiM gets them in lexicographic - ;; order and uses the first one as the default session. - (let ((file (format #f "~2,'0d-~a.desktop" - number (string-downcase name)))) - (call-with-output-file file - (lambda (port) - (format port "[Desktop Entry] -Name=~a -Exec=~a -Type=Application~%" - name executable))) - (+ 1 number))) - 1 - '#$(map session-type-name sessions) - (list #$@(map session-type-executable sessions))))) - - (gexp->derivation "xsessions-dir" builder)) - (define %default-slim-theme ;; Theme based on work by Felipe López. #~(string-append #$%artwork-repository "/slim")) @@ -264,7 +200,6 @@ Type=Application~%" (theme %default-slim-theme) (theme-name %default-slim-theme-name) (xauth xauth) (dmd dmd) (bash bash) - (sessions %default-xsessions) (auto-login-session #~(string-append #$windowmaker "/bin/wmaker")) startx) @@ -279,17 +214,12 @@ password. When @var{auto-login?} is true, log in automatically as If @var{theme} is @code{#f}, the use the default log-in theme; otherwise @var{theme} must be a gexp denoting the name of a directory containing the theme to use. In that case, @var{theme-name} specifies the name of the -theme. - -Last, @var{session} is a list of @code{} objects denoting the -available session types that can be chosen from the log-in screen. The first -one is chosen by default." +theme." (define (slim.cfg) (mlet %store-monad ((startx (or startx (xorg-start-command))) (xinitrc (xinitrc #:fallback-session - auto-login-session)) - (sessiondir (xsessions-directory sessions))) + auto-login-session))) (text-file* "slim.cfg" " default_path /run/current-system/profile/bin default_xserver " startx " @@ -300,7 +230,7 @@ authfile /var/run/slim.auth # The login command. '%session' is replaced by the chosen session name, one # of the names specified in the 'sessions' setting: 'wmaker', 'xfce', etc. login_cmd exec " xinitrc " %session -sessiondir " sessiondir " +sessiondir /run/current-system/profile/share/xsessions session_msg session (F1 to change): halt_cmd " dmd "/sbin/halt From e0b85670cf29899edb0c23477301e10bb43831ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 8 Mar 2015 20:57:53 +0800 Subject: [PATCH 260/359] services: slim: Allow non-absolute path to be used as session command. * gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence of COMMAND. Only run ~/.xsession when it exists. --- gnu/services/xorg.scm | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 912cbd3885..14edf8cc04 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -158,26 +158,26 @@ which should be passed to this script as the first argument. If not, the ;; environment variables that one gets when logging in on a tty, for ;; instance. (let* ((pw (getpw (getuid))) - (shell (passwd:shell pw)) - (st (stat command #f))) - (when (and st (not (zero? (logand (stat:mode st) #o100)))) - ;; Close any open file descriptors. This is all the more - ;; important that SLiM itself exec's us directly without closing - ;; its own file descriptors! - (close-all-fdes) + (shell (passwd:shell pw))) + ;; Close any open file descriptors. This is all the more + ;; important that SLiM itself exec's us directly without closing + ;; its own file descriptors! + (close-all-fdes) - ;; The '--login' option is supported at least by Bash and zsh. - (execl shell shell "--login" "-c" - (string-join (cons command args)))))) + ;; The '--login' option is supported at least by Bash and zsh. + (execl shell shell "--login" "-c" + (string-join (cons command args))))) - (let ((home (getenv "HOME")) - (session (match (command-line) - ((_ x) x) - (_ #$fallback-session)))) - ;; First, try to run ~/.xsession. - (exec-from-login-shell (string-append home "/.xsession")) - ;; Then try to start the specified session. - (exec-from-login-shell session)))) + (let* ((home (getenv "HOME")) + (xsession-file (string-append home "/.xsession")) + (session (match (command-line) + ((_ x) x) + (_ #$fallback-session)))) + (if (file-exists? xsession-file) + ;; Run ~/.xsession when it exists. + (exec-from-login-shell xsession-file) + ;; Otherwise, start the specified session. + (exec-from-login-shell session))))) (gexp->script "xinitrc" builder)) From 482dbe6a1622dce33b1c4b83775a0e6c53008686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 13 Mar 2015 22:57:22 +0800 Subject: [PATCH 261/359] services: slim: Pass SESSION to ~/.xsession as "$1". * gnu/services/xorg.scm (xinitrc)[builder]: Pass SESSION to ~/.xsession. --- gnu/services/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 14edf8cc04..c687b46bc2 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -175,7 +175,7 @@ which should be passed to this script as the first argument. If not, the (_ #$fallback-session)))) (if (file-exists? xsession-file) ;; Run ~/.xsession when it exists. - (exec-from-login-shell xsession-file) + (exec-from-login-shell xsession-file session) ;; Otherwise, start the specified session. (exec-from-login-shell session))))) (gexp->script "xinitrc" builder)) From 3edce2c9f9b14c2cd49c54abc5abb6d651c2ed23 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Mar 2015 09:33:33 +0100 Subject: [PATCH 262/359] gnu: libgnomeprint: adapt to newer freetype. * gnu/packages/gnome.scm (freetype): Change "freetype" to "freetype2" in snippet. --- gnu/packages/gnome.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 52be520df5..b547b81f43 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1089,7 +1089,14 @@ widgets built in the loading process.") name "-" version ".tar.bz2")) (sha256 (base32 - "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm")))) + "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm")) + (modules '((guix build utils))) + (snippet + ;; Adapt to newer freetype. As the package is deprecated, there + ;; is no use in creating a patch and reporting it. + '(substitute* '("libgnomeprint/gnome-font-face.c" + "libgnomeprint/gnome-rfont.c") + (("freetype/") "freetype2/"))))) (build-system gnu-build-system) (inputs `(("popt" ,popt) From 448ebad1f6f5a6714b02daee679629a4ec8af86c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:18:36 -0500 Subject: [PATCH 263/359] gnu: Add Class-XSAccessor. * gnu/packages/perl.scm (perl-class-xsaccessor): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7292da2f14..b8ddd42280 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -439,6 +439,29 @@ Class::Load") uses no non-core modules for any recent Perl.") (license asl2.0))) +(define-public perl-class-xsaccessor + (package + (name "perl-class-xsaccessor") + (version "1.19") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SM/SMUELLER/" + "Class-XSAccessor-" version ".tar.gz")) + (sha256 + (base32 + "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Class-XSAccessor") + (synopsis "Generate fast XS accessors without runtime compilation") + (description "Class::XSAccessor implements fast read, write, and +read/write accessors in XS. Additionally, it can provide predicates such as +\"has_foo()\" for testing whether the attribute \"foo\" is defined in the +object. It only works with objects that are implemented as ordinary hashes. +Class::XSAccessor::Array implements the same interface for objects that use +arrays for their internal representation.") + (license (package-license perl)))) + (define-public perl-clone (package (name "perl-clone") From ac42bfff8d3e37edd62b045a670723023c6a0e16 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:24:04 -0500 Subject: [PATCH 264/359] gnu: Add Class-Accessor-Grouped. * gnu/packages/perl.scm (perl-class-accessor-grouped): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b8ddd42280..74d5ecf973 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -283,6 +283,31 @@ the Carp.pm module doesn't help.") your class.") (license (package-license perl)))) +(define-public perl-class-accessor-grouped + (package + (name "perl-class-accessor-grouped") + (version "0.10012") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" + "Class-Accessor-Grouped-" version ".tar.gz")) + (sha256 + (base32 + "1zp74yv023q3macrf4rv3i82z8pkffqyhh7xk9xg8fbr63ikwqf4")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-class-xsaccessor" ,perl-class-xsaccessor) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-sub-name" ,perl-sub-name))) + (home-page "http://search.cpan.org/dist/Class-Accessor-Grouped") + (synopsis "Build groups of accessors") + (description "This class lets you build groups of accessors that will call +different getters and setters.") + (license (package-license perl)))) + (define-public perl-class-c3-adopt-next (package (name "perl-class-c3-adopt-next") From 606f2f824c1680343a1aba75ceaccdec5b2eed1d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:29:49 -0500 Subject: [PATCH 265/359] gnu: Add Algorithm-C3. * gnu/packages/perl.scm (perl-algorithm-c3): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 74d5ecf973..478bd1cfca 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -81,6 +81,25 @@ (home-page "http://www.perl.org/") (license gpl1+))) ; or "Artistic" +(define-public perl-algorithm-c3 + (package + (name "perl-algorithm-c3") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Algorithm-C3-" version ".tar.gz")) + (sha256 + (base32 + "01hlcaxndls86bl92rkd3fvf9pfa3inxqaimv88bxs95803kmkss")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Algorithm-C3") + (synopsis "Module for merging hierarchies using the C3 algorithm") + (description "This module implements the C3 algorithm, which aims to +provide a sane method resolution order under multiple inheritance.") + (license (package-license perl)))) + (define-public perl-algorithm-diff (package (name "perl-algorithm-diff") From 7a00ad4c2250f9e7cf926d8bd1c28140b9024d03 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:31:28 -0500 Subject: [PATCH 266/359] gnu: Add Class-C3. * gnu/packages/perl.scm (perl-class-c3): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 478bd1cfca..9b51faabcf 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -327,6 +327,28 @@ your class.") different getters and setters.") (license (package-license perl)))) +(define-public perl-class-c3 + (package + (name "perl-class-c3") + (version "0.27") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Class-C3-" version ".tar.gz")) + (sha256 + (base32 + "185jdpr4applrkvh71ks9ildx5kdymhqr4hilsqxwqny1wr56qss")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-algorithm-c3" ,perl-algorithm-c3))) + (home-page "http://search.cpan.org/dist/Class-C3") + (synopsis "Pragma to use the C3 method resolution order algorithm") + (description "This is pragma to change Perl 5's standard method resolution +order from depth-first left-to-right (a.k.a - pre-order) to the more +sophisticated C3 method resolution order.") + (license (package-license perl)))) + (define-public perl-class-c3-adopt-next (package (name "perl-class-c3-adopt-next") From 42641c44a604b4a95fdf6eafc801bd36d110292a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:32:32 -0500 Subject: [PATCH 267/359] gnu: Add Class-C3-Componentised. * gnu/packages/perl.scm (perl-class-c3-componentised): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9b51faabcf..f552c51912 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -373,6 +373,31 @@ sophisticated C3 method resolution order.") supporting the same interface, but using Class::C3 to do the hard work.") (license (package-license perl)))) +(define-public perl-class-c3-componentised + (package + (name "perl-class-c3-componentised") + (version "1.001000") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" + "Class-C3-Componentised-" version ".tar.gz")) + (sha256 + (base32 + "1nzav8arxll0rya7r2vp032s3acliihbb9mjlfa13rywhh77bzvl")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-class-c3" ,perl-class-c3) + ("perl-class-inspector" ,perl-class-inspector) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Class-C3-Componentised") + (synopsis "Load mix-ins or components to your C3-based class") + (description "This module will inject base classes to your module using +the Class::C3 method resolution order.") + (license (package-license perl)))) + (define-public perl-class-data-inheritable (package (name "perl-class-data-inheritable") From d39e82548b978d9adc2a7730cda425f539b68ed7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:42:38 -0500 Subject: [PATCH 268/359] gnu: Add Config-Any. * gnu/packages/perl.scm (perl-config-any): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f552c51912..b9275a95fd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -593,6 +593,26 @@ objects.") as defined by two typical specimens of Perl coders.") (license (package-license perl)))) +(define-public perl-config-any + (package + (name "perl-config-any") + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/" + "Config-Any-" version ".tar.gz")) + (sha256 + (base32 + "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Config-Any") + (synopsis "Load configuration from different file formats") + (description "Config::Any provides a facility for Perl applications and +libraries to load configuration data from multiple different file formats. It +supports XML, YAML, JSON, Apache-style configuration, and Perl code.") + (license (package-license perl)))) + (define-public perl-config-autoconf (package (name "perl-config-autoconf") From f787e9fd4ce9debb3d500cd46a8a939f7f4fc6d5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 08:53:33 -0500 Subject: [PATCH 269/359] gnu: Add Context-Preserve. * gnu/packages/perl.scm (perl-context-preserve): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index b9275a95fd..7dffe035c6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -634,6 +634,29 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.") opportunities to Perl developers as GNU Autoconf does for Shell developers.") (license (package-license perl)))) +(define-public perl-context-preserve + (package + (name "perl-context-preserve") + (version "0.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JR/JROCKWAY/" + "Context-Preserve-" version ".tar.gz")) + (sha256 + (base32 + "0gssillawjknqks81x7fg7w2x94bnyklgd8ry2pr1k6ifkjhwz46")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception) + ("perl-test-simple" ,perl-test-simple))) + (home-page "http://search.cpan.org/dist/Context-Preserve") + (synopsis "Preserve context during subroutine call") + (description "This module runs code after a subroutine call, preserving +the context the subroutine would have seen if it were the last statement in +the caller.") + (license (package-license perl)))) + (define-public perl-cpan-meta-check (package (name "perl-cpan-meta-check") From bfa3ad491ce8aca4fd923ad60e3488715b39789c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 09:17:00 -0500 Subject: [PATCH 270/359] gnu: Add Data-Dumper-Concise. * gnu/packages/perl.scm (perl-data-dumper-concise): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7dffe035c6..d5e7629ccb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -698,6 +698,25 @@ their argument and produces a string as its result. The string contains Perl code that, when \"eval\"ed, produces a deep copy of the original arguments.") (license (package-license perl)))) +(define-public perl-data-dumper-concise + (package + (name "perl-data-dumper-concise") + (version "2.022") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" + "Data-Dumper-Concise-" version ".tar.gz")) + (sha256 + (base32 + "0z7vxgk1f2kw2zpiimdsyf7jq9f4s5dhh3dlimq5yrirypnk03sc")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Data-Dumper-Concise") + (synopsis "Concise data dumper") + (description "Data::Dumper::Concise provides a dumper with Less +indentation and newlines plus sub deparsing.") + (license (package-license perl)))) + (define-public perl-data-optlist (package (name "perl-data-optlist") From 994fad660c8e8dc318878d338eca33de3e98bae8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 09:21:41 -0500 Subject: [PATCH 271/359] gnu: Add Class-Accessor-Chained. * gnu/packages/perl.scm (perl-class-accessor-chained): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d5e7629ccb..c2c07569af 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -302,6 +302,29 @@ the Carp.pm module doesn't help.") your class.") (license (package-license perl)))) +(define-public perl-class-accessor-chained + (package + (name "perl-class-accessor-chained") + (version "0.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" + "Class-Accessor-Chained-" version ".tar.gz")) + (sha256 + (base32 + "1lilrjy1s0q5hyr0888kf0ifxjyl2iyk4vxil4jsv0sgh39lkgx5")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-class-accessor" ,perl-class-accessor))) + (home-page "http://search.cpan.org/dist/Class-Accessor-Chained") + (synopsis "Faster, but less expandable, chained accessors") + (description "A chained accessor is one that always returns the object +when called with parameters (to set), and the value of the field when called +with no arguments. This module subclasses Class::Accessor in order to provide +the same mk_accessors interface.") + (license (package-license perl)))) + (define-public perl-class-accessor-grouped (package (name "perl-class-accessor-grouped") From f8bde42f24ed0063fbb3b3e5decb57fcb3d903f6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 09:23:38 -0500 Subject: [PATCH 272/359] gnu: Add Data-Page. * gnu/packages/perl.scm (perl-data-page): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c2c07569af..8e293c05bf 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -763,6 +763,31 @@ indentation and newlines plus sub deparsing.") "Data::OptList provides a simple syntax for name/value option pairs.") (license (package-license perl)))) +(define-public perl-data-page + (package + (name "perl-data-page") + (version "2.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/L/LB/LBROCARD/" + "Data-Page-" version ".tar.gz")) + (sha256 + (base32 + "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-class-accessor-chained" ,perl-class-accessor-chained))) + (home-page "http://search.cpan.org/dist/Data-Page") + (synopsis "Help when paging through sets of results") + (description "When searching through large amounts of data, it is often +the case that a result set is returned that is larger than we want to display +on one page. This results in wanting to page through various pages of data. +The maths behind this is unfortunately fiddly, hence this module.") + (license (package-license perl)))) + (define-public perl-data-tumbler (package (name "perl-data-tumbler") From 2793480ed00657d6b53780f5b9cfedf2b979b5fe Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 09:59:29 -0500 Subject: [PATCH 273/359] gnu: Add Hash-Merge. * gnu/packages/perl.scm (perl-hash-merge): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8e293c05bf..714fc0598e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1424,6 +1424,29 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") "Getopt-Tabular-" version)) (license (package-license perl)))) +(define-public perl-hash-merge + (package + (name "perl-hash-merge") + (version "0.200") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" + "Hash-Merge-" version ".tar.gz")) + (sha256 + (base32 + "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Hash-Merge") + (synopsis "Merge arbitrarily deep hashes into a single hash") + (description "Hash::Merge merges two arbitrarily deep hashes into a single +hash. That is, at any level, it will add non-conflicting key-value pairs from +one hash to the other, and follows a set of specific rules when there are key +value conflicts. The hash is followed recursively, so that deeply nested +hashes that are at the same level will be merged when the parent hashes are +merged.") + (license (package-license perl)))) + (define-public perl-hash-multivalue (package (name "perl-hash-multivalue") From 6ebe790bce26a036945062f3e9ad7790c3bc45ac Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:12:58 -0500 Subject: [PATCH 274/359] gnu: Add Module-Find. * gnu/packages/perl.scm (perl-module-find): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 714fc0598e..bc836d9ca2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1607,6 +1607,27 @@ replacement. Whereas Module::Build has over 6,700 lines of code; this module has less than 120, yet supports the features needed by most distributions.") (license (package-license perl)))) +(define-public perl-module-find + (package + (name "perl-module-find") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CR/CRENZ/" + "Module-Find-" version ".tar.gz")) + (sha256 + (base32 + "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Module-Find") + (synopsis "Find and use installed modules in a (sub)category") + (description "Module::Find lets you find and use modules in categories. +This can be useful for auto-detecting driver or plugin modules. You can +differentiate between looking in the category itself or in all +subcategories.") + (license (package-license perl)))) + (define-public perl-module-implementation (package (name "perl-module-implementation") From 417e11bfaa7b6fb3b2b8584ed9f03f98e343a50c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:19:26 -0500 Subject: [PATCH 275/359] gnu: Add Class-Method-Modifiers. * gnu/packages/perl.scm (perl-class-method-modifiers): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bc836d9ca2..78d6bc93e1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -534,6 +534,31 @@ names, not Class::Name. For that, this module provides \"load_class Class::Load") (license artistic2.0))) +(define-public perl-class-method-modifiers + (package + (name "perl-class-method-modifiers") + (version "2.11") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Class-Method-Modifiers-" version ".tar.gz")) + (sha256 + (base32 + "14nk2gin9cjwpysakli7f0gs4q1w220sn73xzv35rhlspngrggyy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal) + ("perl-test-requires" ,perl-test-requires))) + (home-page "http://search.cpan.org/dist/Class-Method-Modifiers") + (synopsis "Moose-like method modifiers") + (description "Class::Method::Modifiers provides three modifiers: before, +around, and after. before and after are run just before and after the method +they modify, but can not really affect that original method. around is run in +place of the original method, with a hook to easily call that original +method.") + (license (package-license perl)))) + (define-public perl-class-tiny (package (name "perl-class-tiny") From 7c68c033f312a13c65531f26eef09252d1e19524 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:34:11 -0500 Subject: [PATCH 276/359] gnu: Add Import-Into. * gnu/packages/perl.scm (perl-import-into): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 78d6bc93e1..5cb595cbe1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1491,6 +1491,31 @@ merged.") that may contain multiple values per key, inspired by MultiDict of WebOb.") (license (package-license perl)))) +(define-public perl-import-into + (package + (name "perl-import-into") + (version "1.002004") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Import-Into-" version ".tar.gz")) + (sha256 + (base32 + "110hifk3cj14lxgjq2vaa2qfja21gll4lpn8vbimy0gzqadjbjyy")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-module-runtime" ,perl-module-runtime))) + (home-page "http://search.cpan.org/dist/Import-Into") + (synopsis "Import packages into other packages") + (description "Writing exporters is a pain. Some use Exporter, some use +Sub::Exporter, some use Moose::Exporter, some use Exporter::Declare ... and +some things are pragmas. Exporting on someone else's behalf is harder. The +exporters don't provide a consistent API for this, and pragmas need to have +their import method called directly, since they effect the current unit of +compilation. Import::Into provides global methods to make this painless.") + (license (package-license perl)))) + (define-public perl-inc-latest (package (name "perl-inc-latest") From 6e1bb8aab946f492efc0860e88d1649b4ba2fc94 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:45:32 -0500 Subject: [PATCH 277/359] gnu: Add Role-Tiny. * gnu/packages/perl.scm (perl-role-tiny): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5cb595cbe1..5ee92c6fe6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2366,6 +2366,29 @@ codes.") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) x11 bsd-3)))) +(define-public perl-role-tiny + (package + (name "perl-role-tiny") + (version "1.003004") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Role-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "0ak60hakn0ixmsiw403si0lf5pagq5r6wjgl7p0pr979nlcikfmd")))) + (build-system perl-build-system) + (native-inputs + `(("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-class-method-modifiers" ,perl-class-method-modifiers))) + (home-page "http://search.cpan.org/dist/Role-Tiny") + (synopsis "Roles, as a slice of Moose") + (description "Role::Tiny is a minimalist role composition tool.") + (license (package-license perl)))) + (define-public perl-safe-isa (package (name "perl-safe-isa") From 77917f67fdfe5e563f8e983e79f3bc05de927f47 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:52:22 -0500 Subject: [PATCH 278/359] gnu: Add strictures. * gnu/packages/perl.scm (perl-strictures): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5ee92c6fe6..0e804abd4e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2429,6 +2429,25 @@ buffered. It uses PerlIO and/or temporary file to save the buffer depending on the length of the size.") (license (package-license perl)))) +(define-public perl-strictures + (package + (name "perl-strictures") + (version "1.005005") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "strictures-" version ".tar.gz")) + (sha256 + (base32 + "1bmpv8wr9jbc1lfj634xhq3y42nm28hh01jfsyzxhqhqf6dkdz59")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/strictures") + (synopsis "Turn on strict and make all warnings fatal") + (description "Strictures turns on strict and make all warnings fatal when +run from within a source-controlled directory.") + (license (package-license perl)))) + (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") From 5a96dc03c73ad533c4a22eaf3044dccd24a526c8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:54:14 -0500 Subject: [PATCH 279/359] gnu: Add Moo. * gnu/packages/perl.scm (perl-moo): New variable. --- gnu/packages/perl.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 0e804abd4e..e72614786f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1748,6 +1748,37 @@ which had a recent release that broke some versions of Moose. It is called from Moose::Conflicts and moose-outdated.") (license (package-license perl)))) +(define-public perl-moo + (package + (name "perl-moo") + (version "1.007000") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Moo-" version ".tar.gz")) + (sha256 + (base32 + "0y9s6s9jjd519wgal6lwc9id4sadrvfn8gjb51dl602d0kk0l7n5")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-class-method-modifiers" ,perl-class-method-modifiers) + ("perl-class-xsaccessor" ,perl-class-xsaccessor) + ("perl-devel-globaldestruction" ,perl-devel-globaldestruction) + ("perl-import-into" ,perl-import-into) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-role-tiny" ,perl-role-tiny) + ("perl-strictures" ,perl-strictures))) + (home-page "http://search.cpan.org/dist/Moo") + (synopsis "Minimalist Object Orientation (with Moose compatibility)") + (description "Moo is an extremely light-weight Object Orientation system. +It allows one to concisely define objects and roles with a convenient syntax +that avoids the details of Perl's object system. Moo contains a subset of +Moose and is optimised for rapid startup.") + (license (package-license perl)))) + (define-public perl-moose (package (name "perl-moose") From 393ca946219ed6bc84d6d27b7c68ada18f71e5bd Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 11:56:47 -0500 Subject: [PATCH 280/359] gnu: Add Scope-Guard. * gnu/packages/perl.scm (perl-scope-guard): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e72614786f..e166ae04e7 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2439,6 +2439,30 @@ codes.") safely on things that may not be objects.") (license (package-license perl)))) +(define-public perl-scope-guard + (package + (name "perl-scope-guard") + (version "0.20") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CH/CHOCOLATE/" + "Scope-Guard-" version ".tar.gz")) + (sha256 + (base32 + "1lsagnz6pli035zvx5c1x4qm9fabi773vns86yd8lzfpldhfv3sv")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Scope-Guard") + (synopsis "Lexically-scoped resource management") + (description "This module provides a convenient way to perform cleanup or +other forms of resource management at the end of a scope. It is particularly +useful when dealing with exceptions: the Scope::Guard constructor takes a +reference to a subroutine that is guaranteed to be called even if the thread +of execution is aborted prematurely. This effectively allows lexically-scoped +\"promises\" to be made that are automatically honoured by perl's garbage +collector.") + (license (package-license perl)))) + (define-public perl-stream-buffered (package (name "perl-stream-buffered") From f397c306e45090abd6ca00e50325af4069faf93e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 12:08:40 -0500 Subject: [PATCH 281/359] gnu: Add Text-Balanced. * gnu/packages/perl.scm (perl-text-balanced): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e166ae04e7..fdb1c823f2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3193,6 +3193,25 @@ installed.") generation of tests in nested combinations of contexts.") (license (package-license perl)))) ;See LICENSE +(define-public perl-text-balanced + (package + (name "perl-text-balanced") + (version "2.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "Text-Balanced-" version ".tar.gz")) + (sha256 + (base32 + "1d3mba2sjpp044h16pkf231cksa34ripaz6rmgxp0ygpl917az57")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-Balanced") + (synopsis "Extract delimited text sequences from strings") + (description "The Text::Balanced module can be used to extract delimited +text sequences from strings.") + (license (package-license perl)))) + (define-public perl-text-diff (package (name "perl-text-diff") From dd90952ebe434c2f3f232af78bd8ca10ee5571df Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 12:10:02 -0500 Subject: [PATCH 282/359] gnu: Add SQL-Abstract. * gnu/packages/databases.scm (perl-sql-abstract): New variable. --- gnu/packages/databases.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 26df1f7d22..59c8995299 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -326,6 +326,37 @@ module, and nothing else.") (license (package-license perl)) (home-page "http://search.cpan.org/~ishigaki/DBD-SQLite/lib/DBD/SQLite.pm"))) +(define-public perl-sql-abstract + (package + (name "perl-sql-abstract") + (version "1.81") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" + "SQL-Abstract-" version ".tar.gz")) + (sha256 + (base32 + "17sgwq3mvqjhv3b77cnvrq60xgp8harjhlnvpwmxc914rqc5ckaz")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-deep" ,perl-test-deep) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-warn" ,perl-test-warn))) + (propagated-inputs + `(("perl-hash-merge" ,perl-hash-merge) + ("perl-moo" ,perl-moo) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-text-balanced" ,perl-text-balanced))) + (home-page "http://search.cpan.org/dist/SQL-Abstract") + (synopsis "Generate SQL from Perl data structures") + (description "This module was inspired by the excellent DBIx::Abstract. +While based on the concepts used by DBIx::Abstract, the concepts used have +been modified to make the SQL easier to generate from Perl data structures. +The underlying idea is for this module to do what you mean, based on the data +structures you provide it, so that you don't have to modify your code every +time your data changes") + (license (package-license perl)))) (define-public unixodbc (package From feae339537bdf6adc6ad0597ddf9ee0defdf7508 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Mar 2015 13:31:23 -0500 Subject: [PATCH 283/359] gnu: Add DBIx-Class. * gnu/packages/databases.scm (perl-dbix-class): New variable. --- gnu/packages/databases.scm | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 59c8995299..16fa5fe7c1 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -303,6 +303,60 @@ extremely small.") (home-page "http://search.cpan.org/~timb/DBI-1.631/DBI.pm") (license (package-license perl)))) +(define-public perl-dbix-class + (package + (name "perl-dbix-class") + (version "0.082810") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" + "DBIx-Class-" version ".tar.gz")) + (sha256 + (base32 + "1zlsswk8j2k024gwhdhia8ksrmb8065n98dahkk8c0r69wv85n04")))) + (build-system perl-build-system) + (native-inputs + `(("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-file-temp" ,perl-file-temp) + ("perl-package-stash" ,perl-package-stash) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-warn" ,perl-test-warn))) + (propagated-inputs + `(("perl-class-accessor-grouped" ,perl-class-accessor-grouped) + ("perl-class-c3-componentised" ,perl-class-c3-componentised) + ("perl-class-inspector" ,perl-class-inspector) + ("perl-config-any" ,perl-config-any) + ("perl-context-preserve" ,perl-context-preserve) + ("perl-data-dumper-concise" ,perl-data-dumper-concise) + ("perl-data-page" ,perl-data-page) + ("perl-dbi" ,perl-dbi) + ("perl-devel-globaldestruction" ,perl-devel-globaldestruction) + ("perl-hash-merge" ,perl-hash-merge) + ("perl-module-find" ,perl-module-find) + ("perl-moo" ,perl-moo) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-path-class" ,perl-path-class) + ("perl-scalar-list-utils" ,perl-scalar-list-utils) + ("perl-scope-guard" ,perl-scope-guard) + ("perl-sql-abstract" ,perl-sql-abstract) + ("perl-sub-name" ,perl-sub-name) + ("perl-text-balanced" ,perl-text-balanced) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/DBIx-Class") + (synopsis "Extensible and flexible object <-> relational mapper") + (description "An SQL to OO mapper with an object API inspired by +Class::DBI (with a compatibility layer as a springboard for porting) and a +resultset API that allows abstract encapsulation of database operations. It +aims to make representing queries in your code as perl-ish as possible while +still providing access to as many of the capabilities of the database as +possible, including retrieving related records from multiple tables in a +single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\", +\"ORDER BY\" and \"HAVING\" support.") + (license (package-license perl)))) + (define-public perl-dbd-sqlite (package (name "perl-dbd-sqlite") From 9569dfc856d6753f20b16c2f699df7e537cea15c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Mar 2015 11:50:26 +0100 Subject: [PATCH 284/359] gnu: zita-alsa-pcmi: Move snippet to build phase and set LIBDIR. * gnu/packages/audio.scm (zita-alsa-pcmi): Move snippet to build phase and set LIBDIR. --- gnu/packages/audio.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e44db11199..6a3b3f3af9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1157,20 +1157,20 @@ with a much different focus than most other audio daemons.") version ".tar.bz2")) (sha256 (base32 - "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9")) - (modules '((guix build utils))) - (snippet - '(substitute* "libs/Makefile" - (("ldconfig") "true"))))) + "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (alist-cons-after - 'unpack - 'enter-directory - (lambda _ (chdir "libs")) + 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "libs/Makefile" + (("ldconfig") "true") + (("^LIBDIR =.*") "LIBDIR = lib\n")) + (chdir "libs") + #t) (alist-cons-after 'install 'install-symlink From 9de2e43cbe54398d88646d156320833654734f8c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Mar 2015 11:52:07 +0100 Subject: [PATCH 285/359] gnu: clalsadrv: Move snippet to build phase and set LIBDIR. * gnu/packages/audio.scm (clalsadrv): Move snippet to build phase and set LIBDIR. --- gnu/packages/audio.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6a3b3f3af9..58e2b8d76d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -245,20 +245,20 @@ plugins are provided.") version ".tar.bz2")) (sha256 (base32 - "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq")) - (modules '((guix build utils))) - (snippet - '(substitute* "libs/Makefile" - (("/sbin/ldconfig") "true"))))) + "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (alist-cons-after - 'unpack - 'enter-directory - (lambda _ (chdir "libs")) + 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "libs/Makefile" + (("/sbin/ldconfig") "true") + (("^LIBDIR =.*") "LIBDIR = lib\n")) + (chdir "libs") + #t) (alist-cons-after 'install 'install-symlink From 6abdad698bd131ec50670cceb55e2e731f9da5d9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 11:04:25 +0100 Subject: [PATCH 286/359] gnu: ffmpeg: Update to 2.6. * gnu/packages/video.scm (ffmpeg): Update to 2.6. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d16294ed68..b1c0c52ee4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -191,14 +191,14 @@ SMPTE 314M.") (define-public ffmpeg (package (name "ffmpeg") - (version "2.5.4") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-" version ".tar.bz2")) (sha256 (base32 - "11m2hbhdgphjxjp6hk438cxmipqjg5ixbr1kqnn9mbdhq9kc34fc")))) + "14a7zp8pa1rvw6nr9l2rf57xr004n5kwkhn5lglybjnn1p68xhr3")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) From 0d6f9360369749eab0b37c7c14b4db8faa318507 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 28 Feb 2015 21:49:23 +0100 Subject: [PATCH 287/359] gnu: cmake: Add CMAKE_PREFIX_PATH as a native search path, and drop CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH from the cmake build system. * gnu/packages/cmake.scm (cmake)[native-search-paths]: New field. * guix/build/cmake-build-system.scm (configure): Drop environment variables CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH. --- gnu/packages/cmake.scm | 4 ++++ guix/build/cmake-build-system.scm | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index c3ed4ae81f..1fb9241596 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -101,6 +101,10 @@ ("expat" ,expat) ("bzip2" ,bzip2) ("libarchive" ,libarchive))) + (native-search-paths + (list (search-path-specification + (variable "CMAKE_PREFIX_PATH") + (files '(""))))) (home-page "http://www.cmake.org/") (synopsis "Cross-platform build system") (description diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm index 08ae73ef8d..d8d437c653 100644 --- a/guix/build/cmake-build-system.scm +++ b/guix/build/cmake-build-system.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt -;;; Copyright © 2014 Andreas Enge +;;; Copyright © 2014, 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,8 +60,6 @@ ;; enable verbose output from builds "-DCMAKE_VERBOSE_MAKEFILE=ON" ,@configure-flags))) - (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH")) - (setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH")) (format #t "running 'cmake' with arguments ~s~%" args) (zero? (apply system* "cmake" args))))) From 1842a7cbc7c6738a18d4ff61e76215cdc2d71d82 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 17:14:25 +0100 Subject: [PATCH 288/359] gnu: boost: Update to 1.57.0. * gnu/packages/boost.scm (boost): Update to 1.57.0. --- gnu/packages/boost.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 1767681955..24fc53d0b8 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ (define-public boost (package (name "boost") - (version "1.55.0") + (version "1.57.0") (source (origin (method url-fetch) (uri (string-append @@ -40,7 +41,7 @@ ".tar.bz2")) (sha256 (base32 - "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z")))) + "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (native-inputs @@ -64,10 +65,10 @@ (let ((out (assoc-ref outputs "out"))) (substitute* '("libs/config/configure" "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/v2/doc/bjam.qbk" - "tools/build/v2/engine/execunix.c" - "tools/build/v2/engine/Jambase" - "tools/build/v2/engine/jambase.c") + "tools/build/doc/bjam.qbk" + "tools/build/src/engine/execunix.c" + "tools/build/src/engine/Jambase" + "tools/build/src/engine/jambase.c") (("/bin/sh") (which "sh"))) (setenv "SHELL" (which "sh")) From c12efc72cf27324f59f8543255697520fd82923e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 17:36:07 +0100 Subject: [PATCH 289/359] gnu: Add glm. * gnu/packages/maths.scm (glm): New variable. Co-authored-by: John Darrington --- gnu/packages/maths.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8eda4bd0b6..52d5dd92a4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -66,7 +66,8 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages zip)) (define-public units (package @@ -1193,3 +1194,25 @@ cpufreq-selector -g performance -c N-1 where N is the number of cores of your CPU. Failure to do so will result in a library with poor performance.") (license license:bsd-3))) + +(define-public glm + (package + (name "glm") + (version "0.9.6.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ogl-math/glm-" + version ".zip")) + (sha256 + (base32 + "1cnjmi033a16a95v6xfkr1bvfmkd26hzdjka8j1819hgn5b1nr8l")))) + (build-system cmake-build-system) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://glm.g-truc.net") + (synopsis "OpenGL Mathematics library") + (description "OpenGL Mathematics (GLM) is a header-only C++ mathematics +library for graphics software based on the OpenGL Shading Language (GLSL) +specifications.") + (license license:expat))) From 109033563f8ea2ebd12259963ea29b2bc58da1c7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 18:22:25 +0100 Subject: [PATCH 290/359] gnu: minetest: Fix build with modified cmake build system. * gnu/packages/games.scm (minetest)[arguments]: Instead of setting CPATH, which is no more used by the cmake build system since commit 0d6f936, set the include directories for irrlicht and curl directly via configure flags. --- gnu/packages/games.scm | 51 +++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ff3239a22c..8859a891d9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -251,7 +251,7 @@ level's exit. The game is presented in a 2D side view.") (origin (method url-fetch) (uri (string-append "http://www.hyperrealm.com/" name "/" - name "-" version ".tar.gz")) + name "-" version ".tar.gz")) (sha256 (base32 "19nc5vq4bnkjvhk8srqddzhcs93jyvpm9r6lzjzwc1mgf08yg0a6")))) (build-system gnu-build-system) @@ -441,21 +441,21 @@ Portable Game Notation.") `(#:tests? #f #:phases (alist-replace - 'configure + 'configure (lambda* (#:key outputs #:allow-other-keys) - - (substitute* "Imakefile" + + (substitute* "Imakefile" (("XPMINCLUDE[\t ]*= -I/usr/X11/include/X11") (string-append "XPMINCLUDE = -I" (assoc-ref %build-inputs "libxpm") "/include/X11"))) - - (substitute* "Imakefile" + + (substitute* "Imakefile" (("XBOING_DIR = \\.") "XBOING_DIR=$(PROJECTROOT)")) - + ;; FIXME: HIGH_SCORE_FILE should be set to somewhere writeable - - (zero? (system* "xmkmf" "-a" - (string-append "-DProjectRoot=" + + (zero? (system* "xmkmf" "-a" + (string-append "-DProjectRoot=" (assoc-ref outputs "out"))))) (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -624,27 +624,16 @@ for common mesh file formats, and collision detection.") "0h223svzkvp63b77nqfxy7k8whw4543gahs3kxd3x4myi5ax5z5f")))) (build-system cmake-build-system) (arguments - '(#:modules ((guix build utils) - (guix build cmake-build-system) - (ice-9 match)) - #:phases (alist-cons-before - 'configure 'set-cpath - (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - ;; Adjust the CPATH so that cmake can find irrlicht, - ;; openal, and curl headers. - (set-path-environment-variable "CPATH" - '("include/AL" - "include/irrlicht" - "include/curl" - "include") - (map (match-lambda - ((_ . dir) dir)) - inputs))) - %standard-phases) - #:configure-flags '("-DRUN_IN_PLACE=0" - "-DENABLE_FREETYPE=1" - "-DENABLE_GETTEXT=1") + '(#:configure-flags + (list "-DRUN_IN_PLACE=0" + "-DENABLE_FREETYPE=1" + "-DENABLE_GETTEXT=1" + (string-append "-DIRRLICHT_INCLUDE_DIR=" + (assoc-ref %build-inputs "irrlicht") + "/include/irrlicht") + (string-append "-DCURL_INCLUDE_DIR=" + (assoc-ref %build-inputs "curl") + "/include/curl")) #:tests? #f)) ; no check target (native-search-paths (list (search-path-specification From cd18ab1ff7fceaf24db20667191626ef3903a3de Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 18:32:29 +0100 Subject: [PATCH 291/359] gnu: minetest: Update to 0.4.12. * gnu/packages/games.scm (minetest, minetest-data): Update to 0.4.12. --- gnu/packages/games.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8859a891d9..1acd157e9e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -571,7 +571,7 @@ for common mesh file formats, and collision detection.") (define minetest-data (package (name "minetest-data") - (version "0.4.11") + (version "0.4.12") (source (origin (method url-fetch) (uri (string-append @@ -580,7 +580,7 @@ for common mesh file formats, and collision detection.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hzb27srv6f2j84dpxx2p0p0aaq9vdp5jvbrfpklb5q5ssdjxvc6")))) + "0642vy6r6sv96mz6wbs9qvyr95vd69zj4fxiljdg9801javrmm9p")))) (build-system trivial-build-system) (native-inputs `(("source" ,source) @@ -612,7 +612,7 @@ for common mesh file formats, and collision detection.") (define-public minetest (package (name "minetest") - (version "0.4.11") + (version "0.4.12") (source (origin (method url-fetch) (uri (string-append @@ -621,7 +621,7 @@ for common mesh file formats, and collision detection.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0h223svzkvp63b77nqfxy7k8whw4543gahs3kxd3x4myi5ax5z5f")))) + "1pqp8hfwg5wkimig8j5jrihzgjjgplxr24w5xisrxvx1hlvnczdk")))) (build-system cmake-build-system) (arguments '(#:configure-flags From c463dd47633e634db488e9da6e33f85a241c6fa5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 18:43:47 +0100 Subject: [PATCH 292/359] gnu: minetest: Swap input libjpeg-8 for current libjpeg-9. * gnu/packages/games.scm (minetest): Swap input libjpeg-8 for current libjpeg-9. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 1acd157e9e..192d0db397 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -644,7 +644,7 @@ for common mesh file formats, and collision detection.") (inputs `(("irrlicht" ,irrlicht) ("libpng" ,libpng) - ("libjpeg-8" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("libxxf86vm" ,libxxf86vm) ("mesa" ,mesa) ("libogg" ,libogg) From b3345dc41abd81b048d9e712db235dfd404e1bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 14 Mar 2015 19:25:00 +0100 Subject: [PATCH 293/359] licenses: Rename 'bsd-style' to 'non-copyleft'. * guix/licenses.scm (bsd-style): Rename to... (non-copyleft): ... this. Clarify docstring. (bsd-style): Introduce as an alias for 'non-copyleft'. --- guix/licenses.scm | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/guix/licenses.scm b/guix/licenses.scm index 157e74bf37..dfc8c6a031 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2014 Ludovic Courtès +;;; Copyright © 2012, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; @@ -24,7 +24,9 @@ agpl3 agpl3+ asl2.0 boost1.0 - bsd-2 bsd-3 bsd-4 bsd-style + bsd-2 bsd-3 bsd-4 + non-copyleft + bsd-style ;deprecated! cc0 cddl1.0 cecill-c @@ -105,16 +107,23 @@ "http://directory.fsf.org/wiki/License:BSD_4Clause" "https://www.gnu.org/licenses/license-list#OriginalBSD")) -(define* (bsd-style uri #:optional (comment "")) - "Return a BSD-style license, whose full text can be found at URI, -which may be a file:// URI pointing the package's tree." - (license "BSD-style" +(define* (non-copyleft uri #:optional (comment "")) + "Return a lax, permissive, non-copyleft license (for example a variant of +the 3-clause BSD license or the Expat license), whose full text can be found +at URI, which may be a file:// URI pointing the package's tree." + (license "non-copyleft" uri (string-append - "This is a BSD-style, non-copyleft free software license. " + "This is a lax, non-copyleft free software license. " "Check the URI for details. " comment))) +(define bsd-style + ;; This alias is kept for backward-compatibility. Do not use it for new + ;; packages: it is ambiguous, as rightfully explained at + ;; . + non-copyleft) + (define cc0 (license "CC0" "http://directory.fsf.org/wiki/License:CC0" From 166191b377e2e6117ab2a620e759724f7e446678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 14 Mar 2015 19:26:34 +0100 Subject: [PATCH 294/359] gnu: Update packages to use 'non-copyleft' instead of 'bsd-style'. * gnu/packages/avr.scm, gnu/packages/compression.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/firmware.scm, gnu/packages/flex.scm, gnu/packages/fontutils.scm, gnu/packages/gd.scm, gnu/packages/ghostscript.scm, gnu/packages/gnunet.scm, gnu/packages/graphics.scm, gnu/packages/hugs.scm, gnu/packages/image.scm, gnu/packages/linux.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/mit-krb5.scm, gnu/packages/python.scm, gnu/packages/rdf.scm, gnu/packages/ssh.scm, gnu/packages/tcl.scm, gnu/packages/xdisorg.scm, gnu/packages/xiph.scm, gnu/packages/yasm.scm, gnu/packages/zip.scm: Use 'non-copyleft' instead of 'bsd-style'. --- gnu/packages/avr.scm | 2 +- gnu/packages/compression.scm | 2 +- gnu/packages/curl.scm | 2 +- gnu/packages/cyrus-sasl.scm | 4 ++-- gnu/packages/databases.scm | 6 +++--- gnu/packages/firmware.scm | 2 +- gnu/packages/flex.scm | 2 +- gnu/packages/fontutils.scm | 2 +- gnu/packages/gd.scm | 4 ++-- gnu/packages/ghostscript.scm | 2 +- gnu/packages/gnunet.scm | 4 ++-- gnu/packages/graphics.scm | 2 +- gnu/packages/hugs.scm | 4 ++-- gnu/packages/image.scm | 4 ++-- gnu/packages/linux.scm | 2 +- gnu/packages/mail.scm | 4 ++-- gnu/packages/maths.scm | 6 +++--- gnu/packages/mit-krb5.scm | 2 +- gnu/packages/python.scm | 4 ++-- gnu/packages/rdf.scm | 4 ++-- gnu/packages/ssh.scm | 2 +- gnu/packages/tcl.scm | 2 +- gnu/packages/xdisorg.scm | 2 +- gnu/packages/xiph.scm | 8 ++++---- gnu/packages/yasm.scm | 2 +- gnu/packages/zip.scm | 4 ++-- 26 files changed, 42 insertions(+), 42 deletions(-) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 3f8e827707..d7ca1b1ace 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -48,4 +48,4 @@ (description "AVR Libc is a project whose goal is to provide a high quality C library for use with GCC on Atmel AVR microcontrollers.") - (license (bsd-style "http://www.nongnu.org/avr-libc/LICENSE.txt")))) + (license (non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt")))) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 721fb9e9b1..8b36766200 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -191,7 +191,7 @@ compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")) (home-page "http://www.bzip.org/")))) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 8792ddceaf..821a957615 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -83,6 +83,6 @@ curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling, and so on") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "http://curl.haxx.se/"))) diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index 9880ace94f..8677cab1bd 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -61,6 +61,6 @@ standards-track method for remote computers to authenticate. The Cyrus SASL library makes supporting various SASL mechanisms easy for both client and server writers.") - (license (license:bsd-style "file://COPYING" - "See COPYING in the distribution.")) + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")) (home-page "http://cyrusimap.web.cmu.edu/index.php"))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 16fa5fe7c1..da51c81b96 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -35,7 +35,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages python) #:use-module ((guix licenses) - #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style bsd-style + #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft public-domain)) #:use-module (guix packages) #:use-module (guix download) @@ -84,8 +84,8 @@ (description "Berkeley DB is an embeddable database allowing developers the choice of SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") - (license (bsd-style "file://LICENSE" - "See LICENSE in the distribution.")) + (license (non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")) (home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html"))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 68f4e37849..156f3342d3 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -80,4 +80,4 @@ "This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB 802.11n NICs (aka. Wi-Fi USB dongles.) It is used by the ath9k driver of Linux-libre.") - (license (bsd-style "http://directory.fsf.org/wiki/License:ClearBSD")))) + (license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD")))) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index 0b290857fa..e76535cc17 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -75,6 +75,6 @@ can be compiled and linked to produce an executable. When the executable is run, it analyzes its input for occurrences of text matching the regular expressions for each rule. Whenever it finds a match, it executes the corresponding C code.") - (license (bsd-style "file://COPYING" + (license (non-copyleft "file://COPYING" "See COPYING in the distribution.")))) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 52e34e516f..c04f24b83c 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -103,7 +103,7 @@ efficiently and quickly find needed fonts among the set of installed fonts; be used in concert with the X Render Extension and FreeType to implement high quality, anti-aliased and subpixel rendered text on a display.") ; The exact license is more X11-style than BSD-style. - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "http://www.freedesktop.org/wiki/Software/fontconfig"))) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 2d6ccb8d7d..e27103778c 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -26,7 +26,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) - #:use-module ((guix licenses) #:select (bsd-style))) + #:use-module ((guix licenses) #:select (non-copyleft))) (define-public gd (package @@ -64,5 +64,5 @@ languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve website development.") - (license (bsd-style "file://COPYING" + (license (non-copyleft "file://COPYING" "See COPYING file in the distribution.")))) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index e2d4e618fa..08d1c69a57 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -114,7 +114,7 @@ documents. Programs included are psnup, for placing out several logical pages on a single sheet of paper, psselect, for selecting pages from a document, pstops, for general imposition, psbook, for signature generation for booklet printing, and psresize, for adjusting page sizes.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")) (home-page "http://knackered.org/angus/psutils/"))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 220f7486cd..e50de7cc5d 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -187,8 +187,8 @@ and support for SSL3 and TLS.") "Gnurl is a microfork of cURL, a command line tool for transferring data with URL syntax. While cURL supports many crypto backends, libgnurl only supports HTTPS, HTTPS and GnuTLS.") - (license (license:bsd-style "file://COPYING" - "See COPYING in the distribution.")) + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")) (home-page "https://gnunet.org/gnurl"))) (define-public gnunet diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index c5ccfc271b..1ee4d7e177 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -151,4 +151,4 @@ output.") ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file ;; and headers use different wording. - (license (license:bsd-style "file://LICENSE")))) + (license (license:non-copyleft "file://LICENSE")))) diff --git a/gnu/packages/hugs.scm b/gnu/packages/hugs.scm index 0902f3bf77..36be5aee4a 100644 --- a/gnu/packages/hugs.scm +++ b/gnu/packages/hugs.scm @@ -76,5 +76,5 @@ Haskell programs. It provides an almost complete implementation of Haskell with support for simple interactive programs, handle-based I/O, and exception handling. Hugs has a nearly complete implementation of the Haskell module system and supports a number of advanced extensions.") - (license (bsd-style "file://License" - "See License in the distribution.")))) + (license (non-copyleft "file://License" + "See License in the distribution.")))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5cce6284f0..11cb63a895 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -126,8 +126,8 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.") used for storing image data. Included are a library, libtiff, for reading and writing TIFF and a small collection of tools for doing simple manipulations of TIFF images.") - (license (license:bsd-style "file://COPYRIGHT" - "See COPYRIGHT in the distribution.")) + (license (license:non-copyleft "file://COPYRIGHT" + "See COPYRIGHT in the distribution.")) (home-page "http://www.libtiff.org/"))) (define-public libwmf diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b7391b3532..c95c61692c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1891,7 +1891,7 @@ thanks to the use of namespaces.") (description "Get/set device parameters for Linux SATA/IDE drives. It's primary use is for enabling irq-unmasking and IDE multiplemode.") - (license (bsd-style "file://LICENSE.TXT")))) + (license (non-copyleft "file://LICENSE.TXT")))) (define-public acpid (package diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 552bf2c761..f7bb1ee896 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -64,7 +64,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -461,7 +461,7 @@ useful features.") framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It provides an API for C language. It's the low-level API used by MailCore and MailCore 2.") - (license (bsd-style "file://COPYING")))) + (license (non-copyleft "file://COPYING")))) (define-public claws-mail (package diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 52d5dd92a4..b6d3ed3680 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -238,7 +238,7 @@ be output in text, PostScript, PDF or HTML.") (description "ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) (define-public lapack @@ -271,7 +271,7 @@ large scale eigenvalue problems.") (description "LAPACK is a Fortran 90 library for solving the most commonly occurring problems in numerical linear algebra.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) (define-public gnuplot @@ -522,7 +522,7 @@ ASCII text files using Gmsh's own scripting language.") (description "PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.") - (license (license:bsd-style + (license (license:non-copyleft "http://www.mcs.anl.gov/petsc/documentation/copyright.html")))) (define-public petsc-complex diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 0a107a8bec..716d95bcd2 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -82,6 +82,6 @@ "Massachusetts Institute of Technology implementation of Kerberos. Kerberos is a network authentication protocol designed to provide strong authentication for client/server applications by using secret-key cryptography.") - (license (bsd-style "file://NOTICE" + (license (non-copyleft "file://NOTICE" "See NOTICE in the distribution.")) (home-page "http://web.mit.edu/kerberos/"))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ce882dba71..d014553e78 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -26,7 +26,7 @@ (define-module (gnu packages python) #:use-module ((guix licenses) - #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 x11 x11-style + #:select (asl2.0 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ psfl public-domain x11-style)) #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:) @@ -723,7 +723,7 @@ Database API 2.0T.") (description "Mechanize implements stateful programmatic web browsing in Python, after Andy Lester’s Perl module WWW::Mechanize.") - (license (bsd-style "file://COPYING" + (license (non-copyleft "file://COPYING" "See COPYING in the distribution.")))) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index b105f0b1d7..96a52fd93a 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -19,7 +19,7 @@ (define-module (gnu packages rdf) #:use-module ((guix licenses) - #:select (bsd-style isc gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+)) + #:select (non-copyleft isc gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -338,7 +338,7 @@ system.") (description "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.") - (license (bsd-style "file://LICENSE" + (license (non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) (define-public python2-rdflib diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 8800be3dcb..0148b25a16 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -179,7 +179,7 @@ The connection layer multiplexes many different concurrent channels over the authenticated connection and allows tunneling of login sessions and TCP-forwarding. It provides a flow control service for these channels. Additionally, various channel-specific options can be negotiated.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")) (home-page "http://www.openssh.org/"))) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 67510eb41f..7c2c3e549b 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -78,7 +78,7 @@ (home-page "http://www.tcl.tk/") (synopsis "The Tcl scripting language") (description "The Tcl (Tool Command Language) scripting language.") - (license (bsd-style "http://www.tcl.tk/software/tcltk/license.html" + (license (non-copyleft "http://www.tcl.tk/software/tcltk/license.html" "Tcl/Tk license")))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index bef0b38374..fbf1bbf48c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -392,7 +392,7 @@ things less distracting.") (description "XLockMore is a classic screen locker and screen saver for the X Window System.") - (license (license:bsd-style #f "See xlock.c.") + (license (license:non-copyleft #f "See xlock.c.") ;; + GPLv2 in modes/glx/biof.c. ))) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 96171a050d..f182270aea 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -65,7 +65,7 @@ format, which encapsulates raw compressed data and allows the interleaving of audio and video data. In addition to encapsulation and interleaving of multiple data streams, ogg provides packet framing, error detection, and periodic timestamps for seeking.") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "http://xiph.org/ogg/"))) @@ -91,7 +91,7 @@ a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable bitrates from 16 to 128 kbps/channel.") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "http://xiph.org/vorbis/"))) @@ -141,7 +141,7 @@ for speech. It is well-adapted to internet applications, such as VoIP. It features compression of different bands in the same bitstream, intensity stereo encoding, and voice activity detection.") ;; 'src/getopt.c' is under LGPLv2+ - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) (define ao @@ -209,7 +209,7 @@ OpenBSD's sndio.") (description "FLAC stands for Free Lossless Audio Codec, an audio format that is lossless, meaning that audio is compressed in FLAC without any loss in quality.") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) ; and LGPL and GPL (home-page "http://xiph.org/flac/"))) diff --git a/gnu/packages/yasm.scm b/gnu/packages/yasm.scm index 8314e22247..abf6663187 100644 --- a/gnu/packages/yasm.scm +++ b/gnu/packages/yasm.scm @@ -50,5 +50,5 @@ Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView 8 formats.") - (license (license:bsd-style "file://COPYING" + (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index f9eeb5c32c..e6f5067295 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -67,7 +67,7 @@ directory structure can be packed into a ZIP archive with a single command. Zip has one compression method (deflation) and can also store files without compression. Zip automatically chooses the better of the two for each file. Compression ratios of 2:1 to 3:1 are common for text files.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) (define-public unzip @@ -108,7 +108,7 @@ UnZip lists, tests, or extracts files from a .zip archive. The default behaviour (with no options) is to extract into the current directory, and subdirectories below it, all files from the specified zipfile. UnZip recreates the stored directory structure by default.") - (license (license:bsd-style "file://LICENSE" + (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) (define-public zziplib From 949f9aa100df192cfad9e81cb78e752a2820ab35 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 14 Mar 2015 15:47:25 -0500 Subject: [PATCH 295/359] gnu: c-reduce: Use llvm and clang 3.5. * gnu/packages/debug.scm (c-reduce)[intputs]: Use llvm and clang 3.5. --- gnu/packages/debug.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index afa8b8d99b..a661dcef85 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -99,8 +99,8 @@ program to exhibit a bug.") (inputs `(("astyle" ,astyle) ("delta" ,delta) - ("llvm" ,llvm) - ("clang" ,clang) + ("llvm" ,llvm-3.5) + ("clang" ,clang-3.5) ("flex" ,flex) ("indent" ,indent) ("perl" ,perl) From 36fb36b55108d60c23fa7623a8b7c26f5cd97886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Fri, 13 Mar 2015 12:06:19 +0100 Subject: [PATCH 296/359] gnu: Rename module dnsmasq to dns. * gnu/packages/dnsmasq.scm: Rename to... * gnu/packages/dns.scm: ... this. Change module name accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns. --- gnu-system.am | 2 +- gnu/packages/{dnsmasq.scm => dns.scm} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename gnu/packages/{dnsmasq.scm => dns.scm} (98%) diff --git a/gnu-system.am b/gnu-system.am index bd3f434090..8e3210440f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -81,7 +81,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ gnu/packages/djvu.scm \ - gnu/packages/dnsmasq.scm \ + gnu/packages/dns.scm \ gnu/packages/docbook.scm \ gnu/packages/doxygen.scm \ gnu/packages/dwm.scm \ diff --git a/gnu/packages/dnsmasq.scm b/gnu/packages/dns.scm similarity index 98% rename from gnu/packages/dnsmasq.scm rename to gnu/packages/dns.scm index f342f818c4..86f5945ee7 100644 --- a/gnu/packages/dnsmasq.scm +++ b/gnu/packages/dns.scm @@ -16,7 +16,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages dnsmasq) +(define-module (gnu packages dns) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) From 1e74439973083a99b83f9cda92e9628f011081f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Sat, 14 Mar 2015 00:23:24 +0100 Subject: [PATCH 297/359] gnu: bind-utils: Add new variable. * gnu/packages/dns.scm (bind-utils): New variable. --- gnu/packages/dns.scm | 60 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 86f5945ee7..f0c103ab2d 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -17,7 +17,13 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages dns) - #:use-module (guix licenses) + #:use-module (gnu packages databases) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages linux) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) + #:use-module (gnu packages xml) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -53,4 +59,54 @@ addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP/TFTP for network booting of diskless machines.") ;; Source files only say GPL2 and GPL3 are allowed. - (license (list gpl2 gpl3)))) + (license (list license:gpl2 license:gpl3)))) + +(define-public bind-utils + (package + (name "bind-utils") + (version "9.10.1-P2") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ftp.isc.org/isc/bind9/" version + "/bind-" version ".tar.gz")) + (sha256 + (base32 + "1svzia5vv0s4bv6r04j8bsvlf3klwyigmdz1iwb4fqds00iyvp22")))) + (build-system gnu-build-system) + (inputs + ;; it would be nice to add GeoIP and gssapi once there is package + `(("libcap" ,libcap) + ("libxml2" ,libxml2) + ("mysql" ,mysql) + ("openssl" ,openssl) + ("perl" ,perl) + ("p11-kit" ,p11-kit))) + (arguments + `(#:tests? #f ; no test phase implemented + #:configure-flags + (list (string-append "--with-openssl=" + (assoc-ref %build-inputs "openssl")) + (string-append "--with-dlz-mysql=" + (assoc-ref %build-inputs "mysql")) + (string-append "--with-pkcs11=" + (assoc-ref %build-inputs "p11-kit"))) + #:phases + (alist-replace + 'build + (lambda _ + (and (zero? (system* "make" "-C" "lib/dns")) + (zero? (system* "make" "-C" "lib/isc")) + (zero? (system* "make" "-C" "lib/bind9")) + (zero? (system* "make" "-C" "lib/isccfg")) + (zero? (system* "make" "-C" "lib/lwres")) + (zero? (system* "make" "-C" "bin/dig")))) + (alist-replace + 'install + (lambda _ (zero? (system* "make" "-C" "bin/dig" "install"))) + %standard-phases)))) + (home-page "https://www.isc.org/downloads/bind/") + (synopsis "Tools for querying nameservers") + (description + "These tools, included with ISC BIND, are useful for analysis of DNS +issues or verification of configuration.") + (license (list license:isc)))) From 2459141e4cbcf1c9fad463fae6dbf29648d28a54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Wed, 11 Mar 2015 21:56:33 +0100 Subject: [PATCH 298/359] gnu: Add tig. * gnu/packages/version-control.scm (tig): New variable. --- gnu/packages/version-control.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index c0cdb047e1..5af2905eaa 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages linux) ;; #:use-module (gnu packages gnutls) #:use-module (gnu packages nano) + #:use-module (gnu packages ncurses) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -778,3 +779,28 @@ changes back into the master source of the program, with as little disruption as possible. Resolution of contention for source files, a major headache for any project with more than one developer, is one of Aegis's major functions.") (license gpl3+))) + +(define-public tig + (package + (name "tig") + (version "2.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://jonas.nitro.dk/tig/releases/tig-" + version ".tar.gz")) + (sha256 + (base32 + "1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses))) + (arguments + `(#:tests? #f)) ; no tests implemented + (home-page "http://jonas.nitro.dk/tig/") + (synopsis "Ncurses-based text user interface for Git") + (description + "Tig is an ncurses text user interface for Git, primarily intended as +a history browser. It can also stage hunks for commit, or colorize the +output of the 'git' command.") + (license gpl2+))) From 060e365a73bf6cc3d715def99cde57250149eeb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Fri, 13 Mar 2015 00:12:22 +0100 Subject: [PATCH 299/359] gnu: openconnect: Update to 7.05. * gnu/packages/vpn.scm (openconnect): Update to 7.05, replace openssl with gnutls. --- gnu/packages/vpn.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 9ff8b63895..5883f99505 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) + #:use-module (gnu packages gnutls) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -95,17 +96,17 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (define-public openconnect (package (name "openconnect") - (version "4.99") + (version "7.05") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/" "openconnect-" version ".tar.gz")) (sha256 (base32 - "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6")))) + "1i102yr8yp2ny587n6pd966443h1pqxyw5q0n5afq575046jj98g")))) (build-system gnu-build-system) (inputs `(("libxml2" ,libxml2) - ("openssl" ,openssl) + ("gnutls" ,gnutls) ("vpnc" ,vpnc) ("zlib" ,zlib))) (native-inputs From 5a74d239bf45dfebbbb8363b309b56eec66e324f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 14 Mar 2015 16:29:56 +0100 Subject: [PATCH 300/359] pulseaudio: Update to 6.0; add dependency on eudev. * gnu/packages/pulseaudio.scm (pulseaudio)[source]: Update to 6.0. [arguments]: Pass --with-udev-rules-dir. [inputs]: Add eudev. --- gnu-system.am | 1 - .../patches/pulseaudio-CVE-2014-3970.patch | 57 ------------------- gnu/packages/pulseaudio.scm | 15 +++-- 3 files changed, 9 insertions(+), 64 deletions(-) delete mode 100644 gnu/packages/patches/pulseaudio-CVE-2014-3970.patch diff --git a/gnu-system.am b/gnu-system.am index 8e3210440f..552ed91764 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -481,7 +481,6 @@ dist_patch_DATA = \ gnu/packages/patches/plotutils-libpng-jmpbuf.patch \ gnu/packages/patches/polkit-drop-test.patch \ gnu/packages/patches/procps-make-3.82.patch \ - gnu/packages/patches/pulseaudio-CVE-2014-3970.patch \ gnu/packages/patches/pulseaudio-fix-mult-test.patch \ gnu/packages/patches/pybugz-encode-error.patch \ gnu/packages/patches/pybugz-stty.patch \ diff --git a/gnu/packages/patches/pulseaudio-CVE-2014-3970.patch b/gnu/packages/patches/pulseaudio-CVE-2014-3970.patch deleted file mode 100644 index 073e663112..0000000000 --- a/gnu/packages/patches/pulseaudio-CVE-2014-3970.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 26b9d22dd24c17eb118d0205bf7b02b75d435e3c Mon Sep 17 00:00:00 2001 -From: "Alexander E. Patrakov" -Date: Thu, 5 Jun 2014 22:29:25 +0600 -Subject: [PATCH] rtp-recv: fix crash on empty UDP packets (CVE-2014-3970) - -On FIONREAD returning 0 bytes, we cannot return success, as the caller -(rtpoll_work_cb in module-rtp-recv.c) would then try to -pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger -an assertion. - -Also we have to read out the possible empty packet from the socket, so -that the kernel doesn't tell us again and again about it. - -Signed-off-by: Alexander E. Patrakov ---- - src/modules/rtp/rtp.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c -index 570737e..7b75e0e 100644 ---- a/src/modules/rtp/rtp.c -+++ b/src/modules/rtp/rtp.c -@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct - goto fail; - } - -- if (size <= 0) -- return 0; -+ if (size <= 0) { -+ /* size can be 0 due to any of the following reasons: -+ * -+ * 1. Somebody sent us a perfectly valid zero-length UDP packet. -+ * 2. Somebody sent us a UDP packet with a bad CRC. -+ * -+ * It is unknown whether size can actually be less than zero. -+ * -+ * In the first case, the packet has to be read out, otherwise the -+ * kernel will tell us again and again about it, thus preventing -+ * reception of any further packets. So let's just read it out -+ * now and discard it later, when comparing the number of bytes -+ * received (0) with the number of bytes wanted (1, see below). -+ * -+ * In the second case, recvmsg() will fail, thus allowing us to -+ * return the error. -+ * -+ * Just to avoid passing zero-sized memchunks and NULL pointers to -+ * recvmsg(), let's force allocation of at least one byte by setting -+ * size to 1. -+ */ -+ size = 1; -+ } - - if (c->memchunk.length < (unsigned) size) { - size_t l; --- -2.0.0 - diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 1e9fe41b47..e915ea0e8c 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -112,7 +112,7 @@ rates. ") (define pulseaudio (package (name "pulseaudio") - (version "5.0") + (version "6.0") (source (origin (method url-fetch) (uri (string-append @@ -120,7 +120,7 @@ rates. ") version ".tar.xz")) (sha256 (base32 - "0fgrr8v7yfh0byhzdv4c87v9lkj8g7gpjm8r9xrbvpa92a5kmhcr")) + "1xpnfxa0d8pgf6b4qdgnkcvrvdxbbbjd5ync19h0f5hbp3h401mm")) (modules '((guix build utils))) (snippet ;; Disable console-kit support by default since it's deprecated @@ -128,12 +128,14 @@ rates. ") '(substitute* "src/daemon/default.pa.in" (("load-module module-console-kit" all) (string-append "#" all "\n")))) - (patches (list (search-patch "pulseaudio-fix-mult-test.patch") - (search-patch "pulseaudio-CVE-2014-3970.patch"))))) + (patches (list (search-patch "pulseaudio-fix-mult-test.patch"))))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--localstatedir=/var" ;"--sysconfdir=/etc" - "--disable-oss-output") + `(#:configure-flags (list "--localstatedir=/var" ;"--sysconfdir=/etc" + "--disable-oss-output" + (string-append "--with-udev-rules-dir=" + (assoc-ref %outputs "out") + "/lib/udev/rules.d")) #:phases (alist-cons-before 'check 'pre-check (lambda _ @@ -160,6 +162,7 @@ rates. ") ("libltdl" ,libltdl) ("fftwf" ,fftwf) ("avahi" ,avahi) + ("eudev" ,eudev) ;for the detection of hardware audio devices ("check" ,check))) (propagated-inputs ;; 'libpulse*.la' contain `-lgdbm' and `-lcap', so propagate them. From 1b6826d34a291ecc1f8be323bbf2df28f4183bd3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Mar 2015 07:27:14 +0100 Subject: [PATCH 301/359] gnu: Add Lilypond. * gnu/packages/music.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/music.scm | 104 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 gnu/packages/music.scm diff --git a/gnu-system.am b/gnu-system.am index 552ed91764..c3e8c5b02d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -202,6 +202,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/mp3.scm \ gnu/packages/mpi.scm \ gnu/packages/multiprecision.scm \ + gnu/packages/music.scm \ gnu/packages/mtools.scm \ gnu/packages/nano.scm \ gnu/packages/ncdu.scm \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm new file mode 100644 index 0000000000..c92354248f --- /dev/null +++ b/gnu/packages/music.scm @@ -0,0 +1,104 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages music) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) + #:use-module (gnu packages flex) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages rsync) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages texlive) + #:use-module (gnu packages zip)) + +(define-public lilypond + (package + (name "lilypond") + (version "2.18.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.linuxaudio.org/lilypond/sources/v" + (version-major+minor version) "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "01xs9x2wjj7w9appaaqdhk15r1xvvdbz9qwahzhppfmhclvp779j")))) + (build-system gnu-build-system) + (arguments + `(;; Tests fail with this error: + ;; Undefined subroutine &main::get_index called at + ;; ./lilypond-2.18.2/Documentation/lilypond-texi2html.init line 2127. + #:tests? #f + #:out-of-source? #t + #:phases + (alist-cons-before + 'configure 'prepare-configuration + (lambda _ + (substitute* "configure" + (("SHELL=/bin/sh") "SHELL=sh")) + (setenv "out" "") + #t) + %standard-phases))) + (inputs + `(("guile" ,guile-1.8) + ("font-dejavu" ,font-dejavu) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("ghostscript" ,ghostscript) + ("pango" ,pango) + ("python" ,python-2))) + (native-inputs + `(("bison" ,bison) + ("perl" ,perl) + ("flex" ,flex) + ("fontforge" ,fontforge) + ("dblatex" ,dblatex) + ("gettext" ,gnu-gettext) + ("imagemagick" ,imagemagick) + ("netpbm" ,netpbm) ;for pngtopnm + ("texlive" ,texlive) ;metafont and metapost + ("texinfo" ,texinfo) + ("texi2html" ,texi2html) + ("rsync" ,rsync) + ("pkg-config" ,pkg-config) + ("zip" ,zip))) + (home-page "http://www.lilypond.org/") + (synopsis "Music typesetting") + (description + "GNU LilyPond is a music typesetter, which produces high-quality sheet +music. Music is input in a text file containing control sequences which are +interpreted by LilyPond to produce the final document. It is extendable with +Guile.") + (license license:gpl3+))) From 576d38c846bd374c39e7c59660fcaa6bc425534d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 15 Mar 2015 23:38:32 +0100 Subject: [PATCH 302/359] gnu: pavucontrol: Work around segmentation fault. * gnu/packages/patches/pavucontrol-sigsegv.patch: New file. * gnu/packages/pulseaudio.scm (pavucontrol)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + .../patches/pavucontrol-sigsegv.patch | 203 ++++++++++++++++++ gnu/packages/pulseaudio.scm | 3 +- 3 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/pavucontrol-sigsegv.patch diff --git a/gnu-system.am b/gnu-system.am index c3e8c5b02d..b6a0f3a770 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -475,6 +475,7 @@ dist_patch_DATA = \ gnu/packages/patches/patchelf-page-size.patch \ gnu/packages/patches/patchelf-rework-for-arm.patch \ gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \ + gnu/packages/patches/pavucontrol-sigsegv.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/perl-tk-x11-discover.patch \ gnu/packages/patches/petsc-fix-threadcomm.patch \ diff --git a/gnu/packages/patches/pavucontrol-sigsegv.patch b/gnu/packages/patches/pavucontrol-sigsegv.patch new file mode 100644 index 0000000000..094765b6a0 --- /dev/null +++ b/gnu/packages/patches/pavucontrol-sigsegv.patch @@ -0,0 +1,203 @@ +Work around a segmentation fault when starting pavucontrol. + +From a98200f2699d453a78c9dfbb85e307bbdb3e3dbf Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 28 Aug 2014 12:58:05 +0200 +Subject: [PATCH] Reference the widget before returning it from ::create + methods + +Widgets (unlike Windows and Dialogs) returned by Gtk::Builder::get_widget* +start owned by the GtkBuilder object, the idea being that they will get +added to a container before the scope of the GtkBuilder object ends, and it +thus automatically gets destroyed. + +But in the various ::create methods in pavucontrol, a pointer to the widget +gets returned, so that it can be added to a cointainer by the caller. +However as soon as the ::create method exits the GtkBuilder object owning +the widget, and thus also the widget gets destroyed, and we end up returning +free-ed memory. + +This commit fixes this by making all ::create methods take a reference on +the widget before returning it, and having all the callers unreference the +widget after adding it to a container. + +https://bugs.freedesktop.org/show_bug.cgi?id=83144 +https://bugzilla.redhat.com/show_bug.cgi?id=1133339 + +Signed-off-by: Hans de Goede +--- + src/cardwidget.cc | 1 + + src/channelwidget.cc | 1 + + src/devicewidget.cc | 1 + + src/mainwindow.cc | 6 ++++++ + src/rolewidget.cc | 1 + + src/sinkinputwidget.cc | 1 + + src/sinkwidget.cc | 1 + + src/sourceoutputwidget.cc | 1 + + src/sourcewidget.cc | 1 + + src/streamwidget.cc | 1 + + 10 files changed, 15 insertions(+) + +diff --git a/src/cardwidget.cc b/src/cardwidget.cc +index c79ac6c..28c558d 100644 +--- a/src/cardwidget.cc ++++ b/src/cardwidget.cc +@@ -45,6 +45,7 @@ CardWidget* CardWidget::create() { + CardWidget* w; + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "cardWidget"); + x->get_widget_derived("cardWidget", w); ++ w->reference(); + return w; + } + +diff --git a/src/channelwidget.cc b/src/channelwidget.cc +index 6f59de2..fe94c11 100644 +--- a/src/channelwidget.cc ++++ b/src/channelwidget.cc +@@ -53,6 +53,7 @@ ChannelWidget* ChannelWidget::create() { + x->add_from_file(GLADE_FILE, "adjustment1"); + x->add_from_file(GLADE_FILE, "channelWidget"); + x->get_widget_derived("channelWidget", w); ++ w->reference(); + return w; + } + +diff --git a/src/devicewidget.cc b/src/devicewidget.cc +index 1a148ee..813780f 100644 +--- a/src/devicewidget.cc ++++ b/src/devicewidget.cc +@@ -89,6 +89,7 @@ void DeviceWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) { + snprintf(text, sizeof(text), "%s", pa_channel_position_to_pretty_string(m.map[i])); + cw->channelLabel->set_markup(text); + channelsVBox->pack_start(*cw, false, false, 0); ++ cw->unreference(); + } + channelWidgets[m.channels-1]->last = true; + +diff --git a/src/mainwindow.cc b/src/mainwindow.cc +index 5a42318..5d205fb 100644 +--- a/src/mainwindow.cc ++++ b/src/mainwindow.cc +@@ -300,6 +300,7 @@ void MainWindow::updateCard(const pa_card_info &info) { + else { + cardWidgets[info.index] = w = CardWidget::create(); + cardsVBox->pack_start(*w, false, false, 0); ++ w->unreference(); + w->index = info.index; + is_new = true; + } +@@ -416,6 +417,7 @@ bool MainWindow::updateSink(const pa_sink_info &info) { + sinkWidgets[info.index] = w = SinkWidget::create(this); + w->setChannelMap(info.channel_map, !!(info.flags & PA_SINK_DECIBEL_VOLUME)); + sinksVBox->pack_start(*w, false, false, 0); ++ w->unreference(); + w->index = info.index; + w->monitor_index = info.monitor_source; + is_new = true; +@@ -570,6 +572,7 @@ void MainWindow::updateSource(const pa_source_info &info) { + sourceWidgets[info.index] = w = SourceWidget::create(this); + w->setChannelMap(info.channel_map, !!(info.flags & PA_SOURCE_DECIBEL_VOLUME)); + sourcesVBox->pack_start(*w, false, false, 0); ++ w->unreference(); + w->index = info.index; + is_new = true; + +@@ -686,6 +689,7 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) { + sinkInputWidgets[info.index] = w = SinkInputWidget::create(this); + w->setChannelMap(info.channel_map, true); + streamsVBox->pack_start(*w, false, false, 0); ++ w->unreference(); + w->index = info.index; + w->clientIndex = info.client; + is_new = true; +@@ -743,6 +747,7 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) { + w->setChannelMap(info.channel_map, true); + #endif + recsVBox->pack_start(*w, false, false, 0); ++ w->unreference(); + w->index = info.index; + w->clientIndex = info.client; + is_new = true; +@@ -838,6 +843,7 @@ bool MainWindow::createEventRoleWidget() { + + eventRoleWidget = RoleWidget::create(); + streamsVBox->pack_start(*eventRoleWidget, false, false, 0); ++ eventRoleWidget->unreference(); + eventRoleWidget->role = "sink-input-by-media-role:event"; + eventRoleWidget->setChannelMap(cm, true); + +diff --git a/src/rolewidget.cc b/src/rolewidget.cc +index fd3196c..db07f92 100644 +--- a/src/rolewidget.cc ++++ b/src/rolewidget.cc +@@ -40,6 +40,7 @@ RoleWidget* RoleWidget::create() { + RoleWidget* w; + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget"); + x->get_widget_derived("streamWidget", w); ++ w->reference(); + return w; + } + +diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc +index b88b718..5a0ba39 100644 +--- a/src/sinkinputwidget.cc ++++ b/src/sinkinputwidget.cc +@@ -43,6 +43,7 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) { + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget"); + x->get_widget_derived("streamWidget", w); + w->init(mainWindow); ++ w->reference(); + return w; + } + +diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc +index 7f4902c..f682cf2 100644 +--- a/src/sinkwidget.cc ++++ b/src/sinkwidget.cc +@@ -82,6 +82,7 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) { + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget"); + x->get_widget_derived("deviceWidget", w); + w->init(mainWindow, "sink"); ++ w->reference(); + return w; + } + +diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc +index 827c5a8..4d915b0 100644 +--- a/src/sourceoutputwidget.cc ++++ b/src/sourceoutputwidget.cc +@@ -49,6 +49,7 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) { + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget"); + x->get_widget_derived("streamWidget", w); + w->init(mainWindow); ++ w->reference(); + return w; + } + +diff --git a/src/sourcewidget.cc b/src/sourcewidget.cc +index 5e4ecf0..fde5333 100644 +--- a/src/sourcewidget.cc ++++ b/src/sourcewidget.cc +@@ -35,6 +35,7 @@ SourceWidget* SourceWidget::create(MainWindow* mainWindow) { + Glib::RefPtr x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget"); + x->get_widget_derived("deviceWidget", w); + w->init(mainWindow, "source"); ++ w->reference(); + return w; + } + +diff --git a/src/streamwidget.cc b/src/streamwidget.cc +index 94363ec..e602cce 100644 +--- a/src/streamwidget.cc ++++ b/src/streamwidget.cc +@@ -77,6 +77,7 @@ void StreamWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) { + snprintf(text, sizeof(text), "%s", pa_channel_position_to_pretty_string(m.map[i])); + cw->channelLabel->set_markup(text); + channelsVBox->pack_start(*cw, false, false, 0); ++ cw->unreference(); + } + channelWidgets[m.channels-1]->last = true; + channelWidgets[m.channels-1]->setBaseVolume(PA_VOLUME_NORM); +-- +2.1.0 + diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index e915ea0e8c..d76f74b775 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -194,7 +194,8 @@ mixing several sounds into one are easily achieved using a sound server. ") ".tar.xz")) (sha256 (base32 - "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2")))) + "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2")) + (patches (list (search-patch "pavucontrol-sigsegv.patch"))))) (build-system gnu-build-system) (inputs `(("libcanberra" ,libcanberra) From 0aa34e820ca30171b1e5d75dd9e3b85d75ccaf83 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Mar 2015 22:42:41 +0100 Subject: [PATCH 303/359] gnu: texlive: Make the package structure more modular. * gnu/packages/texlive.scm (texlive-bin, texlive-texmf): New variables. The first one contains the binaries; the second one the texmf tree. (texlive): Drop output "data". Create the output "out" as the union of the suitable subdirectories of texlive-bin and texlive-texmf, and wrap the binaries, setting TEXMFCNF to the value corresponding to texlive-texmf. --- gnu/packages/texlive.scm | 248 ++++++++++++++++++++++++++------------- 1 file changed, 166 insertions(+), 82 deletions(-) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index f757350135..56149ab58e 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge +;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; @@ -23,7 +23,9 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages gd) @@ -31,6 +33,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages lua) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -57,54 +60,48 @@ (sha256 (base32 "0qsr55ms1278dhmgixs5qqwd4fxhh369ihkki6wgh8xaqm8p48p0")))) -(define-public texlive +(define-public texlive-bin (package - (name "texlive") + (name "texlive-bin") (version "2014") - (source (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2014/texlive-20140525-source.tar.xz") - (sha256 (base32 - "1glmaw2jv42grbsn05kay825j66scimjqqc32776bb1356q4xfq8")))) + (source + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2014/texlive-20140525-source.tar.xz") + (sha256 (base32 + "1glmaw2jv42grbsn05kay825j66scimjqqc32776bb1356q4xfq8")))) (build-system gnu-build-system) - (inputs `(("texlive-extra-src" ,texlive-extra-src) - ("texlive-texmf-src" ,texlive-texmf-src) - ("cairo" ,cairo) - ("fontconfig" ,fontconfig) - ("fontforge" ,fontforge) - ("freetype" ,freetype) - ("gd" ,gd) - ("ghostscript" ,ghostscript) - ("graphite2" ,graphite2) - ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c) - ("libpaper" ,libpaper) - ("libpng" ,libpng) - ("libxaw" ,libxaw) - ("libxt" ,libxt) - ("perl" ,perl) - ("pixman" ,pixman) - ("poppler" ,poppler) - ("potrace" ,potrace) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("ruby" ,ruby) - ("tcsh" ,tcsh) - ("teckit" ,teckit) - ("zlib" ,zlib) - ("zziplib" ,zziplib))) + (inputs + `(("texlive-extra-src" ,texlive-extra-src) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("fontforge" ,fontforge) + ("freetype" ,freetype) + ("gd" ,gd) + ("ghostscript" ,ghostscript) + ("graphite2" ,graphite2) + ("harfbuzz" ,harfbuzz) + ("icu4c" ,icu4c) + ("libpaper" ,libpaper) + ("libpng" ,libpng) + ("libxaw" ,libxaw) + ("libxt" ,libxt) + ("perl" ,perl) + ("pixman" ,pixman) + ("poppler" ,poppler) + ("potrace" ,potrace) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh) + ("teckit" ,teckit) + ("zlib" ,zlib) + ("zziplib" ,zziplib))) (native-inputs `(("pkg-config" ,pkg-config))) - (outputs '("out" "data")) (arguments `(#:out-of-source? #t #:configure-flags `("--disable-native-texlive-build" - ;; Although the texmf-dist data is taken from texlive-texmf, - ;; setting datarootdir is still useful: - ;; "make install" creates symbolic links to scripts in this place. - ,(string-append "--datarootdir=" (assoc-ref %outputs "data")) - ,(string-append "--infodir=" (assoc-ref %outputs "out") "/share/info") - ,(string-append "--mandir=" (assoc-ref %outputs "out") "/share/man") "--with-system-cairo" "--with-system-freetype2" "--with-system-gd" @@ -130,64 +127,151 @@ (alist-cons-after 'install 'postinst (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let ((texlive-extra (assoc-ref inputs "texlive-extra-src")) - (texlive-texmf (assoc-ref inputs "texlive-texmf-src")) - (out (assoc-ref outputs "out")) - (data (assoc-ref outputs "data")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texlive-extra (assoc-ref inputs "texlive-extra-src")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) ;; Create symbolic links for the latex variants and their ;; man pages. (with-directory-excursion (string-append out "/bin/") (for-each symlink '("pdftex" "pdftex" "xetex" "luatex") '("latex" "pdflatex" "xelatex" "lualatex"))) - (with-directory-excursion (string-append out "/share/man/man1/") + (with-directory-excursion (string-append share "/man/man1/") (symlink "luatex.1" "lualatex.1")) - ;; Delete texmf-dist from "data", since it will be reinstalled - ;; from texlive-texmf. - (system* "rm" "-r" (string-append data "/texmf-dist")) ;; Unpack texlive-extra and install tlpkg. (mkdir "texlive-extra") (with-directory-excursion "texlive-extra" (apply unpack (list #:source texlive-extra)) (apply patch-source-shebangs (list #:source texlive-extra)) - (system* "mv" "tlpkg" data) - (chdir "..")) - ;; Unpack and install texlive-texmf. - (mkdir "texlive-texmf") - (with-directory-excursion "texlive-texmf" - (apply unpack (list #:source texlive-texmf)) - (apply patch-source-shebangs (list #:source texlive-texmf)) - ;; Register "data" for kpathsea in texmf.cnf. - (substitute* "texmf-dist/web2c/texmf.cnf" - (("TEXMFROOT = \\$SELFAUTOPARENT") - (string-append "TEXMFROOT = " data))) - (system* "mv" "texmf-dist" data) - (chdir "..")) - ;; texmf.cnf must also be placed in "out", since kpsewhich does - ;; not know about "data" until it has found this file. - (mkdir (string-append out "/share/texmf-dist")) - (mkdir (string-append out "/share/texmf-dist/web2c")) - (copy-file (string-append data "/texmf-dist/web2c/texmf.cnf") - (string-append out "/share/texmf-dist/web2c/texmf.cnf")))) - (alist-cons-after 'patch-shebangs 'texconfig - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Configure the texlive system; inspired from - ;; http://slackbuilds.org/repository/13.37/office/texlive/ - (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")) - (system* "updmap-sys" "--nohash" "--syncwithtrees") - (system* "mktexlsr") - (system* "fmtutil-sys" "--all"))) - %standard-phases)))) - (synopsis "Tex Live, a package of the TeX typesetting system") + (system* "mv" "tlpkg" share)))) + %standard-phases))) + (synopsis "TeX Live, a package of the TeX typesetting system") (description "TeX Live provides a comprehensive TeX document production system. It includes all the major TeX-related programs, macro packages, and fonts that are free software, including support for many languages around the -world.") +world. + +This package contains the binaries.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define-public texlive-texmf + (package + (name "texlive-texmf") + (version "2014") + (source texlive-texmf-src) + (build-system gnu-build-system) + (inputs + `(("texlive-bin" ,texlive-bin) + ("lua" ,lua) + ("perl" ,perl) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh))) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:imported-modules ((guix build gnu-build-system) + (guix build utils)) + #:phases + (alist-cons-before + 'texmf-config 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share"))) + (mkdir-p share) + (system* "mv" "texmf-dist" share))) + (alist-cons-after + 'patch-source-shebangs 'texmf-config + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (texmfroot (string-append share "/texmf-dist/web2c")) + (texmfcnf (string-append texmfroot "/texmf.cnf")) + (texbin (string-append (assoc-ref inputs "texlive-bin") + "/bin"))) + ;; Register SHARE as TEXMFROOT in texmf.cnf. + (substitute* texmfcnf + (("TEXMFROOT = \\$SELFAUTOPARENT") + (string-append "TEXMFROOT = " share))) + ;; Configure the texmf-dist tree; inspired from + ;; http://slackbuilds.org/repository/13.37/office/texlive/ + (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) + (setenv "TEXMFCNF" texmfroot) + (system* "updmap-sys" "--nohash" "--syncwithtrees") + (system* "mktexlsr") + (system* "fmtutil-sys" "--all"))) + (map (cut assq <> %standard-phases) + '(set-paths unpack patch-source-shebangs)))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete tree of texmf-dist data.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define-public texlive + (package + (name "texlive") + (version "2014") + (source #f) + (build-system trivial-build-system) + (inputs `(("bash" ,bash) ; for wrap-program + ("texlive-bin" ,texlive-bin) + ("texlive-texmf" ,texlive-texmf))) + (arguments + `(#:modules ((guix build utils)) + #:builder + ;; Build the union of texlive-bin and texlive-texmf, but take the + ;; conflicting subdirectory share/texmf-dist from texlive-texmf. + (begin + (use-modules (guix build utils)) + (let ((out (assoc-ref %outputs "out")) + (bin (assoc-ref %build-inputs "texlive-bin")) + (texmf (assoc-ref %build-inputs "texlive-texmf")) + (bash (assoc-ref %build-inputs "bash"))) + (mkdir out) + (with-directory-excursion out + (for-each + (lambda (name) + (symlink (string-append bin "/" name) name)) + '("include" "lib")) + (mkdir "bin") + (with-directory-excursion "bin" + (setenv "PATH" (string-append bash "/bin")) + (for-each + (lambda (name) + (symlink name (basename name)) + (wrap-program + (basename name) + `("TEXMFCNF" = + (,(string-append texmf "/share/texmf-dist/web2c"))))) + (find-files (string-append bin "/bin/") ""))) + (mkdir "share") + (with-directory-excursion "share" + (for-each + (lambda (name) + (symlink (string-append bin "/share/" name) name)) + '("info" "man" "tlpkg")) + (for-each + (lambda (name) + (symlink (string-append texmf "/share/" name) name)) + '("texmf-dist" "texmf-var")))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete TeX Live distribution.") (license (license:fsf-free "http://tug.org/texlive/copying.html")) (home-page "http://www.tug.org/texlive/"))) From 2f094a69f0d601d3b42052208eff0d6244ca7db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 16 Mar 2015 21:49:39 +0100 Subject: [PATCH 304/359] system: Skeleton '.bashrc' now exports the 'SHELL' variable. * gnu/system/shadow.scm (default-skeletons)[bashrc]: Export 'SHELL'. --- gnu/system/shadow.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4cb8018827..16b9e4b555 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -123,6 +123,10 @@ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) # Bash initialization for interactive non-login shells and # for remote shells (info \"(bash) Bash Startup Files\"). +# Export 'SHELL' to child processes. Programs such as 'screen' +# honor it and otherwise use /bin/sh. +export SHELL + if [ -n \"$SSH_CLIENT\" -a -z \"`type -P cat`\" ] then # We are being invoked from a non-interactive SSH session From 5762f3062cc62855743c52b11a0de7cd54528981 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 16 Mar 2015 08:59:59 -0400 Subject: [PATCH 305/359] scripts: environment: Improve error messages. * guix/scripts/environment.scm (guix-environment): Wrap procedure body with error handling form. --- guix/scripts/environment.scm | 37 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index c96ca351c4..80ae924410 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -220,21 +220,22 @@ packages." (define (handle-argument arg result) (alist-cons 'package arg result)) - (with-store store - (let* ((opts (parse-command-line args %options (list %default-options) - #:argument-handler handle-argument)) - (pure? (assoc-ref opts 'pure)) - (command (assoc-ref opts 'exec)) - (inputs (packages->transitive-inputs - (pick-all (options/resolve-packages opts) 'package))) - (drvs (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (build-inputs inputs opts))))) - (cond ((assoc-ref opts 'dry-run?) - #t) - ((assoc-ref opts 'search-paths) - (show-search-paths inputs drvs pure?)) - (else - (create-environment inputs drvs pure?) - (system command)))))) + (with-error-handling + (with-store store + (let* ((opts (parse-command-line args %options (list %default-options) + #:argument-handler handle-argument)) + (pure? (assoc-ref opts 'pure)) + (command (assoc-ref opts 'exec)) + (inputs (packages->transitive-inputs + (pick-all (options/resolve-packages opts) 'package))) + (drvs (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (build-inputs inputs opts))))) + (cond ((assoc-ref opts 'dry-run?) + #t) + ((assoc-ref opts 'search-paths) + (show-search-paths inputs drvs pure?)) + (else + (create-environment inputs drvs pure?) + (system command))))))) From 9a8336d87b0bd343da9f51ca3964f359a26fbf72 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 12 Mar 2015 12:35:14 +0100 Subject: [PATCH 306/359] gnu: Add bwa. * gnu/packages/bioinformatics.scm (bwa): New variable. --- gnu/packages/bioinformatics.scm | 47 +++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d3b891996d..2e786b3290 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -238,6 +238,53 @@ gapped, local, and paired-end alignment modes.") (supported-systems '("x86_64-linux")) (license license:gpl3+))) +(define-public bwa + (package + (name "bwa") + (version "0.7.12") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/bio-bwa/bwa-" + version ".tar.bz2")) + (sha256 + (base32 + "1330dpqncv0px3pbhjzz1gwgg39kkcv2r9qp2xs0sixf8z8wl7bh")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no "check" target + #:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append + (assoc-ref outputs "out") "/bin")) + (doc (string-append + (assoc-ref outputs "out") "/share/doc/bwa")) + (man (string-append + (assoc-ref outputs "out") "/share/man/man1"))) + (mkdir-p bin) + (mkdir-p doc) + (mkdir-p man) + (copy-file "bwa" (string-append bin "/bwa")) + (copy-file "README.md" (string-append doc "/README.md")) + (copy-file "bwa.1" (string-append man "/bwa.1")))) + ;; no "configure" script + (alist-delete 'configure %standard-phases)))) + (inputs `(("zlib" ,zlib))) + (home-page "http://bio-bwa.sourceforge.net/") + (synopsis "Burrows-Wheeler sequence aligner") + (description + "BWA is a software package for mapping low-divergent sequences against a +large reference genome, such as the human genome. It consists of three +algorithms: BWA-backtrack, BWA-SW and BWA-MEM. The first algorithm is +designed for Illumina sequence reads up to 100bp, while the rest two for +longer sequences ranged from 70bp to 1Mbp. BWA-MEM and BWA-SW share similar +features such as long-read support and split alignment, but BWA-MEM, which is +the latest, is generally recommended for high-quality queries as it is faster +and more accurate. BWA-MEM also has better performance than BWA-backtrack for +70-100bp Illumina reads.") + (license license:gpl3+))) + (define-public clipper (package (name "clipper") From ddd82e0e763a84dd840cc724591af5574978c210 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Mar 2015 10:31:49 +0100 Subject: [PATCH 307/359] gnu: Add MISO. * gnu/packages/bioinformatics.scm (miso): New variable. --- gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2e786b3290..1214a0b708 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -570,6 +570,51 @@ resolution of binding sites through combining the information of both sequencing tag position and orientation.") (license license:bsd-3))) +(define-public miso + (package + (name "miso") + (version "0.5.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://pypi.python.org/packages/source/m/misopy/misopy-" + version ".tar.gz")) + (sha256 + (base32 + "0x446867az8ir0z8c1vjqffkp0ma37wm4sylixnkhgawllzx8v5w")) + (modules '((guix build utils))) + ;; use "gcc" instead of "cc" for compilation + (snippet + '(substitute* "setup.py" + (("^defines") + "cc.set_executables( +compiler='gcc', +compiler_so='gcc', +linker_exe='gcc', +linker_so='gcc -shared'); defines"))))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only Python 2 is supported + #:tests? #f)) ; no "test" target + (inputs + `(("samtools" ,samtools) + ("python-numpy" ,python2-numpy) + ("python-pysam" ,python2-pysam) + ("python-scipy" ,python2-scipy) + ("python-matplotlib" ,python2-matplotlib))) + (native-inputs + `(("python-setuptools" ,python2-setuptools))) + (home-page "http://genes.mit.edu/burgelab/miso/index.html") + (synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation") + (description + "MISO (Mixture-of-Isoforms) is a probabilistic framework that quantitates +the expression level of alternatively spliced genes from RNA-Seq data, and +identifies differentially regulated isoforms or exons across samples. By +modeling the generative process by which reads are produced from isoforms in +RNA-Seq, the MISO model uses Bayesian inference to compute the probability +that a read originated from a particular isoform.") + (license license:gpl2))) + (define-public rseqc (package (name "rseqc") From f767bccabfb2870b8e9970bb8cbcbad81d7943ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Mar 2015 10:50:22 +0100 Subject: [PATCH 308/359] gnu: Add CUnit. * gnu/packages/check.scm (cunit): New variable. --- gnu/packages/check.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index bf2a1c7020..afaf5571e5 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -19,6 +19,7 @@ (define-module (gnu packages check) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -48,6 +49,37 @@ faults or other signals. The output from unit tests can be used within source code editors and IDEs.") (license lgpl2.1+))) +(define-public cunit + (package + (name "cunit") + (version "2.1-3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cunit/CUnit/" + version "/CUnit-" version ".tar.bz2")) + (sha256 + (base32 + "057j82da9vv4li4z5ri3227ybd18nzyq81f6gsvhifs5z0vr3cpm")))) + (build-system gnu-build-system) + (arguments '(#:phases + (alist-cons-before + 'configure 'autoconf + (lambda _ + (zero? (system* "autoreconf" "-vfi"))) + %standard-phases))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool))) + (home-page "http://cunit.sourceforge.net/") + (synopsis "Automated testing framework for C") + (description + "CUnit is a lightweight system for writing, administering, and running +unit tests in C. It provides C programmers with basic testing functionality +with a flexible variety of user interfaces.") + (license gpl2+))) + (define-public cppunit (package (name "cppunit") From db62afa55ad443cc50bcafe64eb3ba239eae9c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 11:31:59 +0100 Subject: [PATCH 309/359] gnu: Add python2-xlib. * gnu/packages/python.scm (python2-xlib): New variable. --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d014553e78..2fcdbcc211 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3348,3 +3348,28 @@ Python style, together with a fast and comfortable execution environment.") (define-public python2-testlib (package-with-python2 python-testlib)) + +(define-public python2-xlib + (package + (name "python2-xlib") + (version "0.14") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/python-xlib/" + "python-xlib-" version ".tar.gz")) + (sha256 + (base32 + "1sv0447j0rx8cgs3jhjl695p5pv13ihglcjlrrz1kq05lsvb0wa7")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ;Python 2 only + #:tests? #f)) ;no tests + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://python-xlib.sourceforge.net/") + (synopsis "Python X11 client library") + (description + "The Python X Library is intended to be a fully functional X client +library for Python programs. It is useful to implement low-level X clients. +It is written entirely in Python.") + (license gpl2+))) From 619936a4c81d524ddcd26a6fca34d51617b4b477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 11:38:02 +0100 Subject: [PATCH 310/359] gnu: Add python2-rsvg. * gnu/packages/gnome.scm (python2-rsvg): New variable. --- gnu/packages/gnome.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b547b81f43..3b70e27816 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1590,3 +1590,34 @@ Extension known as XKB. This library is indended to support XFree86 and other commercial X servers. It is useful for creating XKB-related software (layout indicators etc).") (license license:lgpl2.0+))) + +(define-public python2-rsvg + ;; XXX: This is actually a subset of gnome-python-desktop. + (package + (name "python2-rsvg") + (version "2.32.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-" + version ".tar.bz2")) + (sha256 + (base32 + "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python-2) + ("python2-pygtk" ,python2-pygtk) + ("librsvg" ,librsvg))) + (home-page "http://www.gnome.org") + (synopsis "Python bindings to librsvg") + (description + "This packages provides Python bindings to librsvg, the SVG rendering +library.") + + ;; This is the license of the rsvg bindings. The license of each module + ;; of gnome-python-desktop is given in 'COPYING'. + (license license:lgpl2.1+))) From b832c6e992028ce40dfae95bafc36a4f59149a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 11:43:35 +0100 Subject: [PATCH 311/359] gnu: Add key-mon. * gnu/packages/key-mon.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/key-mon.scm | 69 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 gnu/packages/key-mon.scm diff --git a/gnu-system.am b/gnu-system.am index b6a0f3a770..c03efbca86 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/java.scm \ gnu/packages/jrnl.scm \ gnu/packages/kde.scm \ + gnu/packages/key-mon.scm \ gnu/packages/ld-wrapper.scm \ gnu/packages/less.scm \ gnu/packages/lesstif.scm \ diff --git a/gnu/packages/key-mon.scm b/gnu/packages/key-mon.scm new file mode 100644 index 0000000000..d29f30258d --- /dev/null +++ b/gnu/packages/key-mon.scm @@ -0,0 +1,69 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages key-mon) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (gnu packages) + #:use-module (gnu packages python) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) + #:use-module (guix build-system python)) + +(define-public key-mon + (package + (name "key-mon") + (version "1.17") + (source (origin + (method url-fetch) + (uri (string-append + "http://key-mon.googlecode.com/files/key-mon-" + version ".tar.gz")) + (sha256 + (base32 + "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ;uses the Python 2 'print' syntax + #:phases (modify-phases %standard-phases + (add-after install wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (rsvg (assoc-ref inputs "librsvg")) + (pixbuf (find-files + rsvg "^loaders\\.cache$"))) + ;; Allow key-mon to load SVGs. + (wrap-program (string-append bin "/key-mon") + `("GDK_PIXBUF_MODULE_FILE" ":" + prefix ,pixbuf)))))) + #:tests? #f)) ;no tests + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (propagated-inputs + `(("python2-xlib" ,python2-xlib) + ("python2-pygtk" ,python2-pygtk) + ("librsvg" ,librsvg) + ("python2-rsvg" ,python2-rsvg))) + (home-page "http://code.google.com/p/key-mon") + (synopsis "Show keyboard and mouse status") + (description + "The key-mon utility displays the current keyboard and mouse status. +This is useful for teaching and screencasts.") + (license asl2.0))) From d2c89faa8876dbcafcd213a0050f286377cec056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Mon, 16 Mar 2015 10:07:56 +0100 Subject: [PATCH 312/359] gnu: Add agg. * gnu/packages/graphics.scm (agg): New variable. --- gnu/packages/graphics.scm | 55 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 1ee4d7e177..c6ccc34a58 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -23,10 +23,16 @@ #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) #:use-module (gnu packages multiprecision) - #:use-module (gnu packages boost)) + #:use-module (gnu packages boost) + #:use-module (gnu packages xorg) + #:use-module (gnu packages sdl) +) (define-public cgal (package @@ -152,3 +158,50 @@ output.") ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file ;; and headers use different wording. (license (license:non-copyleft "file://LICENSE")))) + +(define-public agg + (package + (name "agg") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.antigrain.com/agg-" + version ".tar.gz")) + (sha256 + (base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb")) + (patches (list (search-patch "am_c_prototype.patch") + (search-patch + "antigrain-geometry-no_rpath.patch"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11") + "/include") + (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11") + "/lib")) + #:phases + (alist-cons-after + 'unpack 'autoreconf + (lambda _ + ;; let's call configure from configure phase and not now + (substitute* "autogen.sh" (("./configure") "# ./configure")) + (zero? (system* "sh" "autogen.sh"))) + %standard-phases))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("bash" ,bash))) + (inputs + `(("libx11" ,libx11) + ("freetype" ,freetype) + ("sdl" ,sdl))) + + (home-page "http://antigrain.com") + (synopsis "High-quality 2D graphics rendering engine for C++") + (description + "Anti-Grain Geometry is a high quality rendering engine written in C++. +It supports sub-pixel resolutions and anti-aliasing. It is also library for +rendering SVG graphics.") + (license license:gpl2+))) From 004eb31859971f9602f618cbdf6612f4bcaddd9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Sun, 15 Mar 2015 00:54:07 +0100 Subject: [PATCH 313/359] gnu: Add sdcv. * gnu/packages/dictionaries.scm (sdcv): New variable. --- gnu/packages/dictionaries.scm | 47 +++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 345d0a26c1..b18e02a77e 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -17,14 +17,18 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages dictionaries) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system trivial) + #:use-module (guix build-system cmake) #:use-module (gnu packages base) - #:use-module (gnu packages texinfo) - #:use-module ((gnu packages compression) - #:select (gzip))) + #:use-module (gnu packages compression) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages texinfo)) (define-public vera (package @@ -75,4 +79,37 @@ (description "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing acronyms distributed as an info document.") - (license fdl1.3+))) + (license license:fdl1.3+))) + +(define-public sdcv + (package + (name "sdcv") + (version "0.5.0-beta4") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/project/sdcv/sdcv/sdcv-" + version "-Source.tar.bz2")) + (sha256 + (base32 "1b9v91al2c1499q6yx6q8jggid0714444mfj6myqgz3nvqjyrrqr")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gettext" ,gnu-gettext) + ("readline" ,readline) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; no tests implemented + #:phases + ;; this is known workaround for missing lang files + (alist-cons-after 'build 'build-lang + (lambda _ (zero? (system* "make" "lang"))) + %standard-phases))) + (home-page "http://sdcv.sourceforge.net/") + (synopsis "Command line variant of StarDict") + (description + "Sdcv is command line dictionary utility, which supports StarDict dictinary +format.") + (license license:gpl2+))) From a0db8b4dcc8206f45cb80791817cf59f93b2e6a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Tue, 17 Mar 2015 16:32:03 +0100 Subject: [PATCH 314/359] gnu: agg: reverting commit d2c89faa8876dbcafcd213a0050f286377cec056 commit was still missing gnu-system.am sections and added patches --- gnu/packages/graphics.scm | 55 +-------------------------------------- 1 file changed, 1 insertion(+), 54 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index c6ccc34a58..1ee4d7e177 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -23,16 +23,10 @@ #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) - #:use-module (gnu packages bash) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages autotools) #:use-module (gnu packages compression) - #:use-module (gnu packages fontutils) #:use-module (gnu packages multiprecision) - #:use-module (gnu packages boost) - #:use-module (gnu packages xorg) - #:use-module (gnu packages sdl) -) + #:use-module (gnu packages boost)) (define-public cgal (package @@ -158,50 +152,3 @@ output.") ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file ;; and headers use different wording. (license (license:non-copyleft "file://LICENSE")))) - -(define-public agg - (package - (name "agg") - (version "2.5") - (source (origin - (method url-fetch) - (uri (string-append "http://www.antigrain.com/agg-" - version ".tar.gz")) - (sha256 - (base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb")) - (patches (list (search-patch "am_c_prototype.patch") - (search-patch - "antigrain-geometry-no_rpath.patch"))))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags - (list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11") - "/include") - (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11") - "/lib")) - #:phases - (alist-cons-after - 'unpack 'autoreconf - (lambda _ - ;; let's call configure from configure phase and not now - (substitute* "autogen.sh" (("./configure") "# ./configure")) - (zero? (system* "sh" "autogen.sh"))) - %standard-phases))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("libtool" ,libtool) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("bash" ,bash))) - (inputs - `(("libx11" ,libx11) - ("freetype" ,freetype) - ("sdl" ,sdl))) - - (home-page "http://antigrain.com") - (synopsis "High-quality 2D graphics rendering engine for C++") - (description - "Anti-Grain Geometry is a high quality rendering engine written in C++. -It supports sub-pixel resolutions and anti-aliasing. It is also library for -rendering SVG graphics.") - (license license:gpl2+))) From fdbb9ded00c84582ee2429cc720a876c5aebf767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 18:12:47 +0100 Subject: [PATCH 315/359] licenses: Add the Ms-PL. * guix/licenses.scm (ms-pl): New variable. --- guix/licenses.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/licenses.scm b/guix/licenses.scm index dfc8c6a031..1be35001ff 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -44,6 +44,7 @@ ipa lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ mpl1.1 mpl2.0 + ms-pl ncsa openldap2.8 openssl psfl public-domain @@ -270,6 +271,11 @@ at URI, which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:MPLv2.0" "https://www.gnu.org/licenses/license-list#MPL-2.0")) +(define ms-pl + (license "Ms-PL" ;Microsoft Public License + "http://directory.fsf.org/wiki/License:MsPL" + "http://www.gnu.org/licenses/license-list.html#ms-pl")) + (define ncsa (license "NCSA/University of Illinois Open Source License" "http://directory.fsf.org/wiki/License:IllinoisNCSA" From a29bfc28f0cba425d060d5b36363eb6e723c60c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 18:14:30 +0100 Subject: [PATCH 316/359] gnu: Add BRDF Explorer. * gnu/packages/graphics.scm (brdf-explorer): New variable. --- gnu/packages/graphics.scm | 67 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 1ee4d7e177..a5c845a471 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -18,6 +18,7 @@ (define-module (gnu packages graphics) #:use-module (guix download) + #:use-module (guix svn-download) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -26,7 +27,9 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages multiprecision) - #:use-module (gnu packages boost)) + #:use-module (gnu packages boost) + #:use-module (gnu packages gl) + #:use-module (gnu packages qt)) (define-public cgal (package @@ -152,3 +155,65 @@ output.") ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file ;; and headers use different wording. (license (license:non-copyleft "file://LICENSE")))) + +(define-public brdf-explorer + (package + (name "brdf-explorer") + (version "17") ;svn revision + (source (origin + ;; There are no release tarballs, and not even tags in the repo, + ;; so use the latest revision. + (method svn-fetch) + (uri (svn-reference + (url "http://github.com/wdas/brdf") + (revision (string->number version)))) + (sha256 + (base32 + "1458fwsqxramh0gpnp24x7brfpl9afhvr1wqg6c78xqwf32960m5")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (chdir "trunk") + (zero? (system* "qmake" + (string-append + "prefix=" out)))))) + (add-after install wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (data (string-append + out "/share/brdf"))) + (with-directory-excursion bin + (rename-file "brdf" ".brdf-real") + (call-with-output-file "brdf" + (lambda (port) + (format port "#!/bin/sh +# Run the thing from its home, otherwise it just bails out. +cd \"~a\" +exec -a \"$0\" ~a/.brdf-real~%" + data bin))) + (chmod "brdf" #o555)))))))) + (native-inputs + `(("qt" ,qt-4))) ;for 'qmake' + (inputs + `(("qt" ,qt-4) + ("mesa" ,mesa) + ("glew" ,glew) + ("freeglut" ,freeglut) + ("zlib" ,zlib))) + (home-page "http://www.disneyanimation.com/technology/brdf.html") + (synopsis + "Analyze bidirectional reflectance distribution functions (BRDFs)") + (description + "BRDF Explorer is an application that allows the development and analysis +of bidirectional reflectance distribution functions (BRDFs). It can load and +plot analytic BRDF functions (coded as functions in OpenGL's GLSL shader +language), measured material data from the MERL database, and anisotropic +measured material data from MIT CSAIL. Graphs and visualizations update in +real time as parameters are changed, making it a useful tool for evaluating +and understanding different BRDFs (and other component functions).") + (license license:ms-pl))) From 1846b423e29571a20733999b14b59511ab367469 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:09:56 -0500 Subject: [PATCH 317/359] gnu: Add Config-General. * gnu/packages/perl.scm (perl-config-general): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fdb1c823f2..e1eb0887bc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -682,6 +682,30 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.") opportunities to Perl developers as GNU Autoconf does for Shell developers.") (license (package-license perl)))) +(define-public perl-config-general + (package + (name "perl-config-general") + (version "2.56") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/T/TL/TLINDEN/" + "Config-General-" version ".tar.gz")) + (sha256 + (base32 + "0szxxaihz71pr0r2jp9wvbrfc3hrsxi9xrd9vnyrxlrax8sci5h9")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Config-General") + (synopsis "Generic Config Module") + (description "This module opens a config file and parses its contents for +you. The format of config files supported by Config::General is inspired by +the well known Apache config format and is 100% compatible with Apache +configs, but you can also just use simple name/value pairs in your config +files. In addition to the capabilities of an Apache config file it supports +some enhancements such as here-documents, C-style comments, and multiline +options.") + (license (package-license perl)))) + (define-public perl-context-preserve (package (name "perl-context-preserve") From e61fd0f04839004347e5d61efc0baa1eb1b450b6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:11:26 -0500 Subject: [PATCH 318/359] gnu: Add DBIx-Class-IntrospectableM2M. * gnu/packages/databases.scm (perl-dbix-class-introspectablem2m): New variable. --- gnu/packages/databases.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index da51c81b96..a89830aa3b 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -357,6 +358,31 @@ single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\", \"ORDER BY\" and \"HAVING\" support.") (license (package-license perl)))) +(define-public perl-dbix-class-introspectablem2m + (package + (name "perl-dbix-class-introspectablem2m") + (version "0.001001") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GR/GRODITI/" + "DBIx-Class-IntrospectableM2M-" version ".tar.gz")) + (sha256 + (base32 + "0p9zx1yc1f6jg583l206wilsni2v8mlngc2vf2q8yn10pmy4y6wm")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-dbix-class" ,perl-dbix-class))) + (home-page "http://search.cpan.org/dist/DBIx-Class-IntrospectableM2M") + (synopsis "Introspect many-to-many relationships") + (description "Because the many-to-many relationships are not real +relationships, they can not be introspected with DBIx::Class. Many-to-many +relationships are actually just a collection of convenience methods installed +to bridge two relationships. This DBIx::Class component can be used to store +all relevant information about these non-relationships so they can later be +introspected and examined.") + (license (package-license perl)))) + (define-public perl-dbd-sqlite (package (name "perl-dbd-sqlite") From c7a47f5e32bb46f20609cdd47864ff74d6e531ed Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:26:12 -0500 Subject: [PATCH 319/359] gnu: Add MooseX-MarkAsMethods. * gnu/packages/perl.scm (perl-moosex-markasmethods): New variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e1eb0887bc..9aa2470565 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1940,6 +1940,32 @@ private methods are not.") for creating objects using parameters passed in from the command line.") (license (package-license perl)))) +(define-public perl-moosex-markasmethods + (package + (name "perl-moosex-markasmethods") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSRCHBOY/" + "MooseX-MarkAsMethods-" version ".tar.gz")) + (sha256 + (base32 + "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69")))) + (build-system perl-build-system) + (inputs + `(("perl-moose" ,perl-moose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean))) + (home-page "http://search.cpan.org/dist/MooseX-MarkAsMethods") + (synopsis "Mark overload code symbols as methods") + (description "MooseX::MarkAsMethods allows one to easily mark certain +functions as Moose methods. This will allow other packages such as +namespace::autoclean to operate without blowing away your overloads. After +using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as +being methods, and class extension as well as composition from roles with +overloads will \"just work\".") + (license lgpl2.1))) + (define-public perl-moosex-methodattributes (package (name "perl-moosex-methodattributes") From 26d427a5c135d95e3ada69dfc64a9cd5e5a04993 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:33:37 -0500 Subject: [PATCH 320/359] gnu: Add MooseX-NonMoose. * gnu/packages/perl.scm (perl-moosex-nonmoose): New variable. --- gnu/packages/perl.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9aa2470565..a6a21ec311 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1993,6 +1993,36 @@ overloads will \"just work\".") introspected using Moose meta method objects.") (license (package-license perl)))) +(define-public perl-moosex-nonmoose +(package + (name "perl-moosex-nonmoose") + (version "0.26") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" + "MooseX-NonMoose-" version ".tar.gz")) + (sha256 + (base32 + "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb")))) + (build-system perl-build-system) + (native-inputs + `(("perl-moose" ,perl-moose) + ("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-list-moreutils" ,perl-list-moreutils) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-moose" ,perl-moose) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/MooseX-NonMoose") + (synopsis "Subclassing of non-Moose classes") + (description "MooseX::NonMoose allows for easily subclassing non-Moose +classes with Moose, taking care of the details connected with doing this, such +as setting up proper inheritance from Moose::Object and installing (and +inlining, at make_immutable time) a constructor that makes sure things like +BUILD methods are called. It tries to be as non-intrusive as possible.") + (license (package-license perl)))) + (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") From 88884196f56b885d79c78bc9e9cd2fb51b17a681 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:42:15 -0500 Subject: [PATCH 321/359] gnu: Add Test-Pod. * gnu/packages/perl.scm (perl-test-pod): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a6a21ec311..de83f5d271 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3056,6 +3056,25 @@ as flexible as possible to the tester.") "Test-Output-" version)) (license (package-license perl)))) +(define-public perl-test-pod + (package + (name "perl-test-pod") + (version "1.48") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/" + "Test-Pod-" version ".tar.gz")) + (sha256 + (base32 + "1hmwwhabyng4jrnll926b4ab73r40w3pfchlrvs0yx6kh6kwwy14")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-Pod") + (synopsis "Check for POD errors in files") + (description "Check POD files for errors or warnings in a test file, using +Pod::Simple to do the heavy lifting.") + (license (package-license perl)))) + (define-public perl-test-requires (package (name "perl-test-requires") From 8ac8f1e0c9b9a4fa5db141ac8b9ae847fe2a3508 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 22:49:01 -0500 Subject: [PATCH 322/359] gnu: Add Class-Unload. * gnu/packages/perl.scm (perl-class-unload): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index de83f5d271..8100aaa7e8 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -578,6 +578,27 @@ method.") uses no non-core modules for any recent Perl.") (license asl2.0))) +(define-public perl-class-unload + (package + (name "perl-class-unload") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" + "Class-Unload-" version ".tar.gz")) + (sha256 + (base32 + "097gr3r2jgnm1175m4lpg4a97hv2mxrn9r0b2c6bn1x9xdhkywgh")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-class-inspector" ,perl-class-inspector))) + (home-page "http://search.cpan.org/dist/Class-Unload") + (synopsis "Unload a class") + (description "Class:Unload unloads a given class by clearing out its +symbol table and removing it from %INC.") + (license (package-license perl)))) + (define-public perl-class-xsaccessor (package (name "perl-class-xsaccessor") From fc436dbaea68ef727ec7bdba80e4bae4fcfe27b5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:07:55 -0500 Subject: [PATCH 323/359] gnu: Add Lingua-EN-Words2Nums. * gnu/packages/language.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/language.scm | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 gnu/packages/language.scm diff --git a/gnu-system.am b/gnu-system.am index c03efbca86..614e4cad18 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -158,6 +158,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/jrnl.scm \ gnu/packages/kde.scm \ gnu/packages/key-mon.scm \ + gnu/packages/language.scm \ gnu/packages/ld-wrapper.scm \ gnu/packages/less.scm \ gnu/packages/lesstif.scm \ diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm new file mode 100644 index 0000000000..fbf27f0e71 --- /dev/null +++ b/gnu/packages/language.scm @@ -0,0 +1,43 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages language) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (guix packages) + #:use-module (guix build-system perl) + #:use-module (guix download)) + +(define-public perl-lingua-en-words2nums + (package + (name "perl-lingua-en-words2nums") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JO/JOEY/" + "Lingua-EN-Words2Nums-" version ".tar.gz")) + (sha256 + (base32 + "118xx8qr1zbx30psv7ic55w65h15mc1vz6zicshfm96jgiwmcrb8")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-EN-Words2Nums") + (synopsis "Convert English text to numbers") + (description "This module converts English text into numbers. It supports +both ordinal and cardinal numbers, negative numbers, and very large numbers.") + (license (package-license perl)))) From 0c32bf01172118967d8a7a349313c4b4b06c0012 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:09:22 -0500 Subject: [PATCH 324/359] gnu: Add Lingua-EN-FindNumber. * gnu/packages/language.scm (perl-lingua-en-findnumber): New variable. --- gnu/packages/language.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index fbf27f0e71..24e7fa447c 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -23,6 +23,28 @@ #:use-module (guix build-system perl) #:use-module (guix download)) +(define-public perl-lingua-en-findnumber + (package + (name "perl-lingua-en-findnumber") + (version "1.30") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" + "Lingua-EN-FindNumber-" version ".tar.gz")) + (sha256 + (base32 + "0g5h6bwwggizwh3dd3xyx92537s4qy8nspshp1lrm9qlxh3prc28")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-lingua-en-words2nums" ,perl-lingua-en-words2nums))) + (home-page "http://search.cpan.org/dist/Lingua-EN-FindNumber") + (synopsis "Locate (written) numbers in English text ") + (description "This module provides a regular expression for finding +numbers in English text. It also provides functions for extracting and +manipulating such numbers.") + (license (package-license perl)))) + (define-public perl-lingua-en-words2nums (package (name "perl-lingua-en-words2nums") From 57ff0e04f18a253604a65d1e20128de2dff1dddd Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:13:17 -0500 Subject: [PATCH 325/359] gnu: Add Lingua-EN-Inflect. * gnu/packages/language.scm (perl-lingua-en-inflect): New variable. --- gnu/packages/language.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 24e7fa447c..c02771d12a 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -45,6 +45,28 @@ numbers in English text. It also provides functions for extracting and manipulating such numbers.") (license (package-license perl)))) +(define-public perl-lingua-en-inflect + (package + (name "perl-lingua-en-inflect") + (version "1.895") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/" + "Lingua-EN-Inflect-" version ".tar.gz")) + (sha256 + (base32 + "0drzg9a2dkjxgf00n6jg0jzhd8972bh3j4wdnmdxpqi3zmfqhwcy")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect") + (synopsis "Convert singular to plural") + (description "Lingua::EN::Inflect provides plural inflections, +\"a\"/\"an\" selection for English words, and manipulation of numbers as +words. Plural forms of all nouns, most verbs, and some adjectives are +provided. Where appropriate, \"classical\" variants (for example: \"brother\" +-> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.") + (license (package-license perl)))) + (define-public perl-lingua-en-words2nums (package (name "perl-lingua-en-words2nums") From 4812a813a272261385d34d432cd1f2c46d403704 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:18:23 -0500 Subject: [PATCH 326/359] gnu: Add Lingua-EN-Inflect-Number. * gnu/packages/language.scm (perl-lingua-en-inflect-number): New variable. --- gnu/packages/language.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index c02771d12a..2fdffa0b72 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -67,6 +67,28 @@ provided. Where appropriate, \"classical\" variants (for example: \"brother\" -> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.") (license (package-license perl)))) +(define-public perl-lingua-en-inflect-number + (package + (name "perl-lingua-en-inflect-number") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" + "Lingua-EN-Inflect-Number-" version ".tar.gz")) + (sha256 + (base32 + "0rvgrff96ja7fqr79dszmiyv2wz4izw82znah0mx9szkir657gfz")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-lingua-en-inflect" ,perl-lingua-en-inflect))) + (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Number") + (synopsis "Force number of words to singular or plural") + (description "This module extends the functionality of Lingua::EN::Inflect +with three new functions for determining plurality of a word and forcefully +converting a word to singular or plural.") + (license (package-license perl)))) + (define-public perl-lingua-en-words2nums (package (name "perl-lingua-en-words2nums") From 930768b3e45ac66b2e868fe413ca2e35634c26ee Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:21:22 -0500 Subject: [PATCH 327/359] gnu: Add Lingua-EN-Number-IsOrdinal. * gnu/packages/language.scm (perl-lingua-en-number-isordinal): New variable. --- gnu/packages/language.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 2fdffa0b72..f08c5e8f62 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -89,6 +89,30 @@ with three new functions for determining plurality of a word and forcefully converting a word to singular or plural.") (license (package-license perl)))) +(define-public perl-lingua-en-number-isordinal + (package + (name "perl-lingua-en-number-isordinal") + (version "0.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/" + "Lingua-EN-Number-IsOrdinal-" version ".tar.gz")) + (sha256 + (base32 + "1321fm4pyqcamffd0qsjm1gb07ijqndlb29qkcqf22kaibngfm4i")))) + (build-system perl-build-system) + (native-inputs + `(("perl-try-tiny" ,perl-try-tiny) + ("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber))) + (home-page "http://search.cpan.org/dist/Lingua-EN-Number-IsOrdinal") + (synopsis "Detect if English number is ordinal or cardinal") + (description "This module will tell you if a number, either in words or as +digits, is a cardinal or ordinal number.") + (license (package-license perl)))) + (define-public perl-lingua-en-words2nums (package (name "perl-lingua-en-words2nums") From f8f744a8d1910cddf3b93c5824da8a4d29deab79 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:32:36 -0500 Subject: [PATCH 328/359] gnu: Add Memoize-ExpireLRU. * gnu/packages/perl.scm (perl-memoize-expirelru): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8100aaa7e8..d28b753a3d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1669,6 +1669,26 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") functionality on lists which is not going to go into List::Util.") (license (package-license perl)))) +(define-public perl-memoize-expirelru + (package + (name "perl-memoize-expirelru") + (version "0.55") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BP/BPOWERS/" + "Memoize-ExpireLRU-" version ".tar.gz")) + (sha256 + (base32 + "0klk0vj78lr259mnv1rbxib8gzf2cfp4zhkhbcxyhadkkl73myvj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Memoize-ExpireLRU") + (synopsis "Expiry plug-in for Memoize that adds LRU cache expiration") + (description "This module implements an expiry policy for Memoize that +follows LRU semantics, that is, the last n results, where n is specified as +the argument to the CACHESIZE parameter, will be cached.") + (license (package-license perl)))) + (define-public perl-module-build-tiny (package (name "perl-module-build-tiny") From 9b446711e75aaf8e58a5f7f7536006590e91ace5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:33:44 -0500 Subject: [PATCH 329/359] gnu: Add Lingua-PT-Stemmer. * gnu/packages/language.scm (perl-lingua-pt-stemmer): New variable. --- gnu/packages/language.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index f08c5e8f62..be85b798b2 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -131,3 +131,23 @@ digits, is a cardinal or ordinal number.") (description "This module converts English text into numbers. It supports both ordinal and cardinal numbers, negative numbers, and very large numbers.") (license (package-license perl)))) + +(define-public perl-lingua-pt-stemmer + (package + (name "perl-lingua-pt-stemmer") + (version "0.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/X/XE/XERN/" + "Lingua-PT-Stemmer-" version ".tar.gz")) + (sha256 + (base32 + "11rqc5pqnkl9c13vy7sihiyas14ci0pj3k6chrgrgjv5sjv2m4a5")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-PT-Stemmer") + (synopsis "Portuguese language stemming") + (description "This module implements a Portuguese stemming algorithm +proposed in the paper A Stemming Algorithm for the Portuguese Language by +Moreira, V. and Huyck, C.") + (license (package-license perl)))) From df11e05241497e1e9e97178aaa93b9833acb2d65 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Mar 2015 23:37:59 -0500 Subject: [PATCH 330/359] gnu: Add Lingua-Stem-Fr. * gnu/packages/language.scm (perl-lingua-stem-fr): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index be85b798b2..2886fed966 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -151,3 +151,22 @@ both ordinal and cardinal numbers, negative numbers, and very large numbers.") proposed in the paper A Stemming Algorithm for the Portuguese Language by Moreira, V. and Huyck, C.") (license (package-license perl)))) + +(define-public perl-lingua-stem-fr + (package + (name "perl-lingua-stem-fr") + (version "0.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SD/SDP/" + "Lingua-Stem-Fr-" version ".tar.gz")) + (sha256 + (base32 + "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-Stem-Fr") + (synopsis "Porter's stemming algorithm for French") + (description "This module uses a modified version of the Porter Stemming +Algorithm to return a stemmed French word.") + (license (package-license perl)))) From 6afe59593b29c21fbd1e80ed589edad2b05bf828 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 09:04:24 -0500 Subject: [PATCH 331/359] gnu: Add Lingua-Stem-It. * gnu/packages/language.scm (perl-lingua-stem-it): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 2886fed966..ad222c785b 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -170,3 +170,22 @@ Moreira, V. and Huyck, C.") (description "This module uses a modified version of the Porter Stemming Algorithm to return a stemmed French word.") (license (package-license perl)))) + +(define-public perl-lingua-stem-it + (package + (name "perl-lingua-stem-it") + (version "0.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AC/ACALPINI/" + "Lingua-Stem-It-" version ".tar.gz")) + (sha256 + (base32 + "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-Stem-It") + (synopsis "Porter's stemming algorithm for Italian") + (description "This module applies the Porter Stemming Algorithm to its +parameters, returning the stemmed Italian word.") + (license (package-license perl)))) From 95d2eec1a8b6d8a5803a6911bec5d9f38951337b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 09:59:28 -0500 Subject: [PATCH 332/359] gnu: Add Lingua-Stem-Ru. * gnu/packages/language.scm (perl-lingua-stem-ru): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index ad222c785b..ae972f961f 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -189,3 +189,22 @@ Algorithm to return a stemmed French word.") (description "This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed Italian word.") (license (package-license perl)))) + +(define-public perl-lingua-stem-ru + (package + (name "perl-lingua-stem-ru") + (version "0.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AL/ALGDR/" + "Lingua-Stem-Ru-" version ".tar.gz")) + (sha256 + (base32 + "0pqgg442fkf12ayh9fgmpa8q9x0iqx6s96181r52yn7s7pcs61h6")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-Stem-Ru") + (synopsis "Porter's stemming algorithm for Russian") + (description "This module applies the Porter Stemming Algorithm to its +parameters, returning the stemmed Russian (KOI8-R only) word.") + (license (package-license perl)))) From 30c400446c9f1e57582faf1d469afe0af2614511 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 10:11:27 -0500 Subject: [PATCH 333/359] gnu: Add Lingua-Stem-Snowball-Da. * gnu/packages/language.scm (perl-lingua-stem-snowball-da): New variable. --- gnu/packages/language.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index ae972f961f..69c41c0a31 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -21,6 +21,7 @@ #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix build-system perl) + #:use-module ((guix licenses) #:select (gpl2)) #:use-module (guix download)) (define-public perl-lingua-en-findnumber @@ -208,3 +209,23 @@ parameters, returning the stemmed Italian word.") (description "This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed Russian (KOI8-R only) word.") (license (package-license perl)))) + +(define-public perl-lingua-stem-snowball-da + (package + (name "perl-lingua-stem-snowball-da") + (version "1.01") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CI/CINE/" + "Lingua-Stem-Snowball-Da-" version ".tar.gz")) + (sha256 + (base32 + "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Lingua-Stem-Snowball-Da") + (synopsis "Porters stemming algorithm for Danish") + (description "Lingua::Stem::Snowball::Da is a perl port of the danish +stemmer at http://snowball.sourceforge.net, it was originally altered from the +Lingua::Stem::Snowball::Se.") + (license gpl2))) From 1064abdc4204dde473dce7bd8f5b3ca8756e72f9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 10:19:36 -0500 Subject: [PATCH 334/359] gnu: Add Snowball-Norwegian. * gnu/packages/language.scm (perl-snowball-norwegian): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 69c41c0a31..efc96d8830 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -229,3 +229,22 @@ parameters, returning the stemmed Russian (KOI8-R only) word.") stemmer at http://snowball.sourceforge.net, it was originally altered from the Lingua::Stem::Snowball::Se.") (license gpl2))) + +(define-public perl-snowball-norwegian + (package + (name "perl-snowball-norwegian") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/" + "Snowball-Norwegian-" version ".tar.gz")) + (sha256 + (base32 + "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Snowball-Norwegian") + (synopsis "Porters stemming algorithm for Norwegian") + (description "Lingua::Stem::Snowball::No is a perl port of the norwegian +stemmer at http://snowball.tartarus.org.") + (license (package-license perl)))) From 1f4b1129dcc834e98b5cb853108115da4b7fcf56 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 10:27:05 -0500 Subject: [PATCH 335/359] gnu: Add Snowball-Swedish. * gnu/packages/language.scm (perl-snowball-swedish): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index efc96d8830..07b16bc87e 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -248,3 +248,22 @@ Lingua::Stem::Snowball::Se.") (description "Lingua::Stem::Snowball::No is a perl port of the norwegian stemmer at http://snowball.tartarus.org.") (license (package-license perl)))) + +(define-public perl-snowball-swedish + (package + (name "perl-snowball-swedish") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/" + "Snowball-Swedish-" version ".tar.gz")) + (sha256 + (base32 + "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Snowball-Swedish") + (synopsis "Porters stemming algorithm for Swedish") + (description "Lingua::Stem::Snowball::Se is a perl port of the swedish +stemmer at http://snowball.sourceforge.net.") + (license (package-license perl)))) From 2b83abae5397ddb8f790e9113207e32eb06150e2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 10:31:00 -0500 Subject: [PATCH 336/359] gnu: Add Text-German. * gnu/packages/language.scm (perl-text-german): New variable. --- gnu/packages/language.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 07b16bc87e..b30dabc3a3 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -267,3 +267,22 @@ stemmer at http://snowball.tartarus.org.") (description "Lingua::Stem::Snowball::Se is a perl port of the swedish stemmer at http://snowball.sourceforge.net.") (license (package-license perl)))) + +(define-public perl-text-german + (package + (name "perl-text-german") + (version "0.06") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/U/UL/ULPFR/" + "Text-German-" version ".tar.gz")) + (sha256 + (base32 + "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-German") + (synopsis "German grundform reduction") + (description "This module is a rather incomplete implementaion of work +done by Gudrun Putze-Meier.") + (license (package-license perl)))) From 9766e4fef1745d46a0b0eb6bcf35b6f3653d09f2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 10:34:35 -0500 Subject: [PATCH 337/359] gnu: Add Lingua-Stem. * gnu/packages/language.scm (perl-lingua-stem): New variable. --- gnu/packages/language.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index b30dabc3a3..fff651ba2e 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -153,6 +153,34 @@ proposed in the paper A Stemming Algorithm for the Portuguese Language by Moreira, V. and Huyck, C.") (license (package-license perl)))) +(define-public perl-lingua-stem + (package + (name "perl-lingua-stem") + (version "0.84") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SN/SNOWHARE/" + "Lingua-Stem-" version ".tar.gz")) + (sha256 + (base32 + "12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-lingua-pt-stemmer" ,perl-lingua-pt-stemmer) + ("perl-lingua-stem-fr" ,perl-lingua-stem-fr) + ("perl-lingua-stem-it" ,perl-lingua-stem-it) + ("perl-lingua-stem-ru" ,perl-lingua-stem-ru) + ("perl-lingua-stem-snowball-da" ,perl-lingua-stem-snowball-da) + ("perl-snowball-norwegian" ,perl-snowball-norwegian) + ("perl-snowball-swedish" ,perl-snowball-swedish) + ("perl-text-german" ,perl-text-german))) + (home-page "http://search.cpan.org/dist/Lingua-Stem") + (synopsis "Stemming of words in various languages") + (description "This routine applies stemming algorithms to its parameters, +returning the stemmed words as appropriate to the selected locale.") + (license (package-license perl)))) + (define-public perl-lingua-stem-fr (package (name "perl-lingua-stem-fr") From d7de088395e10ec0f35584afd50bc63b3a6d18c6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 11:03:31 -0500 Subject: [PATCH 338/359] gnu: Add Lingua-EN-Tagger. * gnu/packages/language.scm (perl-lingua-en-tagger): New variable. --- gnu/packages/language.scm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index fff651ba2e..2c080cc602 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -19,9 +19,10 @@ (define-module (gnu packages language) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages web) #:use-module (guix packages) #:use-module (guix build-system perl) - #:use-module ((guix licenses) #:select (gpl2)) + #:use-module ((guix licenses) #:select (gpl2 gpl3)) #:use-module (guix download)) (define-public perl-lingua-en-findnumber @@ -114,6 +115,36 @@ converting a word to singular or plural.") digits, is a cardinal or ordinal number.") (license (package-license perl)))) +(define-public perl-lingua-en-tagger + (package + (name "perl-lingua-en-tagger") + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AC/ACOBURN/" + "Lingua-EN-Tagger-" version ".tar.gz")) + (sha256 + (base32 + "0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-memoize-expirelru" ,perl-memoize-expirelru) + ("perl-lingua-stem" ,perl-lingua-stem) + ("perl-html-parser" ,perl-html-parser) + ("perl-html-tagset" ,perl-html-tagset))) + (home-page "http://search.cpan.org/dist/Lingua-EN-Tagger") + (synopsis "Part-of-speech tagger for English natural language processing") + (description "This module is a probability based, corpus-trained tagger +that assigns part-of-speech tags to English text based on a lookup dictionary +and a set of probability values. The tagger assigns appropriate tags based on +conditional probabilities - it examines the preceding tag to determine the +appropriate tag for the current word. Unknown words are classified according +to word morphology or can be set to be treated as nouns or other parts of +speech. The tagger also extracts as many nouns and noun phrases as it can, +using a set of regular expressions.") + (license gpl3))) + (define-public perl-lingua-en-words2nums (package (name "perl-lingua-en-words2nums") From cfed969c730d127b2bb51d2c4283e2395685ac6a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 11:12:30 -0500 Subject: [PATCH 339/359] gnu: Add Lingua-EN-Inflect-Phrase. * gnu/packages/language.scm (perl-lingua-en-inflect-phrase): New variable. --- gnu/packages/language.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 2c080cc602..14958bdfbd 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -91,6 +91,33 @@ with three new functions for determining plurality of a word and forcefully converting a word to singular or plural.") (license (package-license perl)))) +(define-public perl-lingua-en-inflect-phrase + (package + (name "perl-lingua-en-inflect-phrase") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/" + "Lingua-EN-Inflect-Phrase-" version ".tar.gz")) + (sha256 + (base32 + "19prg6pkgnznrc82ymdkdi3l9schg815axjig7adca5yqa7mn2i9")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-nowarnings" ,perl-test-nowarnings))) + (propagated-inputs + `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber) + ("perl-lingua-en-inflect" ,perl-lingua-en-inflect) + ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number) + ("perl-lingua-en-number-isordinal" ,perl-lingua-en-number-isordinal) + ("perl-lingua-en-tagger" ,perl-lingua-en-tagger))) + (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Phrase") + (synopsis "Inflect short English phrases") + (description "This module attempts to pluralize or singularize short +English phrases.") + (license (package-license perl)))) + (define-public perl-lingua-en-number-isordinal (package (name "perl-lingua-en-number-isordinal") From 06f5001a5ad5d16bc52e2cbf0b929462555cb1c1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 11:39:50 -0500 Subject: [PATCH 340/359] gnu: Add String-CamelCase. * gnu/packages/perl.scm (perl-string-camelcase): New variable. --- gnu/packages/perl.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d28b753a3d..4bc7a2ace0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2624,6 +2624,25 @@ on the length of the size.") run from within a source-controlled directory.") (license (package-license perl)))) +(define-public perl-string-camelcase + (package + (name "perl-string-camelcase") + (version "0.02") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HI/HIO/" + "String-CamelCase-" version ".tar.gz")) + (sha256 + (base32 + "17kh8nap2z5g5rqcvw0m7mvbai7wr7h0al39w8l827zhqad8ss42")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/String-CamelCase") + (synopsis "Camelcase and de-camelcase") + (description "This module may be used to convert from under_score text to +CamelCase and back again.") + (license (package-license perl)))) + (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") From ad0a50e3adc39a7f36b4d123f16654e6d8a5f9eb Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 11:48:07 -0500 Subject: [PATCH 341/359] gnu: Add Text-Unidecode. * gnu/packages/perl.scm (perl-text-unidecode): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4bc7a2ace0..0b3666107e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3433,6 +3433,29 @@ you want to do full file globbing use the File::Glob module instead.") (description "Text::SimpleTable draws simple ASCII tables.") (license artistic2.0))) +(define-public perl-text-unidecode + (package + (name "perl-text-unidecode") + (version "1.23") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SB/SBURKE/" + "Text-Unidecode-" version ".tar.gz")) + (sha256 + (base32 + "1mnnq57amh0bs6z2ggkmgnn4hz8mqc9lfhr66xv2bsnlvhg7c7fb")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Text-Unidecode") + (synopsis "Provide plain ASCII transliterations of Unicode text") + (description "Text::Unidecode provides a function, unidecode(...) that +takes Unicode data and tries to represent it in US-ASCII characters (i.e., the +universally displayable characters between 0x00 and 0x7F). The representation +is almost always an attempt at transliteration-- i.e., conveying, in Roman +letters, the pronunciation expressed by the text in some other writing +system.") + (license (package-license perl)))) + (define-public perl-time-local (package (name "perl-time-local") From f3bbbb7361f91504bc791c2c50721b8ee9f4db5a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 11:51:52 -0500 Subject: [PATCH 342/359] gnu: Add String-ToIdentifier-EN. * gnu/packages/language.scm (perl-string-toidentifier-en): New variable. --- gnu/packages/language.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 14958bdfbd..f2f1fbc162 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -354,6 +354,32 @@ stemmer at http://snowball.tartarus.org.") stemmer at http://snowball.sourceforge.net.") (license (package-license perl)))) +(define-public perl-string-toidentifier-en + (package + (name "perl-string-toidentifier-en") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/" + "String-ToIdentifier-EN-" version ".tar.gz")) + (sha256 + (base32 + "1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase) + ("perl-text-unidecode" ,perl-text-unidecode) + ("perl-namespace-clean" ,perl-namespace-clean))) + (home-page "http://search.cpan.org/dist/String-ToIdentifier-EN") + (synopsis "Convert strings to english program identifiers") + (description "This module provides a utility method, \"to_identifier\" for +converting an arbitrary string into a readable representation using the ASCII +subset of \"\\w\" for use as an identifier in a computer program. The intent +is to make unique identifier names from which the content of the original +string can be easily inferred by a human just by reading the identifier.") + (license (package-license perl)))) + (define-public perl-text-german (package (name "perl-text-german") From 708155dfcb9e6611b6d8bfc8a781835e0ee16af3 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 17 Mar 2015 13:00:07 -0500 Subject: [PATCH 343/359] gnu: Add DBIx-Class-Schema-Loader. * gnu/packages/databases.scm (perl-dbix-class-schema-loader): New variable. --- gnu/packages/databases.scm | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a89830aa3b..bd3d17fdc8 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -24,6 +24,7 @@ (define-module (gnu packages databases) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages language) #:use-module (gnu packages linux) #:use-module (gnu packages openssl) #:use-module (gnu packages compression) @@ -383,6 +384,61 @@ all relevant information about these non-relationships so they can later be introspected and examined.") (license (package-license perl)))) +(define-public perl-dbix-class-schema-loader + (package + (name "perl-dbix-class-schema-loader") + (version "0.07042") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" + "DBIx-Class-Schema-Loader-" version ".tar.gz")) + (sha256 + (base32 + "0sb48as7azmj6s4acxh98wcvcik7lxm7dcjz1c3wdrkrbmbbz0jf")))) + (build-system perl-build-system) + (native-inputs + `(("perl-config-any" ,perl-config-any) + ("perl-config-general" ,perl-config-general) + ("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-dbix-class-introspectablem2m" ,perl-dbix-class-introspectablem2m) + ("perl-moose" ,perl-moose) + ("perl-moosex-markasmethods" ,perl-moosex-markasmethods) + ("perl-moosex-nonmoose" ,perl-moosex-nonmoose) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-differences" ,perl-test-differences) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-warn" ,perl-test-warn))) + (propagated-inputs + `(("perl-class-unload" ,perl-class-unload) + ("perl-class-inspector" ,perl-class-inspector) + ("perl-class-accessor-grouped" ,perl-class-accessor-grouped) + ("perl-class-c3-componentised" ,perl-class-c3-componentised) + ("perl-carp-clan" ,perl-carp-clan) + ("perl-data-dump" ,perl-data-dump) + ("perl-dbix-class" ,perl-dbix-class) + ("perl-hash-merge" ,perl-hash-merge) + ("perl-list-moreutils" ,perl-list-moreutils) + ("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase) + ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number) + ("perl-lingua-en-tagger" ,perl-lingua-en-tagger) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-scope-guard" ,perl-scope-guard) + ("perl-string-camelcase" ,perl-string-camelcase) + ("perl-string-toidentifier-en" ,perl-string-toidentifier-en) + ("perl-sub-name" ,perl-sub-name) + ("perl-try-tiny" ,perl-try-tiny))) + (arguments `(#:tests? #f)) ;TODO: t/20invocations.t fails + (home-page "http://search.cpan.org/dist/DBIx-Class-Schema-Loader") + (synopsis "Create a DBIx::Class::Schema based on a database") + (description "DBIx::Class::Schema::Loader automates the definition of a +DBIx::Class::Schema by scanning database table definitions and setting up the +columns, primary keys, unique constraints and relationships.") + (license (package-license perl)))) + (define-public perl-dbd-sqlite (package (name "perl-dbd-sqlite") From 1f9760339e8d56b72902300c621242022ef1015c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 14 Mar 2015 22:28:39 +0100 Subject: [PATCH 344/359] tests: Add an indirection for white-box testing. * tests/gexp.scm (gexp-inputs, gexp-native-inputs, gexp-outputs, gexp->sexp): Make an indirection, to facilitate live testing with Geiser. --- tests/gexp.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/gexp.scm b/tests/gexp.scm index 783ca2cdbc..ac2842d287 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -40,10 +40,14 @@ (open-connection-for-tests)) ;; For white-box testing. -(define gexp-inputs (@@ (guix gexp) gexp-inputs)) -(define gexp-native-inputs (@@ (guix gexp) gexp-native-inputs)) -(define gexp-outputs (@@ (guix gexp) gexp-outputs)) -(define gexp->sexp (@@ (guix gexp) gexp->sexp)) +(define (gexp-inputs x) + ((@@ (guix gexp) gexp-inputs) x)) +(define (gexp-native-inputs x) + ((@@ (guix gexp) gexp-native-inputs) x)) +(define (gexp-outputs x) + ((@@ (guix gexp) gexp-outputs) x)) +(define (gexp->sexp . x) + (apply (@@ (guix gexp) gexp->sexp) x)) (define* (gexp->sexp* exp #:optional target) (run-with-store %store (gexp->sexp exp From 1e87da58a160d75ba3f5356809a715c04ae31697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 16 Mar 2015 22:31:14 +0100 Subject: [PATCH 345/359] gexp: Rename to . * guix/gexp.scm (): Rename to... (): ... this. Adjust constructor/accessor names and users accordingly. --- guix/gexp.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 1e26342101..67329b74df 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -81,10 +81,10 @@ ;; Reference to one of the derivation's outputs, for gexps used in ;; derivations. -(define-record-type - (output-ref name) - output-ref? - (name output-ref-name)) +(define-record-type + (gexp-output name) + gexp-output? + (name gexp-output-name)) (define raw-derivation (store-lift derivation)) @@ -310,7 +310,7 @@ references." "Return the outputs referred to by EXP as a list of strings." (define (add-reference-output ref result) (match ref - (($ name) + (($ name) (cons name result)) ((? gexp? exp) (append (gexp-outputs exp) result)) @@ -340,7 +340,7 @@ and in the current monad setting (system type, etc.)" (((? origin? o) (? string? output)) (mlet %store-monad ((drv (origin->derivation o))) (return (derivation->output-path drv output)))) - (($ output) + (($ output) ;; Output file names are not known in advance but the daemon defines ;; an environment variable for each of them at build time, so use ;; that trick. @@ -441,9 +441,9 @@ package/derivation references." ungexp-native ungexp-native-splicing output) ((ungexp output) - #'(output-ref "out")) + #'(gexp-output "out")) ((ungexp output name) - #'(output-ref name)) + #'(gexp-output name)) ((ungexp thing) #'thing) ((ungexp drv-or-pkg out) From e39d1461078837a13d50f48eb2b8dff2bdbd9856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 11 Mar 2015 23:20:50 +0100 Subject: [PATCH 346/359] gexp: Add . * guix/gexp.scm (): New record type. (gexp-inputs)[add-reference-inputs]: Adjust clauses to expect objects. (gexp-outputs)[add-reference-output]: Likewise. (gexp->sexp)[reference->sexp]: Likewise. (canonicalize-reference): Remove. (gexp)[escape->ref]: Use 'gexp-input' for all the references. Remove use of 'canonicalize-reference'. --- guix/gexp.scm | 113 ++++++++++++++++++++++++--------------------- tests/profiles.scm | 9 ++++ 2 files changed, 69 insertions(+), 53 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 67329b74df..5be5577595 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -79,6 +79,14 @@ (set-record-type-printer! write-gexp) +;; The input of a gexp. +(define-record-type + (gexp-input thing output native?) + gexp-input? + (thing gexp-input-thing) ; | | | ... + (output gexp-input-output) ;string + (native? gexp-input-native?)) ;Boolean + ;; Reference to one of the derivation's outputs, for gexps used in ;; derivations. (define-record-type @@ -281,20 +289,27 @@ The other arguments are as for 'derivation'." references." (define (add-reference-inputs ref result) (match ref - (((? derivation?) (? string?)) - (cons ref result)) - (((? package?) (? string?)) - (cons ref result)) - (((? origin?) (? string?)) - (cons ref result)) - ((? gexp? exp) + (($ (? derivation? drv) output) + (cons `(,drv ,output) result)) + (($ (? package? pkg) output) + (cons `(,pkg ,output) result)) + (($ (? origin? o)) + (cons `(,o "out") result)) + (($ (? gexp? exp)) (append (gexp-inputs exp references) result)) - (((? string? file)) - (if (direct-store-path? file) - (cons ref result) + (($ (? string? str)) + (if (direct-store-path? str) + (cons `(,str) result) result)) - ((refs ...) - (fold-right add-reference-inputs result refs)) + (($ ((? package? p) (? string? output)) _ native?) + ;; XXX: For now, for backward-compatibility, automatically convert a + ;; pair like this to an gexp-input for OUTPUT of P. + (add-reference-inputs (gexp-input p output native?) result)) + (($ (lst ...) output native?) + (fold-right add-reference-inputs result + ;; XXX: For now, automatically convert LST to a list of + ;; gexp-inputs. + (map (cut gexp-input <> output native?) lst))) (_ ;; Ignore references to other kinds of objects. result))) @@ -312,8 +327,12 @@ references." (match ref (($ name) (cons name result)) - ((? gexp? exp) + (($ (? gexp? exp)) (append (gexp-outputs exp) result)) + (($ (lst ...) output native?) + ;; XXX: Automatically convert LST. + (add-reference-output (map (cut gexp-input <> output native?) lst) + result)) ((lst ...) (fold-right add-reference-output result lst)) (_ @@ -330,14 +349,21 @@ and in the current monad setting (system type, etc.)" (define* (reference->sexp ref #:optional native?) (with-monad %store-monad (match ref - (((? derivation? drv) (? string? output)) + (($ (? derivation? drv) output) (return (derivation->output-path drv output))) - (((? package? p) (? string? output)) + (($ (? package? p) output n?) (package-file p #:output output #:system system - #:target (if native? #f target))) - (((? origin? o) (? string? output)) + #:target (if (or n? native?) #f target))) + (($ ((? package? p) (? string? output)) _ n?) + ;; XXX: For backward compatibility, automatically interpret such a + ;; pair. + (package-file p + #:output output + #:system system + #:target (if (or n? native?) #f target))) + (($ (? origin? o) output) (mlet %store-monad ((drv (origin->derivation o))) (return (derivation->output-path drv output)))) (($ output) @@ -345,15 +371,19 @@ and in the current monad setting (system type, etc.)" ;; an environment variable for each of them at build time, so use ;; that trick. (return `((@ (guile) getenv) ,output))) - ((? gexp? exp) + (($ (? gexp? exp) output n?) (gexp->sexp exp #:system system - #:target (if native? #f target))) - (((? string? str)) - (return (if (direct-store-path? str) str ref))) - ((refs ...) + #:target (if (or n? native?) #f target))) + (($ (refs ...) output n?) (sequence %store-monad - (map (cut reference->sexp <> native?) refs))) + (map (lambda (ref) + ;; XXX: Automatically convert REF to an gexp-input. + (reference->sexp (gexp-input ref "out" + (or n? native?)))) + refs))) + (($ x) + (return x)) (x (return x))))) @@ -364,28 +394,6 @@ and in the current monad setting (system type, etc.)" (gexp-native-references exp)))))) (return (apply (gexp-proc exp) args)))) -(define (canonicalize-reference ref) - "Return a canonical variant of REF, which adds any missing output part in -package/derivation references." - (match ref - ((? package? p) - `(,p "out")) - ((? origin? o) - `(,o "out")) - ((? derivation? d) - `(,d "out")) - (((? package?) (? string?)) - ref) - (((? origin?) (? string?)) - ref) - (((? derivation?) (? string?)) - ref) - ((? string? s) - (if (direct-store-path? s) `(,s) s)) - ((refs ...) - (map canonicalize-reference refs)) - (x x))) - (define (syntax-location-string s) "Return a string representing the source code location of S." (let ((props (syntax-source s))) @@ -445,17 +453,17 @@ package/derivation references." ((ungexp output name) #'(gexp-output name)) ((ungexp thing) - #'thing) + #'(gexp-input thing "out" #f)) ((ungexp drv-or-pkg out) - #'(list drv-or-pkg out)) + #'(gexp-input drv-or-pkg out #f)) ((ungexp-splicing lst) - #'lst) + #'(gexp-input lst "out" #f)) ((ungexp-native thing) - #'thing) + #'(gexp-input thing "out" #t)) ((ungexp-native drv-or-pkg out) - #'(list drv-or-pkg out)) + #'(gexp-input drv-or-pkg out #t)) ((ungexp-native-splicing lst) - #'lst))) + #'(gexp-input lst "out" #t)))) (define (substitute-ungexp exp substs) ;; Given EXP, an 'ungexp' or 'ungexp-native' form, substitute it with @@ -506,8 +514,7 @@ package/derivation references." (sexp (substitute-references #'exp (zip escapes formals))) (refs (map escape->ref normals)) (nrefs (map escape->ref natives))) - #`(make-gexp (map canonicalize-reference (list #,@refs)) - (map canonicalize-reference (list #,@nrefs)) + #`(make-gexp (list #,@refs) (list #,@nrefs) (lambda #,formals #,sexp))))))) diff --git a/tests/profiles.scm b/tests/profiles.scm index 1bac9d94e6..7b942e35b0 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (gnu packages bootstrap) + #:use-module ((gnu packages base) #:prefix packages:) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-11) @@ -191,6 +192,14 @@ (string=? (dirname (readlink bindir)) (derivation->output-path guile)))))) +(test-assertm "profile-derivation, inputs" + (mlet* %store-monad + ((entry -> (package->manifest-entry packages:glibc "debug")) + (drv (profile-derivation (manifest (list entry)) + #:info-dir? #f + #:ca-certificate-bundle? #f))) + (return (derivation-inputs drv)))) + (test-end "profiles") From 0dbea56bbf28cd2671289791a10e419478de714c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 15 Mar 2015 21:45:37 +0100 Subject: [PATCH 347/359] gexp: Export 'gexp-input' constructor. * guix/gexp.scm ()[gexp-input]: Rename to... [%gexp-input]: ... this. Adjust callers accordingly. (gexp-input): New procedure. (gexp-inputs)[add-reference-inputs]: When the input is a list, check whether each item is already 'gexp-input?' and to not rewrap those. (gexp-outputs)[add-reference-output]: Likewise. (gexp->sexp): Likewise. * tests/gexp.scm ("input list splicing + gexp-input + ungexp-native-splicing"): New test. --- guix/gexp.scm | 42 +++++++++++++++++++++++++++++++----------- tests/gexp.scm | 10 ++++++++++ 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 5be5577595..76ce2678fb 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -29,6 +29,10 @@ #:use-module (ice-9 match) #:export (gexp gexp? + + gexp-input + gexp-input? + gexp->derivation gexp->file gexp->script @@ -81,12 +85,19 @@ ;; The input of a gexp. (define-record-type - (gexp-input thing output native?) + (%gexp-input thing output native?) gexp-input? (thing gexp-input-thing) ; | | | ... (output gexp-input-output) ;string (native? gexp-input-native?)) ;Boolean +(define* (gexp-input thing ;convenience procedure + #:optional (output "out") + #:key native?) + "Return a new for the OUTPUT of THING; NATIVE? determines +whether this should be considered a \"native\" input or not." + (%gexp-input thing output native?)) + ;; Reference to one of the derivation's outputs, for gexps used in ;; derivations. (define-record-type @@ -309,7 +320,10 @@ references." (fold-right add-reference-inputs result ;; XXX: For now, automatically convert LST to a list of ;; gexp-inputs. - (map (cut gexp-input <> output native?) lst))) + (map (match-lambda + ((? gexp-input? x) x) + (x (%gexp-input x "out" native?))) + lst))) (_ ;; Ignore references to other kinds of objects. result))) @@ -331,7 +345,10 @@ references." (append (gexp-outputs exp) result)) (($ (lst ...) output native?) ;; XXX: Automatically convert LST. - (add-reference-output (map (cut gexp-input <> output native?) lst) + (add-reference-output (map (match-lambda + ((? gexp-input? x) x) + (x (%gexp-input x "out" native?))) + lst) result)) ((lst ...) (fold-right add-reference-output result lst)) @@ -379,8 +396,11 @@ and in the current monad setting (system type, etc.)" (sequence %store-monad (map (lambda (ref) ;; XXX: Automatically convert REF to an gexp-input. - (reference->sexp (gexp-input ref "out" - (or n? native?)))) + (reference->sexp + (if (gexp-input? ref) + ref + (%gexp-input ref "out" n?)) + native?)) refs))) (($ x) (return x)) @@ -453,17 +473,17 @@ and in the current monad setting (system type, etc.)" ((ungexp output name) #'(gexp-output name)) ((ungexp thing) - #'(gexp-input thing "out" #f)) + #'(%gexp-input thing "out" #f)) ((ungexp drv-or-pkg out) - #'(gexp-input drv-or-pkg out #f)) + #'(%gexp-input drv-or-pkg out #f)) ((ungexp-splicing lst) - #'(gexp-input lst "out" #f)) + #'(%gexp-input lst "out" #f)) ((ungexp-native thing) - #'(gexp-input thing "out" #t)) + #'(%gexp-input thing "out" #t)) ((ungexp-native drv-or-pkg out) - #'(gexp-input drv-or-pkg out #t)) + #'(%gexp-input drv-or-pkg out #t)) ((ungexp-native-splicing lst) - #'(gexp-input lst "out" #t)))) + #'(%gexp-input lst "out" #t)))) (define (substitute-ungexp exp substs) ;; Given EXP, an 'ungexp' or 'ungexp-native' form, substitute it with diff --git a/tests/gexp.scm b/tests/gexp.scm index ac2842d287..1e27407926 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -219,6 +219,16 @@ (equal? (gexp->sexp* exp) ;native (gexp->sexp* exp "mips64el-linux"))))) +(test-assert "input list splicing + gexp-input + ungexp-native-splicing" + (let* ((inputs (list (gexp-input glibc "debug") %bootstrap-guile)) + (exp (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs)))))) + (and (lset= equal? + `((,glibc "debug") (,%bootstrap-guile "out")) + (gexp-native-inputs exp)) + (null? (gexp-inputs exp)) + (equal? (gexp->sexp* exp) ;native + (gexp->sexp* exp "mips64el-linux"))))) + (test-equal "output list" 2 (let ((exp (gexp (begin (mkdir (ungexp output)) From b4a4bec01a8b990dc4108060a645512f9b428aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 15 Mar 2015 21:51:34 +0100 Subject: [PATCH 348/359] profiles: Use 'gexp-input' instead of two-element lists. * guix/profiles.scm (package->manifest-entry): Use 'gexp-input' instead of two-element lists to denote specific package outputs. (manifest-inputs): Likewise. (profile-derivation)[info-dir]: Likewise. --- guix/profiles.scm | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index d62674923f..465aaf9477 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -155,9 +155,9 @@ omitted or #f, use the first output of PACKAGE." (let ((deps (map (match-lambda ((label package) - `(,package "out")) + (gexp-input package)) ((label package output) - `(,package ,output))) + (gexp-input package output))) (package-transitive-propagated-inputs package)))) (manifest-entry (name (package-name package)) @@ -356,22 +356,12 @@ replace it." ;;; (define (manifest-inputs manifest) - "Return the list of inputs for MANIFEST. Each input has one of the -following forms: - - (PACKAGE OUTPUT-NAME) - -or - - STORE-PATH -" + "Return a list of objects for MANIFEST." (append-map (match-lambda - (($ name version - output (? package? package) deps) - `((,package ,output) ,@deps)) - (($ name version output path deps) - ;; Assume PATH and DEPS are already valid. - `(,path ,@deps))) + (($ name version output thing deps) + ;; THING may be a package or a file name. In the latter case, + ;; assume it's already valid. Ditto for DEPS. + (cons (gexp-input thing output) deps))) (manifest-entries manifest))) (define (info-dir-file manifest) @@ -487,16 +477,11 @@ CA-CERTIFICATE-BUNDLE? is #f." (ca-certificate-bundle manifest) (return #f)))) (define inputs - ;; XXX: Here we use tuples of the form (DIR "out") just so that the list - ;; is unambiguous for the gexp code when MANIFEST has a single input - ;; denoted as a string (the pattern (DRV STRING) is normally - ;; interpreted in a gexp as "the STRING output of DRV".). See - ;; . (append (if info-dir - `((,info-dir "out")) + (list (gexp-input info-dir)) '()) (if ca-cert-bundle - `((,ca-cert-bundle "out")) + (list (gexp-input ca-cert-bundle)) '()) (manifest-inputs manifest))) From a482cfdcaee493a0ce796b4cd2059c46fce6d14d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 15 Mar 2015 21:59:19 +0100 Subject: [PATCH 349/359] gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp. * guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove clause for inputs of the form (PACKAGE OUTPUT). (gexp->sexp)[reference->sexp]: Likewise. * tests/gexp.scm ("input list splicing"): Change 'list' to 'gexp-input' for glibc:debug. ("text-file*"): Likewise for %bootstrap-guile:out. ("input list splicing + gexp-input + ungexp-native-splicing"): Remove, now redundant. --- guix/gexp.scm | 11 ----------- tests/gexp.scm | 14 ++------------ 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 76ce2678fb..353c46398a 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -312,10 +312,6 @@ references." (if (direct-store-path? str) (cons `(,str) result) result)) - (($ ((? package? p) (? string? output)) _ native?) - ;; XXX: For now, for backward-compatibility, automatically convert a - ;; pair like this to an gexp-input for OUTPUT of P. - (add-reference-inputs (gexp-input p output native?) result)) (($ (lst ...) output native?) (fold-right add-reference-inputs result ;; XXX: For now, automatically convert LST to a list of @@ -373,13 +369,6 @@ and in the current monad setting (system type, etc.)" #:output output #:system system #:target (if (or n? native?) #f target))) - (($ ((? package? p) (? string? output)) _ n?) - ;; XXX: For backward compatibility, automatically interpret such a - ;; pair. - (package-file p - #:output output - #:system system - #:target (if (or n? native?) #f target))) (($ (? origin? o) output) (mlet %store-monad ((drv (origin->derivation o))) (return (derivation->output-path drv output)))) diff --git a/tests/gexp.scm b/tests/gexp.scm index 1e27407926..4c31e22f15 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -196,7 +196,7 @@ (gexp->sexp* exp target))))) (test-assert "input list splicing" - (let* ((inputs (list (list glibc "debug") %bootstrap-guile)) + (let* ((inputs (list (gexp-input glibc "debug") %bootstrap-guile)) (outputs (list (derivation->output-path (package-derivation %store glibc) "debug") @@ -210,16 +210,6 @@ `(list ,@(cons 5 outputs)))))) (test-assert "input list splicing + ungexp-native-splicing" - (let* ((inputs (list (list glibc "debug") %bootstrap-guile)) - (exp (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs)))))) - (and (lset= equal? - `((,glibc "debug") (,%bootstrap-guile "out")) - (gexp-native-inputs exp)) - (null? (gexp-inputs exp)) - (equal? (gexp->sexp* exp) ;native - (gexp->sexp* exp "mips64el-linux"))))) - -(test-assert "input list splicing + gexp-input + ungexp-native-splicing" (let* ((inputs (list (gexp-input glibc "debug") %bootstrap-guile)) (exp (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs)))))) (and (lset= equal? @@ -553,7 +543,7 @@ (file (text-file "bar" "This is bar.")) (text (text-file* "foo" %bootstrap-guile "/bin/guile " - `(,%bootstrap-guile "out") "/bin/guile " + (gexp-input %bootstrap-guile "out") "/bin/guile " drv "/bin/guile " file)) (done (built-derivations (list text))) From bcb132876370fc2e51ea9ba137b92932e9e956e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 15 Mar 2015 23:27:34 +0100 Subject: [PATCH 350/359] gexp: Separate "compilers" for origins and packages from the core. * guix/gexp.scm (): New record type. (%gexp-compilers): New variable. (register-compiler!, lookup-compiler): New procedures. (define-gexp-compiler): New macro. (origin-compiler, package-compiler): New compilers. (lower-inputs): Remove clauses for 'origin?' and 'package?'. Add clause with 'lookup-compiler' instead. (lower-references): Likewise. (gexp-inputs)[add-reference-inputs]: Likewise. (gexp->sexp)[reference->sexp]: Likewise. --- guix/gexp.scm | 104 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 75 insertions(+), 29 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 353c46398a..119fe42d52 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -83,6 +83,63 @@ (set-record-type-printer! write-gexp) + +;;; +;;; Methods. +;;; + +;; Compiler for a type of objects that may be introduced in a gexp. +(define-record-type + (gexp-compiler predicate lower) + gexp-compiler? + (predicate gexp-compiler-predicate) + (lower gexp-compiler-lower)) + +(define %gexp-compilers + ;; List of . + '()) + +(define (register-compiler! compiler) + "Register COMPILER as a gexp compiler." + (set! %gexp-compilers (cons compiler %gexp-compilers))) + +(define (lookup-compiler object) + "Search a compiler for OBJECT. Upon success, return the three argument +procedure to lower it; otherwise return #f." + (any (match-lambda + (($ predicate lower) + (and (predicate object) lower))) + %gexp-compilers)) + +(define-syntax-rule (define-gexp-compiler (name (param predicate) + system target) + body ...) + "Define NAME as a compiler for objects matching PREDICATE encountered in +gexps. BODY must return a derivation for PARAM, an object that matches +PREDICATE, for SYSTEM and TARGET (the latter of which is #f except when +cross-compiling.)" + (begin + (define name + (gexp-compiler predicate + (lambda (param system target) + body ...))) + (register-compiler! name))) + +(define-gexp-compiler (origin-compiler (origin origin?) system target) + ;; Compiler for origins. + (origin->derivation origin system)) + +(define-gexp-compiler (package-compiler (package package?) system target) + ;; Compiler for packages. + (if target + (package->cross-derivation package target system) + (package->derivation package system))) + + +;;; +;;; Inputs & outputs. +;;; + ;; The input of a gexp. (define-record-type (%gexp-input thing output native?) @@ -116,15 +173,11 @@ the cross-compilation target triplet." (with-monad %store-monad (sequence %store-monad (map (match-lambda - (((? package? package) sub-drv ...) - (mlet %store-monad - ((drv (if target - (package->cross-derivation package target - system) - (package->derivation package system)))) - (return `(,drv ,@sub-drv)))) - (((? origin? origin) sub-drv ...) - (mlet %store-monad ((drv (origin->derivation origin))) + ((and ((? derivation?) sub-drv ...) input) + (return input)) + ((and ((? struct? thing) sub-drv ...) input) + (mlet* %store-monad ((lower -> (lookup-compiler thing)) + (drv (lower thing system target))) (return `(,drv ,@sub-drv)))) (input (return input))) @@ -152,14 +205,9 @@ names and file names suitable for the #:allowed-references argument to (match-lambda ((? string? output) (return output)) - ((? package? package) - (mlet %store-monad ((drv - (if target - (package->cross-derivation package target - #:system system - #:graft? #f) - (package->derivation package system - #:graft? #f)))) + (thing + (mlet* %store-monad ((lower -> (lookup-compiler thing)) + (drv (lower thing system target))) (return (derivation->output-path drv)))))) (sequence %store-monad (map lower lst)))) @@ -302,16 +350,17 @@ references." (match ref (($ (? derivation? drv) output) (cons `(,drv ,output) result)) - (($ (? package? pkg) output) - (cons `(,pkg ,output) result)) - (($ (? origin? o)) - (cons `(,o "out") result)) (($ (? gexp? exp)) (append (gexp-inputs exp references) result)) (($ (? string? str)) (if (direct-store-path? str) (cons `(,str) result) result)) + (($ (? struct? thing) output) + (if (lookup-compiler thing) + ;; THING is a derivation, or a package, or an origin, etc. + (cons `(,thing ,output) result) + result)) (($ (lst ...) output native?) (fold-right add-reference-inputs result ;; XXX: For now, automatically convert LST to a list of @@ -364,14 +413,6 @@ and in the current monad setting (system type, etc.)" (match ref (($ (? derivation? drv) output) (return (derivation->output-path drv output))) - (($ (? package? p) output n?) - (package-file p - #:output output - #:system system - #:target (if (or n? native?) #f target))) - (($ (? origin? o) output) - (mlet %store-monad ((drv (origin->derivation o))) - (return (derivation->output-path drv output)))) (($ output) ;; Output file names are not known in advance but the daemon defines ;; an environment variable for each of them at build time, so use @@ -391,6 +432,11 @@ and in the current monad setting (system type, etc.)" (%gexp-input ref "out" n?)) native?)) refs))) + (($ (? struct? thing) output n?) + (let ((lower (lookup-compiler thing)) + (target (if (or n? native?) #f target))) + (mlet %store-monad ((drv (lower thing system target))) + (return (derivation->output-path drv output))))) (($ x) (return x)) (x From 9d8100f4c7d9f44a3623419039ac985be7ba9bb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 21:46:00 +0100 Subject: [PATCH 351/359] packages: Move grafting parameter to (guix derivations). * guix/packages.scm (%graft?, set-grafting): Move to... * guix/derivations.scm: ... here. --- guix/derivations.scm | 16 ++++++++++++++++ guix/packages.scm | 13 ------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index e5922365a0..4b0048b54b 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -97,6 +97,9 @@ build-derivations built-derivations + %graft? + set-grafting + build-expression->derivation) ;; Re-export it from here for backward compatibility. @@ -1287,3 +1290,16 @@ ALLOWED-REFERENCES, and LOCAL-BUILD?." (define built-derivations (store-lift build-derivations)) + +;; The following might feel more at home in (guix packages) but since (guix +;; gexp), which is a lower level, needs them, we put them here. + +(define %graft? + ;; Whether to honor package grafts by default. + (make-parameter #t)) + +(define (set-grafting enable?) + "This monadic procedure enables grafting when ENABLE? is true, and disables +it otherwise. It returns the previous setting." + (lambda (store) + (values (%graft? enable?) store))) diff --git a/guix/packages.scm b/guix/packages.scm index fc5264673d..df56286c5b 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -103,7 +103,6 @@ &package-cross-build-system-error package-cross-build-system-error? - %graft? package->bag bag->derivation bag-transitive-inputs @@ -112,9 +111,7 @@ bag-transitive-target-inputs default-guile - set-guile-for-build - set-grafting package-file package->derivation package->cross-derivation @@ -678,10 +675,6 @@ information in exceptions." (package package) (input x))))))) -(define %graft? - ;; Whether to honor package grafts by default. - (make-parameter #t)) - (define* (package->bag package #:optional (system (%current-system)) (target (%current-target-system)) @@ -918,12 +911,6 @@ code of derivations to GUILE, a package object." (let ((guile (package-derivation store guile))) (values (%guile-for-build guile) store)))) -(define (set-grafting enable?) - "This monadic procedure enables grafting when ENABLE? is true, and disables -it otherwise. It returns the previous setting." - (lambda (store) - (values (%graft? enable?) store))) - (define* (package-file package #:optional file #:key From ff40e9b7e55846c86f48c861816ac01bd0d7af7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 22:09:32 +0100 Subject: [PATCH 352/359] gexp: Move the package and origin compilers to (guix packages). From now own, (guix packages) depends on (guix gexps); it was the other way around now. This means that (guix packages) code can use gexps. * guix/gexp.scm (origin-compiler, package-compiler): Remove. (default-guile-derivation): New procedure. (gexp->derivation): Use it instead of 'default-guile' + 'package->derivation'. * guix/packages.scm (default-guile-derivation): New procedure. (package-compiler, origin-compiler): New variables. * doc/guix.texi (G-Expressions): Mention extensibility. --- doc/guix.texi | 5 +++++ guix/gexp.scm | 28 ++++++++++++++-------------- guix/packages.scm | 20 ++++++++++++++++++++ 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index fa8d3ab49e..ae2f786111 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2464,6 +2464,11 @@ processes. When a package or derivation is unquoted inside a gexp, the result is as if its output file name had been introduced. +Actually this mechanism is not limited to package and derivation +objects; @dfn{compilers} able to ``lower'' other high-level objects to +derivations can be defined, such that these objects can also be inserted +into gexps. + @item Gexps carry information about the packages or derivations they refer to, and these dependencies are automatically added as inputs to the build diff --git a/guix/gexp.scm b/guix/gexp.scm index 119fe42d52..f8646a081c 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -20,7 +20,6 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (guix derivations) - #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -39,7 +38,10 @@ text-file* imported-files imported-modules - compiled-modules)) + compiled-modules + + define-gexp-compiler + gexp-compiler?)) ;;; Commentary: ;;; @@ -125,16 +127,6 @@ cross-compiling.)" body ...))) (register-compiler! name))) -(define-gexp-compiler (origin-compiler (origin origin?) system target) - ;; Compiler for origins. - (origin->derivation origin system)) - -(define-gexp-compiler (package-compiler (package package?) system target) - ;; Compiler for packages. - (if target - (package->cross-derivation package target system) - (package->derivation package system))) - ;;; ;;; Inputs & outputs. @@ -212,6 +204,15 @@ names and file names suitable for the #:allowed-references argument to (sequence %store-monad (map lower lst)))) +(define default-guile-derivation + ;; Here we break the abstraction by talking to the higher-level layer. + ;; Thus, do the resolution lazily to hide the circular dependency. + (let ((proc (delay + (let ((iface (resolve-interface '(guix packages)))) + (module-ref iface 'default-guile-derivation))))) + (lambda (system) + ((force proc) system)))) + (define* (gexp->derivation name exp #:key system (target 'current) @@ -314,8 +315,7 @@ The other arguments are as for 'derivation'." (return #f))) (guile (if guile-for-build (return guile-for-build) - (package->derivation (default-guile) - system)))) + (default-guile-derivation system)))) (mbegin %store-monad (set-grafting graft?) ;restore the initial setting (raw-derivation name diff --git a/guix/packages.scm b/guix/packages.scm index df56286c5b..ec0e79d08b 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -22,6 +22,7 @@ #:use-module (guix records) #:use-module (guix store) #:use-module (guix monads) + #:use-module (guix gexp) #:use-module (guix base32) #:use-module (guix derivations) #:use-module (guix build-system) @@ -111,6 +112,7 @@ bag-transitive-target-inputs default-guile + default-guile-derivation set-guile-for-build package-file package->derivation @@ -341,6 +343,12 @@ derivations." (let ((distro (resolve-interface '(gnu packages commencement)))) (module-ref distro 'guile-final))) +(define* (default-guile-derivation #:optional (system (%current-system))) + "Return the derivation for SYSTEM of the default Guile package used to run +the build code of derivation." + (package->derivation (default-guile) system + #:graft? #f)) + ;; TODO: Rewrite using %STORE-MONAD and gexps. (define* (patch-and-repack store source patches #:key @@ -939,6 +947,13 @@ cross-compilation target triplet." (define package->cross-derivation (store-lift package-cross-derivation)) +(define-gexp-compiler (package-compiler (package package?) system target) + ;; Compile PACKAGE to a derivation for SYSTEM, optionally cross-compiled for + ;; TARGET. This is used when referring to a package from within a gexp. + (if target + (package->cross-derivation package target system) + (package->derivation package system))) + (define patch-and-repack* (store-lift patch-and-repack)) @@ -976,5 +991,10 @@ outside of the store) or SOURCE itself (if SOURCE is already a store item.)" (interned-file file (basename file) #:recursive? #t)))) +(define-gexp-compiler (origin-compiler (origin origin?) system target) + ;; Compile ORIGIN to a derivation for SYSTEM. This is used when referring + ;; to an origin from within a gexp. + (origin->derivation origin system)) + (define package-source-derivation (store-lower origin->derivation)) From 5250a4f215de414f516850e48af2f91c9c17c066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Mar 2015 22:25:03 +0100 Subject: [PATCH 353/359] services: guix-service: Remove extraneous monadism. * gnu/services/base.scm (guix-build-accounts): Remove unneeded 'with-monad'. (guix-service): Adjust accordingly. --- gnu/services/base.scm | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 40d4740d46..84bac94d9f 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -568,25 +568,24 @@ given @var{config}---an @code{} object. Optionally, (shadow shadow)) "Return a list of COUNT user accounts for Guix build users, with UIDs starting at FIRST-UID, and under GID." - (with-monad %store-monad - (return (unfold (cut > <> count) - (lambda (n) - (user-account - (name (format #f "guixbuilder~2,'0d" n)) - (system? #t) - (uid (+ first-uid n -1)) - (group group) + (unfold (cut > <> count) + (lambda (n) + (user-account + (name (format #f "guixbuilder~2,'0d" n)) + (system? #t) + (uid (+ first-uid n -1)) + (group group) - ;; guix-daemon expects GROUP to be listed as a - ;; supplementary group too: - ;; . - (supplementary-groups (list group "kvm")) + ;; guix-daemon expects GROUP to be listed as a + ;; supplementary group too: + ;; . + (supplementary-groups (list group "kvm")) - (comment (format #f "Guix Build User ~2d" n)) - (home-directory "/var/empty") - (shell #~(string-append #$shadow "/sbin/nologin")))) - 1+ - 1)))) + (comment (format #f "Guix Build User ~2d" n)) + (home-directory "/var/empty") + (shell #~(string-append #$shadow "/sbin/nologin")))) + 1+ + 1)) (define (hydra-key-authorization guix) "Return a gexp with code to register the hydra.gnu.org public key with @@ -636,8 +635,7 @@ passed to @command{guix-daemon}." (and authorize-hydra-key? (hydra-key-authorization guix))) - (mlet %store-monad ((accounts (guix-build-accounts build-accounts - #:group builder-group))) + (with-monad %store-monad (return (service (provision '(guix-daemon)) (requirement '(user-processes)) @@ -650,7 +648,8 @@ passed to @command{guix-daemon}." '("--no-substitutes")) #$@extra-options))) (stop #~(make-kill-destructor)) - (user-accounts accounts) + (user-accounts (guix-build-accounts build-accounts + #:group builder-group)) (user-groups (list (user-group (name builder-group) (system? #t) From 7578f6e32a9a1d37813ed5e3ccfeb29d2f6712c9 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 7 Mar 2015 18:36:13 -0500 Subject: [PATCH 354/359] build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH. * guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version when creating $GEM_HOME. --- guix/build/ruby-build-system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 1310c4a0b3..a143df467f 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -58,11 +58,11 @@ directory." (define* (install #:key source inputs outputs #:allow-other-keys) (let* ((ruby-version - (match:substring (string-match "ruby-(.*)$" + (match:substring (string-match "ruby-(.*)\\.[0-9]$" (assoc-ref inputs "ruby")) 1)) (out (assoc-ref outputs "out")) - (gem-home (string-append out "/lib/ruby/gems/" ruby-version))) + (gem-home (string-append out "/lib/ruby/gems/" ruby-version ".0"))) (setenv "GEM_HOME" gem-home) (mkdir-p gem-home) (zero? (system* "gem" "install" "--local" From ca0d2a637be0de78a4f9737e52d1b3a249d833bf Mon Sep 17 00:00:00 2001 From: "Alexander I.Grafov (Axel)" Date: Tue, 17 Mar 2015 01:14:16 +0300 Subject: [PATCH 355/359] gnu: Add xcape. * gnu/packages/xdisorg.scm (xcape): New variable. --- gnu/packages/xdisorg.scm | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index fbf1bbf48c..99e2fce926 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -79,8 +79,8 @@ avoiding password prompts when X11 forwarding has already been setup.") (build-system gnu-build-system) (arguments '(#:tests? #f ; Test suite requires a lot of black magic - #:phases - (alist-replace 'configure + #:phases + (alist-replace 'configure (lambda* (#:key outputs #:allow-other-keys #:rest args) (setenv "PREFIX" (assoc-ref outputs "out")) (setenv "LDFLAGS" (string-append "-Wl,-rpath=" @@ -486,3 +486,36 @@ unicode, XFT and may be extended with Perl plugins. It also comes with a client/daemon pair that lets you open any number of terminal windows from within a single process.") (license license:gpl3+))) + +(define-public xcape + (package + (name "xcape") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/alols/" name + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jkdiaxc6sryrbibdgi2y1c48n4l9xyazhxr16l6h4ibddx95bk9")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases (alist-delete 'configure %standard-phases) ; no configure script + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "MANDIR=/share/man/man1" + "CC=gcc"))) + (inputs + `(("libxtst" ,libxtst) + ("libx11" ,libx11))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://github.com/alols/xcape") + (synopsis "Use a modifier key in X.org as another key") + (description + "This utility for X.org allows to use modifier key as another key when +pressed and released on its own. The default behaviour is to generate the +Escape key when Left Control is pressed and released on its own.") + (license license:gpl3+))) From 87bafa07ae68084819bb2648bd1042c354d11317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Wed, 18 Mar 2015 08:57:50 +0100 Subject: [PATCH 356/359] gnu: Add agg. * gnu/packages/graphics.scm (agg): New variable. * gnu/packages/patches/agg-am_c_prototype.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/graphics.scm | 52 ++++++++++++++++++- gnu/packages/patches/agg-am_c_prototype.patch | 10 ++++ 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/agg-am_c_prototype.patch diff --git a/gnu-system.am b/gnu-system.am index 614e4cad18..2bed50fc40 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -359,6 +359,7 @@ dist_patch_DATA = \ gnu/packages/patches/aegis-perl-tempdir2.patch \ gnu/packages/patches/aegis-test-fixup-1.patch \ gnu/packages/patches/aegis-test-fixup-2.patch \ + gnu/packages/patches/agg-am_c_prototype.patch \ gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \ gnu/packages/patches/apr-skip-getservbyname-test.patch \ gnu/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index a5c845a471..c92dd1b354 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -24,12 +24,18 @@ #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages fontutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages multiprecision) #:use-module (gnu packages boost) #:use-module (gnu packages gl) - #:use-module (gnu packages qt)) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages xorg)) (define-public cgal (package @@ -217,3 +223,47 @@ measured material data from MIT CSAIL. Graphs and visualizations update in real time as parameters are changed, making it a useful tool for evaluating and understanding different BRDFs (and other component functions).") (license license:ms-pl))) + +(define-public agg + (package + (name "agg") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.antigrain.com/agg-" + version ".tar.gz")) + (sha256 + (base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb")) + (patches (list (search-patch "agg-am_c_prototype.patch"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11") + "/include") + (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11") + "/lib")) + #:phases + (alist-cons-after + 'unpack 'autoreconf + (lambda _ + ;; let's call configure from configure phase and not now + (substitute* "autogen.sh" (("./configure") "# ./configure")) + (zero? (system* "sh" "autogen.sh"))) + %standard-phases))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("bash" ,bash))) + (inputs + `(("libx11" ,libx11) + ("freetype" ,freetype) + ("sdl" ,sdl))) + (home-page "http://antigrain.com") + (synopsis "High-quality 2D graphics rendering engine for C++") + (description + "Anti-Grain Geometry is a high quality rendering engine written in C++. +It supports sub-pixel resolutions and anti-aliasing. It is also library for +rendering SVG graphics.") + (license license:gpl2+))) diff --git a/gnu/packages/patches/agg-am_c_prototype.patch b/gnu/packages/patches/agg-am_c_prototype.patch new file mode 100644 index 0000000000..3a09dc7be6 --- /dev/null +++ b/gnu/packages/patches/agg-am_c_prototype.patch @@ -0,0 +1,10 @@ +--- a/configure.in 2015-03-15 18:59:12.557417149 +0100 ++++ b/configure.in 2015-03-15 18:59:29.273416518 +0100 +@@ -8,7 +8,6 @@ + AC_PROG_CC + AC_PROG_CXX + AC_ISC_POSIX +-AM_C_PROTOTYPES + if test "x$U" != "x"; then + AC_MSG_ERROR(Compiler not ANSI compliant) + fi From fc1ee095789641cdfe67c65ca8988ef34d921288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Mar 2015 14:36:32 +0100 Subject: [PATCH 357/359] pk-crypto: Improve documentation of 'key-type'. * guix/pk-crypto.scm (key-type): Improve docstring. --- guix/pk-crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/pk-crypto.scm b/guix/pk-crypto.scm index 7306b66922..f90c2e61d5 100644 --- a/guix/pk-crypto.scm +++ b/guix/pk-crypto.scm @@ -251,8 +251,8 @@ must be a symbol: 'dsa, 'ecc, or 'rsa." (bytevector->base16-string bv)))) (define (key-type sexp) - "Return a symbol denoting the type of key representing by SEXP--e.g., 'rsa', -'ecc'--or #f if SEXP does not denote a valid key." + "Return a symbol denoting the type of public or private key represented by +SEXP--e.g., 'rsa', 'ecc'--or #f if SEXP does not denote a valid key." (case (canonical-sexp-nth-data sexp 0) ((public-key private-key) (canonical-sexp-nth-data (canonical-sexp-nth sexp 1) 0)) From 41c45e78632978ab64dd7df50765c6adf443a249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Mar 2015 14:39:53 +0100 Subject: [PATCH 358/359] store: Add preliminary support for client-supplied substitute URLs. * guix/store.scm (set-build-options): Rename #:binary-caches to #:substitute-urls. Actually pass it in 'pairs' under the "substitute-urls" key. * guix/scripts/substitute-binary.scm (%cache-url): Add comment for "untrusted-substitute-urls". --- guix/scripts/substitute-binary.scm | 7 ++++++- guix/store.scm | 12 ++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 903564cc48..50e3db2fb9 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -631,7 +631,12 @@ found." (assoc-ref (daemon-options) option)) (define %cache-url - (match (and=> (find-daemon-option "substitute-urls") + (match (and=> (string-append + ;; TODO: Uncomment the following lines when multiple + ;; substitute sources are supported. + ;; (find-daemon-option "untrusted-substitute-urls") ;client + ;; " " + (find-daemon-option "substitute-urls")) ;admin string-tokenize) ((url) url) diff --git a/guix/store.scm b/guix/store.scm index a3f3cbf43b..4c069b2963 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -459,7 +459,7 @@ encoding conversion errors." (print-build-trace #t) (build-cores (current-processor-count)) (use-substitutes? #t) - (binary-caches '())) ; client "untrusted" cache URLs + (substitute-urls '())) ; client "untrusted" cache URLs ;; Must be called after `open-connection'. (define socket @@ -484,11 +484,11 @@ encoding conversion errors." (when (>= (nix-server-minor-version server) 10) (send (boolean use-substitutes?))) (when (>= (nix-server-minor-version server) 12) - (let ((pairs (if timeout - `(("build-timeout" . ,(number->string timeout)) - ,@binary-caches) - binary-caches))) - (send (string-pairs pairs)))) + (let ((pairs `(,@(if timeout + `(("build-timeout" . ,(number->string timeout))) + '()) + ("substitute-urls" . ,(string-join substitute-urls))))) + (send (string-pairs (pk 'pairs pairs))))) (let loop ((done? (process-stderr server))) (or done? (process-stderr server))))) From f401b1e9934a6594d6d7586922aa987e0b24839b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Mar 2015 18:10:16 +0100 Subject: [PATCH 359/359] store: Remove debugging leftover. * guix/store.scm (set-build-options): Remove leftover 'pk' call from 41c45e7. --- guix/store.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/store.scm b/guix/store.scm index 4c069b2963..45c555b12c 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -488,7 +488,7 @@ encoding conversion errors." `(("build-timeout" . ,(number->string timeout))) '()) ("substitute-urls" . ,(string-join substitute-urls))))) - (send (string-pairs (pk 'pairs pairs))))) + (send (string-pairs pairs)))) (let loop ((done? (process-stderr server))) (or done? (process-stderr server)))))