diff options
Diffstat (limited to 'gnu/packages')
63 files changed, 2390 insertions, 932 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3fe26e0d09..d2001d4e2c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1732,13 +1732,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.42") + (version "4.43") (source (origin (method url-fetch) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (sha256 - (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n")))) + (base32 "1q25jy51qfzsym9b2w0cqzscq2j492gn60dy6gbp88m8nwm4sdy8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; Obscure test failures. @@ -1763,14 +1763,14 @@ highly portable. Great for heterogenous networks.") (define-public cbatticon (package (name "cbatticon") - (version "1.6.4") + (version "1.6.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/valr/" name "/archive/" version ".tar.gz")) (sha256 (base32 - "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx")) + "0xzz1faqgm57bwlkw6sjdfbckf5hck81879zbfk18p7xn9vhvixv")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 544b62a1da..be4c48f72d 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -128,7 +128,7 @@ solve the shortest vector problem.") (define-public pari-gp (package (name "pari-gp") - (version "2.7.6") + (version "2.9.1") (source (origin (method url-fetch) (uri (string-append @@ -136,7 +136,7 @@ solve the shortest vector problem.") version ".tar.gz")) (sha256 (base32 - "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr")))) + "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,texlive-minimal))) (inputs `(("gmp" ,gmp) @@ -168,7 +168,7 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.9pl5") + (version "0.0.10") (source (origin (method url-fetch) (uri (string-append @@ -176,7 +176,7 @@ PARI is also available as a C library to allow for faster computations.") version ".tar.gz")) (sha256 (base32 - "1q003mkagc5ib6lqb2xfay7j4ffkwv7xlnznp6wdrq2sbqq4vyak")))) + "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index f390ce4486..43506a7bc2 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -21,7 +21,13 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (gnu packages image) + #:use-module (gnu packages compression) + #:use-module (gnu packages gettext) + #:use-module (gnu packages perl) + #:use-module (gnu packages gl) + #:use-module (gnu packages qt) #:use-module (gnu packages maths) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)) (define-public cfitsio @@ -107,3 +113,38 @@ systems in a FITS image header.") (description "The GNU Astronomy Utilities (Gnuastro) is a suite of programs for the manipulation and analysis of astronomical data.") (license license:gpl3+))) + +(define-public stellarium + (package + (name "stellarium") + (version "0.15.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/stellarium/" + "Stellarium-sources/" + version "/stellarium-" version ".tar.gz")) + (sha256 + (base32 + "04avigz8i8mi2x6x71bqr9np85n1p9qnvbj2hxr947f1jv22zr8g")))) + (build-system cmake-build-system) + (inputs + `(("qt" ,qt) + ("zlib" ,zlib))) + (native-inputs + `(("gettext" ,gettext-minimal) ; xgettext is used at compile time + ("perl" ,perl))) ; For pod2man + (arguments + `(#:test-target "tests" + #:phases (modify-phases %standard-phases + (add-before 'check 'set-offscreen-display + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "HOME" "/tmp") + #t))))) + (home-page "http://www.stellarium.org/") + (synopsis "3D sky viewer") + (description "Stellarium is a planetarium. It shows a realistic sky in +3D, just like what you see with the naked eye, binoculars, or a telescope. It +can be used to control telescopes over a serial port for tracking celestial +objects.") + (license license:gpl2+))) diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el new file mode 100644 index 0000000000..2bbd639ffd --- /dev/null +++ b/gnu/packages/aux-files/emacs/guix-emacs.el @@ -0,0 +1,112 @@ +;;; guix-emacs.el --- Emacs packages installed with Guix + +;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com> + +;; 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 this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This file provides auxiliary code to autoload Emacs packages +;; installed with Guix. + +;;; Code: + +(require 'cl-lib) + +(defvar guix-user-profile (expand-file-name "~/.guix-profile")) + +(defvar guix-emacs-autoloads nil + "List of the last loaded Emacs autoloads.") + +(defvar guix-emacs-autoloads-regexp + (rx (group (* any) "-autoloads") + ".el" (zero-or-one "c") string-end) + "Regexp to match Emacs 'autoloads' file.") + +(defun guix-emacs-directory (&optional profile) + "Return directory with Emacs packages installed in PROFILE. +If PROFILE is nil, use `guix-user-profile'." + (expand-file-name "share/emacs/site-lisp" + (or profile guix-user-profile))) + +(defun guix-emacs-find-autoloads (directory) + "Return a list of Emacs 'autoloads' files in DIRECTORY. +The files in the list do not have extensions (.el, .elc)." + (cl-remove-duplicates + (delq nil + (mapcar (lambda (file) + (when (string-match guix-emacs-autoloads-regexp file) + (match-string 1 file))) + (directory-files directory 'full-name nil 'no-sort))) + :test #'string=)) + +(defun guix-emacs-subdirs (directory) + "Return list of DIRECTORY subdirectories." + (cl-remove-if (lambda (file) + (or (string-match-p (rx "/." string-end) file) + (string-match-p (rx "/.." string-end) file) + (not (file-directory-p file)))) + (directory-files directory 'full-name nil 'no-sort))) + +(defun guix-emacs-directories (&optional profile) + "Return the list of directories under PROFILE that contain Emacs packages. +This includes both `share/emacs/site-lisp/guix.d/PACKAGE' +sub-directories and `share/emacs/site-lisp' itself. + +If PROFILE is nil, use `guix-user-profile'. +Return nil, if Emacs packages are not installed in PROFILE." + (let ((root-dir (guix-emacs-directory (or profile guix-user-profile)))) + (when (file-directory-p root-dir) + (let* ((pkgs-dir (expand-file-name "guix.d" root-dir)) + (pkgs-dirs (when (file-directory-p pkgs-dir) + (guix-emacs-subdirs pkgs-dir)))) + (cons root-dir pkgs-dirs))))) + +;;;###autoload +(defun guix-emacs-autoload-packages (&rest profiles) + "Autoload Emacs packages installed in PROFILES. +If PROFILES are not specified, use a default user and system +profiles. + +'Autoload' means add directories with Emacs packages to +`load-path' and load 'autoloads' files matching +`guix-emacs-autoloads-regexp'." + (interactive (list (if (fboundp 'guix-read-package-profile) + (funcall 'guix-read-package-profile) + guix-user-profile))) + (let ((profiles (or profiles + (list "/run/current-system/profile" + guix-user-profile)))) + (dolist (profile profiles) + (let ((dirs (guix-emacs-directories profile))) + (when dirs + (let* ((autoloads (cl-mapcan #'guix-emacs-find-autoloads + dirs)) + (new-autoloads (cl-nset-difference autoloads + guix-emacs-autoloads + :test #'string=))) + (dolist (dir dirs) + (cl-pushnew (directory-file-name dir) + load-path + :test #'string=)) + (dolist (file new-autoloads) + (load file 'noerror)) + (setq guix-emacs-autoloads + (append new-autoloads guix-emacs-autoloads)))))))) + +(provide 'guix-emacs) + +;;; guix-emacs.el ends here diff --git a/gnu/packages/linux-libre-4.1-i686.conf b/gnu/packages/aux-files/linux-libre/4.1-i686.conf index a37225541e..a37225541e 100644 --- a/gnu/packages/linux-libre-4.1-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.1-i686.conf diff --git a/gnu/packages/linux-libre-4.1-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf index 82c5824923..82c5824923 100644 --- a/gnu/packages/linux-libre-4.1-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf diff --git a/gnu/packages/linux-libre-4.10-i686.conf b/gnu/packages/aux-files/linux-libre/4.10-i686.conf index 8ec475ea01..8ec475ea01 100644 --- a/gnu/packages/linux-libre-4.10-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.10-i686.conf diff --git a/gnu/packages/linux-libre-4.10-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf index c5d8fe1da0..c5d8fe1da0 100644 --- a/gnu/packages/linux-libre-4.10-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf diff --git a/gnu/packages/linux-libre-4.4-i686.conf b/gnu/packages/aux-files/linux-libre/4.4-i686.conf index e877f195af..e877f195af 100644 --- a/gnu/packages/linux-libre-4.4-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.4-i686.conf diff --git a/gnu/packages/linux-libre-4.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf index 406053ab7a..406053ab7a 100644 --- a/gnu/packages/linux-libre-4.4-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf diff --git a/gnu/packages/linux-libre-4.9-i686.conf b/gnu/packages/aux-files/linux-libre/4.9-i686.conf index 4f3a9f9271..4f3a9f9271 100644 --- a/gnu/packages/linux-libre-4.9-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.9-i686.conf diff --git a/gnu/packages/linux-libre-4.9-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf index ca0fcded61..ca0fcded61 100644 --- a/gnu/packages/linux-libre-4.9-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bdcb5a4010..7bf39c6b03 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com> +;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> @@ -238,7 +238,7 @@ instance, it implements several methods to assess contig-wise read coverage.") (define-public bamtools (package (name "bamtools") - (version "2.3.0") + (version "2.4.1") (source (origin (method url-fetch) (uri (string-append @@ -247,7 +247,7 @@ instance, it implements several methods to assess contig-wise read coverage.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1brry29bw2xr2l9pqn240rkqwayg85b8qq78zk2zs6nlspk4d018")))) + "0jr024kcrhjb82cm69i7p5fcg5375zlc1h3qh2n1v368hcd0qflk")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no "check" target @@ -2055,7 +2055,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.34") + (version "0.8.36") (source (origin (method url-fetch) (uri (string-append @@ -2064,7 +2064,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0jvr34g346gbz7z1zb9bs0vplivm9p4cxk0lbzklvdpa7g236p39")))) + "092smzzjcg51n3x4h84k52ijpz9m40ri838j9k2i463ribc3c8rh")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 293bf16ade..14e430646a 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -496,3 +497,27 @@ session, and it can create M3U playlists.") (synopsis "Command-line program to extract audio CDs") (description "RipIT is used to extract audio from CDs.") (license gpl2))) + +(define-public ccd2cue + (package + (name "ccd2cue") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://gnu/ccd2cue/ccd2cue-" version + ".tar.gz")) + (sha256 + (base32 + "1icrkg25hwx4gsn3dski2172ia4ywjh8m1sa17zmjclnrgdwy9c7")))) + (build-system gnu-build-system) + (synopsis "CCD to CUE sheet conversion") + (description + "GNU ccd2cue is a preprocessor for CD burning software that allows +the conversion of the proprietary CCD format to the CUE format, which +is well-supported by free software. These files are commonly +distributed with CD images and are used to describe how tracks are +laid out on the image.") + (home-page "http://www.gnu.org/software/ccd2cue") + (license gpl3+))) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 9ad03cd558..372f1c4fea 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -201,7 +201,7 @@ normally do not detect. The goal is to detect only real errors in the code (define-public googletest (package (name "googletest") - (version "1.7.0") + (version "1.8.0") (source (origin (method url-fetch) @@ -210,46 +210,10 @@ normally do not detect. The goal is to detect only real errors in the code (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp")))) - (build-system gnu-build-system) + "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq")))) + (build-system cmake-build-system) (native-inputs - `(("python-2" ,python-2) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'autoconf - (lambda _ - (zero? (system* "autoreconf" "-vfi")))) - (add-before 'autoconf 'generate-headers - (lambda _ - (begin - (delete-file "include/gtest/gtest-param-test.h") - (system* "python2" "scripts/pump.py" - "include/gtest/gtest-param-test.h.pump") - (delete-file "include/gtest/internal/gtest-tuple.h") - (system* "python2" "scripts/pump.py" - "include/gtest//internal/gtest-tuple.h.pump") - (delete-file - "include/gtest/internal/gtest-param-util-generated.h") - (system* - "python2" "scripts/pump.py" - "include/gtest/internal/gtest-param-util-generated.h.pump") - (delete-file "include/gtest/internal/gtest-type-util.h") - (system* "python2" "scripts/pump.py" - "include/gtest/internal/gtest-type-util.h.pump")))) - (replace 'install - (lambda _ - (let ((out (assoc-ref %outputs "out"))) - (begin - (install-file "lib/.libs/libgtest_main.a" - (string-append out "/lib")) - (install-file "lib/.libs/libgtest.a" - (string-append out "/lib")) - (copy-recursively "include" - (string-append out "/include"))))))))) + `(("python-2" ,python-2))) (home-page "https://github.com/google/googletest/") (synopsis "Test discovery and XUnit test framework") (description "Google Test features an XUnit test framework, automated test diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 9897883184..88f8f0d84e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -945,7 +945,7 @@ well as bzip2.") (define-public snappy (package (name "snappy") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append @@ -953,7 +953,7 @@ well as bzip2.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig")))) + "0mq0nz8gbi1sp3y6xcg0a6wbvnd6gc717f3vh2xrjmfj5w9gwjqk")))) (build-system gnu-build-system) (home-page "https://github.com/google/snappy") (synopsis "Fast compressor/decompressor") @@ -1128,3 +1128,21 @@ or junctions, and always follows hard links.") ;; libzpaq.cpp contains a mix of public-domain and ;; expat-licenced (or ‘MIT’) code. license:expat)))) + +(define-public unrar + (package + (name "unrar") + (version "0.0.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.gna.org/unrar/unrar-" version ".tar.gz")) + (sha256 + (base32 + "1fgmjaxffj3shyxgy765jhxwz1cq88hk0fih1bsdzyvymyyz6mz7")))) + (build-system gnu-build-system) + (home-page "http://download.gna.org/unrar") + (synopsis "RAR archive extraction tool") + (description "Unrar is a simple command-line program to list and extract +RAR archives.") + (license license:gpl2+))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index b7ce8a8bec..5199d0c4f1 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> @@ -215,7 +215,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (define-public leveldb (package (name "leveldb") - (version "1.19") + (version "1.20") (source (origin (method url-fetch) (uri (string-append "https://github.com/google/leveldb" @@ -223,7 +223,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00jjgs9xlwycfkg0xd7n1rj6v9zrx7xc7hann6zalrjyhap18ykx")))) + "0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc") @@ -1201,6 +1201,37 @@ and B+ Tree data storage models. It is a fast key-value lightweight database and supports many programming languages. It is a NoSQL database.") (license license:gpl3+))) +(define-public tokyocabinet + (package + (name "tokyocabinet") + (version "1.4.48") + (source + (origin + (method url-fetch) + (uri (string-append "http://fallabs.com/tokyocabinet/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-pthread" "--enable-off64" "--enable-fastest" + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")))) + (inputs + `(("zlib" ,zlib))) + (home-page "http://fallabs.com/tokyocabinet/") + (synopsis "Tokyo Cabinet is a modern implementation of the DBM database") + (description + "Tokyo Cabinet is a library of routines for managing a database. +The database is a simple data file containing records, each is a pair of a +key and a value. Every key and value is serial bytes with variable length. +Both binary data and character string can be used as a key and a value. +There is neither concept of data tables nor data types. Records are +organized in hash table, B+ tree, or fixed-length array.") + (license license:lgpl2.1+))) + (define-public wiredtiger (package (name "wiredtiger") diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 546597c617..7901e1c1d8 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -55,15 +55,13 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.14.1") + (version "0.15.0") (source (origin (method url-fetch) (uri (pypi-uri name version)) - (patches - (search-patches "vdirsyncer-test-suite-slow-machines.patch")) (sha256 (base32 - "044f01fjd8dpz4y9dm3qcc1a8cihcxxbr1sz6y6fkvglpb6k85y5")))) + "08aa5yxcj7ziz2r0hz4p554q8hgpfl2bh8r6r85f4g24mg6arxsj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 5444579059..808be203c2 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -43,44 +43,6 @@ #:use-module (guix build-system cmake) #:use-module (srfi srfi-1)) -(define-public stellarium - (package - (name "stellarium") - (version "0.14.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/stellarium/" - "Stellarium-sources/" - version "/stellarium-" version ".tar.gz")) - (sha256 (base32 - "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a")))) - (build-system cmake-build-system) - (inputs - `(("qtbase" ,qtbase) - ("zlib" ,zlib) - ("qtserialport" ,qtserialport) - ("qtscript" ,qtscript) - ("gettext" ,gettext-minimal))) - (native-inputs - `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time - ("qttools" ,qttools) - ("perl" ,perl))) ;for 'pod2man' - (arguments - `(#:test-target "tests" - #:phases (modify-phases %standard-phases - (add-before 'check 'set-offscreen-display - (lambda _ - (setenv "QT_QPA_PLATFORM" "offscreen") - (setenv "HOME" "/tmp") - #t))))) - (home-page "http://www.stellarium.org/") - (synopsis "3D sky viewer") - (description "Stellarium is a planetarium. It shows a realistic sky in -3D, just like what you see with the naked eye, binoculars, or a telescope. It -can be used to control telescopes over a serial port for tracking celestial -objects.") - (license license:gpl2+))) - (define-public gcompris (package (name "gcompris") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 863624fc0f..cc8d9c0d0c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -133,22 +133,20 @@ (("/bin/pwd") "pwd")))) (add-after 'install 'install-site-start - ;; Copy guix-emacs.el from Guix and add it to site-start.el. This - ;; way, Emacs packages provided by Guix and installed in + ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages + ;; provided by Guix and installed in ;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are ;; automatically found. (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((guix-src (assoc-ref inputs "guix-src")) - (out (assoc-ref outputs "out")) - (lisp-dir (string-append out "/share/emacs/site-lisp")) - (unpack (assoc-ref %standard-phases 'unpack))) - (mkdir "guix") - (with-directory-excursion "guix" - (apply unpack (list #:source guix-src)) - (install-file "emacs/guix-emacs.el" lisp-dir)) + (let* ((out (assoc-ref outputs "out")) + (lisp-dir (string-append out "/share/emacs/site-lisp"))) + (copy-file (assoc-ref inputs "guix-emacs.el") + (string-append lisp-dir "/guix-emacs.el")) (with-output-to-file (string-append lisp-dir "/site-start.el") (lambda () - (display "(require 'guix-emacs nil t)"))) + (display + (string-append "(when (require 'guix-emacs nil t)\n" + " (guix-emacs-autoload-packages))\n")))) #t)))))) (inputs `(("gnutls" ,gnutls) @@ -175,13 +173,13 @@ ("libsm" ,libsm) ("alsa-lib" ,alsa-lib) ("dbus" ,dbus) - ("guix-src" ,(package-source guix)) ;; multilingualization support ("libotf" ,libotf) ("m17n-lib" ,m17n-lib))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) + ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (native-search-paths @@ -1326,7 +1324,7 @@ type, for example: packages, buffers, files, etc.") (define-public emacs-guix (package (name "emacs-guix") - (version "0.2.2") + (version "0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/guix.el" @@ -1334,7 +1332,7 @@ type, for example: packages, buffers, files, etc.") "/emacs-guix-" version ".tar.gz")) (sha256 (base32 - "1i47yh24xvgmnc778765g3j9ip0xb2y85v6w83r4qmkigk9rl2ck")))) + "1327zp140c7acckk0ajl88cgwr0lk9j3mb67nsq2janxrkwmj6br")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 734efcdc73..23446bafa8 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -750,3 +750,27 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (description "This package provides Kicad component, footprint and 3D render model libraries.") (license license:lgpl2.0+)))) + +(define-public linsmith + (package + (name "linsmith") + (version "0.99.30") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/linsmith/linsmith/linsmith-" + version "/linsmith-" version ".tar.gz")) + (sha256 + (base32 + "18qslhr2r45rhpj4v6bjcqx189vs0bflvsj271wr7w8kvh69qwvn")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gtk" ,gtk+-2) + ("libgnome" ,libgnomeui))) + (home-page "http://jcoppens.com/soft/linsmith/index.en.php") + (synopsis "Smith Charting program") + (description "LinSmith is a Smith Charting program, mainly designed for +educational use. As such, there is an emphasis on capabilities that improve +the 'showing the effect of'-style of operation.") + (license license:gpl2+))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d9eef54b88..b9a55333df 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -197,7 +197,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.21.5") + (version "0.21.6") (source (origin (method url-fetch) (uri @@ -205,7 +205,7 @@ Libraries with some extra bells and whistles.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1fslq70z4s6v9ipahnk8s5fgqnqq4njv4rlqv951r1bh1xk5lx7h")))) + "0gan3c8jbvhcmvb2fpbprr3m6db0afg1dnrb87nbqb399nsi81zd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-mount-eeze"))) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 60cff2e330..15109bfe13 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -393,7 +393,7 @@ and returns a sequence of positioned glyphids from the font.") (define-public potrace (package (name "potrace") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) @@ -401,7 +401,7 @@ and returns a sequence of positioned glyphids from the font.") "/potrace-" version ".tar.gz")) (sha256 (base32 - "115p2vgyq7p2mf4nidk2x3aa341nvv2v8ml056vbji36df5l6lk2")))) + "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv")))) (build-system gnu-build-system) (native-inputs `(("ghostscript" ,ghostscript))) ;for tests (inputs `(("zlib" ,zlib))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b673b3d402..cfd8b24290 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5606,7 +5606,7 @@ functionality and behavior.") (define-public arc-theme (package (name "arc-theme") - (version "20161119") + (version "20170302") (source (origin (method url-fetch) (uri (string-append "https://github.com/horst3180/arc-theme" @@ -5614,7 +5614,7 @@ functionality and behavior.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1kbhaxmydyip3vdw4kf8rk776jcd9wf0w7z6h2i4naxdn4rsnw54")))) + "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw")))) (build-system gnu-build-system) (arguments '(#:phases @@ -5639,7 +5639,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (define-public moka-icon-theme (package (name "moka-icon-theme") - (version "5.3.1") + (version "5.3.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/moka-project" @@ -5648,7 +5648,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lnk7p8dsd9xh6cgz5krvlcr457w8yl4m6p6s5c2g5narsjswzrm")))) + "062rab0ggmgb3y0d6b3k5d47wsadi28cdnyyr2vqbjhza01dglci")))) (build-system gnu-build-system) (arguments '(#:phases @@ -5674,7 +5674,7 @@ simple and consistent.") (define-public arc-icon-theme (package (name "arc-icon-theme") - (version "20160605") + (version "20161122") (source (origin (method url-fetch) (uri (string-append "https://github.com/horst3180/arc-icon-theme" @@ -5682,7 +5682,7 @@ simple and consistent.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1npf0ki0j0llrw9wbffhxxa1cdms0q7b8xlg9m943dd9g7pgdm2p")))) + "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index c3f6de8057..05b9472395 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -212,7 +212,7 @@ your images. Among its features are: (define-public catimg (package (name "catimg") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) @@ -221,10 +221,10 @@ your images. Among its features are: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "14g90zwh2d3s13hgyxypx2vc0rj1g58l6zcxhgc84wsyxfxd6xpb")))) + "1abkhrhw4r221lwn2vb8in3vmp6gxn3qlv34cqndr55v5gdpb9qz")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; No check target + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (replace 'configure @@ -234,20 +234,22 @@ your images. Among its features are: (substitute* "catimg" ;; By replacing "convert", we also replace the "convert" ;; in the message 'The version of convert is too old, don't - ;; expect good results :('. This should not happen, but in + ;; expect good results :('. This should not happen, but in ;; practice this error message should not affect us. (("convert") convert)) #t))) (replace 'build (lambda _ - (zero? (system* "cmake" "-D" - (string-append "CMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out")) - ".")) - (zero? (system* "make")))) + (let* ((out (assoc-ref %outputs "out")) + (man (string-append out "/share/man/man1"))) + (zero? (system* "cmake" + (string-append "-DCMAKE_INSTALL_PREFIX=" out) + (string-append "-DMAN_OUTPUT_PATH=" man) + ".")) + (zero? (system* "make"))))) (add-before 'install 'install-script (lambda* (#:key outputs #:allow-other-keys) - ;; The bashscript lacks an file extension, we have to rename + ;; The bash script lacks an file extension. We have to rename ;; it so that the C program and the bash script can be happy ;; side by side. (let* ((out (assoc-ref outputs "out")) @@ -257,7 +259,7 @@ your images. Among its features are: (string-append bin "/catimg.sh")) #t)))))) (inputs - `(("imagemagick" ,imagemagick))) ; For the bash script version + `(("imagemagick" ,imagemagick))) ; for the bash script version (home-page "https://github.com/posva/catimg") (synopsis "Render images in the terminal") (description diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index b5a2c20655..74483965dd 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -162,7 +162,7 @@ script.") (license (package-license imagemagick)))) (define-public graphicsmagick - (let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8") + (let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8") ; fix CVE-2017-6335 (revision "2")) (package (name "graphicsmagick") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e7479e1b08..1ff106cb99 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1,7 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; ;;; This file is part of GNU Guix. ;;; @@ -334,454 +335,6 @@ and is best suited to building Java projects. Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format.") (license license:asl2.0))) -(define-public icedtea-6 - (package - (name "icedtea") - (version "1.13.13") - (source (origin - (method url-fetch) - (uri (string-append - "http://icedtea.wildebeest.org/download/source/icedtea6-" - version ".tar.xz")) - (sha256 - (base32 - "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg")) - (modules '((guix build utils))) - (snippet - '(substitute* "Makefile.in" - ;; link against libgcj to avoid linker error - (("-o native-ecj") - "-lgcj -o native-ecj") - ;; do not leak information about the build host - (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") - "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) - (build-system gnu-build-system) - (outputs '("out" ; Java Runtime Environment - "jdk" ; Java Development Kit - "doc")) ; all documentation - (arguments - `(;; There are many failing tests and many are known to fail upstream. - ;; - ;; * Hotspot VM tests: - ;; FAILED: compiler/7082949/Test7082949.java - ;; FAILED: compiler/7088020/Test7088020.java - ;; FAILED: runtime/6929067/Test6929067.sh - ;; FAILED: serviceability/sa/jmap-hashcode/Test8028623.java - ;; => Test results: passed: 161; failed: 4 - ;; - ;; * langtools tests: - ;; FAILED: com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java - ;; FAILED: tools/javac/6627362/T6627362.java - ;; FAILED: tools/javac/7003595/T7003595.java - ;; FAILED: tools/javac/7024568/T7024568.java - ;; FAILED: tools/javap/4111861/T4111861.java - ;; FAILED: tools/javap/ListTest.java - ;; FAILED: tools/javap/OptionTest.java - ;; FAILED: tools/javap/T4884240.java - ;; FAILED: tools/javap/T4975569.java - ;; --> fails because of insignificant whitespace differences - ;; in output of javap - ;; FAILED: tools/javap/T6868539.java - ;; => Test results: passed: 1,445; failed: 10 - ;; - ;; * JDK tests: - ;; Tests are incomplete because of a segfault after this test: - ;; javax/crypto/spec/RC5ParameterSpec/RC5ParameterSpecEquals.java - ;; A bug report has already been filed upstream: - ;; http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2188 - ;; - ;; The tests require xvfb-run, a wrapper script around Xvfb, which - ;; has not been packaged yet. Without it many AWT tests fail, so I - ;; made no attempts to make a list of failing JDK tests. At least - ;; 222 tests are failing of which at least 132 are AWT tests. - #:tests? #f - - ;; The DSOs use $ORIGIN to refer to each other, but (guix build - ;; gremlin) doesn't support it yet, so skip this phase. - #:validate-runpath? #f - - #:modules ((guix build utils) - (guix build gnu-build-system) - (ice-9 popen) - (ice-9 rdelim) - (srfi srfi-19)) - - #:configure-flags - (let* ((gcjdir (assoc-ref %build-inputs "gcj")) - (ecj (string-append gcjdir "/share/java/ecj.jar")) - (jdk (string-append gcjdir "/lib/jvm/")) - (gcj (string-append gcjdir "/bin/gcj"))) - `("--enable-bootstrap" - "--enable-nss" - "--without-rhino" - "--disable-downloading" - "--disable-tests" ;they are run in the check phase instead - "--with-openjdk-src-dir=./openjdk.src" - ,(string-append "--with-javac=" jdk "/bin/javac") - ,(string-append "--with-ecj-jar=" ecj) - ,(string-append "--with-gcj=" gcj) - ,(string-append "--with-jdk-home=" jdk) - ,(string-append "--with-java=" jdk "/bin/java"))) - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda* (#:key source inputs #:allow-other-keys) - (and (zero? (system* "tar" "xvf" source)) - (begin - (chdir (string-append "icedtea6-" ,version)) - (mkdir "openjdk.src") - (with-directory-excursion "openjdk.src" - (copy-file (assoc-ref inputs "openjdk6-src") - "openjdk6-src.tar.xz") - (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz"))))))) - (add-after 'unpack 'patch-patches - (lambda _ - ;; shebang in patches so that they apply cleanly - (substitute* '("patches/jtreg-jrunscript.patch" - "patches/hotspot/hs23/drop_unlicensed_test.patch") - (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) - (add-after 'unpack 'patch-paths - (lambda _ - ;; buildtree.make generates shell scripts, so we need to replace - ;; the generated shebang - (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make") - (("/bin/sh") (which "bash"))) - - (let ((corebin (string-append - (assoc-ref %build-inputs "coreutils") "/bin/")) - (binbin (string-append - (assoc-ref %build-inputs "binutils") "/bin/")) - (grepbin (string-append - (assoc-ref %build-inputs "grep") "/bin/"))) - (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk" - "openjdk.src/corba/make/common/shared/Defs-linux.gmk") - (("UNIXCOMMAND_PATH = /bin/") - (string-append "UNIXCOMMAND_PATH = " corebin)) - (("USRBIN_PATH = /usr/bin/") - (string-append "USRBIN_PATH = " corebin)) - (("DEVTOOLS_PATH *= */usr/bin/") - (string-append "DEVTOOLS_PATH = " corebin)) - (("COMPILER_PATH *= */usr/bin/") - (string-append "COMPILER_PATH = " - (assoc-ref %build-inputs "gcc") "/bin/")) - (("DEF_OBJCOPY *=.*objcopy") - (string-append "DEF_OBJCOPY = " (which "objcopy")))) - - ;; fix path to alsa header - (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" - (("ALSA_INCLUDE=/usr/include/alsa/version.h") - (string-append "ALSA_INCLUDE=" - (assoc-ref %build-inputs "alsa-lib") - "/include/alsa/version.h"))) - - ;; fix hard-coded utility paths - (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk" - "openjdk.src/corba/make/common/shared/Defs-utils.gmk") - (("ECHO *=.*echo") - (string-append "ECHO = " (which "echo"))) - (("^GREP *=.*grep") - (string-append "GREP = " (which "grep"))) - (("EGREP *=.*egrep") - (string-append "EGREP = " (which "egrep"))) - (("CPIO *=.*cpio") - (string-append "CPIO = " (which "cpio"))) - (("READELF *=.*readelf") - (string-append "READELF = " (which "readelf"))) - (("^ *AR *=.*ar") - (string-append "AR = " (which "ar"))) - (("^ *TAR *=.*tar") - (string-append "TAR = " (which "tar"))) - (("AS *=.*as") - (string-append "AS = " (which "as"))) - (("LD *=.*ld") - (string-append "LD = " (which "ld"))) - (("STRIP *=.*strip") - (string-append "STRIP = " (which "strip"))) - (("NM *=.*nm") - (string-append "NM = " (which "nm"))) - (("^SH *=.*sh") - (string-append "SH = " (which "bash"))) - (("^FIND *=.*find") - (string-append "FIND = " (which "find"))) - (("LDD *=.*ldd") - (string-append "LDD = " (which "ldd"))) - (("NAWK *=.*(n|g)awk") - (string-append "NAWK = " (which "gawk"))) - (("XARGS *=.*xargs") - (string-append "XARGS = " (which "xargs"))) - (("UNZIP *=.*unzip") - (string-append "UNZIP = " (which "unzip"))) - (("ZIPEXE *=.*zip") - (string-append "ZIPEXE = " (which "zip"))) - (("SED *=.*sed") - (string-append "SED = " (which "sed")))) - - ;; Some of these timestamps cause problems as they are more than - ;; 10 years ago, failing the build process. - (substitute* - "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties" - (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN") - (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN") - (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON") - (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY"))))) - (add-before 'configure 'set-additional-paths - (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcjdir (assoc-ref %build-inputs "gcj")) - (gcjlib (string-append gcjdir "/lib")) - ;; Get target-specific include directory so that - ;; libgcj-config.h is found when compiling hotspot. - (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include")) - (str (read-line port))) - (close-pipe port) - str))) - (setenv "CPATH" - (string-append gcjinclude ":" - (assoc-ref %build-inputs "libxrender") - "/include/X11/extensions" ":" - (assoc-ref %build-inputs "libxtst") - "/include/X11/extensions" ":" - (assoc-ref %build-inputs "libxinerama") - "/include/X11/extensions" ":" - (or (getenv "CPATH") ""))) - (setenv "ALT_CUPS_HEADERS_PATH" - (string-append (assoc-ref %build-inputs "cups") - "/include")) - (setenv "ALT_FREETYPE_HEADERS_PATH" - (string-append (assoc-ref %build-inputs "freetype") - "/include")) - (setenv "ALT_FREETYPE_LIB_PATH" - (string-append (assoc-ref %build-inputs "freetype") - "/lib"))))) - (add-before 'check 'fix-test-framework - (lambda _ - ;; Fix PATH in test environment - (substitute* "src/jtreg/com/sun/javatest/regtest/Main.java" - (("PATH=/bin:/usr/bin") - (string-append "PATH=" (getenv "PATH")))) - (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java" - (("/usr/bin/env") (which "env"))) - #t)) - (add-before 'check 'fix-hotspot-tests - (lambda _ - (with-directory-excursion "openjdk.src/hotspot/test/" - (substitute* "jprt.config" - (("PATH=\"\\$\\{path4sdk\\}\"") - (string-append "PATH=" (getenv "PATH"))) - (("make=/usr/bin/make") - (string-append "make=" (which "make")))) - (substitute* '("runtime/6626217/Test6626217.sh" - "runtime/7110720/Test7110720.sh") - (("/bin/rm") (which "rm")) - (("/bin/cp") (which "cp")) - (("/bin/mv") (which "mv")))) - #t)) - (add-before 'check 'fix-jdk-tests - (lambda _ - (with-directory-excursion "openjdk.src/jdk/test/" - (substitute* "com/sun/jdi/JdbReadTwiceTest.sh" - (("/bin/pwd") (which "pwd"))) - (substitute* "com/sun/jdi/ShellScaffold.sh" - (("/bin/kill") (which "kill"))) - (substitute* "start-Xvfb.sh" - ;;(("/usr/bin/X11/Xvfb") (which "Xvfb")) - (("/usr/bin/nohup") (which "nohup"))) - (substitute* "javax/security/auth/Subject/doAs/Test.sh" - (("/bin/rm") (which "rm"))) - (substitute* "tools/launcher/MultipleJRE.sh" - (("echo \"#!/bin/sh\"") - (string-append "echo \"#!" (which "rm") "\"")) - (("/usr/bin/zip") (which "zip"))) - (substitute* "com/sun/jdi/OnThrowTest.java" - (("#!/bin/sh") (string-append "#!" (which "sh")))) - (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java" - (("/usr/bin/uptime") (which "uptime"))) - (substitute* "java/lang/ProcessBuilder/Basic.java" - (("/usr/bin/env") (which "env")) - (("/bin/false") (which "false")) - (("/bin/true") (which "true")) - (("/bin/cp") (which "cp")) - (("/bin/sh") (which "sh"))) - (substitute* "java/lang/ProcessBuilder/FeelingLucky.java" - (("/bin/sh") (which "sh"))) - (substitute* "java/lang/ProcessBuilder/Zombies.java" - (("/usr/bin/perl") (which "perl")) - (("/bin/ps") (which "ps")) - (("/bin/true") (which "true"))) - (substitute* "java/lang/Runtime/exec/ConcurrentRead.java" - (("/usr/bin/tee") (which "tee"))) - (substitute* "java/lang/Runtime/exec/ExecWithDir.java" - (("/bin/true") (which "true"))) - (substitute* "java/lang/Runtime/exec/ExecWithInput.java" - (("/bin/cat") (which "cat"))) - (substitute* "java/lang/Runtime/exec/ExitValue.java" - (("/bin/sh") (which "sh")) - (("/bin/true") (which "true")) - (("/bin/kill") (which "kill"))) - (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java" - (("/usr/bin/echo") (which "echo"))) - (substitute* "java/lang/Runtime/exec/LotsOfOutput.java" - (("/usr/bin/cat") (which "cat"))) - (substitute* "java/lang/Runtime/exec/SleepyCat.java" - (("/bin/cat") (which "cat")) - (("/bin/sleep") (which "sleep")) - (("/bin/sh") (which "sh"))) - (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java" - (("/bin/cat") (which "cat"))) - (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java" - (("/bin/chmod") (which "chmod"))) - (substitute* "java/util/zip/ZipFile/Assortment.java" - (("/bin/sh") (which "sh")))) - #t)) - (replace 'check - (lambda _ - ;; The "make check-*" targets always return zero, so we need to - ;; check for errors in the associated log files to determine - ;; whether any tests have failed. - (use-modules (ice-9 rdelim)) - (let* ((error-pattern (make-regexp "^(Error|FAILED):.*")) - (checker (lambda (port) - (let loop () - (let ((line (read-line port))) - (cond - ((eof-object? line) #t) - ((regexp-exec error-pattern line) #f) - (else (loop))))))) - (run-test (lambda (test) - (system* "make" test) - (call-with-input-file - (string-append "test/" test ".log") - checker)))) - (or #t ; skip tests - (and (run-test "check-hotspot") - (run-test "check-langtools") - (run-test "check-jdk")))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/icedtea")) - (jre (assoc-ref outputs "out")) - (jdk (assoc-ref outputs "jdk"))) - (copy-recursively "openjdk.build/docs" doc) - (copy-recursively "openjdk.build/j2re-image" jre) - (copy-recursively "openjdk.build/j2sdk-image" jdk)))) - ;; By default IcedTea only generates an empty keystore. In order to - ;; be able to use certificates in Java programs we need to generate a - ;; keystore from a set of certificates. For convenience we use the - ;; certificates from the nss-certs package. - (add-after 'install 'install-keystore - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((keystore "cacerts") - (certs-dir (string-append (assoc-ref inputs "nss-certs") - "/etc/ssl/certs")) - (keytool (string-append (assoc-ref outputs "jdk") - "/bin/keytool"))) - (define (extract-cert file target) - (call-with-input-file file - (lambda (in) - (call-with-output-file target - (lambda (out) - (let loop ((line (read-line in 'concat)) - (copying? #f)) - (cond - ((eof-object? line) #t) - ((string-prefix? "-----BEGIN" line) - (display line out) - (loop (read-line in 'concat) #t)) - ((string-prefix? "-----END" line) - (display line out) - #t) - (else - (when copying? (display line out)) - (loop (read-line in 'concat) copying?))))))))) - (define (import-cert cert) - (format #t "Importing certificate ~a\n" (basename cert)) - (let ((temp "tmpcert")) - (extract-cert cert temp) - (let ((port (open-pipe* OPEN_WRITE keytool - "-import" - "-alias" (basename cert) - "-keystore" keystore - "-storepass" "changeit" - "-file" temp))) - (display "yes\n" port) - (when (not (zero? (status:exit-val (close-pipe port)))) - (error "failed to import" cert))) - (delete-file temp))) - - ;; This is necessary because the certificate directory contains - ;; files with non-ASCII characters in their names. - (setlocale LC_ALL "en_US.utf8") - (setenv "LC_ALL" "en_US.utf8") - - (for-each import-cert (find-files certs-dir "\\.pem$")) - (mkdir-p (string-append (assoc-ref outputs "out") - "/lib/security")) - (mkdir-p (string-append (assoc-ref outputs "jdk") - "/jre/lib/security")) - (install-file keystore - (string-append (assoc-ref outputs "out") - "/lib/security")) - (install-file keystore - (string-append (assoc-ref outputs "jdk") - "/jre/lib/security")) - #t)))))) - (native-inputs - `(("ant" ,ant) - ("alsa-lib" ,alsa-lib) - ("attr" ,attr) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("coreutils" ,coreutils) - ("diffutils" ,diffutils) ;for tests - ("gawk" ,gawk) - ("grep" ,grep) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("cups" ,cups) - ("wget" ,wget) - ("which" ,which) - ("cpio" ,cpio) - ("zip" ,zip) - ("unzip" ,unzip) - ("fastjar" ,fastjar) - ("libxslt" ,libxslt) ;for xsltproc - ("mit-krb5" ,mit-krb5) - ("nss" ,nss) - ("nss-certs" ,nss-certs) - ("libx11" ,libx11) - ("libxcomposite" ,libxcomposite) - ("libxt" ,libxt) - ("libxtst" ,libxtst) - ("libxi" ,libxi) - ("libxinerama" ,libxinerama) - ("libxrender" ,libxrender) - ("libjpeg" ,libjpeg) - ("libpng" ,libpng) - ("giflib" ,giflib) - ("perl" ,perl) - ("procps" ,procps) ;for "free", even though I'm not sure we should use it - ("openjdk6-src" - ,(origin - (method url-fetch) - (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b41-04_jan_2017.tar.xz") - (sha256 - (base32 - "058szix0j280g14jzajvsixx1j2dxmc10r848f5swpy6rr8x8d4f")))) - ("lcms" ,lcms) - ("zlib" ,zlib) - ("gtk" ,gtk+-2) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("gcj" ,gcj))) - (home-page "http://icedtea.classpath.org") - (synopsis "Java development kit") - (description - "The OpenJDK built with the IcedTea build harness.") - ;; IcedTea is released under the GPL2 + Classpath exception, which is the - ;; same license as both GNU Classpath and OpenJDK. - (license license:gpl2+))) - (define-public icedtea-7 (let* ((version "2.6.9") (drop (lambda (name hash) @@ -791,7 +344,8 @@ build process and its dependencies, whereas Make uses Makefile format.") "http://icedtea.classpath.org/download/drops/" "/icedtea7/" version "/" name ".tar.bz2")) (sha256 (base32 hash)))))) - (package (inherit icedtea-6) + (package + (name "icedtea") (version version) (source (origin (method url-fetch) @@ -810,6 +364,10 @@ build process and its dependencies, whereas Make uses Makefile format.") ;; do not leak information about the build host (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) + (build-system gnu-build-system) + (outputs '("out" ; Java Runtime Environment + "jdk" ; Java Development Kit + "doc")) ; all documentation (arguments `(;; There are many test failures. Some are known to ;; fail upstream, others relate to not having an X @@ -820,110 +378,390 @@ build process and its dependencies, whereas Make uses Makefile format.") ;; langtools: passed: 1,934; failed: 26 ;; jdk: unknown #:tests? #f + + ;; The DSOs use $ORIGIN to refer to each other, but (guix build + ;; gremlin) doesn't support it yet, so skip this phase. + #:validate-runpath? #f + ;; Apparently, the C locale is needed for some of the tests. #:locale "C" - ,@(substitute-keyword-arguments (package-arguments icedtea-6) - ((#:modules modules) - `((ice-9 match) - (srfi srfi-26) - ,@modules)) - ((#:configure-flags flags) - ;; TODO: package pcsc and sctp, and add to inputs - `(append '("--disable-system-pcsc" - "--disable-system-sctp") - ,flags)) - ((#:phases phases) - `(modify-phases ,phases - (replace 'unpack - (lambda* (#:key source inputs #:allow-other-keys) - (let ((target (string-append "icedtea-" ,version)) - (unpack (lambda* (name #:optional dir) - (let ((dir (or dir - (string-drop-right name 5)))) - (mkdir dir) - (zero? (system* "tar" "xvf" - (assoc-ref inputs name) - "-C" dir - "--strip-components=1")))))) - (mkdir target) - (and - (zero? (system* "tar" "xvf" source - "-C" target "--strip-components=1")) - (chdir target) - (unpack "openjdk-src" "openjdk.src") - (with-directory-excursion "openjdk.src" - (for-each unpack - (filter (cut string-suffix? "-drop" <>) - (map (match-lambda - ((name . _) name)) - inputs)))) - #t)))) - (replace - 'set-additional-paths - (lambda* (#:key inputs #:allow-other-keys) - (let (;; Get target-specific include directory so that - ;; libgcj-config.h is found when compiling hotspot. - (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include")) - (str (read-line port))) - (close-pipe port) - str))) - (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" - (("ALSA_INCLUDE=/usr/include/alsa/version.h") - (string-append "ALSA_INCLUDE=" - (assoc-ref inputs "alsa-lib") - "/include/alsa/version.h"))) - (setenv "CC" "gcc") - (setenv "CPATH" - (string-append gcjinclude ":" - (assoc-ref inputs "libxcomposite") - "/include/X11/extensions" ":" - (assoc-ref inputs "libxrender") - "/include/X11/extensions" ":" - (assoc-ref inputs "libxtst") - "/include/X11/extensions" ":" - (assoc-ref inputs "libxinerama") - "/include/X11/extensions" ":" - (or (getenv "CPATH") ""))) - (setenv "ALT_OBJCOPY" (which "objcopy")) - (setenv "ALT_CUPS_HEADERS_PATH" - (string-append (assoc-ref inputs "cups") - "/include")) - (setenv "ALT_FREETYPE_HEADERS_PATH" - (string-append (assoc-ref inputs "freetype") - "/include")) - (setenv "ALT_FREETYPE_LIB_PATH" - (string-append (assoc-ref inputs "freetype") - "/lib"))))) - (add-after - 'unpack 'fix-x11-extension-include-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk" - (((string-append "\\$\\(firstword \\$\\(wildcard " - "\\$\\(OPENWIN_HOME\\)" - "/include/X11/extensions\\).*$")) - (string-append (assoc-ref inputs "libxrender") - "/include/X11/extensions" - " -I" (assoc-ref inputs "libxtst") - "/include/X11/extensions" - " -I" (assoc-ref inputs "libxinerama") - "/include/X11/extensions")) - (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") "")) - #t)) - (replace - 'fix-test-framework - (lambda _ - ;; Fix PATH in test environment - (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java" - (("PATH=/bin:/usr/bin") - (string-append "PATH=" (getenv "PATH")))) - (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java" - (("/usr/bin/env") (which "env"))) - (substitute* "openjdk.src/hotspot/test/test_env.sh" - (("/bin/rm") (which "rm")) - (("/bin/cp") (which "cp")) - (("/bin/mv") (which "mv"))) - #t)) - (delete 'patch-patches)))))) + + #:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 match) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-19) + (srfi srfi-26)) + + #:configure-flags + (let* ((gcjdir (assoc-ref %build-inputs "gcj")) + (ecj (string-append gcjdir "/share/java/ecj.jar")) + (jdk (string-append gcjdir "/lib/jvm/")) + (gcj (string-append gcjdir "/bin/gcj"))) + ;; TODO: package pcsc and sctp, and add to inputs + `("--disable-system-pcsc" + "--disable-system-sctp" + "--enable-bootstrap" + "--enable-nss" + "--without-rhino" + "--disable-downloading" + "--disable-tests" ;they are run in the check phase instead + "--with-openjdk-src-dir=./openjdk.src" + ,(string-append "--with-javac=" jdk "/bin/javac") + ,(string-append "--with-ecj-jar=" ecj) + ,(string-append "--with-gcj=" gcj) + ,(string-append "--with-jdk-home=" jdk) + ,(string-append "--with-java=" jdk "/bin/java"))) + + #:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source inputs #:allow-other-keys) + (let ((target (string-append "icedtea-" ,version)) + (unpack (lambda* (name #:optional dir) + (let ((dir (or dir + (string-drop-right name 5)))) + (mkdir dir) + (zero? (system* "tar" "xvf" + (assoc-ref inputs name) + "-C" dir + "--strip-components=1")))))) + (mkdir target) + (and + (zero? (system* "tar" "xvf" source + "-C" target "--strip-components=1")) + (chdir target) + (unpack "openjdk-src" "openjdk.src") + (with-directory-excursion "openjdk.src" + (for-each unpack + (filter (cut string-suffix? "-drop" <>) + (map (match-lambda + ((name . _) name)) + inputs)))) + #t)))) + (add-after 'unpack 'fix-x11-extension-include-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk" + (((string-append "\\$\\(firstword \\$\\(wildcard " + "\\$\\(OPENWIN_HOME\\)" + "/include/X11/extensions\\).*$")) + (string-append (assoc-ref inputs "libxrender") + "/include/X11/extensions" + " -I" (assoc-ref inputs "libxtst") + "/include/X11/extensions" + " -I" (assoc-ref inputs "libxinerama") + "/include/X11/extensions")) + (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") "")) + #t)) + (add-after 'unpack 'patch-paths + (lambda _ + ;; buildtree.make generates shell scripts, so we need to replace + ;; the generated shebang + (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make") + (("/bin/sh") (which "bash"))) + + (let ((corebin (string-append + (assoc-ref %build-inputs "coreutils") "/bin/")) + (binbin (string-append + (assoc-ref %build-inputs "binutils") "/bin/")) + (grepbin (string-append + (assoc-ref %build-inputs "grep") "/bin/"))) + (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk" + "openjdk.src/corba/make/common/shared/Defs-linux.gmk") + (("UNIXCOMMAND_PATH = /bin/") + (string-append "UNIXCOMMAND_PATH = " corebin)) + (("USRBIN_PATH = /usr/bin/") + (string-append "USRBIN_PATH = " corebin)) + (("DEVTOOLS_PATH *= */usr/bin/") + (string-append "DEVTOOLS_PATH = " corebin)) + (("COMPILER_PATH *= */usr/bin/") + (string-append "COMPILER_PATH = " + (assoc-ref %build-inputs "gcc") "/bin/")) + (("DEF_OBJCOPY *=.*objcopy") + (string-append "DEF_OBJCOPY = " (which "objcopy")))) + + ;; fix path to alsa header + (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" + (("ALSA_INCLUDE=/usr/include/alsa/version.h") + (string-append "ALSA_INCLUDE=" + (assoc-ref %build-inputs "alsa-lib") + "/include/alsa/version.h"))) + + ;; fix hard-coded utility paths + (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk" + "openjdk.src/corba/make/common/shared/Defs-utils.gmk") + (("ECHO *=.*echo") + (string-append "ECHO = " (which "echo"))) + (("^GREP *=.*grep") + (string-append "GREP = " (which "grep"))) + (("EGREP *=.*egrep") + (string-append "EGREP = " (which "egrep"))) + (("CPIO *=.*cpio") + (string-append "CPIO = " (which "cpio"))) + (("READELF *=.*readelf") + (string-append "READELF = " (which "readelf"))) + (("^ *AR *=.*ar") + (string-append "AR = " (which "ar"))) + (("^ *TAR *=.*tar") + (string-append "TAR = " (which "tar"))) + (("AS *=.*as") + (string-append "AS = " (which "as"))) + (("LD *=.*ld") + (string-append "LD = " (which "ld"))) + (("STRIP *=.*strip") + (string-append "STRIP = " (which "strip"))) + (("NM *=.*nm") + (string-append "NM = " (which "nm"))) + (("^SH *=.*sh") + (string-append "SH = " (which "bash"))) + (("^FIND *=.*find") + (string-append "FIND = " (which "find"))) + (("LDD *=.*ldd") + (string-append "LDD = " (which "ldd"))) + (("NAWK *=.*(n|g)awk") + (string-append "NAWK = " (which "gawk"))) + (("XARGS *=.*xargs") + (string-append "XARGS = " (which "xargs"))) + (("UNZIP *=.*unzip") + (string-append "UNZIP = " (which "unzip"))) + (("ZIPEXE *=.*zip") + (string-append "ZIPEXE = " (which "zip"))) + (("SED *=.*sed") + (string-append "SED = " (which "sed")))) + + ;; Some of these timestamps cause problems as they are more than + ;; 10 years ago, failing the build process. + (substitute* + "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties" + (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN") + (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN") + (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON") + (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY"))) + #t)) + (add-before 'configure 'set-additional-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ( ;; Get target-specific include directory so that + ;; libgcj-config.h is found when compiling hotspot. + (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include")) + (str (read-line port))) + (close-pipe port) + str))) + (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" + (("ALSA_INCLUDE=/usr/include/alsa/version.h") + (string-append "ALSA_INCLUDE=" + (assoc-ref inputs "alsa-lib") + "/include/alsa/version.h"))) + (setenv "CC" "gcc") + (setenv "CPATH" + (string-append gcjinclude ":" + (assoc-ref inputs "libxcomposite") + "/include/X11/extensions" ":" + (assoc-ref inputs "libxrender") + "/include/X11/extensions" ":" + (assoc-ref inputs "libxtst") + "/include/X11/extensions" ":" + (assoc-ref inputs "libxinerama") + "/include/X11/extensions" ":" + (or (getenv "CPATH") ""))) + (setenv "ALT_OBJCOPY" (which "objcopy")) + (setenv "ALT_CUPS_HEADERS_PATH" + (string-append (assoc-ref inputs "cups") + "/include")) + (setenv "ALT_FREETYPE_HEADERS_PATH" + (string-append (assoc-ref inputs "freetype") + "/include")) + (setenv "ALT_FREETYPE_LIB_PATH" + (string-append (assoc-ref inputs "freetype") + "/lib"))) + #t)) + (add-before 'check 'fix-test-framework + (lambda _ + ;; Fix PATH in test environment + (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java" + (("PATH=/bin:/usr/bin") + (string-append "PATH=" (getenv "PATH")))) + (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java" + (("/usr/bin/env") (which "env"))) + (substitute* "openjdk.src/hotspot/test/test_env.sh" + (("/bin/rm") (which "rm")) + (("/bin/cp") (which "cp")) + (("/bin/mv") (which "mv"))) + #t)) + (add-before 'check 'fix-hotspot-tests + (lambda _ + (with-directory-excursion "openjdk.src/hotspot/test/" + (substitute* "jprt.config" + (("PATH=\"\\$\\{path4sdk\\}\"") + (string-append "PATH=" (getenv "PATH"))) + (("make=/usr/bin/make") + (string-append "make=" (which "make")))) + (substitute* '("runtime/6626217/Test6626217.sh" + "runtime/7110720/Test7110720.sh") + (("/bin/rm") (which "rm")) + (("/bin/cp") (which "cp")) + (("/bin/mv") (which "mv")))) + #t)) + (add-before 'check 'fix-jdk-tests + (lambda _ + (with-directory-excursion "openjdk.src/jdk/test/" + (substitute* "com/sun/jdi/JdbReadTwiceTest.sh" + (("/bin/pwd") (which "pwd"))) + (substitute* "com/sun/jdi/ShellScaffold.sh" + (("/bin/kill") (which "kill"))) + (substitute* "start-Xvfb.sh" + ;;(("/usr/bin/X11/Xvfb") (which "Xvfb")) + (("/usr/bin/nohup") (which "nohup"))) + (substitute* "javax/security/auth/Subject/doAs/Test.sh" + (("/bin/rm") (which "rm"))) + (substitute* "tools/launcher/MultipleJRE.sh" + (("echo \"#!/bin/sh\"") + (string-append "echo \"#!" (which "rm") "\"")) + (("/usr/bin/zip") (which "zip"))) + (substitute* "com/sun/jdi/OnThrowTest.java" + (("#!/bin/sh") (string-append "#!" (which "sh")))) + (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java" + (("/usr/bin/uptime") (which "uptime"))) + (substitute* "java/lang/ProcessBuilder/Basic.java" + (("/usr/bin/env") (which "env")) + (("/bin/false") (which "false")) + (("/bin/true") (which "true")) + (("/bin/cp") (which "cp")) + (("/bin/sh") (which "sh"))) + (substitute* "java/lang/ProcessBuilder/FeelingLucky.java" + (("/bin/sh") (which "sh"))) + (substitute* "java/lang/ProcessBuilder/Zombies.java" + (("/usr/bin/perl") (which "perl")) + (("/bin/ps") (which "ps")) + (("/bin/true") (which "true"))) + (substitute* "java/lang/Runtime/exec/ConcurrentRead.java" + (("/usr/bin/tee") (which "tee"))) + (substitute* "java/lang/Runtime/exec/ExecWithDir.java" + (("/bin/true") (which "true"))) + (substitute* "java/lang/Runtime/exec/ExecWithInput.java" + (("/bin/cat") (which "cat"))) + (substitute* "java/lang/Runtime/exec/ExitValue.java" + (("/bin/sh") (which "sh")) + (("/bin/true") (which "true")) + (("/bin/kill") (which "kill"))) + (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java" + (("/usr/bin/echo") (which "echo"))) + (substitute* "java/lang/Runtime/exec/LotsOfOutput.java" + (("/usr/bin/cat") (which "cat"))) + (substitute* "java/lang/Runtime/exec/SleepyCat.java" + (("/bin/cat") (which "cat")) + (("/bin/sleep") (which "sleep")) + (("/bin/sh") (which "sh"))) + (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java" + (("/bin/cat") (which "cat"))) + (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java" + (("/bin/chmod") (which "chmod"))) + (substitute* "java/util/zip/ZipFile/Assortment.java" + (("/bin/sh") (which "sh")))) + #t)) + (replace 'check + (lambda _ + ;; The "make check-*" targets always return zero, so we need to + ;; check for errors in the associated log files to determine + ;; whether any tests have failed. + (use-modules (ice-9 rdelim)) + (let* ((error-pattern (make-regexp "^(Error|FAILED):.*")) + (checker (lambda (port) + (let loop () + (let ((line (read-line port))) + (cond + ((eof-object? line) #t) + ((regexp-exec error-pattern line) #f) + (else (loop))))))) + (run-test (lambda (test) + (system* "make" test) + (call-with-input-file + (string-append "test/" test ".log") + checker)))) + (or #t ; skip tests + (and (run-test "check-hotspot") + (run-test "check-langtools") + (run-test "check-jdk")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/icedtea")) + (jre (assoc-ref outputs "out")) + (jdk (assoc-ref outputs "jdk"))) + (copy-recursively "openjdk.build/docs" doc) + (copy-recursively "openjdk.build/j2re-image" jre) + (copy-recursively "openjdk.build/j2sdk-image" jdk)) + #t)) + ;; By default IcedTea only generates an empty keystore. In order to + ;; be able to use certificates in Java programs we need to generate a + ;; keystore from a set of certificates. For convenience we use the + ;; certificates from the nss-certs package. + (add-after 'install 'install-keystore + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((keystore "cacerts") + (certs-dir (string-append (assoc-ref inputs "nss-certs") + "/etc/ssl/certs")) + (keytool (string-append (assoc-ref outputs "jdk") + "/bin/keytool"))) + (define (extract-cert file target) + (call-with-input-file file + (lambda (in) + (call-with-output-file target + (lambda (out) + (let loop ((line (read-line in 'concat)) + (copying? #f)) + (cond + ((eof-object? line) #t) + ((string-prefix? "-----BEGIN" line) + (display line out) + (loop (read-line in 'concat) #t)) + ((string-prefix? "-----END" line) + (display line out) + #t) + (else + (when copying? (display line out)) + (loop (read-line in 'concat) copying?))))))))) + (define (import-cert cert) + (format #t "Importing certificate ~a\n" (basename cert)) + (let ((temp "tmpcert")) + (extract-cert cert temp) + (let ((port (open-pipe* OPEN_WRITE keytool + "-import" + "-alias" (basename cert) + "-keystore" keystore + "-storepass" "changeit" + "-file" temp))) + (display "yes\n" port) + (when (not (zero? (status:exit-val (close-pipe port)))) + (format #t "failed to import ~a\n" cert))) + (delete-file temp))) + + ;; This is necessary because the certificate directory contains + ;; files with non-ASCII characters in their names. + (setlocale LC_ALL "en_US.utf8") + (setenv "LC_ALL" "en_US.utf8") + + (for-each import-cert (find-files certs-dir "\\.pem$")) + (mkdir-p (string-append (assoc-ref outputs "out") + "/lib/security")) + (mkdir-p (string-append (assoc-ref outputs "jdk") + "/jre/lib/security")) + + ;; The cacerts files we are going to overwrite are chmod'ed as + ;; read-only (444) in icedtea-8 (which derives from this + ;; package). We have to change this so we can overwrite them. + (chmod (string-append (assoc-ref outputs "out") + "/lib/security/" keystore) #o644) + (chmod (string-append (assoc-ref outputs "jdk") + "/jre/lib/security/" keystore) #o644) + + (install-file keystore + (string-append (assoc-ref outputs "out") + "/lib/security")) + (install-file keystore + (string-append (assoc-ref outputs "jdk") + "/jre/lib/security")) + #t)))))) (native-inputs `(("openjdk-src" ,(drop "openjdk" @@ -946,11 +784,55 @@ build process and its dependencies, whereas Make uses Makefile format.") ("hotspot-drop" ,(drop "hotspot" "16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl")) - ,@(fold alist-delete (package-native-inputs icedtea-6) - '("openjdk6-src")))) + ("ant" ,ant) + ("attr" ,attr) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("coreutils" ,coreutils) + ("diffutils" ,diffutils) ;for tests + ("gawk" ,gawk) + ("grep" ,grep) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("wget" ,wget) + ("which" ,which) + ("cpio" ,cpio) + ("zip" ,zip) + ("unzip" ,unzip) + ("fastjar" ,fastjar) + ("libxslt" ,libxslt) ;for xsltproc + ("nss-certs" ,nss-certs) + ("perl" ,perl) + ("procps" ,procps) ;for "free", even though I'm not sure we should use it + ("gcj" ,gcj))) (inputs - `(("libxcomposite" ,libxcomposite) - ,@(package-inputs icedtea-6)))))) + `(("alsa-lib" ,alsa-lib) + ("cups" ,cups) + ("libx11" ,libx11) + ("libxcomposite" ,libxcomposite) + ("libxt" ,libxt) + ("libxtst" ,libxtst) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) + ("libxrender" ,libxrender) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("mit-krb5" ,mit-krb5) + ("nss" ,nss) + ("giflib" ,giflib) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("lcms" ,lcms) + ("zlib" ,zlib) + ("gtk" ,gtk+-2))) + (home-page "http://icedtea.classpath.org") + (synopsis "Java development kit") + (description + "This package provides the Java development kit OpenJDK built with the +IcedTea build harness.") + ;; IcedTea is released under the GPL2 + Classpath exception, which is the + ;; same license as both GNU Classpath and OpenJDK. + (license license:gpl2+)))) (define-public icedtea-8 (let* ((version "3.3.0") @@ -973,10 +855,15 @@ build process and its dependencies, whereas Make uses Makefile format.") "02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p")) (modules '((guix build utils))) (snippet - '(substitute* "Makefile.am" - ;; do not leak information about the build host - (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") - "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) + '(begin + (substitute* "acinclude.m4" + ;; Do not embed build time + (("(DIST_ID=\"Custom build).*$" _ prefix) + (string-append prefix "\"\n")) + ;; Do not leak information about the build host + (("DIST_NAME=\"\\$build_os\"") + "DIST_NAME=\"guix\"")) + #t)))) (arguments (substitute-keyword-arguments (package-arguments icedtea-7) ((#:configure-flags flags) @@ -1023,9 +910,6 @@ build process and its dependencies, whereas Make uses Makefile format.") (find-files "openjdk.src/jdk/src/solaris/native" "\\.c|\\.h")) #t))) - ;; FIXME: This phase is needed but fails with this version of - ;; IcedTea. - (delete 'install-keystore) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((doc (string-append (assoc-ref outputs "doc") diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index 52b9216827..fcc9cc8082 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -27,7 +27,7 @@ (define-public jemalloc (package (name "jemalloc") - (version "4.4.0") + (version "4.5.0") (source (origin (method url-fetch) (uri (string-append @@ -35,7 +35,7 @@ version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "0cxhhybcbi02szavlxzwhvmqvddi7kgy71qxz2nz3lhqjwzadbm7")))) + "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) (build-system gnu-build-system) (home-page "http://jemalloc.net/") (synopsis "General-purpose scalable concurrent malloc implementation") diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index e552a4ee38..dd5f7c4067 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -26,10 +26,13 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages autotools) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages tls)) (define-public libevent (package @@ -149,3 +152,78 @@ resolution, asynchronous file system operations, and threading primitives.") ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for ;; details. (license x11))) + +(define-public perl-anyevent + (package + (name "perl-anyevent") + (version "7.13") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" + "AnyEvent-" version ".tar.gz")) + (sha256 + (base32 + "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454")))) + (build-system perl-build-system) + (native-inputs + `(("perl-canary-stability" ,perl-canary-stability))) + (propagated-inputs + `(("perl-async-interrupt" ,perl-async-interrupt) + ("perl-ev" ,perl-ev) + ("perl-guard" ,perl-guard) + ("perl-json" ,perl-json) + ("perl-json-xs" ,perl-json-xs) + ("perl-net-ssleay" ,perl-net-ssleay) + ("perl-task-weaken" ,perl-task-weaken))) + (home-page "http://search.cpan.org/dist/AnyEvent") + (synopsis + "API for I/O, timer, signal, child process and completion events") + (description + "This module allows using a variety of events without forcing module +authors to pick a specific event loop, and without noticable overhead. +Currently supported event loops are EV, Event, Glib/Gtk2, Tk, Qt, +@code{Event::Lib}, Irssi, @code{IO::Async} and POE (and thus also WxWidgets +and Prima). It also comes with a very fast Pure Perl event loop that does +not rely on XS.") + (license (package-license perl)))) + +(define-public perl-ev + (package + (name "perl-ev") + (version "4.22") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-" + version ".tar.gz")) + (sha256 + (base32 + "14d9115q8f2ca2q3vbcalm55zqsbx8xjq5aj098laj9f9rrzirra")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Drop bundled libev. + (delete-file-recursively "libev") + #t)))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-libev + ;; This package requires the libev *sources* in order + ;; to build. Unpack system libev here... + (lambda* (#:key inputs #:allow-other-keys) + (mkdir "./libev") + (zero? (system* "tar" "-xf" (assoc-ref inputs "libev-source") + "-C" "./libev" "--strip-components=1"))))))) + (native-inputs + `(("libev-source" ,(package-source libev)) + ("perl-canary-stability" ,perl-canary-stability))) + (propagated-inputs + `(("perl-common-sense" ,perl-common-sense))) + (home-page "http://search.cpan.org/dist/EV") + (synopsis "Perl interface to libev") + (description + "This module provides an interface to @code{libev}, a high performance +full-featured event loop. It can be used through the @code{AnyEvent} module +and still be faster than other event loops currently supported in Perl.") + (license (package-license perl)))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index bc3e4d4079..d239d4e4c4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2016 Alex Kost <alezost@gmail.com> +;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -194,11 +194,10 @@ (define* (kernel-config arch #:key variant) "Return the absolute file name of the Linux-Libre build configuration file for ARCH and optionally VARIANT, or #f if there is no such configuration." - (let* ((name (string-append "linux-libre-" - (if variant (string-append variant "-") "") + (let* ((name (string-append (if variant (string-append variant "-") "") (if (string=? "i386" arch) "i686" arch) ".conf")) - (file (string-append "gnu/packages/" name))) - (search-path %load-path file))) + (file (string-append "linux-libre/" name))) + (search-auxiliary-file file))) (define %default-extra-linux-options `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html @@ -338,8 +337,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.10") -(define %linux-libre-hash "167zzgkivpqsp07did25wjqsswddzp3gifcdkq7xk00llxlmspla") +(define %linux-libre-version "4.10.1") +(define %linux-libre-hash "0mvwrjny1bjqyjqjxff9m97j48ybfdw8qpdazr5rwk12234v4k3d") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -1097,10 +1096,10 @@ allows a system administrator to make use of all iproute2 features, including traffic control. iproute2 is usually shipped in a package called iproute or iproute2 and -consists of several tools, of which the most important are ip and tc. ip -controls IPv4 and IPv6 configuration and tc stands for traffic control. Both -tools print detailed usage messages and are accompanied by a set of -manpages.") +consists of several tools, of which the most important are @command{ip} and +@command{tc}. @command{ip} controls IPv4 and IPv6 configuration and +@command{tc} stands for traffic control. Both tools print detailed usage +messages and are accompanied by a set of manpages.") (license license:gpl2+))) (define-public net-tools @@ -3230,7 +3229,7 @@ of flash storage.") (define-public libseccomp (package (name "libseccomp") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/seccomp/libseccomp/" @@ -3238,7 +3237,7 @@ of flash storage.") "/libseccomp-" version ".tar.gz")) (sha256 (base32 - "0asnlkzqms520r0dra08dzcz5hh6hs7lkajfw9wij3vrd0hxsnzz")))) + "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x")))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 80161de01b..647c64dcc7 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> -;;; Copyright © 2016 ng0 <ngillmann@runbox.com> +;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; @@ -37,16 +37,27 @@ #:use-module (guix build-system asdf) #:use-module (guix build-system trivial) #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages libffi) #:use-module (gnu packages libffcall) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) #:use-module (gnu packages libsigsegv) + #:use-module (gnu packages linux) #:use-module (gnu packages admin) #:use-module (gnu packages ed) + #:use-module (gnu packages gl) + #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) + #:use-module (gnu packages gettext) #:use-module (gnu packages m4) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages version-control) + #:use-module (gnu packages xorg) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -530,6 +541,69 @@ The core is 12 builtin special forms and 33 builtin functions.") (home-page "https://github.com/JeffBezanson/femtolisp") (license license:bsd-3)))) +(define-public lush2 + (package + (name "lush2") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/lush/lush2/lush-" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "src/unix.c" + (("\\{ \"LUSH_DATE\", __DATE__ \\},") "") + (("\\{ \"LUSH_TIME\", __TIME__ \\},") "")) + (substitute* "src/main.c" + (("\" \\(built \" __DATE__ \"\\)\"") "")))) + (sha256 + (base32 + "02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k")))) + (build-system gnu-build-system) + (arguments + `(;; We have to add these LIBS so that they are found. + #:configure-flags (list "LIBS=-lz" + "X_EXTRA_LIBS=-lfontconfig" + "--with-x") + #:tests? #f)) ; No make check. + (native-inputs `(("intltool" ,intltool))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("sdl" ,sdl) + ("sdl-image" ,sdl-image) + ("sdl-mixer" ,sdl-mixer) + ("sdl-net" ,sdl-net) + ("sdl-ttf" ,sdl-ttf) + ("lapack" ,lapack) + ("libxft" ,libxft) + ("fontconfig" ,fontconfig) + ("gsl" ,gsl) + ("openblas" ,openblas) + ("glu" ,glu) + ("mesa" ,mesa) + ("mesa-utils" ,mesa-utils) + ("binutils" ,binutils) + ("libiberty" ,libiberty) + ("readline" ,readline) + ("zlib" ,zlib) + ("gettext-minimal" ,gettext-minimal))) + (synopsis "Lisp Universal Shell") + (description + "Lush is an object-oriented Lisp interpreter/compiler with features +designed to please people who want to prototype large numerical +applications. Lush includes an extensive library of +vector/matrix/tensor manipulation, numerous numerical libraries +(including GSL, LAPACK, and BLAS), a set of graphic functions, a +simple GUI toolkit, and interfaces to various graphic and multimedia +libraries such as OpenGL, SDL, Video4Linux, and ALSA (video/audio +grabbing), and others. Lush is an ideal frontend script language for +programming projects written in C or other languages. Lush also has +libraries for Machine Learning, Neural Nets and statistical estimation.") + (home-page "http://lush.sourceforge.net/") + (license license:lgpl2.1+))) + (define-public sbcl-alexandria (let ((revision "1") (commit "926a066611b7b11cb71e26c827a271e500888c30")) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8651deefb5..b70597b84d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> @@ -214,14 +214,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.7.2") + (version "1.8.0") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" version ".tar.gz")) (sha256 (base32 - "1yazrl82s9fxmamnlvwmsxhwrxnwv6kwakgfmawda8ndhwb50lqm")) + "1axdcylyv0p194y6lj1jx127g5yc74zqzzxdc014cjw02bd1x125")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -267,6 +267,8 @@ operating systems.") (inputs `(("cyrus-sasl" ,cyrus-sasl) ("gdbm" ,gdbm) + ("lmdb" ,lmdb) + ("tokyocabinet" ,tokyocabinet) ("gpgme" ,gpgme) ("ncurses" ,ncurses) ("gnutls" ,gnutls) @@ -289,10 +291,11 @@ operating systems.") "--enable-gpgme" ;; database, implies header caching - "--without-tokyocabinet" + ;; neomutt supports building multiple backends + "--with-tokyocabinet" "--without-qdbm" "--without-bdb" - "--without-lmdb" + "--with-lmdb" "--with-gdbm" "--with-gnutls" @@ -659,14 +662,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.23.5") + (version "0.23.7") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "0ry2k9sdwd1vw8cf6svch8wk98523s07mwxvsf7b8kghqnrr89n6")))) + "04w90c43zk23pys6prkqb14al408qypifcfj2qznqpwlf46v26zi")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "V=1") ; Verbose test output. @@ -1955,3 +1958,38 @@ installation on systems where resources are limited. Its features include: @item Rich and customisable texts for automated operations. @end enumerate\n") (license license:expat))) + +(define-public blists + (package + (name "blists") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.openwall.net/pub/projects/" + "blists/blists-" version ".tar.gz")) + (sha256 + (base32 + "1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "bindex" bin) + (install-file "bit" bin) + #t)))))) + (home-page "http://www.openwall.com/blists/") + (synopsis "Web interface to mailing list archives") + (description + "Blists is a web interface to mailing list archives that works off +indexed mbox files. There are two programs: @code{bindex} and @code{bit}. +@code{bindex} generates or updates the index file (incremental updates +are supported). @code{bit} is a CGI/SSI program that generates web pages +on the fly. Both programs are written in C and are very fast.") + (license license:expat))) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 69c560c1b0..3763292fe4 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -202,7 +202,7 @@ automatically.") (define-public txt2man (package (name "txt2man") - (version "1.5.6") + (version "1.6.0") (source (origin (method url-fetch) @@ -211,7 +211,7 @@ automatically.") version ".tar.gz")) (sha256 (base32 - "0sjq687jknq65wbnjh2siq8hc09ydpnlmrkrnwl66mrhd4n9g7fz")))) + "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm index ae54b0b172..4a020198e4 100644 --- a/gnu/packages/markdown.scm +++ b/gnu/packages/markdown.scm @@ -104,7 +104,7 @@ convert it to structurally valid XHTML (or HTML).") (define-public cmark (package (name "cmark") - (version "0.26.1") + (version "0.27.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jgm/cmark/archive/" @@ -112,7 +112,7 @@ convert it to structurally valid XHTML (or HTML).") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1mpmcy4bbmc8m058zqs9dwx49lcfi7bdnfszsr9y66cwgylia1mm")))) + "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6")))) (build-system cmake-build-system) (arguments '(#:test-target "test")) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 18536c43ee..9533f5f0a8 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -83,6 +83,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages tbb) + #:use-module (gnu packages scheme) #:use-module (gnu packages shells) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) @@ -142,14 +143,14 @@ interactive dialogs to guide them.") (define-public coda (package (name "coda") - (version "2.17.3") + (version "2.18") (source (origin (method url-fetch) (uri (string-append "https://github.com/stcorp/coda/releases/download/" version "/coda-" version ".tar.gz")) (sha256 - (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h")) + (base32 "11asla1ap8vd73farqjlpb179sfiy0biydcwxjfcakrp9sf8v9bs")) (patches (search-patches "coda-use-system-libs.patch")) (modules '((guix build utils))) (snippet @@ -923,7 +924,7 @@ can solve two kinds of problems: (define-public octave (package (name "octave") - (version "4.2.0") + (version "4.2.1") (source (origin (method url-fetch) @@ -931,7 +932,7 @@ can solve two kinds of problems: version ".tar.lz")) (sha256 (base32 - "19vvliwxgip0af812vny5xy5r8kacyj7v62203mh4z2n3p14b78i")))) + "09zhhch79jw3ynw39vizx0i2cbd2bjz3sp38pjdzraqrbivpwp92")))) (build-system gnu-build-system) (inputs `(("lapack" ,lapack) @@ -2008,7 +2009,9 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "16.12.2") + ;; Versions 16.12.0 to 16.12.2 have a bug which causes output lines to + ;; overlap. See <https://debbugs.gnu.org/25793> + (version "16.04.2") (source (origin (method url-fetch) @@ -2016,7 +2019,7 @@ point numbers.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "0y22zhyhyxj2cbhzvs9c4pxr44i55ryfy5xi96d39bg2nbgs9h22")))) + "1fpqzk1921isiqrpgpf433ldq41924qs9sy99fl1zn5661b2l73n")))) (build-system gnu-build-system) (inputs `(("wxwidgets" ,wxwidgets) @@ -2956,3 +2959,54 @@ algorithm for LCS. It is a fast program to compute the approximate Longest Commons Subsequence of a set of strings.") (home-page "https://github.com/gdv/Reduce-Expand-for-LCS") (license license:gpl3+)))) + +(define-public jacal + (package + (name "jacal") + (version "1c4") + (source (origin + (method url-fetch) + (uri (string-append + "http://groups.csail.mit.edu/mac/ftpdir/scm/jacal-" + version ".zip")) + (sha256 (base32 + "055zrn12a1dmy0dqkwrkq3fklbhg3yir6vn0lacp4mvbg8573a3q")) + (patches (search-patches "jacal-fix-texinfo.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'pre-build + ;; Don't use upstream's script - it really doesn't fit into + ;; Guix's functional paradigm. + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "Makefile" + (("^install: install-script") "install: ")))) + (add-after 'install 'post-install + ;; Instead, we provide our own simplified script. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((wrapper (string-append (assoc-ref outputs "out") + "/bin/jacal"))) + (format (open wrapper (logior O_WRONLY O_CREAT)) + (string-append "#!~a\nexec ~a/bin/scm -ip1 " + "-e '(slib:load \"~a/lib/jacal/math\") " + "(math)' \"$@\"\n") + (which "bash") + (assoc-ref inputs "scm") + (assoc-ref outputs "out")) + (chmod wrapper #o555)))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out"))))))))) + (inputs `(("scm" ,scm))) + (native-inputs `(("unzip" ,unzip) + ("texinfo" ,texinfo))) + (synopsis "Symbolic mathematics system") + (description "GNU JACAL is an interactive symbolic mathematics program based on +Scheme. It manipulate and simplify a range of mathematical expressions such +as equations, scalars, vectors, and matrices.") + (home-page "http://www.gnu.org/software/jacal") + (license license:gpl3+))) + diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 5fafe78e2e..571770b459 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> ;;; ;;; This file is part of GNU Guix. @@ -29,7 +29,7 @@ (define-public nano (package (name "nano") - (version "2.7.4") + (version "2.7.5") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ version ".tar.gz")) (sha256 (base32 - "135wzlv77p9za8679j2jpfkpvainvyagrhkdxngp71ynabgc5zr3")))) + "01yrh66rph0vn9q9r2d2jji5yzaakxrj75j9fsm0g41m8qpy4sr2")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -45,7 +45,8 @@ (home-page "https://www.nano-editor.org/") (synopsis "Small, user-friendly console text editor") (description - "GNU Nano is a small and simple text editor. In addition to basic -editing, it supports interactive search and replace, go to line and column -number, auto-indentation and more.") + "GNU nano is a small and simple text editor for use in a terminal. Besides +basic editing, it supports: undo/redo, syntax highlighting, spell checking, +justifying, auto-indentation, bracket matching, interactive search-and-replace +(with regular expressions), and the editing of multiple files.") (license gpl3+))) ; some files are under GPLv2+ diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 240fa517e5..eb3047c81b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> +;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,7 +81,7 @@ (description "GNU MAC Changer is a utility for viewing and changing MAC addresses of networking devices. New addresses may be set explicitly or randomly. They can include MAC addresses of the same or other hardware vendors -or, more generally, MAC addresses of the same category of hardware.") +or, more generally, MAC addresses of the same category of hardware.") (license license:gpl2+))) (define-public miredo @@ -1119,3 +1120,24 @@ IPFIX, RSPAN, CLI, LACP, 802.1ag).") license:gpl2 ; datapath license:bsd-2 license:bsd-3 license:asl2.0)))) ; all other + +(define-public speedtest-cli + (package + (name "speedtest-cli") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ir9fqwr7cl9kfq7dgh9vkydkwf59wsx0cwbzbffw8i313xhzxa1")))) + (build-system python-build-system) + (home-page "https://github.com/sivel/speedtest-cli") + (synopsis "Internet bandwidth tester") + (description + "Command line interface for testing internet bandwidth using +speedtest.net.") + (license license:asl2.0))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 388368e2d3..c608f397dc 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -219,9 +219,9 @@ the Nix package manager.") ;; ;; Note: use a very short commit id; with a longer one, the limit on ;; hash-bang lines would be exceeded while running the tests. - (let ((commit "d9da3a757d3081403081577c4e07763c9b809043")) + (let ((commit "1162418ee88f155f6b14fd8926479c2176e40e76")) (package (inherit guix-0.12.0) - (version (string-append "0.12.0-4." (string-take commit 4))) + (version (string-append "0.12.0-5." (string-take commit 4))) (source (origin (method git-fetch) (uri (git-reference @@ -231,7 +231,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "17w9jdzm3lvfbchx7qrlkczp2jsfsi6v8cpfqh290cip5gxgz9bn")) + "16pxqbywhayazdgg9l19frigncmyq20j5fvaq4zgvm0iidndhfja")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.12.0) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 0a3b4b64e7..811173cae4 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -32,6 +32,7 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages aidc) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages glib) @@ -282,7 +283,7 @@ any X11 window.") (define-public password-store (package (name "password-store") - (version "1.6.5") + (version "1.7") (source (origin (method url-fetch) (uri @@ -290,7 +291,7 @@ any X11 window.") name "-" version ".tar.xz")) (sha256 (base32 - "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik")))) + "002mw7j0m33bw483rllzhcf41wp3ixka8yma6kqrfaj57jyw66hn")))) (build-system gnu-build-system) (arguments '(#:phases @@ -302,7 +303,7 @@ any X11 window.") (let ((out (assoc-ref outputs "out")) (path (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/bin")) - '("coreutils" "getopt" "git" "gnupg" "pwgen" + '("coreutils" "getopt" "git" "gnupg" "qrencode" "sed" "tree" "which" "xclip")))) (wrap-program (string-append out "/bin/pass") `("PATH" ":" prefix (,(string-join path ":")))) @@ -325,7 +326,7 @@ any X11 window.") `(("getopt" ,util-linux) ("git" ,git) ("gnupg" ,gnupg) - ("pwgen" ,pwgen) + ("qrencode" ,qrencode) ("sed" ,sed) ("tree" ,tree) ("which" ,which) diff --git a/gnu/packages/patches/jacal-fix-texinfo.patch b/gnu/packages/patches/jacal-fix-texinfo.patch new file mode 100644 index 0000000000..83e44a3164 --- /dev/null +++ b/gnu/packages/patches/jacal-fix-texinfo.patch @@ -0,0 +1,92 @@ +Fix the broken Texinfo in the Jacal package documentation + +--- jacal/jacal.texi,orig 2017-02-23 20:35:55.303980444 +0100 ++++ jacal/jacal.texi 2017-02-23 20:53:14.539024674 +0100 +@@ -343,7 +343,7 @@ + + With the standard input grammar, the precedence of @samp{-} as a prefix + behaves strangely. @code{a^-b*c} becomes @code{a^(-b*c)} while +-@code{@result{a^b*c} (a^b)*c}. ++@code{a^b*c @result{} (a^b)*c}. + + Using @code{divide} to divide a polynomial by an integer does not work. + +@@ -675,8 +675,9 @@ + e1: --------- + a + @end example ++@end deffn + +-@deffnx Command suchthat var exp ++@deffn Command suchthat var exp + + If an expression rather than an equation is given to @code{suchthat}, it + is as though the equation @code{@var{exp}=0} was given. +@@ -688,8 +689,9 @@ + e2: --------- + a + @end example ++@end deffn + +-@deffnx Operator | var exp_or_eqn ++@deffn Operator | var exp_or_eqn + + An alternative infix notation is also available for @code{suchthat}. + +@@ -857,8 +859,9 @@ + + Returns the degree of polynomial or equation @var{poly} in variable + @var{var}. ++@end deffn + +-@deffnx Operator degree poly ++@deffn Operator degree poly + + Returns the total-degree, the degree of its highest degree monomial, + of polynomial or equation @var{poly}. +@@ -1016,10 +1019,12 @@ + Returns @var{poly1} reduced with respect to @var{poly2} (or @var{eqn}) + and @var{var}. If @var{poly2} is univariate, the third argument is not + needed. ++@end deffn + +-@deffnx Command mod poly1 n ++@deffn Command mod poly1 n + Returns @var{poly1} with all the coefficients taken modulo @var{n}. +-@deffnx Command mod poly1 ++@end deffn ++@deffn Command mod poly1 + Returns @var{poly1} with all the coefficients taken modulo the + current modulus. + +@@ -1220,8 +1225,9 @@ + e1: -1 2 3 5 + @end group + @end example ++@end deffn + +-@deffnx Command factor polyratio ++@deffn Command factor polyratio + Given a univariate ratio of polynomials @var{polyratio}, returns a + matrix of factors and exponents. + +@@ -2028,7 +2034,7 @@ + formed from the pair-wise products of components of the inputs. For + example, for the input tensors @code{x[a,b]} and @code{y[c]} + @example +-@result{z:tmult(x,y);} z[a,b,c] = x[a,b]*y[c] ++z:tmult(x,y); @result{} z[a,b,c] = x[a,b]*y[c] + @end example + + With an additional argument, @code{tmult} will produce the inner product +@@ -2464,8 +2470,9 @@ + If you do not wish to return to Jacal but really want to terminate the + session and return to the operating system, then after typing + @code{qed();}, type @code{(slib:exit)} or use @code{quit}. ++@end deffn + +-@deffnx Command quit ++@deffn Command quit + Exit directly from Jacal to the operating system. You will not be able + to continue your Jacal session. + diff --git a/gnu/packages/patches/mupdf-CVE-2017-5896.patch b/gnu/packages/patches/mupdf-CVE-2017-5896.patch new file mode 100644 index 0000000000..1537ecc896 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2017-5896.patch @@ -0,0 +1,63 @@ +Fix CVE-2017-5896: + +https://bugs.ghostscript.com/show_bug.cgi?id=697515 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5896 +http://www.openwall.com/lists/oss-security/2017/02/10/1 +https://security-tracker.debian.org/tracker/CVE-2017-5896 +https://blogs.gentoo.org/ago/2017/02/09/mupdf-use-after-free-in-fz_subsample_pixmap-pixmap-c/ + +Patch lifted from upstream source repository: + +http://git.ghostscript.com/?p=mupdf.git;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 + +From 2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 Mon Sep 17 00:00:00 2001 +From: Robin Watts <Robin.Watts@artifex.com> +Date: Thu, 9 Feb 2017 07:12:16 -0800 +Subject: [PATCH] bug 697515: Fix out of bounds read in fz_subsample_pixmap + +Pointer arithmetic for final special case was going wrong. +--- + source/fitz/pixmap.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c +index a8317127..f1291dc2 100644 +--- a/source/fitz/pixmap.c ++++ b/source/fitz/pixmap.c +@@ -1104,6 +1104,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor, + "@STACK:r1,<9>,factor,n,fwd,back,back2,fwd2,divX,back4,fwd4,fwd3,divY,back5,divXY\n" + "ldr r4, [r13,#4*22] @ r4 = divXY \n" + "ldr r5, [r13,#4*11] @ for (nn = n; nn > 0; n--) { \n" ++ "ldr r8, [r13,#4*17] @ r8 = back4 \n" + "18: @ \n" + "mov r14,#0 @ r14= v = 0 \n" + "sub r5, r5, r1, LSL #8 @ for (xx = x; xx > 0; x--) { \n" +@@ -1120,7 +1121,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor, + "mul r14,r4, r14 @ r14= v *= divX \n" + "mov r14,r14,LSR #16 @ r14= v >>= 16 \n" + "strb r14,[r9], #1 @ *d++ = r14 \n" +- "sub r0, r0, r8 @ s -= back2 \n" ++ "sub r0, r0, r8 @ s -= back4 \n" + "subs r5, r5, #1 @ n-- \n" + "bgt 18b @ } \n" + "21: @ \n" +@@ -1249,6 +1250,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor) + x += f; + if (x > 0) + { ++ int back4 = x * n - 1; + div = x * y; + for (nn = n; nn > 0; nn--) + { +@@ -1263,7 +1265,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor) + s -= back5; + } + *d++ = v / div; +- s -= back2; ++ s -= back4; + } + } + } +-- +2.12.0 + diff --git a/gnu/packages/patches/mupdf-CVE-2017-5991.patch b/gnu/packages/patches/mupdf-CVE-2017-5991.patch new file mode 100644 index 0000000000..1fa6dc3466 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2017-5991.patch @@ -0,0 +1,101 @@ +Fix CVE-2017-5991: + +https://bugs.ghostscript.com/show_bug.cgi?id=697500 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5991 +https://security-tracker.debian.org/tracker/CVE-2017-5991 + +Patch lifted from upstream source repository: + +http://git.ghostscript.com/?p=mupdf.git;h=1912de5f08e90af1d9d0a9791f58ba3afdb9d465 + +From 1912de5f08e90af1d9d0a9791f58ba3afdb9d465 Mon Sep 17 00:00:00 2001 +From: Robin Watts <robin.watts@artifex.com> +Date: Thu, 9 Feb 2017 15:49:15 +0000 +Subject: [PATCH] Bug 697500: Fix NULL ptr access. + +Cope better with errors during rendering - avoid letting the +gstate stack get out of sync. + +This avoids us ever getting into the situation of popping +a clip when we should be popping a mask or a group. This was +causing an unexpected case in the painting. +--- + source/pdf/pdf-op-run.c | 26 ++++++++++++++++++-------- + 1 file changed, 18 insertions(+), 8 deletions(-) + +diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c +index a3ea895d..f1eac8d3 100644 +--- a/source/pdf/pdf-op-run.c ++++ b/source/pdf/pdf-op-run.c +@@ -1213,6 +1213,7 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf + pdf_run_processor *pr = (pdf_run_processor *)proc; + pdf_gstate *gstate = NULL; + int oldtop = 0; ++ int oldbot = -1; + fz_matrix local_transform = *transform; + softmask_save softmask = { NULL }; + int gparent_save; +@@ -1232,16 +1233,17 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf + fz_var(cleanup_state); + fz_var(gstate); + fz_var(oldtop); ++ fz_var(oldbot); + + gparent_save = pr->gparent; + pr->gparent = pr->gtop; ++ oldtop = pr->gtop; + + fz_try(ctx) + { + pdf_gsave(ctx, pr); + + gstate = pr->gstate + pr->gtop; +- oldtop = pr->gtop; + + pdf_xobject_bbox(ctx, xobj, &xobj_bbox); + pdf_xobject_matrix(ctx, xobj, &xobj_matrix); +@@ -1302,12 +1304,25 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf + + doc = pdf_get_bound_document(ctx, xobj->obj); + ++ oldbot = pr->gbot; ++ pr->gbot = pr->gtop; ++ + pdf_process_contents(ctx, (pdf_processor*)pr, doc, resources, xobj->obj, NULL); + } + fz_always(ctx) + { ++ /* Undo any gstate mismatches due to the pdf_process_contents call */ ++ if (oldbot != -1) ++ { ++ while (pr->gtop > pr->gbot) ++ { ++ pdf_grestore(ctx, pr); ++ } ++ pr->gbot = oldbot; ++ } ++ + if (cleanup_state >= 3) +- pdf_grestore(ctx, pr); /* Remove the clippath */ ++ pdf_grestore(ctx, pr); /* Remove the state we pushed for the clippath */ + + /* wrap up transparency stacks */ + if (transparency) +@@ -1341,13 +1356,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf + pr->gstate[pr->gparent].ctm = gparent_save_ctm; + pr->gparent = gparent_save; + +- if (gstate) +- { +- while (oldtop < pr->gtop) +- pdf_grestore(ctx, pr); +- ++ while (oldtop < pr->gtop) + pdf_grestore(ctx, pr); +- } + + pdf_unmark_obj(ctx, xobj->obj); + } +-- +2.12.0 + diff --git a/gnu/packages/patches/screen-CVE-2017-5618.patch b/gnu/packages/patches/screen-CVE-2017-5618.patch deleted file mode 100644 index 1b95e428c8..0000000000 --- a/gnu/packages/patches/screen-CVE-2017-5618.patch +++ /dev/null @@ -1,40 +0,0 @@ -Fixes CVE-2017-5618 (privilege escalation via opening the logfile when -screen is installed setuid root): - -https://savannah.gnu.org/bugs/?50142 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618 - -This patch reverts the upstream commit that introduced the bug: - -https://git.savannah.gnu.org/cgit/screen.git/commit/?id=5460f5d28c01a9a58e021eb1dffef2965e629d58 - -From f55b0cc29a0ac2a1c54e8a5e886b7393edd4a76c Mon Sep 17 00:00:00 2001 -From: Leo Famulari <leo@famulari.name> -Date: Sat, 11 Feb 2017 22:40:24 -0500 -Subject: [PATCH] Revert "adding permissions check for the logfile name" - -This reverts commit 5460f5d28c01a9a58e021eb1dffef2965e629d58. ---- - src/screen.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/screen.c b/src/screen.c -index 64650e9..283c305 100644 ---- a/src/screen.c -+++ b/src/screen.c -@@ -673,12 +673,6 @@ int main(int ac, char** av) - Panic(0, "-L: logfile name can not start with \"-\" symbol"); - if (strlen(screenlogfile) > PATH_MAX) - Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX); -- -- FILE *w_check; -- if ((w_check = fopen(screenlogfile, "w")) == NULL) -- Panic(0, "-L: logfile name access problem"); -- else -- fclose(w_check); - } - nwin_options.Lflag = 1; - break; --- -2.11.1 - diff --git a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch b/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch deleted file mode 100644 index 03093e8330..0000000000 --- a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix test failures caused by some build machines running more slowly than -expected, which manifest like this: - ------- -> raise FailedHealthCheck(message) -E hypothesis.errors.FailedHealthCheck: Data generation is extremely slow: Only produced 4 valid examples in 1.08 seconds (1 invalid ones and 0 exceeded maximum size). Try decreasing size of the data you're generating (with e.g.average_size or max_leaves parameters). -E See http://hypothesis.readthedocs.org/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.too_slowto the suppress_health_check settings for this test. - -/gnu/store/b8d1r8bilvm3jkncgrpvmg3dni9cgcr1-python-hypothesis-3.1.0/lib/python3.5/site-packages/hypothesis/core.py:296: FailedHealthCheck ------- - -Patch copied from upstream source repository: - -https://github.com/pimutils/vdirsyncer/commit/10490a12f13f03495e0945eb9d45d7aed9ab0a6c - -From 10490a12f13f03495e0945eb9d45d7aed9ab0a6c Mon Sep 17 00:00:00 2001 -From: Markus Unterwaditzer <markus@unterwaditzer.net> -Date: Sat, 18 Feb 2017 15:45:06 +0100 -Subject: [PATCH] Unconditionally disable HealthCheck.too_slow - ---- - tests/conftest.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/tests/conftest.py b/tests/conftest.py -index e0a07d5..3afd7cd 100644 ---- a/tests/conftest.py -+++ b/tests/conftest.py -@@ -26,10 +26,12 @@ def benchmark(): - else: - del pytest_benchmark - -+ -+settings.suppress_health_check = [HealthCheck.too_slow] -+ - settings.register_profile("ci", settings( - max_examples=1000, - verbosity=Verbosity.verbose, -- suppress_health_check=[HealthCheck.too_slow] - )) - settings.register_profile("deterministic", settings( - derandomize=True, diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 58416ee66c..873100cd78 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -11,6 +11,7 @@ ;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -438,14 +439,14 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.3") + (version "0.9.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "1n12lbq9x15vqn7dc0hsccp56l5jdff1xrhvlfqlbklxx0qiw9pc")))) + "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5")))) (build-system cmake-build-system) (inputs ; TODO: Add cppunit for tests `(("lua" ,lua-5.1) @@ -550,7 +551,9 @@ and examining the file structure (pdfshow).") (append (origin-patches (package-source mupdf)) (search-patches "mupdf-mujs-CVE-2016-10132.patch" - "mupdf-mujs-CVE-2016-10133.patch"))))))) + "mupdf-mujs-CVE-2016-10133.patch" + "mupdf-CVE-2017-5896.patch" + "mupdf-CVE-2017-5991.patch"))))))) (define-public qpdf (package diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index eee688354a..840e0b763e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,8 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) - #:use-module (gnu packages perl-web)) + #:use-module (gnu packages perl-web) + #:use-module (gnu packages pkg-config)) ;;; ;;; Please: Try to add new module packages in alphabetic order. @@ -206,6 +208,31 @@ explicitly alias the class to another name or, if you prefer, you can do so implicitly.") (license (package-license perl)))) +(define-public perl-any-moose + (package + (name "perl-any-moose") + (version "0.27") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Any-Moose-" version ".tar.gz")) + (sha256 + (base32 + "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8")))) + (build-system perl-build-system) + (native-inputs + `(("perl-mouse" ,perl-mouse) + ("perl-moose" ,perl-moose))) + (home-page "http://search.cpan.org/dist/Any-Moose") + (synopsis "Transparently use Moose or Mouse modules") + (description + "This module facilitates using @code{Moose} or @code{Mouse} modules +without changing the code. By default, Mouse will be provided to libraries, +unless Moose is already loaded, or explicitly requested by the end-user. End +users can force the decision of which backend to use by setting the environment +variable ANY_MOOSE to be Moose or Mouse.") + (license (package-license perl)))) + (define-public perl-appconfig (package (name "perl-appconfig") @@ -268,6 +295,39 @@ manipulate, read, and write Zip archive files.") list manipulation routines.") (license (package-license perl)))) +(define-public perl-async-interrupt + (package + (name "perl-async-interrupt") + (version "1.21") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" + "Async-Interrupt-" version ".tar.gz")) + (sha256 + (base32 + "092zs7b72f8q109c3z829nqfgwqghp3nhw44c0gcyhacbb4wgpk3")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-common-sense" ,perl-common-sense))) + (home-page "http://search.cpan.org/dist/Async-Interrupt") + (synopsis "Allow C/XS libraries to interrupt perl asynchronously") + (description + "@code{Async::Interrupt} implements a single feature only of interest +to advanced perl modules, namely asynchronous interruptions (think \"UNIX +signals\", which are very similar). + +Sometimes, modules wish to run code asynchronously (in another thread, +or from a signal handler), and then signal the perl interpreter on +certain events. One common way is to write some data to a pipe and use +an event handling toolkit to watch for I/O events. Another way is to +send a signal. Those methods are slow, and in the case of a pipe, also +not asynchronous - it won't interrupt a running perl interpreter. + +This module implements asynchronous notifications that enable you to +signal running perl code from another thread, asynchronously, and +sometimes even without using a single syscall.") + (license (package-license perl)))) + (define-public perl-autovivification (package (name "perl-autovivification") @@ -562,6 +622,25 @@ 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-canary-stability + (package + (name "perl-canary-stability") + (version "2012") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" + "Canary-Stability-" version ".tar.gz")) + (sha256 + (base32 + "01vih43hvpqy67m6a6fwmlswli91mqpv8n8ccglvlkc33l8hn97x")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Canary-Stability") + (synopsis "Check compatibility with the installed perl version") + (description + "This module is used by Schmorp's modules during configuration stage +to test the installed perl for compatibility with his modules.") + (license (package-license perl)))) + (define-public perl-carp-assert (package (name "perl-carp-assert") @@ -1290,6 +1369,28 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated Password Generator\".") (license (package-license perl)))) +(define-public perl-cwd-guard + (package + (name "perl-cwd-guard") + (version "0.05") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/" + "Cwd-Guard-" version ".tar.gz")) + (sha256 + (base32 + "0xwf4rmii55k3lp19mpbh00mbgby7rxdk2lk84148bjhp6i7rz3s")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-requires" ,perl-test-requires))) + (home-page "http://search.cpan.org/dist/Cwd-Guard") + (synopsis "Temporarily change working directory") + (description + "@code{Cwd::Guard} changes the current directory using a limited scope. +It returns to the previous working directory when the object is destroyed.") + (license (package-license perl)))) + (define-public perl-czplib (package (name "perl-czplib") @@ -2097,6 +2198,27 @@ the appropriate objects.") particular command is available.") (license (package-license perl)))) +(define-public perl-devel-checkcompiler + (package + (name "perl-devel-checkcompiler") + (version "0.07") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SY/SYOHEX/" + "Devel-CheckCompiler-" version ".tar.gz")) + (sha256 + (base32 + "1db973a4dbyknjxq608hywil5ai6vplnayshqxrd7m5qnjbpd2vn")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build-tiny" ,perl-module-build-tiny))) + (home-page "http://search.cpan.org/dist/Devel-CheckCompiler") + (synopsis "Check compiler availability") + (description "@code{Devel::CheckCompiler} is a tiny module to check +whether a compiler is available. It can test for a C99 compiler, or +you can tell it to compile a C source file with optional linker flags.") + (license (package-license perl)))) + (define-public perl-devel-globaldestruction (package (name "perl-devel-globaldestruction") @@ -2603,6 +2725,29 @@ 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-depends + (package + (name "perl-extutils-depends") + (version "0.405") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/" + "ExtUtils-Depends-" version ".tar.gz")) + (sha256 + (base32 + "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-number-delta" ,perl-test-number-delta))) + (home-page "http://search.cpan.org/dist/ExtUtils-Depends") + (synopsis "Easily build XS extensions that depend on XS extensions") + (description + "This module tries to make it easy to build Perl extensions that use +functions and typemaps provided by other perl extensions. This means that a +perl extension is treated like a shared library that provides also a C and an +XS interface besides the perl one.") + (license (package-license perl)))) + (define-public perl-extutils-helpers (package (name "perl-extutils-helpers") @@ -2645,6 +2790,29 @@ C code in your Perl programs, there isn't a clear method to compile standard, self-contained C libraries. This module main goal is to help in that task.") (license (package-license perl)))) +(define-public perl-extutils-pkgconfig + (package + (name "perl-extutils-pkgconfig") + (version "1.15") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/" + "ExtUtils-PkgConfig-" version ".tar.gz")) + (sha256 + (base32 + "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9")))) + (build-system perl-build-system) + (propagated-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://search.cpan.org/dist/ExtUtils-PkgConfig") + (synopsis "Simplistic interface to pkg-config") + (description + "@code{ExtUtils::PkgConfig} is a very simplistic interface to the +@command{pkg-config} utility, intended for use in the @file{Makefile.PL} +of perl extensions which bind libraries that @command{pkg-config} knows. +It is really just boilerplate code that you would have written yourself.") + (license lgpl2.1+))) + (define-public perl-file-changenotify (package (name "perl-file-changenotify") @@ -3953,6 +4121,50 @@ 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-build-xsutil + (package + (name "perl-module-build-xsutil") + (version "0.16") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HI/HIDEAKIO/" + "Module-Build-XSUtil-" version ".tar.gz")) + (sha256 + (base32 + "1nrs0b6hmwl3sw3g50b9857qgp5cbbbpl716zwn30h9vwjj2yxhm")))) + (build-system perl-build-system) + (native-inputs + `(("perl-capture-tiny" ,perl-capture-tiny) + ("perl-cwd-guard" ,perl-cwd-guard) + ("perl-file-copy-recursive" ,perl-file-copy-recursive) + ("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-devel-checkcompiler" ,perl-devel-checkcompiler))) + (home-page "http://search.cpan.org/dist/Module-Build-XSUtil") + (synopsis "Module::Build class for building XS modules") + (description + "@code{Module::Build::XSUtil} is subclass of @code{Module::Build} +for support building XS modules. + +This is a list of a new parameters in the @code{Module::Build::new} method: + +@enumerate +@item @code{needs_compiler_c99}: This option checks C99 compiler availability. +@item @code{needs_compiler_cpp}: This option checks C++ compiler availability. +Can also pass @code{extra_compiler_flags} and @code{extra_linker_flags} for C++. +@item @code{generate_ppport_h}: Generate @file{ppport.h} by @code{Devel::PPPort}. +@item @code{generate_xshelper_h}: Generate @file{xshelper.h} which is a helper +header file to include @file{EXTERN.h}, @file{perl.h}, @file{XSUB.h} and +@file{ppport.h}, and defines some portability stuff which are not supported by +@file{ppport.h}. + +It is ported from @code{Module::Install::XSUtil}. +@item @code{cc_warnings}: Toggle compiler warnings. Enabled by default. +@item @code{-g options}: Invoke @file{Build.PL} with @code{-g} to enable +debug options. +@end enumerate") + (license (package-license perl)))) + (define-public perl-module-find (package (name "perl-module-find") @@ -4732,6 +4944,62 @@ own set of Moose-like types. These custom types can then be used to describe fields in Moo-based classes.") (license (package-license perl)))) +(define-public perl-mouse + (package + (name "perl-mouse") + (version "2.4.9") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SY/SYOHEX/Mouse-v" + version + ".tar.gz")) + (sha256 + (base32 + "1y20sl97x1h4y1iid47hj0w1hb2887dchh4nfffgmqpyggkslh4n")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-module-build-xsutil" ,perl-module-build-xsutil) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-leaktrace" ,perl-test-leaktrace) + ("perl-test-output" ,perl-test-output) + ("perl-test-requires" ,perl-test-requires) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "https://github.com/gfx/p5-Mouse") + (synopsis "Fast Moose-compatible object system for perl5") + (description + "Mouse is a @code{Moose} compatible object system that implements a +subset of the functionality for reduced startup time.") + (license (package-license perl)))) + +(define-public perl-mousex-nativetraits + (package + (name "perl-mousex-nativetraits") + (version "1.09") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/" + "MouseX-NativeTraits-" version ".tar.gz")) + (sha256 + (base32 + "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq")))) + (build-system perl-build-system) + (native-inputs + `(("perl-any-moose" ,perl-any-moose) + ("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-mouse" ,perl-mouse))) + (home-page "http://search.cpan.org/dist/MouseX-NativeTraits") + (synopsis "Extend attribute interfaces for Mouse") + (description + "While @code{Mouse} attributes provide a way to name your accessors, +readers, writers, clearers and predicates, @code{MouseX::NativeTraits} +provides commonly used attribute helper methods for more specific types +of data.") + (license (package-license perl)))) + (define-public perl-mozilla-ca (package (name "perl-mozilla-ca") @@ -6445,6 +6713,29 @@ including a stack trace of what was going on when it occurred.") "Test-NoWarnings-" version)) (license lgpl2.1))) +(define-public perl-test-number-delta + (package + (name "perl-test-number-delta") + (version "1.06") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" + "Test-Number-Delta-" version ".tar.gz")) + (sha256 + (base32 + "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Test-Number-Delta") + (synopsis + "Compare the difference between numbers against a given tolerance") + (description + "At some point or another, most programmers find they need to compare +floating-point numbers for equality. The typical idiom is to test if the +absolute value of the difference of the numbers is within a desired tolerance, +usually called epsilon. This module provides such a function for use with +@code{Test::More}.") + (license asl2.0))) + (define-public perl-test-output (package (name "perl-test-output") @@ -7492,6 +7783,30 @@ attribute names.") ;; modification, are permitted under any circumstances. No warranty. (license public-domain))) +(define-public perl-xs-object-magic + (package + (name "perl-xs-object-magic") + (version "0.04") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + "XS-Object-Magic-" version ".tar.gz")) + (sha256 + (base32 + "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-test-fatal" ,perl-test-fatal))) + (home-page "http://search.cpan.org/dist/XS-Object-Magic") + (synopsis "Opaque, extensible XS pointer backed objects using sv_magic") + (description + "This way of associating structs with Perl space objects is designed to +supersede Perl's builtin @code{T_PTROBJ} with something that is extensible +(structs can be associated with any data type) and opaque (the C pointer is +neither visible nor modifiable from Perl space).") + (license (package-license perl)))) + (define-public perl-yaml (package (name "perl-yaml") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a8ba1b8c76..5631c7ac0b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -829,14 +829,14 @@ concepts.") (define-public python-netcdf4 (package (name "python-netcdf4") - (version "1.2.6") + (version "1.2.7") (source (origin (method url-fetch) (uri (pypi-uri "netCDF4" version)) (sha256 (base32 - "1qcymsfxsdfr4sx0vl7ih5d14z66k6c9sjy4gb6rjaksk5387zvg")))) + "1fllizmnpw0zkzzm4j9pgamarlzfn3kmv9zrm0w65q1y31h9ni0c")))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython))) @@ -1020,6 +1020,40 @@ etc.). The package is structured to make adding new modules easy.") "python" (package-inputs pycrypto))))))) +(define-public python-eventlet + (package + (name "python-eventlet") + (version "0.20.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eventlet" version)) + (sha256 + (base32 + "0f3q55mq4n021wb7qa53pz3ix6i2py64sap66vsaqm2scjw83m9s")))) + (build-system python-build-system) + (propagated-inputs + `(("python-greenlet" ,python-greenlet))) + (home-page "http://eventlet.net") + (synopsis "Concurrent networking library for Python") + (description + "Eventlet is a concurrent networking library for Python that +allows you to change how you run your code, not how you write it. +It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O. +Coroutines ensure that the developer uses a blocking style of programming +that is similar to threading, but provide the benefits of non-blocking I/O. +The event dispatch is implicit, which means you can easily use @code{Eventlet} +from the Python interpreter, or as a small part of a larger application.") + (license license:expat))) + +(define-public python2-eventlet + (let ((base (package-with-python2 + (strip-python2-variant python-eventlet)))) + (package (inherit base) + (propagated-inputs + `(("python2-enum34" ,python2-enum34) + ,@(package-propagated-inputs base)))))) + (define-public python-keyring (package (name "python-keyring") @@ -2499,13 +2533,13 @@ installed with a newer @code{pip} or with wheel's own command line utility.") (define-public python-requests (package (name "python-requests") - (version "2.12.4") + (version "2.13.0") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 - "0d5fwxmw4ibynk3imph3n4n84m0n3ib1vj339fxhkqri0qd4767d")))) + "1s0wg4any4dsv5l3hqjxqk2zgb7pdbqhy9rhc8kh3aigfq4ws8jp")))) ;; TODO: unbundle urllib3 and chardet. (build-system python-build-system) (arguments @@ -2670,6 +2704,35 @@ somewhat intelligeble.") (define-public python2-pyjwt (package-with-python2 python-pyjwt)) +(define-public python-pykka + (package + (name "python-pykka") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pykka" version)) + (sha256 + (base32 + "049w3r0mdnnw7xv19jiq7rvls9k7xs73x05b4qs5d6z4vvmgyiz8")))) + (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-gevent" ,python-gevent) + ("python-eventlet" ,python-eventlet))) + (home-page "https://www.pykka.org/") + (synopsis "Pykka is a Python implementation of the actor model") + (description + "Pykka is a Python implementation of the actor model. +The actor model introduces some simple rules to control the sharing +of state and cooperation between execution units, which makes it +easier to build concurrent applications.") + (license license:asl2.0))) + +(define-public python2-pykka + (package-with-python2 python-pykka)) + (define-public python-oauthlib (package (name "python-oauthlib") diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index f04cba706d..11f4716033 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -27,7 +27,7 @@ (define-public re2 (package (name "re2") - (version "2017-01-01") + (version "2017-03-01") (source (origin (method url-fetch) (uri @@ -37,7 +37,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yij1ajh66h3pj3kfz7y0ldrsww8rlpjzaavyr5lchl98as1jq74")))) + "1s3kdcrz2mwi30k6pz9jkv5vk8b704bz65xgcr67wbn2pn3hpnqr")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 59370447b2..73eefe8dde 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -426,13 +426,13 @@ expectations and mocks frameworks.") (define-public bundler (package (name "bundler") - (version "1.14.4") + (version "1.14.5") (source (origin (method url-fetch) (uri (rubygems-uri "bundler" version)) (sha256 (base32 - "1hafmb7p41pm40a2z7f4x5zpgrb72xvgwlvkxnflmzqkvq2prkfv")))) + "0635s6naz9hn4iqbvkhnm1by4j4spvv13mb7nzwwimnpbqgx663i")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -1020,26 +1020,6 @@ features.") (home-page "https://github.com/chneukirchen/bacon") (license license:expat))) -(define-public ruby-arel - (package - (name "ruby-arel") - (version "6.0.0") - (source (origin - (method url-fetch) - (uri (rubygems-uri "arel" version)) - (sha256 - (base32 - "18wnfnzr2i5p3fygsddjbi1cimws6823nbk8drxidmnj8jz7h0ar")))) - (build-system ruby-build-system) - (arguments - '(#:tests? #f)) ; no test suite - (synopsis "SQL AST manager for Ruby") - (description "Arel is a SQL AST manager for Ruby. It simplifies the -generation of complex SQL queries and adapts to various relational database -implementations.") - (home-page "https://github.com/rails/arel") - (license license:expat))) - (define-public ruby-connection-pool (package (name "ruby-connection-pool") @@ -1854,8 +1834,9 @@ net/http library.") (arguments '(#:tests? #f)) ; no tests (home-page "https://github.com/rails/arel") (synopsis "SQL AST manager for Ruby") - (description "Arel is a SQL AST manager for Ruby. It simplifies the -generation of complex SQL queries and is compatible with various RDBMSes.") + (description "Arel is an SQL @dfn{Abstract Syntax Tree} (AST) manager for +Ruby. It simplifies the generation of complex SQL queries and adapts to +various relational database implementations.") (license license:expat))) (define-public ruby-minitar diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index af416c502a..e1dba9bed7 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> +;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +26,8 @@ (define-module (gnu packages scheme) #:use-module (gnu packages) #:use-module ((guix licenses) - #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 - cc-by-sa4.0)) + #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3 + cc-by-sa4.0 non-copyleft)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -57,6 +58,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages tls) #:use-module (gnu packages gl) + #:use-module (gnu packages zip) #:use-module (ice-9 match)) (define (mit-scheme-source-directory system version) @@ -844,3 +846,100 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.") "String pattern-matching library for scheme48 based on the SRE regular-expression notation.") (license bsd-3)))) + +(define-public slib + (package + (name "slib") + (version "3b5") + (source (origin + (method url-fetch) + (uri (string-append "http://groups.csail.mit.edu/mac/ftpdir/scm/slib-" + version ".zip")) + (sha256 + (base32 + "0q0p2d53p8qw2592yknzgy2y1p5a9k7ppjx0cfrbvk6242c4mdpq")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There is no check target. + #:phases + (modify-phases %standard-phases + (add-after 'install 'remove-bin-share + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/bin")))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out"))))))))) + (native-inputs `(("unzip" ,unzip) + ("texinfo" ,texinfo))) + (home-page "http://people.csail.mit.edu/jaffer/SLIB/") + (synopsis "Compatibility and utility library for Scheme") + (description "SLIB is a portable Scheme library providing compatibility and +utility functions for all standard Scheme implementations.") + (license (non-copyleft + "http://people.csail.mit.edu/jaffer/SLIB_COPYING.txt" + "Or see COPYING in the distribution.")))) + +(define-public scm + (package + (name "scm") + (version "5f2") + (source (origin + (method url-fetch) + (uri (string-append + "http://groups.csail.mit.edu/mac/ftpdir/scm/scm-" + version ".zip")) + (sha256 + (base32 + "050ijb51jm1cij9g3r89zl9rawsrikhbb5y8zb7lspb7bsxq5w99")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")))))) + (add-before 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile" + (("ginstall-info") "install-info")))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "SCHEME_LIBRARY_PATH" + (string-append (assoc-ref inputs "slib") + "/lib/slib/")) + (and + (zero? (system* "make" "scmlit" "CC=gcc")) + (zero? (system* "make" "all"))))) + (add-after 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((req + (string-append (assoc-ref outputs "out") + "/lib/scm/require.scm"))) + (and + (delete-file req) + (format (open req (logior O_WRONLY O_CREAT)) + "(define (library-vicinity) ~s)\n" + (string-append (assoc-ref inputs "slib") + "/lib/slib/")) + + ;; We must generate the slibcat file + (zero? (system* + (string-append + (assoc-ref outputs "out") + "/bin/scm") + "-br" "new-catalog"))))))))) + (inputs `(("slib" ,slib))) + (native-inputs `(("unzip" ,unzip) + ("texinfo" ,texinfo))) + (home-page "http://people.csail.mit.edu/jaffer/SCM") + (synopsis "Scheme implementation conforming to R5RS and IEEE P1178") + (description "GNU SCM is an implementation of Scheme. This +implementation includes Hobbit, a Scheme-to-C compiler, which can +generate C files whose binaries can be dynamically or statically +linked with a SCM executable.") + (license lgpl3+))) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 57e6cb595e..f5c914e88a 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -35,15 +35,13 @@ (define-public screen (package (name "screen") - (version "4.5.0") + (version "4.5.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/screen/screen-" version ".tar.gz")) - (patches (search-patches "screen-CVE-2017-5618.patch")) - (patch-flags '("-p2")) (sha256 - (base32 "1c7grw03a9iwvqbxfd6hmjb681rp8gb55zsxm7b3apqqcb1sghq1")))) + (base32 "0bbv16gpxrh64sn4bvjy3qjy7jsxjlqlilyysin02fwnvla23nwp")))) (build-system gnu-build-system) (native-inputs `(("makeinfo" ,texinfo))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 133ce41c43..139ac71834 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -346,24 +346,6 @@ functions of regression coefficients, and 'epredict' methods that handle non-estimable cases correctly.") (license license:gpl2+))) -(define-public r-gtable - (package - (name "r-gtable") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (cran-uri "gtable" version)) - (sha256 - (base32 "0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh")))) - (build-system r-build-system) - (home-page "https://cran.r-project.org/web/packages/gtable") - (synopsis "R library to arrange grobs in tables") - (description - "Gtable is a collection of tools to make it easier to work with -\"tables\" of grobs.") - (license license:gpl2+))) - (define-public r-pheatmap (package (name "r-pheatmap") @@ -1068,22 +1050,6 @@ from knitr Rmarkdown.") the execution time of R expressions.") (license license:bsd-2))) -(define-public r-codetools - (package - (name "r-codetools") - (version "0.2-14") - (source (origin - (method url-fetch) - (uri (cran-uri "codetools" version)) - (sha256 - (base32 - "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397")))) - (build-system r-build-system) - (home-page "https://cran.r-project.org/web/packages/codetools/index.html") - (synopsis "Code analysis tools for R") - (description "This package provides code analysis tools for R.") - (license license:gpl3+))) - (define-public r-pryr (package (name "r-pryr") @@ -2246,11 +2212,11 @@ variety of formats.") "0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0")))) (properties `((upstream-name . "gtable"))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/gtable") - (synopsis "Arrange grobs in tables") + (home-page "https://cran.r-project.org/web/packages/gtable") + (synopsis "R library to arrange grobs in tables") (description - "This package provides tools to make it easier to work with tables of -grobs.") + "Gtable is a collection of tools to make it easier to work with +\"tables\" of grobs.") (license license:gpl2+))) (define-public r-gridextra @@ -2568,7 +2534,7 @@ data.") (base32 "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/codetools") + (home-page "https://cran.r-project.org/web/packages/codetools") (synopsis "Code analysis tools for R") (description "This package provides code analysis tools for R to check R code for possible problems.") diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index b0cefe4056..87261825c5 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> -;;; Copyright © 2016 ng0 <ng0@libertad.pw> +;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -354,7 +354,7 @@ address of one of the participants.") (string-append "CONFIG+=" (string-join (list "no-update" - "no-server" + "no-ice" "no-embed-qt-translations" "no-bundled-speex" "pch" @@ -378,6 +378,8 @@ address of one of the participants.") (replace 'install ; install phase does not exist (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (etc (string-append out "/etc/murmur")) + (dbus (string-append out "/etc/dbus-1/system.d/")) (bin (string-append out "/bin")) (services (string-append out "/share/services")) (applications (string-append out "/share/applications")) @@ -391,6 +393,12 @@ address of one of the participants.") (install-file "icons/mumble.svg" icons) (install-file "man/mumble-overlay.1" man) (install-file "man/mumble.1" man) + (install-file "release/murmurd" bin) + (install-file "scripts/murmur.ini.system" etc) + (rename-file (string-append etc "/murmur.ini.system") + (string-append etc "/murmur.ini")) + (install-file "scripts/murmur.conf" dbus) + (install-file "man/murmurd.1" man) (for-each (lambda (file) (install-file file lib)) (find-files "." "\\.so\\.")) (for-each (lambda (file) (install-file file lib)) @@ -414,7 +422,9 @@ address of one of the participants.") (synopsis "Low-latency, high quality voice chat software") (description "Mumble is an low-latency, high quality voice chat -software primarily intended for use while gaming.") +software primarily intended for use while gaming. +Mumble consists of two applications for separate usage: +@code{mumble} for the client, and @code{murmur} for the server.") (home-page "https://wiki.mumble.info/wiki/Main_Page") (license (list license:bsd-3 ;; The bundled celt is bsd-2. Remove after 1.3.0. diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index c24c8e7387..318bb21614 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -4,7 +4,6 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> @@ -507,13 +506,13 @@ security, and applying best practice development processes.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.11.1") + (version "0.12.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0kk95iqxygrg0cd66kq8kbyalg2x5pz9hn1175cgwgf1vy72adfv")))) + "1pzv8fcfwdqzvvpyhgjz412is0b98yj9495k8sidzzqgbdmvlp50")))) (build-system python-build-system) (arguments `(#:phases @@ -564,7 +563,7 @@ security, and applying best practice development processes.") (uri (pypi-uri name version)) (sha256 (base32 - "1wis5kgqcsrs60kkcmbrbx8z9yasmwa6lg9ir5im232hdm4285vc")))) + "1dw86gb8lyap5ckjawmli1hxgbchw2g62g1lqfvxyqjv0df94waa")))) (build-system python-build-system) (arguments `(#:python ,python-2 diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 9339dcdd70..e48017e640 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -40,14 +40,14 @@ (define-public tor (package (name "tor") - (version "0.2.9.9") + (version "0.2.9.10") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0hqdk5p6dw4bpn7c8gmhyi8jjkhc37112pfw5nx4gl0g4lmmscik")))) + "0h8kpn42mgpkzmnga143hi8nh0ai65ypxh7qhkwbb15j3wz2h4fn")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-expensive-hardening" diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6494b2da5f..006341644b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -975,7 +975,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.02.22") + (version "2017.03.02") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -983,7 +983,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0abir0039igwz0830vdqknngs3hmr474j6xzh33v57p3y4imgx2i")))) + "0f86qnppxnbh2c8bmpf0c1xhwk5vqjdzz7pqh9sydhscv8r0209g")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index cdb32ac7eb..82403feb1d 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -158,6 +159,340 @@ configuration files.") ("tcl" ,tcl) ,@(package-inputs vim))))) +(define-public vim-neocomplete + (package + (name "vim-neocomplete") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Shougo/neocomplete.vim/" + "archive/ver." version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (autoload (string-append vimfiles "/autoload")) + (doc (string-append vimfiles "/doc")) + (plugin (string-append vimfiles "/plugin"))) + (copy-recursively "autoload" autoload) + (copy-recursively "doc" doc) + (copy-recursively "plugin" plugin) + #t)))))) + (synopsis "Next generation completion framework for Vim") + (description + "@code{neocomplete}, an abbreviation of 'neo-completion with cache', +is a plugin for Vim. +It provides keyword completion system by maintaining a cache of keywords in +the current buffer. Neocomplete can be customized easily and has many more +features than Vim's built-in completion.") + (home-page "https://github.com/Shougo/neocomplete.vim/") + (license license:expat))) + +;; There are no release tarballs. +(define-public vim-neosnippet-snippets + (let ((commit "8e2b1c0cab9ed9a832b3743dbb65e9966a64331a") + (revision "1")) + (package + (name "vim-neosnippet-snippets") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shougo/neosnippet-snippets") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles"))) + (copy-recursively "neosnippets" + (string-append vimfiles "/neosnippets")) + #t)))))) + (synopsis "Snippets for neosnippet") + (description + "@code{neosnippet-snippets} provides standard snippets for the Vim plugin +@code{neosnippet}. Snippets are small templates for commonly used code that +you can fill in on the fly.") + (home-page "https://github.com/Shougo/neosnippet-snippets") + (license license:expat)))) + +;; The released tarball is too old for our Vim. +(define-public vim-neosnippet + (let ((commit "1bd7e23c79b73da16eb0c9469b25c376d3594583") + (revision "1")) + (package + (name "vim-neosnippet") + (version (string-append "4.2-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shougo/neosnippet.vim/") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (autoload (string-append vimfiles "/autoload")) + (doc (string-append vimfiles "/doc")) + (ftdetect (string-append vimfiles "/ftdetect")) + (ftplugin (string-append vimfiles "/ftplugin")) + (indent (string-append vimfiles "/indent")) + (plugin (string-append vimfiles "/plugin")) + (rplugin (string-append vimfiles "/rplugin")) + (syntax (string-append vimfiles "/syntax"))) + (copy-recursively "autoload" autoload) + (copy-recursively "doc" doc) + (copy-recursively "ftdetect" ftdetect) + (copy-recursively "ftplugin" ftplugin) + (copy-recursively "indent" indent) + (copy-recursively "plugin" plugin) + (copy-recursively "rplugin" rplugin) + (copy-recursively "syntax" syntax) + #t)))))) + (synopsis "Snippet support for Vim") + (description + "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim. +Snippets are small templates for commonly used code that you can fill in on +the fly. To use snippets can increase your productivity in Vim a lot. +The functionality of this plug-in is quite similar to plug-ins like +@code{snipMate.vim} or @code{snippetsEmu.vim}. But since you can choose +snippets with the neocomplcache / neocomplete interface, you might have less +trouble using them, because you do not have to remember each snippet name.") + (home-page "https://github.com/Shougo/neosnippet.vim/") + (license license:expat)))) + +(define-public vim-scheme + (let ((commit "93827987c10f2d5dc519166a761f219204926d5f") + (revision "1")) + (package + (name "vim-scheme") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.foldling.org/vim-scheme.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1ynjr1109dxgj0lz261gmzz3wf5ap1m6j6hnvl3lcyv66a4y8pjv")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (after (string-append vimfiles "/after")) + (syntax (string-append vimfiles "/syntax")) + (ftplugin (string-append vimfiles "/ftplugin"))) + (copy-recursively "after" after) + (copy-recursively "ftplugin" ftplugin) + (copy-recursively "syntax" syntax) + #t)))))) + (synopsis "Scheme syntax for Vim") + (description + "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).") + (home-page "http://foldling.org/git/vim-scheme.git/") + (license license:public-domain)))) + +(define-public vim-luna + (let ((commit "633619953dcf8577168e255230f96b05f28d6371") + (revision "1")) + (package + (name "vim-luna") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/notpratheek/vim-luna") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (colors (string-append vimfiles "/colors"))) + (copy-recursively "colors" colors) + #t)))))) + (synopsis "Dark color theme for Vim") + (description + "@code{vim-luna} is a dark color theme for Vim.") + (home-page "https://github.com/notpratheek/vim-luna") + (license license:expat)))) + +;; There are no tarball releases. +(define-public vim-context-filetype + (let ((commit "5e85f8cae26806f391aefe2661791a6de53bcea2") + (revision "1")) + (package + (name "vim-context-filetype") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shougo/context_filetype.vim") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (doc (string-append vimfiles "/doc")) + (autoload (string-append vimfiles "/autoload"))) + (copy-recursively "doc" doc) + (copy-recursively "autoload" autoload) + #t)))))) + (synopsis "Context filetype library for Vim") + (description + "@code{vim-context-filetype} is context filetype library for Vim script.") + (home-page "https://github.com/Shougo/context_filetype.vim") + (license license:expat)))) ; ??? check again + +(define-public vim-airline + (package + (name "vim-airline") + (version "0.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/vim-airline/vim-airline/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "053sfq3jmgdc5y7zbg6jrk7r2hp0raj3y3mxa2h1c1bnkb6wvcaz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (autoload (string-append vimfiles "/autoload")) + (doc (string-append vimfiles "/doc")) + (t (string-append vimfiles "/t")) + (plugin (string-append vimfiles "/plugin"))) + (copy-recursively "autoload" autoload) + (copy-recursively "doc" doc) + (copy-recursively "plugin" plugin) + (copy-recursively "t" t) + #t)))))) + (synopsis "Statusline for Vim") + (description + "@code{vim-airline} is an extensible statusline for Vim. +It can be extended and costumized with themes, works with unicode fonts +and powerline symbols, etc.") + (home-page "https://github.com/vim-airline/vim-airline") + (license license:expat))) + +;; There are no tarball releases. +(define-public vim-airline-themes + (let ((commit "6026eb78bf362cb3aa875aff8487f65728d0f7d8") + (revision "1")) + (package + (name "vim-airline-themes") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vim-airline/vim-airline-themes") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "13ijkavh1r0935cn2rjsfbdd1q3ka8bi26kw0bdkrqlrqxwvpss8")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (doc (string-append vimfiles "/doc")) + (plugin (string-append vimfiles "/plugin")) + (autoload (string-append vimfiles "/autoload"))) + (copy-recursively "doc" doc) + (copy-recursively "autoload" autoload) + (copy-recursively "plugin" plugin) + #t)))))) + (synopsis "Collection of themes for Vim-airline") + (description + "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.") + (home-page "https://github.com/vim-airline/vim-airline-themes") + (license license:expat)))) + (define-public neovim (package (name "neovim") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 116ccf231b..f63a3eb9da 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4365,7 +4365,7 @@ used to start services with both privileged and non-privileged port numbers.") (define-public tidy-html (package (name "tidy-html") - (version "5.2.0") + (version "5.4.0") (source (origin (method url-fetch) @@ -4374,7 +4374,7 @@ used to start services with both privileged and non-privileged port numbers.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kbwzh15dlapp3s3vff2qgz0yfcf8hwsnx5q4igwa6pimhak8lw0")))) + "0yhbgbjl45b4sjxwc394cjra6iy02q1pi66p28zy70lr6jvm9mx2")))) (build-system cmake-build-system) (outputs '("out" "static")) ; 1.0MiB of .a files diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 7b73353387..d28e2dd4e4 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages pkg-config) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) @@ -99,6 +100,7 @@ ("libXcomposite" ,libxcomposite) ("ncurses" ,ncurses) ("openal" ,openal) + ("pulseaudio" ,pulseaudio) ("unixodbc" ,unixodbc) ("zlib" ,zlib))) (arguments diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7ae8e4b7f8..7d76a2d202 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (gnu packages haskell) #:use-module (gnu packages base) @@ -232,6 +234,31 @@ from scratch. i3 is primarily targeted at advanced users and developers.") (license license:bsd-3))) +(define-public perl-anyevent-i3 + (package + (name "perl-anyevent-i3") + (version "0.16") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MS/MSTPLBG/" + "AnyEvent-I3-" version ".tar.gz")) + (sha256 + (base32 + "1qwva5vmmn929l6k9wzhp4h80ad4qm4m1g2dyv4nlas624003hig")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-anyevent" ,perl-anyevent) + ("perl-json-xs" ,perl-json-xs))) + (home-page "http://search.cpan.org/dist/AnyEvent-I3") + (synopsis + "Communicate with the i3 window manager through perl") + (description + "This module connects to the i3 window manager using the UNIX socket +based IPC interface it provides (if enabled in the configuration file). +You can then subscribe to events or send messages and receive their replies.") + ;; Can be used with either license. + (license (list license:gpl3+ (package-license perl))))) + (define-public python-i3-py (package (name "python-i3-py") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 3d69661ba5..3667797abd 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Petter <petter@mykolab.ch> +;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -438,7 +440,7 @@ of the screen selected by mouse.") (define-public slop (package (name "slop") - (version "5.3.35") + (version "5.3.37") (source (origin (method url-fetch) (uri (string-append @@ -447,7 +449,7 @@ of the screen selected by mouse.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12fkwardd33xbaisjv93r49jh1dmqw323zjsd9m8kxcyv1rimsig")))) + "1p2ih123zkj8rxz8acsxpaim1kq57f4rbq7zqsibafn5rkw5c5is")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target @@ -469,7 +471,7 @@ selection's dimensions to stdout.") (define-public maim (package (name "maim") - (version "4.4.59") + (version "4.4.60") (source (origin (method url-fetch) (uri (string-append @@ -478,7 +480,7 @@ selection's dimensions to stdout.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0h8z4wm7zgxj1vlp98n12dyiwjwphhnl6yh8aaz3krm5v2kyy6hc")))) + "1j8czhbgilmv9c9hlind1w847yk856dzvxx1sj17fx89xkg8nixk")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target @@ -1023,6 +1025,57 @@ border, and background. It also supports multihead setups, customized mouse actions, a built-in clock, a battery monitor and a system tray.") (license license:gpl2))) +(define-public dzen + (let ((commit "488ab66019f475e35e067646621827c18a879ba1") + (revision "1")) + (package + (name "dzen") + (version (string-append "0.9.5-" ; Taken from `config.mk`. + revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robm/dzen.git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No test suite. + #:make-flags ; Replacement for `config.mk`. + (list + (string-append "VERSION = " ,version) + (string-append "PREFIX = " %output) + "MANPREFIX = ${PREFIX}/share/man" + "INCS = -I." + "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)" + "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\ + -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)" + "LDFLAGS = ${LIBS}" + "CC = gcc" + "LD = ${CC}") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configuration script. + ;; Use own make-flags instead of `config.mk`. + (add-before 'build 'dont-include-config-mk + (lambda _ + (substitute* "Makefile" (("include config.mk") "")) + #t))))) + (inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxpm" ,libxpm) + ("libxinerama" ,libxinerama))) + (native-inputs `(("pkg-config" ,pkg-config))) + (synopsis "General purpose messaging, notification and menuing program for X11") + (description "Dzen is a general purpose messaging, notification and menuing +program for X11. It was designed to be fast, tiny and scriptable in any language.") + (home-page "https://github.com/robm/dzen") + (license license:expat)))) + (define-public xcb-util-xrm (package (name "xcb-util-xrm") diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b91471690f..9a22535c28 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -238,6 +238,34 @@ the @code{Graph} class and write it out in a specific file format.") @code{XML::Atom} implements the feed format as well as a client for the API.") (license (package-license perl)))) +(define-public perl-xml-descent + (package + (name "perl-xml-descent") + (version "1.04") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/" + "XML-Descent-" version ".tar.gz")) + (sha256 + (base32 + "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-test-differences" ,perl-test-differences) + ("perl-xml-tokeparser" ,perl-xml-tokeparser))) + (home-page "http://search.cpan.org/dist/XML-Descent") + (synopsis "Recursive descent XML parsing") + (description + "The conventional models for parsing XML are either @dfn{DOM} +(a data structure representing the entire document tree is created) or +@dfn{SAX} (callbacks are issued for each element in the XML). + +XML grammar is recursive - so it's nice to be able to write recursive +parsers for it. @code{XML::Descent} allows such parsers to be created.") + (license (package-license perl)))) + (define-public perl-xml-parser (package (name "perl-xml-parser") @@ -269,6 +297,29 @@ as extra arguments to the parse methods, in which case they override options given at XML::Parser creation time.") (home-page "http://search.cpan.org/dist/XML-Parser"))) +(define-public perl-xml-tokeparser + (package + (name "perl-xml-tokeparser") + (version "0.05") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/" + "XML-TokeParser-" version ".tar.gz")) + (sha256 + (base32 + "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5")))) + (build-system perl-build-system) + (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser))) + (home-page "http://search.cpan.org/dist/XML-TokeParser") + (synopsis "Simplified interface to XML::Parser") + (description + "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface +to @code{XML::Parser} in much the same way that Gisle Aas' +@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}. +@code{XML::TokeParser} splits its XML input up into \"tokens\", each +corresponding to an @code{XML::Parser} event.") + (license (package-license perl)))) + (define-public perl-libxml (package (name "perl-libxml") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 911621a93c..d300f232d4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1719,7 +1720,7 @@ features and to query screensaver info on specific windows.") (define-public sessreg (package (name "sessreg") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) @@ -1729,7 +1730,7 @@ features and to query screensaver info on specific windows.") ".tar.bz2")) (sha256 (base32 - "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am")))) + "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq")))) (build-system gnu-build-system) (inputs `(("xproto" ,xproto))) @@ -5623,6 +5624,61 @@ provides DEC VT102/VT220 (VTxxx) and Tektronix 4014 compatible terminals for programs that cannot use the window system directly.") (license license:x11))) +(define-public perl-x11-xcb + (package + (name "perl-x11-xcb") + (version "0.16") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MS/MSTPLBG/" + "X11-XCB-" version ".tar.gz")) + (sha256 + (base32 + "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw")))) + (build-system perl-build-system) + (arguments + '(;; Disable parallel build to prevent a race condition. + #:parallel-build? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-Makefile + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile" + ;; XXX: Without this hack, attempts at using XCB.so fails with + ;; an error such as "XCB.so: undefined symbol: xcb_xinerama_id" + (("^LDDLFLAGS = ") + (string-append "LDDLFLAGS = " + "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm "))) + #t))) + ;; Tests require a running X11 server. + #:tests? #f)) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends) + ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-data-dump" ,perl-data-dump) + ("perl-mouse" ,perl-mouse) + ("perl-mousex-nativetraits" ,perl-mousex-nativetraits) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-xml-descent" ,perl-xml-descent) + ("perl-xml-simple" ,perl-xml-simple) + ("perl-xs-object-magic" ,perl-xs-object-magic))) + (inputs + `(("libxcb" ,libxcb) + ("xcb-proto" ,xcb-proto) + ("xcb-util" ,xcb-util) + ("xcb-util-wm" ,xcb-util-wm))) + (home-page "http://search.cpan.org/dist/X11-XCB") + (synopsis "Perl bindings for libxcb") + (description + "These bindings wrap @code{libxcb} (a C library to speak with X11, +in many cases better than @code{Xlib}), and provides an object oriented +interface to its methods (using @code{Mouse}).") + (license (package-license perl)))) + (define-public perl-x11-protocol (package (name "perl-x11-protocol") |