From b73547e17994d09411278f482621f7866754b76d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 30 Sep 2015 12:47:35 -0400 Subject: [PATCH 01/72] gnu: linux-libre: Update to 4.2.2. * gnu/packages/linux.scm (linux-libre): Update to 4.2.2. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d2619335a3..cc40068608 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.2.1") + (let* ((version "4.2.2") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -283,7 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "140cqnk1hyhavfra572wwzwz7pddczc78j8anbxyciw35kh8z2hl")))) + "0wk0lcbmvqmgp50gdn6vhvckml2gx1ikichms9a83nsjfwil450k")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) From aae2b445a4c13649d2711e9ee1f17fae72bdea19 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Sep 2015 22:10:33 +1000 Subject: [PATCH 02/72] gnu: Add cityhash. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/textutils.scm (cityhash): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/textutils.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 95a8ad1da9..9f7cdddcad 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; @@ -153,3 +154,26 @@ encoding, supporting Unicode version 7.0.") "libgtextutils is a text utilities library used by the fastx toolkit from the Hannon Lab.") (license license:agpl3+))) + +(define-public cityhash + (let ((commit "8af9b8c") + (revision "1")) + (package + (name "cityhash") + (version (string-append "1.1." revision "." commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/cityhash.git") + (commit commit))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6")))) + (build-system gnu-build-system) + (home-page "https://github.com/google/cityhash") + (synopsis "C++ hash functions for strings") + (description + "CityHash provides hash functions for strings. The functions mix the +input bits thoroughly but are not suitable for cryptography.") + (license license:expat)))) From a2950fa4dcddb2279f974bc7d1e2ce9fa0ffa315 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 30 Sep 2015 18:35:32 +1000 Subject: [PATCH 03/72] gnu: Add vsearch. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (vsearch): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bioinformatics.scm | 59 +++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2d81f90a01..350a0d9086 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -33,6 +33,7 @@ #:use-module (guix build-system ruby) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages boost) @@ -53,6 +54,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -2709,6 +2711,63 @@ data in the form of VCF files.") ;; at http://vcftools.sourceforge.net/license.html (license license:lgpl3))) +(define-public vsearch + (package + (name "vsearch") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/torognes/vsearch/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b1359wbzgb2cm04h7dq05v80vik88hnsv298xxd1q1f2q4ydni7")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled cityhash and '-mtune=native'. + (substitute* "src/Makefile.am" + (("^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash \ +-O3 -mtune=native -Wall -Wsign-compare") + (string-append "AM_CXXFLAGS=-lcityhash" + " -O3 -Wall -Wsign-compare")) + (("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\") + "__top_builddir__bin_vsearch_SOURCES = \\") + (("^cityhash/config.h \\\\") "\\") + (("^cityhash/city.cc \\\\") "\\")) + (substitute* "src/vsearch.h" + (("^\\#include \"cityhash/city.h\"") + "#include ")) + (delete-file-recursively "src/cityhash") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'autogen + (lambda _ (zero? (system* "autoreconf" "-vif"))))))) + (inputs + `(("zlib" ,zlib) + ("bzip2" ,bzip2) + ("cityhash" ,cityhash))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (synopsis "Sequence search tools for metagenomics") + (description + "VSEARCH supports DNA sequence searching, clustering, chimera detection, +dereplication, pairwise alignment, shuffling, subsampling, sorting and +masking. The tool takes advantage of parallelism in the form of SIMD +vectorization as well as multiple threads to perform accurate alignments at +high speed. VSEARCH uses an optimal global aligner (full dynamic programming +Needleman-Wunsch).") + (home-page "https://github.com/torognes/vsearch") + ;; Dual licensed; also includes public domain source. + (license (list license:gpl3 license:bsd-2)))) + (define-public bio-locus (package (name "bio-locus") From 64c9834716f32c3bae066762a767431a60bb96a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 1 Oct 2015 11:28:19 +0200 Subject: [PATCH 04/72] gnu: emacs: Claim 'INFOPATH'. Reported by Konrad Hinsen . * gnu/packages/emacs.scm (emacs)[native-search-path]: New field. --- gnu/packages/emacs.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index dcbe5e5bd5..99ab5f26fc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -109,6 +109,12 @@ (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) + + (native-search-paths + (list (search-path-specification + (variable "INFOPATH") + (files '("share/info"))))) + (home-page "http://www.gnu.org/software/emacs/") (synopsis "The extensible, customizable, self-documenting text editor") (description From fde1783087ba93fcadc4b26bd4611ae03626d105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 1 Oct 2015 11:28:58 +0200 Subject: [PATCH 05/72] download: Check whether HORIZONTAL ELLIPSIS can be encoded. * guix/build/download.scm (ellipsis): New procedure. (store-path-abbreviation): Use it. --- guix/build/download.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 4b7c53d2c6..240e79ee8d 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -110,6 +110,13 @@ column." (padding (make-string num-spaces #\space))) (string-append left padding right))) +(define* (ellipsis #:optional (port (current-output-port))) + "Make a rough guess at whether Unicode's HORIZONTAL ELLIPSIS can be written +in PORT's encoding, and return either that or ASCII dots." + (if (equal? (port-encoding port) "UTF-8") + "…" + "...")) + (define* (store-path-abbreviation store-path #:optional (prefix-length 6)) "If STORE-PATH is the file name of a store entry, return an abbreviation of STORE-PATH for display, showing PREFIX-LENGTH characters of the hash. @@ -117,7 +124,7 @@ Otherwise return STORE-PATH." (if (string-prefix? (%store-directory) store-path) (let ((base (basename store-path))) (string-append (string-take base prefix-length) - "…" + (ellipsis) (string-drop base 32))) store-path)) From b98ee8b7e17f91b9ba74583fcf2410ebd82f723e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 1 Oct 2015 15:15:20 +0800 Subject: [PATCH 06/72] gnu: xterm: Update to 320. * gnu/packages/xorg.scm (xterm): Update to 320. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d4ed4b82d0..b166260080 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5329,14 +5329,14 @@ Intrinsics (Xt) Library.") (define-public xterm (package (name "xterm") - (version "317") + (version "320") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.invisible-island.net/xterm/" "xterm-" version ".tgz")) (sha256 (base32 - "0v9mirqws1vb8wxbdgn1w166ln7xmapg1913c7kzjs3mwkdv1rfj")))) + "19r4rs5pjq944m7aiqligazf6wgmv4f023x3bx183h1l8dbvn3d6")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-256-color" From dd24e9063f11694f58d50b1821dd9755eaf2802f Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 29 Sep 2015 12:23:52 -0400 Subject: [PATCH 07/72] gnu: Add shroud. * gnu/packages/password-utils.scm (shroud): New variable. --- gnu/packages/password-utils.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8619f14f38..ff39e928b9 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -25,7 +25,9 @@ #:use-module (guix packages) #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) + #:use-module (gnu packages guile) #:use-module (gnu packages qt) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) (define-public pwgen @@ -76,3 +78,29 @@ on an external storage device. The databases are encrypted using the algorithms AES or Twofish.") ;; Non functional parts use various licences. (license license:gpl3))) + +(define-public shroud + (package + (name "shroud") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://files.dthompson.us/shroud/shroud-" + version ".tar.gz")) + (sha256 + (base32 + "0jrahwwlrfn1q2bxl99dv9jcvklf8lkm4dq33iv5h75vxw4l56fw")))) + (build-system gnu-build-system) + (inputs + `(("guile" ,guile-2.0) + ("gnupg" ,gnupg) + ("xclip" ,xclip))) + (synopsis "GnuPG-based secret manager") + (description "Shroud is a simple secret manager with a command line +interface. The password database is stored as a Scheme s-expression and +encrypted with a GnuPG key. Secrets consist of an arbitrary number of +key/value pairs, making Shroud suitable for more than just password storage. +For copying and pasting secrets into web browsers and other graphical +applications, there is xclip integration." ) + (home-page "http://dthompson.us/pages/software/shroud.html") + (license license:gpl3+))) From b4aa6d3dccf0059f9d15ae9992f75612fb237dee Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 1 Oct 2015 08:57:14 -0400 Subject: [PATCH 08/72] gnu: shroud: Update to 0.1.1. * gnu/packages/password-utils.scm (shroud): Update to 0.1.1. --- gnu/packages/password-utils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index ff39e928b9..921ade1030 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -82,14 +82,14 @@ algorithms AES or Twofish.") (define-public shroud (package (name "shroud") - (version "0.1") + (version "0.1.1") (source (origin (method url-fetch) (uri (string-append "http://files.dthompson.us/shroud/shroud-" version ".tar.gz")) (sha256 (base32 - "0jrahwwlrfn1q2bxl99dv9jcvklf8lkm4dq33iv5h75vxw4l56fw")))) + "1y43yhgy2zbrk5bqj3qyx9rkcz2bma9sinlrg7dip3jqms9gq4lr")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-2.0) From d032d9652fe3e7ab62e6ac5ce4230d99822a3902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 1 Oct 2015 21:20:03 +0800 Subject: [PATCH 09/72] gnu: Add GNU Unifont. * gnu/packages/fonts.scm (font-gnu-unifont): New variable. --- gnu/packages/fonts.scm | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f7d58424d9..4ce8addceb 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -568,3 +568,61 @@ with coding in mind. Anonymous Pro features an international, Unicode-based character set, with support for most Western and Central European Latin-based languages, plus Greek and Cyrillic.") (license license:silofl1.1))) + +(define-public font-gnu-unifont + (package + (name "font-gnu-unifont") + (version "8.0.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnu/unifont/unifont-8.0.01/unifont-" + version ".tar.gz")) + (sha256 + (base32 + "176bzc2y3i49xavrmbyyz5lkqp0qq3bkj7rjrl197kib873by82b")))) + (build-system gnu-build-system) + (outputs '("out" ; TrueType version + "pcf" ; PCF (bitmap) version + "psf" ; PSF (console) version + "bin" ; Utilities to manipulate '.hex' format + )) + (arguments + '(#:parallel-build? #f ; parallel build fails + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "CC" "gcc"))) + (replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((ttf (string-append (assoc-ref outputs "out") + "/share/fonts/truetype")) + (pcf (string-append (assoc-ref outputs "pcf") + "/share/fonts/misc")) + (psf (string-append (assoc-ref outputs "psf") + "/share/consolefonts")) + (bin (assoc-ref outputs "bin"))) + (system* "make" + (string-append "PREFIX=" bin) + (string-append "TTFDEST=" ttf) + (string-append "PCFDEST=" pcf) + (string-append "CONSOLEDEST=" psf) + "install") + ;; Move Texinfo file to the right place. + (mkdir (string-append bin "/share/info")) + (rename-file (string-append bin "/share/unifont/unifont.info.gz") + (string-append bin "/share/info/unifont.info.gz")) + #t)))))) + (inputs + `(("perl" ,perl))) ; for utilities + (synopsis + "Large bitmap font covering Unicode's Basic Multilingual Plane") + (description + "GNU Unifont is a bitmap font covering essentially all of +Unicode's Basic Multilingual Plane. The package also includes +utilities to ease adding new glyphs to the font.") + (home-page "http://unifoundry.com/unifont.html") + (license license:gpl2+))) From b0b3ebf09fe3e85f4c39cb23466f347e506d4087 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 21:17:25 +0300 Subject: [PATCH 10/72] gnu: enlightenment: Update to 0.19.11. * gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.11. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 0a7eaf1fc4..96ad676ade 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -270,14 +270,14 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.19.9") + (version "0.19.11") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1ajpyw1bfbmxpniw041vbvrs9wqgzyw9kccx72nnfiy2wxspjcr5")))) + (base32 "0b8m6062i62q31gp9nd4hd7sckwxfvc6dgyck3f9gjdhrwvcn764")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From b4eba7b0883fe25649017b61eb423fe43e9b85fa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 21:25:42 +0300 Subject: [PATCH 11/72] gnu: terminology: Update to 0.9.1. * gnu/packages/enlightenment.scm (terminology): Update to 0.9.1. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 96ad676ade..584cab69d1 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -218,7 +218,7 @@ The only supported now is VLC.") (define-public terminology (package (name "terminology") - (version "0.9.0") + (version "0.9.1") (source (origin (method url-fetch) (uri @@ -226,7 +226,7 @@ The only supported now is VLC.") "terminology/terminology-" version ".tar.xz")) (sha256 (base32 - "0iwid9cvd96kwl0hjhbby84kkz5sgb4p8454nnkf7wjvdz2f9b96")))) + "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From d1ae7233e3f82584e7443b62ecdd44ad8792dac6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 21:29:04 +0300 Subject: [PATCH 12/72] gnu: youtube-dl: Update to 2015.09.28. * gnu/packages/video.scm (youtube-dl): Update to 2015.09.28. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 28185fe810..4a5ba41d57 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -791,7 +791,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.09.03") + (version "2015.09.28") (source (origin (method url-fetch) (uri (string-append "https://youtube-dl.org/downloads/" @@ -799,7 +799,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "0wxjbqr07rm26iih12yhv0qwspfrg9safhgnrp8misqjjk4fz86z")))) + "0q3s2a91s1lr1db2ngacq0iapyr4jngx1dqp4z5dc6zma0qyx5k3")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") From b2666de0fbb229e620efedc727c1e8da38dc55ef Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 21:43:53 +0300 Subject: [PATCH 13/72] gnu: mpv: Update to 0.11.0. * gnu/packages/video.scm (mpv): Update to 0.11.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4a5ba41d57..b46a9865f0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -671,7 +671,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.9.0") + (version "0.11.0") (source (origin (method url-fetch) (uri (string-append @@ -679,7 +679,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "08nx0g6ji2d90f5w62g327szhkb7id7jzwgf3x069rc5id1x3bx7")) + "1njvmqzj8akan5y485gx4blynwiy52adw7zbbnnnvd3dwis725d2")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs From 9e125175fc65f72d2bf9724905b3cbe0a467b6c4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 21:51:46 +0300 Subject: [PATCH 14/72] gnu: mpg123: Update to 1.22.4. * gnu/packages/mp3.scm (mpg123): Update to 1.22.4. --- gnu/packages/mp3.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index d5ca1555db..4ce6917433 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -283,14 +283,14 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.19.0") + (version "1.22.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/mpg123/mpg123-" version ".tar.bz2")) (sha256 (base32 - "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446")))) + "1lj0xv0b6sgqsbhx10dg60cnzgz98i76gxy51kqh11hka0pf0sah")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) (native-inputs `(("pkg-config" ,pkg-config))) From 64cb2de5d08259f078586ce0fe4af29f4bd1e467 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 29 Sep 2015 22:33:45 +0300 Subject: [PATCH 15/72] gnu: graphviz: Update to 2.38.0. * gnu/packages/graphviz.scm (graphviz): Update to 2.38.0. --- gnu/packages/graphviz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 52522af446..e1eb654643 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -36,16 +36,15 @@ (define-public graphviz (package (name "graphviz") - (version "2.28.0") + (version "2.38.0") (source (origin (method url-fetch) (uri (string-append "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" - version - ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank")))) + "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1")))) (build-system gnu-build-system) (arguments ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. From 88377435caf28768ce29bba1de5e664166a404dc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 30 Sep 2015 20:20:16 +0300 Subject: [PATCH 16/72] gnu: graphviz: Add "doc" output. * gnu/packages/graphviz.scm (graphviz)[outputs, arguments]: New fields. --- gnu/packages/graphviz.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index e1eb654643..09f475bd90 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Ludovic Courtès +;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,7 +60,16 @@ (substitute* "lib/gvc/Makefile" (("am__append_5 *=.*") "am_append_5 =\n"))) - %standard-phases))) + (alist-cons-after + 'install 'move-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share/graphviz")) + (rename-file (string-append out "/share/graphviz/doc") + (string-append doc "/share/graphviz/doc")) + #t)) + %standard-phases)))) (inputs `(("libXrender" ,libxrender) ("libX11" ,libx11) @@ -76,6 +86,7 @@ (native-inputs `(("bison" ,bison) ("pkg-config" ,pkg-config))) + (outputs '("out" "doc")) ; 5 MiB of html + pdfs (home-page "http://www.graphviz.org/") (synopsis "Graph visualization software") (description From cfd745d6bb85976387d6e9d8633cbd2bc7530e90 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 30 Sep 2015 20:39:40 +0300 Subject: [PATCH 17/72] gnu: powertop: Update to 2.7. * gnu/packages/linux.scm (powertop): Update to 2.7. [arguments]: Add "pciutils" to inputs. --- gnu/packages/linux.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cc40068608..6c7a010925 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1159,7 +1159,7 @@ devices. It replaces 'iwconfig', which is deprecated.") (define-public powertop (package (name "powertop") - (version "2.5") + (version "2.7") (source (origin (method url-fetch) @@ -1168,12 +1168,11 @@ devices. It replaces 'iwconfig', which is deprecated.") version ".tar.gz")) (sha256 (base32 - "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b")))) + "1jkqqr3l1x98m7rgin1dgfzxqwj4vciw9lyyq1kl9bdswa818jwd")))) (build-system gnu-build-system) (inputs - ;; TODO: Add pciutils. `(("zlib" ,zlib) - ;; ("pciutils" ,pciutils) + ("pciutils" ,pciutils) ("ncurses" ,ncurses) ("libnl" ,libnl))) (native-inputs From 71923a91b10860b00ce5cd06438b3ab0cadf616d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 1 Oct 2015 10:32:29 +0200 Subject: [PATCH 18/72] gnu: openblas: Fix configure flags on armhf and take target system into account for cross building. * gnu/packages/maths.scm (openblas)[arguments]: Make package substitutable and enable runtime cpu detection only on x86 systems. Take the target system into account when cross compiling. --- gnu/packages/maths.scm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 45fda144be..c9389f4172 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1474,10 +1474,13 @@ constant parts of it.") (build-system gnu-build-system) (arguments `(#:tests? #f ;no "check" target - ;; DYNAMIC_ARCH is not supported on MIPS. When it is disabled, + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled, ;; OpenBLAS will tune itself to the build host, so we need to disable ;; substitutions. - #:substitutable? ,(not (string-prefix? "mips" (%current-system))) + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system))) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "SHELL=bash" @@ -1485,10 +1488,13 @@ constant parts of it.") ;; Build the library for all supported CPUs. This allows ;; switching CPU targets at runtime with the environment variable ;; OPENBLAS_CORETYPE=, where "type" is a supported CPU type. - ;; Unfortunately, this is not supported on MIPS. - ,@(if (string-prefix? "mips" (%current-system)) - '() - '("DYNAMIC_ARCH=1"))) + ;; Unfortunately, this is not supported on non-x86 architectures, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system)))) + (if (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=1") + '()))) ;; no configure script #:phases (alist-delete 'configure %standard-phases))) (inputs From bd60e4e2efff07aca785fd57c38735ad0b899580 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 1 Oct 2015 22:53:12 +0300 Subject: [PATCH 19/72] gnu: powertop: Fix url. * gnu/packages/linux.scm (powertop): Fixed incorrect url. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6c7a010925..b29bcd2b2c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1164,7 +1164,7 @@ devices. It replaces 'iwconfig', which is deprecated.") (origin (method url-fetch) (uri (string-append - "https://01.org/powertop/sites/default/files/downloads/powertop-" + "https://01.org/sites/default/files/downloads/powertop/powertop-" version ".tar.gz")) (sha256 (base32 From 02a8a1876a9facd52fa71e76a5fdab8c97063eca Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 19 Sep 2015 23:35:18 +1000 Subject: [PATCH 20/72] gnu: Add python-xlrd. * gnu/packages/python.scm (python-xlrd, python2-xlrd): New variables. Signed-off-by: Mathieu Lirzin --- gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 708ba29d24..2c9772e933 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2015 Christopher Allan Webber ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015 Leo Famulari +;;; Copyright © 2015 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; @@ -4918,6 +4919,37 @@ object to help create WSGI responses.") (define-public python2-webob (package-with-python2 python-webob)) +(define-public python-xlrd + (package + (name "python-xlrd") + (version "0.9.4") + (source (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/x/" + "xlrd/xlrd-" version ".tar.gz")) + (sha256 + (base32 + "0wpa55nvidmm5m2qr622dsh3cj46akdk0h3zjgzschcmydck73cf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Current test in setup.py does not work as of 0.9.4, so use nose to + ;; run tests instead for now. + (replace 'check (lambda _ (zero? (system* "nosetests"))))))) + (native-inputs `(("python-nose" ,python-nose) + ("python-setuptools" ,python-setuptools))) + (home-page "http://www.python-excel.org/") + (synopsis "Library for extracting data from Excel files") + (description "This packages provides a library to extract data from +spreadsheets using Microsoft Excel® proprietary file formats @samp{.xls} and +@samp{.xlsx} (versions 2.0 onwards). It has support for Excel dates and is +Unicode-aware. It is not intended as an end-user tool.") + (license bsd-3))) + +(define-public python2-xlrd + (package-with-python2 python-xlrd)) + (define-public python-prettytable (package (name "python-prettytable") From 71a4b2ab2129ced85b002bec41e280c4d6cf94ce Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 1 Oct 2015 22:37:38 +0200 Subject: [PATCH 21/72] gnu: orc: Update to 0.4.24. * gnu/packages/gstreamer.scm (orc): Update to 0.4.24. --- gnu/packages/gstreamer.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 920da6c864..0ac9783550 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Mark H Weaver @@ -49,14 +49,14 @@ (define-public orc (package (name "orc") - (version "0.4.23") + (version "0.4.24") (source (origin (method url-fetch) (uri (string-append "http://gstreamer.freedesktop.org/data/src/" "orc/orc-" version ".tar.xz")) (sha256 (base32 - "1ryz1gfgrxcj806cakcblxf0bcwq8p2mw8k86fs3f5wlwayawzkn")))) + "16ykgdrgxr6pfpy931p979cs68klvwmk3ii1k0a00wr4nn9x931k")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-before From 9ab5ea449e3bb048f6ff456e20616f3f9a24c34f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 2 Oct 2015 10:54:20 -0400 Subject: [PATCH 22/72] gnu: clipper: Add 'file-name' field to source origin. * gnu/packages/bioinformatics.scm (clipper)[source]: Add file-name. --- gnu/packages/bioinformatics.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 350a0d9086..b04c288967 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -675,6 +675,7 @@ multiple sequence alignments.") (uri (string-append "https://github.com/YeoLab/clipper/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1q7jpimsqln7ic44i8v2rx2haj5wvik8hc1s2syd31zcn0xk1iyq")) From b927058237a36b3bd870cff50a4107bfd4a39e41 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 2 Oct 2015 12:30:41 -0400 Subject: [PATCH 23/72] gnu: openjpeg-2.x: Add fix for use-after-free in opj_j2k_write_mco. * gnu/packages/patches/openjpeg-use-after-free-fix.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch. [home-page]: Update. --- gnu-system.am | 1 + gnu/packages/image.scm | 8 ++-- .../patches/openjpeg-use-after-free-fix.patch | 48 +++++++++++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/openjpeg-use-after-free-fix.patch diff --git a/gnu-system.am b/gnu-system.am index 98634a0c2b..17012af51b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -571,6 +571,7 @@ dist_patch_DATA = \ gnu/packages/patches/nvi-dbpagesize-binpower.patch \ gnu/packages/patches/nvi-db4.patch \ gnu/packages/patches/openexr-missing-samples.patch \ + gnu/packages/patches/openjpeg-use-after-free-fix.patch \ gnu/packages/patches/openssl-runpath.patch \ gnu/packages/patches/openssl-c-rehash.patch \ gnu/packages/patches/orpheus-cast-errors-and-includes.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index cee7f146fa..c23946d0d0 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -271,7 +271,8 @@ work.") (string-append "mirror://sourceforge/openjpeg.mirror/" name "-" version ".tar.gz")) (sha256 - (base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj")))) + (base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj")) + (patches (list (search-patch "openjpeg-use-after-free-fix.patch"))))) (build-system cmake-build-system) (arguments ;; Trying to run `$ make check' results in a no rule fault. @@ -292,7 +293,7 @@ In addition to the basic codec, various other features are under development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats, an indexing tool useful for the JPIP protocol, JPWL-tools for error-resilience, a Java-viewer for j2k-images, ...") - (home-page "https://code.google.com/p/openjpeg/") + (home-page "https://github.com/uclouvain/openjpeg") (license license:bsd-2))) (define-public openjpeg-2.0 @@ -306,7 +307,8 @@ error-resilience, a Java-viewer for j2k-images, ...") (string-append "mirror://sourceforge/openjpeg.mirror/" name "-" version ".tar.gz")) (sha256 - (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")))))) + (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")) + (patches (list (search-patch "openjpeg-use-after-free-fix.patch"))))))) (define-public openjpeg-1 (package (inherit openjpeg) diff --git a/gnu/packages/patches/openjpeg-use-after-free-fix.patch b/gnu/packages/patches/openjpeg-use-after-free-fix.patch new file mode 100644 index 0000000000..1a9cb1ae1d --- /dev/null +++ b/gnu/packages/patches/openjpeg-use-after-free-fix.patch @@ -0,0 +1,48 @@ +From 940100c28ae28931722290794889cf84a92c5f6f Mon Sep 17 00:00:00 2001 +From: mayeut +Date: Sun, 6 Sep 2015 17:24:03 +0200 +Subject: [PATCH] Fix potential use-after-free in opj_j2k_write_mco function + +Fixes #563 +--- + src/lib/openjp2/j2k.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c +index 19a48f5..d487d89 100644 +--- a/src/lib/openjp2/j2k.c ++++ b/src/lib/openjp2/j2k.c +@@ -5559,8 +5559,7 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, + assert(p_stream != 00); + + l_tcp =&(p_j2k->m_cp.tcps[p_j2k->m_current_tile_number]); +- l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data; +- ++ + l_mco_size = 5 + l_tcp->m_nb_mcc_records; + if (l_mco_size > p_j2k->m_specific_param.m_encoder.m_header_tile_data_size) { + +@@ -5575,6 +5574,8 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, + p_j2k->m_specific_param.m_encoder.m_header_tile_data = new_header_tile_data; + p_j2k->m_specific_param.m_encoder.m_header_tile_data_size = l_mco_size; + } ++ l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data; ++ + + opj_write_bytes(l_current_data,J2K_MS_MCO,2); /* MCO */ + l_current_data += 2; +@@ -5586,10 +5587,9 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, + ++l_current_data; + + l_mcc_record = l_tcp->m_mcc_records; +- for (i=0;im_nb_mcc_records;++i) { ++ for (i=0;im_nb_mcc_records;++i) { + opj_write_bytes(l_current_data,l_mcc_record->m_index,1);/* Imco -> use the mcc indicated by 1*/ + ++l_current_data; +- + ++l_mcc_record; + } + +-- +2.5.0 + From bcc09d9ac1d174be06610a772e9cb27a959d53c0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 2 Oct 2015 12:49:15 -0400 Subject: [PATCH 24/72] gnu: freeimage: Update to 3.17.0. * gnu/packages/image.scm (freeimage): Update to 3.17.0. [source]: Use 'string-concatenate' in URI computation. --- gnu/packages/image.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c23946d0d0..456f42f497 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -459,17 +459,17 @@ supplies a generic doubly-linked list and some string functions.") (define-public freeimage (package (name "freeimage") - (version "3.16.0") + (version "3.17.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/freeimage/Source%20Distribution/" version "/FreeImage" - (string-join (string-split version #\.) "") + (string-concatenate (string-split version #\.)) ".zip")) (sha256 (base32 - "0q1gnjnxgphsh4l8i9rfly4bi8xsczsb9ryzbm8hf38lc3fk5bq3")))) + "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete From 93bd4a37eedb475ec0e6015be8f78fc074a7f389 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 2 Oct 2015 12:52:00 -0400 Subject: [PATCH 25/72] gnu: freeimage: Add fix for CVE-2015-0852. * gnu/packages/patches/freeimage-CVE-2015-0852.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/image.scm (freeimage)[source]: Add patch. --- gnu-system.am | 1 + gnu/packages/image.scm | 3 +- .../patches/freeimage-CVE-2015-0852.patch | 129 ++++++++++++++++++ 3 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/freeimage-CVE-2015-0852.patch diff --git a/gnu-system.am b/gnu-system.am index 17012af51b..2964367192 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -452,6 +452,7 @@ dist_patch_DATA = \ gnu/packages/patches/flex-bison-tests.patch \ gnu/packages/patches/flint-ldconfig.patch \ gnu/packages/patches/fltk-shared-lib-defines.patch \ + gnu/packages/patches/freeimage-CVE-2015-0852.patch \ gnu/packages/patches/fuse-CVE-2015-3202.patch \ gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gcc-arm-link-spec-fix.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 456f42f497..26f1be9a2f 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -469,7 +469,8 @@ supplies a generic doubly-linked list and some string functions.") ".zip")) (sha256 (base32 - "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")))) + "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")) + (patches (list (search-patch "freeimage-CVE-2015-0852.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete diff --git a/gnu/packages/patches/freeimage-CVE-2015-0852.patch b/gnu/packages/patches/freeimage-CVE-2015-0852.patch new file mode 100644 index 0000000000..34d538e925 --- /dev/null +++ b/gnu/packages/patches/freeimage-CVE-2015-0852.patch @@ -0,0 +1,129 @@ +Copied from Debian. + +Description: fix integer overflow +Origin: upstream + http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginPCX.cpp?view=patch&r1=1.17&r2=1.18&pathrev=MAIN + http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginPCX.cpp?view=patch&r1=1.18&r2=1.19&pathrev=MAIN +Bug-Debian: https://bugs.debian.org/797165 +Last-Update: 2015-09-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: freeimage/Source/FreeImage/PluginPCX.cpp +=================================================================== +--- freeimage.orig/Source/FreeImage/PluginPCX.cpp ++++ freeimage/Source/FreeImage/PluginPCX.cpp +@@ -347,12 +347,14 @@ Load(FreeImageIO *io, fi_handle handle, + + try { + // check PCX identifier +- +- long start_pos = io->tell_proc(handle); +- BOOL validated = pcx_validate(io, handle); +- io->seek_proc(handle, start_pos, SEEK_SET); +- if(!validated) { +- throw FI_MSG_ERROR_MAGIC_NUMBER; ++ // (note: should have been already validated using FreeImage_GetFileType but check again) ++ { ++ long start_pos = io->tell_proc(handle); ++ BOOL validated = pcx_validate(io, handle); ++ io->seek_proc(handle, start_pos, SEEK_SET); ++ if(!validated) { ++ throw FI_MSG_ERROR_MAGIC_NUMBER; ++ } + } + + // process the header +@@ -366,20 +368,38 @@ Load(FreeImageIO *io, fi_handle handle, + SwapHeader(&header); + #endif + +- // allocate a new DIB ++ // process the window ++ const WORD *window = header.window; // left, upper, right,lower pixel coord. ++ const int left = window[0]; ++ const int top = window[1]; ++ const int right = window[2]; ++ const int bottom = window[3]; + +- unsigned width = header.window[2] - header.window[0] + 1; +- unsigned height = header.window[3] - header.window[1] + 1; +- unsigned bitcount = header.bpp * header.planes; +- +- if (bitcount == 24) { +- dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK); +- } else { +- dib = FreeImage_AllocateHeader(header_only, width, height, bitcount); ++ // check image size ++ if((left >= right) || (top >= bottom)) { ++ throw FI_MSG_ERROR_PARSING; + } + +- // if the dib couldn't be allocated, throw an error ++ const unsigned width = right - left + 1; ++ const unsigned height = bottom - top + 1; ++ const unsigned bitcount = header.bpp * header.planes; ++ ++ // allocate a new DIB ++ switch(bitcount) { ++ case 1: ++ case 4: ++ case 8: ++ dib = FreeImage_AllocateHeader(header_only, width, height, bitcount); ++ break; ++ case 24: ++ dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK); ++ break; ++ default: ++ throw FI_MSG_ERROR_DIB_MEMORY; ++ break; ++ } + ++ // if the dib couldn't be allocated, throw an error + if (!dib) { + throw FI_MSG_ERROR_DIB_MEMORY; + } +@@ -426,19 +446,23 @@ Load(FreeImageIO *io, fi_handle handle, + + if (palette_id == 0x0C) { + BYTE *cmap = (BYTE*)malloc(768 * sizeof(BYTE)); +- io->read_proc(cmap, 768, 1, handle); + +- pal = FreeImage_GetPalette(dib); +- BYTE *pColormap = &cmap[0]; ++ if(cmap) { ++ io->read_proc(cmap, 768, 1, handle); + +- for(int i = 0; i < 256; i++) { +- pal[i].rgbRed = pColormap[0]; +- pal[i].rgbGreen = pColormap[1]; +- pal[i].rgbBlue = pColormap[2]; +- pColormap += 3; ++ pal = FreeImage_GetPalette(dib); ++ BYTE *pColormap = &cmap[0]; ++ ++ for(int i = 0; i < 256; i++) { ++ pal[i].rgbRed = pColormap[0]; ++ pal[i].rgbGreen = pColormap[1]; ++ pal[i].rgbBlue = pColormap[2]; ++ pColormap += 3; ++ } ++ ++ free(cmap); + } + +- free(cmap); + } + + // wrong palette ID, perhaps a gray scale is needed ? +@@ -466,9 +490,9 @@ Load(FreeImageIO *io, fi_handle handle, + // calculate the line length for the PCX and the DIB + + // length of raster line in bytes +- unsigned linelength = header.bytes_per_line * header.planes; ++ const unsigned linelength = header.bytes_per_line * header.planes; + // length of DIB line (rounded to DWORD) in bytes +- unsigned pitch = FreeImage_GetPitch(dib); ++ const unsigned pitch = FreeImage_GetPitch(dib); + + // run-length encoding ? + From 127cbd85c0c84e87bf672b753e0fa9f75e6e8d79 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 2 Oct 2015 20:07:17 +0200 Subject: [PATCH 26/72] gnu: glpk: Update to 4.56. * gnu/packages/maths.scm (glpk): Update to 4.56. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c9389f4172..6490df5909 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -188,7 +188,7 @@ numbers.") (define-public glpk (package (name "glpk") - (version "4.55") + (version "4.56") (source (origin (method url-fetch) @@ -196,7 +196,7 @@ numbers.") version ".tar.gz")) (sha256 (base32 - "1rqx5fzj1mhkifilip5mkxybpj2wkniq5qcn8h1w2vkr2rzhs29p")))) + "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) From 2f8fee0623e88d3ba17d7cc41510afb3871cf9b7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 2 Oct 2015 20:26:45 +0200 Subject: [PATCH 27/72] gnu: valgrind: Update to 3.11.0. * gnu/packages/valgrind.scm (valgrind): Update to 3.11.0. [source]: Remove the patches * gnu/packages/patches/valgrind-glibc-2.22.patch, gnu/packages/patches/valgrind-linux-libre-4.x.patch: Delete files. * gnu-system.am (dist_patch_DATA): Unregister the patches. --- gnu-system.am | 2 - .../patches/valgrind-glibc-2.22.patch | 39 ------------------- .../patches/valgrind-linux-libre-4.x.patch | 18 --------- gnu/packages/valgrind.scm | 6 +-- 4 files changed, 2 insertions(+), 63 deletions(-) delete mode 100644 gnu/packages/patches/valgrind-glibc-2.22.patch delete mode 100644 gnu/packages/patches/valgrind-linux-libre-4.x.patch diff --git a/gnu-system.am b/gnu-system.am index 2964367192..c9a4d32475 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,8 +647,6 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-remove-build-date.patch \ gnu/packages/patches/util-linux-tests.patch \ gnu/packages/patches/upower-builddir.patch \ - gnu/packages/patches/valgrind-glibc-2.22.patch \ - gnu/packages/patches/valgrind-linux-libre-4.x.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-fix-compile.patch \ diff --git a/gnu/packages/patches/valgrind-glibc-2.22.patch b/gnu/packages/patches/valgrind-glibc-2.22.patch deleted file mode 100644 index 36c4916cc6..0000000000 --- a/gnu/packages/patches/valgrind-glibc-2.22.patch +++ /dev/null @@ -1,39 +0,0 @@ -Submitted By: Pierre Labastie -Date: 2015-02-22 -Initial Package Version: 3.10.1 -Upstream Status: Unknown -Origin: Self -Description: Allows Valgrind to build with glibc-2.21 - -Later modified to support glibc-2.22 as well. - -diff -Naur valgrind-3.10.1.old/configure valgrind-3.10.1.new/configure ---- valgrind-3.10.1.old/configure 2014-11-25 20:42:25.000000000 +0100 -+++ valgrind-3.10.1.new/configure 2015-02-22 10:46:06.607826488 +0100 -@@ -6842,6 +6842,26 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.21) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.21 family" >&5 -+$as_echo "2.21 family" >&6; } -+ -+$as_echo "#define GLIBC_2_21 1" >>confdefs.h -+ -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; -+ 2.22) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.22 family" >&5 -+$as_echo "2.22 family" >&6; } -+ -+$as_echo "#define GLIBC_2_22 1" >>confdefs.h -+ -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; - darwin) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 - $as_echo "Darwin" >&6; } diff --git a/gnu/packages/patches/valgrind-linux-libre-4.x.patch b/gnu/packages/patches/valgrind-linux-libre-4.x.patch deleted file mode 100644 index 79166619c7..0000000000 --- a/gnu/packages/patches/valgrind-linux-libre-4.x.patch +++ /dev/null @@ -1,18 +0,0 @@ -Modify valgrind's configure script to accept linux-libre-4.x as being in the -same family as 3.x. - ---- valgrind-3.10.1/configure 2015-09-15 18:02:20.710262686 -0400 -+++ valgrind-3.10.1/configure 2015-09-15 18:02:59.831829731 -0400 -@@ -5553,9 +5553,9 @@ - kernel=`uname -r` - - case "${kernel}" in -- 2.6.*|3.*) -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.6.x/3.x family (${kernel})" >&5 --$as_echo "2.6.x/3.x family (${kernel})" >&6; } -+ 2.6.*|3.*|4.*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.6.x/3.x/4.x family (${kernel})" >&5 -+$as_echo "2.6.x/3.x/4.x family (${kernel})" >&6; } - - $as_echo "#define KERNEL_2_6 1" >>confdefs.h - diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index a4c75baed9..f300d93271 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -30,16 +30,14 @@ (define-public valgrind (package (name "valgrind") - (version "3.10.1") + (version "3.11.0") (source (origin (method url-fetch) (uri (string-append "http://valgrind.org/downloads/valgrind-" version ".tar.bz2")) (sha256 (base32 - "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs")) - (patches (map search-patch '("valgrind-glibc-2.22.patch" - "valgrind-linux-libre-4.x.patch"))))) + "0hiv871b9bk689mv42mkhp76za78l5773glszfkdbpf1m1qn4fbc")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 5768893ad108d53844a525d20a40a39a9006762b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 2 Oct 2015 20:59:20 +0200 Subject: [PATCH 28/72] gnu: valgrind: Enable the arm architecture during configuration. * gnu/packages/patches/valgrind-enable-arm.patch: New file. * gnu/packages/valgrind.scm (valgrind)[source]: Add patch. * gnu-system.am (dist_patch_DATA): Enable patch. --- gnu-system.am | 1 + gnu/packages/patches/valgrind-enable-arm.patch | 15 +++++++++++++++ gnu/packages/valgrind.scm | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/valgrind-enable-arm.patch diff --git a/gnu-system.am b/gnu-system.am index c9a4d32475..0afe345809 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -647,6 +647,7 @@ dist_patch_DATA = \ gnu/packages/patches/unzip-remove-build-date.patch \ gnu/packages/patches/util-linux-tests.patch \ gnu/packages/patches/upower-builddir.patch \ + gnu/packages/patches/valgrind-enable-arm.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-fix-compile.patch \ diff --git a/gnu/packages/patches/valgrind-enable-arm.patch b/gnu/packages/patches/valgrind-enable-arm.patch new file mode 100644 index 0000000000..663e68463c --- /dev/null +++ b/gnu/packages/patches/valgrind-enable-arm.patch @@ -0,0 +1,15 @@ +Accept "arm" instead of "armv7" in configure, see + http://valgrind.10908.n7.nabble.com/building-for-arm-td39382.html . + +diff -u -r valgrind-3.11.0.orig/configure valgrind-3.11.0/configure +--- valgrind-3.11.0.orig/configure 2015-10-02 20:37:41.915721386 +0200 ++++ valgrind-3.11.0/configure 2015-10-02 20:37:54.886746395 +0200 +@@ -5607,7 +5607,7 @@ + ARCH_MAX="s390x" + ;; + +- armv7*) ++ arm*) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5 + $as_echo "ok (${host_cpu})" >&6; } + ARCH_MAX="arm" diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index f300d93271..5cfbe6d554 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -37,7 +37,8 @@ version ".tar.bz2")) (sha256 (base32 - "0hiv871b9bk689mv42mkhp76za78l5773glszfkdbpf1m1qn4fbc")))) + "0hiv871b9bk689mv42mkhp76za78l5773glszfkdbpf1m1qn4fbc")) + (patches (map search-patch '("valgrind-enable-arm.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 4d835808e4c38a1d0a225cd5cb04b7201245655d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 2 Oct 2015 23:13:20 +0200 Subject: [PATCH 29/72] gnu: eigen: Update to 3.2.6. * gnu/packages/algebra.scm (eigen): Update to 3.2.6. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 3f23ec9008..2f52f5545c 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -381,14 +381,14 @@ cosine/ sine transforms or DCT/DST).") (define-public eigen (package (name "eigen") - (version "3.2.5") + (version "3.2.6") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/eigen/eigen/get/" version ".tar.bz2")) (sha256 (base32 - "1yf27mfq1x38wlsghkvpjgs8xd5rvbbikf1wyj2l3qw8h6w6qvjz")) + "0gil5ksmgcg6v3nw0v613mvpzz4n33xhawqs8l7fj7rnlpwm4cwa")) (modules '((guix build utils))) (snippet ;; There are 3 test failures in the "unsupported" directory, From b8d953cbbdc66c4c315876fc4e9e8241f698bb04 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 2 Oct 2015 23:30:20 +0200 Subject: [PATCH 30/72] gnu: libmicrohttpd: Update to 0.9.44. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.44. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index cadccc7eb1..74cca17bc8 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -111,14 +111,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.43") + (version "0.9.44") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "17q6v5q0jpg57vylby6rx1qkil72bdx8gij1g9m694gxf5sb6js1")))) + "07j1p21rvbrrfpxngk8xswzkmjkh94bp1971xfjh1p0ja709qwzj")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) From 6f04e515604d481873205aa9e16a7c96a3cb7bd5 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 3 Oct 2015 11:46:22 +1000 Subject: [PATCH 31/72] gnu: vsearch: Restrict supported systems to x86_64-linux. * gnu/packages/bioinformatics.scm (vsearch)[supported-systems]: Restrict to x86_64-linux. Signed-off-by: Andreas Enge --- gnu/packages/bioinformatics.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b04c288967..0e0a886cc0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2766,6 +2766,9 @@ vectorization as well as multiple threads to perform accurate alignments at high speed. VSEARCH uses an optimal global aligner (full dynamic programming Needleman-Wunsch).") (home-page "https://github.com/torognes/vsearch") + ;; vsearch uses non-portable SSE intrinsics so building fails on other + ;; platforms. + (supported-systems '("x86_64-linux")) ;; Dual licensed; also includes public domain source. (license (list license:gpl3 license:bsd-2)))) From 293ff8b2f3dc197b5350768f1ee49871069ed113 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 19 Sep 2015 19:20:52 -0400 Subject: [PATCH 32/72] gnu: Add file-roller. * gnu/packages/gnome.scm (file-roller): New variable. --- gnu/packages/gnome.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b4b5c237c9..5440433402 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 David Thompson ;;; ;;; This file is part of GNU Guix. ;;; @@ -3625,3 +3626,36 @@ environment. It allows you to import photos from disk or camera, organize them by keywords and events, view them in full-window or fullscreen mode, and share them with others via social networking and more.") (license license:lgpl2.1+))) + +(define-public file-roller + (package + (name "file-roller") + (version "3.10.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "04sg4yzz4c3hzgxhbgx2dc36lq5hjrnrmal2q0amfvhl0jcvp2fq")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + ;; TODO: Add libnautilus. + (inputs + `(("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("json-glib" ,json-glib) + ("libarchive" ,libarchive) + ("libnotify" ,libnotify) + ("nettle" ,nettle) + ("itstool" ,itstool) + ("libxml2" ,libxml2))) + (synopsis "Graphical archive manager for GNOME") + (description "File Roller is an archive manager for the GNOME desktop +environment that allows users to view, unpack, and create compressed archives +such as gzip tarballs.") + (home-page "http://fileroller.sourceforge.net/") + (license license:gpl2+))) From c9f6938033eaa4ed4b0a4b8209342ea9de839afc Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 3 Oct 2015 17:59:07 +0200 Subject: [PATCH 33/72] gnu: liblxqt: Fix download location. * gnu/packages/lxqt.scm (liblxqt)[source]: Use the .tar.xz release exclusively; drop the alternative URI for .tar.gz and correct the hash. --- gnu/packages/lxqt.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index e7ed75c77d..064f8c4f81 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -65,13 +65,9 @@ in Qt.") (uri (string-append "https://github.com/lxde/" name "/releases/download/" version "/" name "-" version ".tar.xz")) - (uri - (string-append "https://github.com/lxde/" name "/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mbl3qc0yfgfsndqrw8vg8k5irsy0pg2wrad8nwv0aphphd4n7rg")) + "0ljdzqavvy82qwwwnhg2bgbshl2ns0k2lcswxlx1cfc8rcdr9w5l")) (patches (map search-patch '("liblxqt-include.patch"))))) (build-system cmake-build-system) (arguments From cfa2e4ad4097947ec393888dc4a95322e1364ba9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 3 Oct 2015 19:45:06 +0200 Subject: [PATCH 34/72] gnu: Add lxqt-common. * gnu/packages/lxqt.scm (lxqt-common): New variable. --- gnu/packages/lxqt.scm | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 064f8c4f81..518c63e481 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -81,3 +81,55 @@ in Qt.") (description "liblxqt provides the basic libraries shared by the components of the LxQt desktop environment.") (license lgpl2.1+))) + + +(define-public lxqt-common + (package + (name "lxqt-common") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri + (string-append "http://downloads.lxqt.org/lxqt/" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0kbkwmrdjhfbq60wf2yfbsjmci8xlw13ilxxa7yxq68n1aqjqmvf")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-installation-paths + (lambda _ + ;; The variable LXQT_ETC_XDG_DIR is set in + ;; liblxqt-0.9.0/share/cmake/lxqt/lxqt-config.cmake + ;; to the Qt5 installation directory, followed by "/etc/xdg". + ;; We need to have it point to the current installation + ;; directory instead. + (substitute* '("config/CMakeLists.txt" + "menu/CMakeLists.txt") + (("\\$\\{LXQT_ETC_XDG_DIR\\}") + "${CMAKE_INSTALL_PREFIX}/etc/xdg") + ;; In the same file, LXQT_SHARE_DIR is set to the installation + ;; directory of liblxqt, followed by "/share/lxqt". + (("\\$\\{LXQT_SHARE_DIR\\}") + "${CMAKE_INSTALL_PREFIX}/share/lxqt")) + ;; Replace absolute directories. + (substitute* "autostart/CMakeLists.txt" + (("/etc/xdg") + "${CMAKE_INSTALL_PREFIX}/etc/xdg")) + (substitute* "xsession/CMakeLists.txt" + (("/usr/share") + "${CMAKE_INSTALL_PREFIX}/share"))))))) + (inputs + `(("kwindowsystem" ,kwindowsystem) + ("liblxqt" ,liblxqt) + ("libqtxdg" ,libqtxdg))) + (home-page "http://lxqt.org/") + (synopsis "Common files for LXQt") + (description "lxqt-common provides the desktop integration files +(themes, icons, configuration files etc.) for the LXQt +desktop environment.") + (license lgpl2.1+))) From 54033a4db61fc76b15f0654ad4b33ac0d7d6a47f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 3 Oct 2015 21:20:41 +0200 Subject: [PATCH 35/72] gnu: Add lxqt-session. * gnu/packages/lxqt.scm (lxqt-session): New variable. --- gnu/packages/lxqt.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 518c63e481..e6f8753aa0 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -133,3 +133,45 @@ components of the LxQt desktop environment.") (themes, icons, configuration files etc.) for the LXQt desktop environment.") (license lgpl2.1+))) + +(define-public lxqt-session + (package + (name "lxqt-session") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri + (string-append "http://downloads.lxqt.org/lxqt/" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "01hxand1gqbcaw14lh7z6w5zssgfaffcjncv752c2c7272wzyhy5")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("kwindowsystem" ,kwindowsystem) + ("liblxqt" ,liblxqt) + ("libqtxdg" ,libqtxdg))) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-installation-paths + (lambda _ + ;; The variable LXQT_TRANSLATIONS_DIR is set in + ;; liblxqt-0.9.0/share/cmake/lxqt/lxqt-config.cmake + ;; to the liblxqt installation directory, followed by + ;; "/share/lxqt/translations". + ;; We need to have it point to the current installation + ;; directory instead. + (substitute* '("lxqt-session/CMakeLists.txt" + "lxqt-config-session/CMakeLists.txt") + (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") + "${CMAKE_INSTALL_PREFIX}/share/lxqt/translations"))))))) + (home-page "http://lxqt.org/") + (synopsis "Session manager for LXQt") + (description "lxqt-session provides the standard session manager +for the LXQt desktop environment.") + (license lgpl2.1+))) From 250ffe4de1186faab65b8eb35d85ec6a2ca0c099 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 3 Oct 2015 22:41:59 +0200 Subject: [PATCH 36/72] gnu: liblxqt: Fix download location. * gnu/packages/lxqt.scm (liblxqt)[source]: Fix download location. [description]: Fix typo. --- gnu/packages/lxqt.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index e6f8753aa0..5e90cf81ee 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -63,8 +63,8 @@ in Qt.") (origin (method url-fetch) (uri - (string-append "https://github.com/lxde/" name "/releases/download/" - version "/" name "-" version ".tar.xz")) + (string-append "http://downloads.lxqt.org/lxqt/" version "/" + name "-" version ".tar.xz")) (sha256 (base32 "0ljdzqavvy82qwwwnhg2bgbshl2ns0k2lcswxlx1cfc8rcdr9w5l")) @@ -79,7 +79,7 @@ in Qt.") (home-page "http://lxqt.org/") (synopsis "Core utility library for all LXQt components") (description "liblxqt provides the basic libraries shared by the -components of the LxQt desktop environment.") +components of the LXQt desktop environment.") (license lgpl2.1+))) From f8822418f1d93e73c3b1431d0d4d1b1f2ea5c213 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 3 Oct 2015 22:49:12 +0200 Subject: [PATCH 37/72] gnu: libqtxdg: Fix download location. * gnu/packages/lxqt.scm (libqtxdg)[source]: Fix download location. --- gnu/packages/lxqt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 5e90cf81ee..d840ff0098 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -36,8 +36,8 @@ (origin (method url-fetch) (uri - (string-append "https://github.com/lxde/" name "/releases/download/" - version "/" name "-" version ".tar.xz")) + (string-append "http://downloads.lxqt.org/libqtxdg/" version "/" + name "-" version ".tar.xz")) (sha256 (base32 "1ncqs0lcll5nx69hxfg33m3jfkryjqrjhr2kdci0b8pyaqdv1jc8")))) From 7431edea5b6eb4d1c67ddf9971efdfdbc65fc349 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 00:51:21 +0200 Subject: [PATCH 38/72] gnu: qt-4: Disable webkit build. * gnu/packages/qt.scm (qt-4)[source]: Add snippet to remove the webkit code and drop one patch used previously for webkit. [arguments]: Add configure flag to disable building the webkit module. * gnu/packages/patches/qt4-tests.patch: Delete file. * gnu-system.am (dist_patch_DATA): Unregister patch. Partially fixes . --- gnu-system.am | 1 - gnu/packages/patches/qt4-tests.patch | 22 ---------------------- gnu/packages/qt.scm | 9 ++++++++- 3 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 gnu/packages/patches/qt4-tests.patch diff --git a/gnu-system.am b/gnu-system.am index 0afe345809..8eb268f752 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -611,7 +611,6 @@ dist_patch_DATA = \ gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ gnu/packages/patches/qemu-CVE-2015-6855.patch \ gnu/packages/patches/qt4-ldflags.patch \ - gnu/packages/patches/qt4-tests.patch \ gnu/packages/patches/qt5-runpath.patch \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/patches/qt4-tests.patch b/gnu/packages/patches/qt4-tests.patch deleted file mode 100644 index eb499ec76a..0000000000 --- a/gnu/packages/patches/qt4-tests.patch +++ /dev/null @@ -1,22 +0,0 @@ -Drop tests requiring a running X server, but not starting any. - -diff -ru qt-everywhere-opensource-src-4.8.5.orig/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro ---- qt-everywhere-opensource-src-4.8.5.orig/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro 2013-10-12 13:15:47.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro 2013-10-12 13:20:15.000000000 +0200 -@@ -1,15 +1,4 @@ - - TEMPLATE = subdirs --SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebview qwebhistory qwebinspector hybridPixmap -+SUBDIRS = - --linux-* { -- # This test bypasses the library and links the tested code's object itself. -- # This stresses the build system in some corners so we only run it on linux. -- SUBDIRS += MIMESniffing --} -- --contains(QT_CONFIG, declarative): SUBDIRS += qdeclarativewebview --SUBDIRS += benchmarks/painting benchmarks/loading --contains(DEFINES, ENABLE_WEBGL=1) { -- SUBDIRS += benchmarks/webgl --} diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ce5ab656a5..c2c3f9abcd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -243,7 +243,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") (base32 "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272")) (patches (map search-patch - '("qt4-ldflags.patch" "qt4-tests.patch"))))) + '("qt4-ldflags.patch"))) + (modules '((guix build utils))) + (snippet + ;; Remove webkit module, which is not built. + '(delete-file-recursively "src/3rdparty/webkit")))) (inputs `(,@(alist-delete "harfbuzz" (alist-delete "libjpeg" (package-inputs qt))) ("libjepg" ,libjpeg-8) @@ -288,6 +292,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-confirm-license" ;; explicitly link with dbus instead of dlopening it "-dbus-linked" + ;; Skip the webkit module; it fails to build on armhf + ;; and, apart from that, may pose security risks. + "-no-webkit" ;; drop special machine instructions not supported ;; on all instances of the target ,@(if (string-prefix? "x86_64" From 678932aa7043436be098e0cb1c82ef463f26af10 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 2 Oct 2015 16:53:24 +0300 Subject: [PATCH 39/72] gnu: lirc: Update to 0.9.3. * gnu/packages/lirc.scm (lirc): Update to 0.9.3. [native-inputs]: Add "libxslt". --- gnu/packages/lirc.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index c070e1aaa4..f8828d3f03 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -24,26 +24,28 @@ #:use-module (gnu packages) #:use-module (gnu packages pkg-config) #:use-module (gnu packages linux) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages python)) (define-public lirc (package (name "lirc") - (version "0.9.2a") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lirc/lirc-" version ".tar.bz2")) (sha256 (base32 - "011nwpxm5d12rsapljg3pjf9pgb0j8ngmc3zg69q4kv61hkx2zim")) + "19c6ldjsdnk1md66q3nb035ja1xj217k8iabhxpsb8rs10a6kwi6")) (patches (list (search-patch "lirc-localstatedir.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("libxslt" ,libxslt))) (inputs `(("libx11" ,libx11) ("alsa-lib" ,alsa-lib) From 9db04bf542001eb9f0d274321648329769f939f3 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 3 Oct 2015 22:16:27 +0300 Subject: [PATCH 40/72] gnu: libtorrent, rtorrent: Update home pages. * gnu/packages/bittorrent.scm (libtorrent): Update 'home-page'. (rtorrent): Likewise. --- gnu/packages/bittorrent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 47256a4dc7..c9b0fe2125 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -124,7 +124,7 @@ DHT, µTP, PEX and Magnet Links.") "LibTorrent is a BitTorrent library used by and developed in parallel with the BitTorrent client rtorrent. It is written in C++ with emphasis on speed and efficiency.") - (home-page "http://libtorrent.rakshasa.no/") + (home-page "https://github.com/rakshasa/libtorrent") (license l:gpl2+))) (define-public rtorrent @@ -153,5 +153,5 @@ speed and efficiency.") "rTorrent is a BitTorrent client with an ncurses interface. It supports full encryption, DHT, PEX, and Magnet Links. It can also be controlled via XML-RPC over SCGI.") - (home-page "http://libtorrent.rakshasa.no/") + (home-page "https://github.com/rakshasa/rtorrent") (license l:gpl2+))) From 29b4c57bf0e3a5ea7db0a71e8191b694aeecad38 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 3 Oct 2015 22:21:33 +0300 Subject: [PATCH 41/72] gnu: libtorrent: Update to 0.13.6. * gnu/packages/bittorrent.scm (libtorrent): Update to 0.13.6. [source]: Use new URL. [native-inputs]: Uncomment "cppunit" (for tests). [argument]: Remove (to enable tests). --- gnu/packages/bittorrent.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index c9b0fe2125..fb4091592b 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -99,26 +99,20 @@ DHT, µTP, PEX and Magnet Links.") (define-public libtorrent (package (name "libtorrent") - (version "0.13.4") + (version "0.13.6") (source (origin (method url-fetch) (uri (string-append - "http://libtorrent.rakshasa.no/downloads/libtorrent-" + "http://rtorrent.net/downloads/libtorrent-" version ".tar.gz")) (sha256 (base32 - "0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh")))) + "012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) - ;; Add this when you enable tests: - ;; ("cppunit" ,cppunit) - )) - (arguments - ;; FIXME: enable tests on the next release: - ;; https://github.com/rakshasa/libtorrent/issues/59 - `(#:tests? #f)) + ("cppunit" ,cppunit))) (synopsis "BitTorrent library of rtorrent") (description "LibTorrent is a BitTorrent library used by and developed in parallel From 9fbd458b8d1970bedcb5dfb11848d2d67d0ef763 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 3 Oct 2015 22:23:40 +0300 Subject: [PATCH 42/72] gnu: rtorrent: Update to 0.9.6. * gnu/packages/bittorrent.scm (rtorrent): Update to 0.9.6. [source]: Use new URL. --- gnu/packages/bittorrent.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index fb4091592b..2410647818 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -124,15 +124,15 @@ speed and efficiency.") (define-public rtorrent (package (name "rtorrent") - (version "0.9.4") + (version "0.9.6") (source (origin (method url-fetch) (uri (string-append - "http://libtorrent.rakshasa.no/downloads/rtorrent-" + "http://rtorrent.net/downloads/rtorrent-" version ".tar.gz")) (sha256 (base32 - "113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw")))) + "03jvzw9pi2mhcm913h8qg0qw9gwjqc6lhwynb1yz1y163x7w4s8y")))) (build-system gnu-build-system) (inputs `(("libtorrent" ,libtorrent) ("ncurses" ,ncurses) From 1a400bd589874f93fd2f911645d2ca29f5164cdd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Oct 2015 12:34:22 -0400 Subject: [PATCH 43/72] gnu: linux-libre: Update to 4.2.3. * gnu/packages/linux.scm (linux-libre): Update to 4.2.3. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b29bcd2b2c..4ee42349f8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -210,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.2.2") + (let* ((version "4.2.3") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -283,7 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "0wk0lcbmvqmgp50gdn6vhvckml2gx1ikichms9a83nsjfwil450k")))) + "1xpx32k6bzxqg5y8lyaana97jjcli00iyqklh5fdhirfvjb9dimd")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) From 2b00a55064d2fbddb53209723cebc04710b33893 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Oct 2015 22:55:34 +0200 Subject: [PATCH 44/72] gnu: Add autobuild. * gnu/packages/autotools.scm (autobuild): New variable. --- gnu/packages/autotools.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index f2b4d95b95..0d9a5b5873 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis ;;; Copyright © 2015 Mark H Weaver ;;; @@ -158,6 +159,30 @@ exec ~a --no-auto-compile \"$0\" \"$@\" port))) (chmod (string-append bin "/autoconf") #o555))))))) +(define-public autobuild + (package + (name "autobuild") + (version "5.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/autobuild/autobuild-" + version ".tar.gz")) + (sha256 + (base32 + "0gv7g61ja9q9zg1m30k4snqwwy1kq7b4df6sb7d2qra7kbdq8af1")))) + (build-system gnu-build-system) + (inputs `(("perl" ,perl))) + (synopsis "Process generated build logs") + (description "Autobuild is a package that processes build logs generated +when building software. Autobuild is primarily focused on packages using +Autoconf and Automake, but can be used with other build systems too. +Autobuild generates an HTML summary file, containing links to each build log. +The summary includes project name, version, build hostname, host type (cross +compile aware), date of build, and indication of success or failure. The +output is indexed in many ways to simplify browsing.") + (home-page "http://josefsson.org/autobuild/") + (license gpl3+))) + (define-public automake (package (name "automake") From 14bcc1e1cd85d38db59b6b6089d63d429fb76b57 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 12:56:45 +0200 Subject: [PATCH 45/72] gnu: qt: Remove the sources of qtwebengine. * gnu/packages/qt.scm (qt)[source]: Add snippet to remove the qtwebengine code, which was already not built anymore, and drop one patch used previously only for qtwebengine. [arguments]: Drop the configuration flag "-skip qtwebengine", since deleted modules cannot be skipped. * gnu/packages/patches/qt5-runpath.patch: Delete file. * gnu-system.am (dist_patch_DATA): Unregister patch. Partially fixes . --- gnu-system.am | 1 - gnu/packages/patches/qt5-runpath.patch | 27 -------------------------- gnu/packages/qt.scm | 27 ++++++++++---------------- 3 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 gnu/packages/patches/qt5-runpath.patch diff --git a/gnu-system.am b/gnu-system.am index 8eb268f752..577c6e8c07 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -611,7 +611,6 @@ dist_patch_DATA = \ gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ gnu/packages/patches/qemu-CVE-2015-6855.patch \ gnu/packages/patches/qt4-ldflags.patch \ - gnu/packages/patches/qt5-runpath.patch \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ gnu/packages/patches/ripperx-missing-file.patch \ diff --git a/gnu/packages/patches/qt5-runpath.patch b/gnu/packages/patches/qt5-runpath.patch deleted file mode 100644 index d045d39aaa..0000000000 --- a/gnu/packages/patches/qt5-runpath.patch +++ /dev/null @@ -1,27 +0,0 @@ -Allow the use of DT_RUNPATH. This fixes a bug whereby libQt5WebEngineCore.so -ends up having an empty RUNPATH. - - -diff -u -r qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi ---- qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-06-29 22:09:36.000000000 +0200 -+++ qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-07-25 15:32:57.999411191 +0200 -@@ -4448,19 +4448,6 @@ - '-B=223', { -- # Newer binutils don't set DT_RPATH unless you disable "new" dtags -- # and the new DT_RUNPATH doesn't work without --no-as-needed flag. -- # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags -- # inside this file to allow usage of --no-as-needed and removal of -- # this flag. -- 'ldflags': [ -- '-Wl,--disable-new-dtags', -- ], -- }], - ['gcc_version>=47 and clang==0', { - 'target_conditions': [ - ['_toolset=="target"', { diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c2c3f9abcd..398e42c543 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -108,7 +108,16 @@ X11 (yet).") (sha256 (base32 "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) - (patches (list (search-patch "qt5-runpath.patch"))))) + (modules '((guix build utils))) + (snippet + ;; Remove qtwebengine, which relies on a bundled copy of + ;; chromium. Not only does it fail compilation in qt 5.5: + ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: + ;; error: cannot convert ‘bool’ to ‘boolean’ in return + ;; it might also pose security problems. + ;; Alternatively, we could use the "-skip qtwebengine" + ;; configuration option. + '(delete-file-recursively "qtwebengine")))) (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa))) @@ -158,8 +167,6 @@ X11 (yet).") `(("bison" ,bison) ("flex" ,flex) ("gperf" ,gperf) - ;; Ninja is only needed for the disabled qtwebengine -;; ("ninja" ,ninja) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-2) @@ -175,14 +182,6 @@ X11 (yet).") (("/bin/pwd") (which "pwd"))) (substitute* "qtbase/src/corelib/global/global.pri" (("/bin/ls") (which "ls"))) - ;; commented out since qtwebengine is not built, but left in - ;; for reference -;; (substitute* "qtwebengine/src/3rdparty/chromium/build/common.gypi" -;; (("/bin/echo") (which "echo"))) -;; (substitute* "qtwebengine/src/3rdparty/chromium/third_party/\ -;; WebKit/Source/build/scripts/scripts.gypi" -;; (("/usr/bin/gcc") (which "gcc"))) -;; (setenv "NINJA_PATH" (which "ninja")) ;; do not pass "--enable-fast-install", which makes the ;; configure process fail (zero? (system* @@ -196,12 +195,6 @@ X11 (yet).") "-openssl-linked" ;; explicitly link with dbus instead of dlopening it "-dbus-linked" - ;; drop chromium module (qtwebengine); it fails - ;; compilation in qt 5.5: - ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: - ;; error: cannot convert ‘bool’ to ‘boolean’ in return - ;; and might pose security problems. - "-skip" "qtwebengine" ;; drop special machine instructions not supported ;; on all instances of the target ,@(if (string-prefix? "x86_64" From bc554b43d6ed26b6601ce881e9171cb31c082231 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 19:08:13 +0200 Subject: [PATCH 46/72] gnu: qt: Compile with system harfbuzz. * gnu/packages/qt.scm (qt)[source]: Add a snippet to remove one of the two bundled copies of harfbuzz. [arguments]: Pass a configure flag to use harfbuzz from the system. Partially fixes . --- gnu/packages/qt.scm | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 398e42c543..4f23b6398c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -110,14 +110,18 @@ X11 (yet).") "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) (modules '((guix build utils))) (snippet - ;; Remove qtwebengine, which relies on a bundled copy of - ;; chromium. Not only does it fail compilation in qt 5.5: - ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: - ;; error: cannot convert ‘bool’ to ‘boolean’ in return - ;; it might also pose security problems. - ;; Alternatively, we could use the "-skip qtwebengine" - ;; configuration option. - '(delete-file-recursively "qtwebengine")))) + '(begin + ;; Remove qtwebengine, which relies on a bundled copy of + ;; chromium. Not only does it fail compilation in qt 5.5: + ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10: + ;; error: cannot convert ‘bool’ to ‘boolean’ in return + ;; it might also pose security problems. + ;; Alternatively, we could use the "-skip qtwebengine" + ;; configuration option. + (delete-file-recursively "qtwebengine") + ;; Remove one of the two bundled harfbuzz copies in addition + ;; to passing "-system-harfbuzz". + (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng"))))) (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa))) @@ -190,7 +194,10 @@ X11 (yet).") "-prefix" out "-opensource" "-confirm-license" + ;; Most "-system-..." are automatic, but some use + ;; the bundled copy by default. "-system-sqlite" + "-system-harfbuzz" ;; explicitly link with openssl instead of dlopening it "-openssl-linked" ;; explicitly link with dbus instead of dlopening it From 9c32e1fef1a1a0f1be1cb93b2149b9d4eb47ab42 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 20:00:28 +0200 Subject: [PATCH 47/72] gnu: qt: Remove bundled copy of sqlite. * gnu/packages/qt.scm (qt)[source]: Add snippet to remove the bundled copy of sqlite. Partially fixes . --- gnu/packages/qt.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 4f23b6398c..ab390d37de 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -121,7 +121,10 @@ X11 (yet).") (delete-file-recursively "qtwebengine") ;; Remove one of the two bundled harfbuzz copies in addition ;; to passing "-system-harfbuzz". - (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng"))))) + (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng") + ;; Remove the bundled sqlite copy in addition to + ;; passing "-system-sqlite". + (delete-file-recursively "qtbase/src/3rdparty/sqlite"))))) (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa))) From 1eaeeddfba0622982bf54926dd2b4b471ce2f5ac Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 18:10:05 +0200 Subject: [PATCH 48/72] gnu: calibre: Update to 2.40.0. * gnu/packages/ebook.scm (calibre): Update to 2.40.0. --- gnu/packages/ebook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index ad615acc86..43a7b9f034 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -60,7 +60,7 @@ (define-public calibre (package (name "calibre") - (version "2.37.1") + (version "2.40.0") (source (origin (method url-fetch) @@ -69,7 +69,7 @@ version ".tar.xz")) (sha256 (base32 - "0cbpkhchxjz9dz4chkrlgq0q1sjmyp6lm9vrhnm2mwai61kzn25s")) + "1xzf910w3c15vajnlra32xzi0gwb4z7a9m9w5nfj0by2wss3fv7n")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) From 4a30930b84839017d93b5fc8098fd826f430f5a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 5 Oct 2015 16:28:30 +0800 Subject: [PATCH 49/72] gnu: feh: Update to 2.14. * gnu/packages/feh.scm (feh): Update to 2.14. --- gnu/packages/feh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/feh.scm b/gnu/packages/feh.scm index ae7c820011..ee3fcc6b8b 100644 --- a/gnu/packages/feh.scm +++ b/gnu/packages/feh.scm @@ -29,7 +29,7 @@ (define-public feh (package (name "feh") - (version "2.13") + (version "2.14") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn")))) + "0j5wxpqccnd0hl74z2vwv25n7qnik1n2mcm2jn0c0z7cjn4wsa9q")))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete 'configure %standard-phases) From 025cc9a1ed08373c68b7926223900708dcabd0a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 5 Oct 2015 18:19:21 +0800 Subject: [PATCH 50/72] gnu: wine: Update to 1.7.52, add more inputs. * gnu/packages/wine.scm (wine): Update to 1.7.52. [inputs]: Add cups, glu and openal. --- gnu/packages/wine.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 938c8cb799..4c7e7a4596 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -22,8 +22,10 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages cups) #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) #:use-module (gnu packages flex) @@ -48,14 +50,14 @@ (define-public wine (package (name "wine") - (version "1.7.40") + (version "1.7.52") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wine/" name "-" version ".tar.bz2")) (sha256 (base32 - "1dnasmw1rnlz7wk1bn0x1zmy3r78hgrn9y53z4vm8xjkllwyd0hd")) + "0jsm1p7zwhfb5fpp0xd39vnx9m98kqgfng1q9kdj70rm1hmb6wq7")) (modules '((guix build utils))) (snippet '(substitute* "Make.vars.in" @@ -69,8 +71,10 @@ (inputs `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) + ("cups" ,cups) ("fontconfig" ,fontconfig) ("freetype" ,freetype) + ("glu" ,glu) ("gnutls" ,gnutls) ("lcms" ,lcms) ("libxml2" ,libxml2) @@ -93,9 +97,8 @@ ("libXinerama" ,libxinerama) ("libXxf86vm" ,libxxf86vm) ("libXcomposite" ,libxcomposite) - ("compositeproto" ,compositeproto) - ("mesa" ,mesa) ("ncurses" ,ncurses) + ("openal" ,openal) ("unixodbc" ,unixodbc) ("zlib" ,zlib))) (arguments From e3302fec18c00f8e21f9c4df9d5728925835ff74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 4 Oct 2015 19:23:21 +0200 Subject: [PATCH 51/72] import: pypi: Remove unused procedure. * guix/import/pypi.scm (join): Remove. --- guix/import/pypi.scm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 06d21fea45..d04a68524d 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -37,16 +37,6 @@ #:use-module (gnu packages python) #:export (pypi->guix-package)) -(define (join lst delimiter) - "Return a list that contains the elements of LST, each separated by -DELIMETER." - (match lst - (() '()) - ((elem) - (list elem)) - ((elem . rest) - (cons* elem delimiter (join rest delimiter))))) - (define (pypi-fetch name) "Return an alist representation of the PyPI metadata for the package NAME, or #f on failure." From 3f9f176b3a98a8c7dedb40f7fd14e8b5b3f45906 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Oct 2015 15:04:12 +0300 Subject: [PATCH 52/72] gnu: libbluray: Upgrade to 0.9.1. * gnu/packages/video.scm (libbluray): Upgrade to 0.9.1. [inputs]: Add "ant" and "icedtea7" to native-inputs. [arguments]: Set environment variable "JAVA_HOME". --- gnu/packages/video.scm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b46a9865f0..5af8b7e6f0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) @@ -812,7 +813,7 @@ YouTube.com and a few more sites.") (define-public libbluray (package (name "libbluray") - (version "0.7.0") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "http://download.videolan.org/videolan/" @@ -820,9 +821,18 @@ YouTube.com and a few more sites.") name "-" version ".tar.bz2")) (sha256 (base32 - "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp")))) + "0kb9znxk6610vi0fjhqxn4z5i98nvxlsz1f8dakj99rg42livdl4")))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'configure 'java-home + (lambda* (#:key inputs #:allow-other-keys) + (setenv "JAVA_HOME" (assoc-ref inputs "icedtea7")) + #t))))) + (native-inputs `(("ant" ,ant) + ("icedtea7" ,icedtea7 "jdk") + ("pkg-config" ,pkg-config))) (inputs `(("doxygen" ,doxygen) ("fontconfig" ,fontconfig) From 69762e3c921d2af6bb7943ad0719aa1345b2f40e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Oct 2015 15:16:52 +0300 Subject: [PATCH 53/72] gnu: libdvdcss: Update to 1.3.99. * gnu/packages/video.scm (libdvdcss): Update to 1.3.99. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5af8b7e6f0..c36d7a8f11 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -931,7 +931,7 @@ encapsulated.") (define-public libdvdcss (package (name "libdvdcss") - (version "1.3.0") + (version "1.3.99") (source (origin (method url-fetch) (uri (string-append "http://download.videolan.org/videolan/" @@ -939,7 +939,7 @@ encapsulated.") name "-" version ".tar.bz2")) (sha256 (base32 - "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw")))) + "0pawkfyvn2h3yl6ph5spcvqxb4fr4yi4wfkvw2xqqcqv2ywzmc08")))) (build-system gnu-build-system) (home-page "http://www.videolan.org/developers/libdvdcss.html") (synopsis "Library for accessing DVDs as block devices") From 2da45ebe56e4ac9821ae0f563346c97b3819d1df Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Oct 2015 20:22:09 +0300 Subject: [PATCH 54/72] gnu: libbluray: Remove java as native-input. * gnu/packages/video.scm (libbluray)[inputs]: Remove "ant" and "icedtea" as native-inputs. [arguments]: Remove environmental variable "JAVA_HOME". Add configure flag to disable java. --- gnu/packages/video.scm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c36d7a8f11..5ec225eb2f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -51,7 +51,6 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages image) - #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) @@ -823,16 +822,8 @@ YouTube.com and a few more sites.") (base32 "0kb9znxk6610vi0fjhqxn4z5i98nvxlsz1f8dakj99rg42livdl4")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'configure 'java-home - (lambda* (#:key inputs #:allow-other-keys) - (setenv "JAVA_HOME" (assoc-ref inputs "icedtea7")) - #t))))) - (native-inputs `(("ant" ,ant) - ("icedtea7" ,icedtea7 "jdk") - ("pkg-config" ,pkg-config))) + (arguments `(#:configure-flags '("--disable-bdjava"))) + (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("doxygen" ,doxygen) ("fontconfig" ,fontconfig) From 6b3c9db11e06d1651f20650bb8c392ba62f71688 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Oct 2015 23:13:23 +0300 Subject: [PATCH 55/72] gnu: efl: Update to 1.15.2. * gnu/packages/enlightenment.scm (efl): Update to 1.15.2. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 584cab69d1..aedd3658af 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -51,7 +51,7 @@ (define-public efl (package (name "efl") - (version "1.15.1") + (version "1.15.2") (source (origin (method url-fetch) (uri (string-append @@ -59,7 +59,7 @@ version ".tar.xz")) (sha256 (base32 - "1n2l2n09lys5dph9lrnsv5z3qbgzp7bi0vidal2fvy18hflbbvsn")))) + "1962wqx7gdnpzvnkbighyn4hj5vw8l4c1d7xl5zilqjlyhcqywyx")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 04d1ab3bf5394ae229161669e9717d76d483e7aa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 6 Oct 2015 23:33:03 +0300 Subject: [PATCH 56/72] gnu: elementary: Update to 1.15.2. * gnu/packages/enlightenment.scm (elementary): Update to 1.15.2. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index aedd3658af..e2d0b387fc 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -134,7 +134,7 @@ removable devices or support for multimedia.") (define-public elementary (package (name "elementary") - (version "1.15.1") + (version "1.15.2") (source (origin (method url-fetch) (uri @@ -142,7 +142,7 @@ removable devices or support for multimedia.") "elementary/elementary-" version ".tar.xz")) (sha256 (base32 - "015b277bvgb4q8cqjl58ir9nqb1d40fpj2jblf4gkxq8a45a88mb")))) + "0gqg98bglnl2jggdzxzrh9r7bv32i4sahspms0bihq8b45rk0g2j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From dd01fecd23a4ded46b99a51dc08ac5d964dbcd53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Oct 2015 22:09:40 +0200 Subject: [PATCH 57/72] build: Automatically determine libgcrypt's file name. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro. * configure.ac: Use it when no --with-libgcrypt-* option was passed. * README: Do not recommend --with-libgcrypt-prefix. Co-authored-by: 宋文武 --- README | 1 - configure.ac | 31 +++++++++++++++++-------------- m4/guix.m4 | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/README b/README index df528222e9..f05a4b5615 100644 --- a/README +++ b/README @@ -59,7 +59,6 @@ To do so: guix environment guix - Re-run the 'configure' script passing it the option - '--with-libgcrypt-prefix=$HOME/.guix-profile/', as well as '--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir' value of the currently installed Guix (failing to do that would lead the new Guix to consider the store to be empty!). diff --git a/configure.ac b/configure.ac index 1cfe876232..38e9ec56b7 100644 --- a/configure.ac +++ b/configure.ac @@ -132,23 +132,21 @@ else AC_MSG_RESULT([not found]) fi +LIBGCRYPT="libgcrypt" +LIBGCRYPT_LIBDIR="no" +LIBGCRYPT_PREFIX="no" + AC_ARG_WITH([libgcrypt-prefix], [AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in DIR])], [case "$withval" in yes|no) - LIBGCRYPT="libgcrypt" - LIBGCRYPT_PREFIX="no" - LIBGCRYPT_LIBDIR="no" ;; *) LIBGCRYPT="$withval/lib/libgcrypt" LIBGCRYPT_PREFIX="$withval" LIBGCRYPT_LIBDIR="$withval/lib" ;; - esac], - [LIBGCRYPT="libgcrypt" - LIBGCRYPT_PREFIX="no" - LIBGCRYPT_LIBDIR="no"]) + esac]) AC_ARG_WITH([libgcrypt-libdir], [AS_HELP_STRING([--with-libgcrypt-libdir=DIR], @@ -162,13 +160,18 @@ AC_ARG_WITH([libgcrypt-libdir], LIBGCRYPT="$withval/libgcrypt" LIBGCRYPT_LIBDIR="$withval" ;; - esac], - [if test "x$LIBGCRYPT" = x; then - LIBGCRYPT="libgcrypt" - fi - if test "x$LIBGCRYPT_LIBDIR" = x; then - LIBGCRYPT_LIBDIR="no" - fi]) + esac]) + +dnl If none of the --with-libgcrypt-* options was used, try to determine the +dnl absolute file name of libgcrypt.so. +case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in + xnono) + GUIX_LIBGCRYPT_LIBDIR([LIBGCRYPT_LIBDIR]) + if test "x$LIBGCRYPT_LIBDIR" != x; then + LIBGCRYPT="$LIBGCRYPT_LIBDIR/libgcrypt" + fi + ;; +esac dnl Library name suitable for `dynamic-link'. AC_MSG_CHECKING([for libgcrypt shared library name]) diff --git a/m4/guix.m4 b/m4/guix.m4 index 2113383770..d464a478ca 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -270,3 +270,18 @@ AC_DEFUN([GUIX_CHECK_LIBC_MOUNT], [ guix_cv_libc_has_mount="no" fi]) ]) + +dnl GUIX_LIBGCRYPT_LIBDIR VAR +dnl +dnl Attempt to determine libgcrypt's LIBDIR; store the result in VAR. +AC_DEFUN([GUIX_LIBGCRYPT_LIBDIR], [ + AC_PATH_PROG([LIBGCRYPT_CONFIG], [libgcrypt-config]) + AC_CACHE_CHECK([libgcrypt's library directory], + [guix_cv_libgcrypt_libdir], + [if test "x$LIBGCRYPT_CONFIG" != "x"; then + guix_cv_libgcrypt_libdir=`$LIBGCRYPT_CONFIG --libs | sed -e "s/.*-L\([[^ ]]\+\)[[[:blank:]]]\+-lgcrypt.*/\1/g"` + else + guix_cv_libgcrypt_libdir="" + fi]) + $1="$guix_cv_libgcrypt_libdir" +]) From f073e52382d2ddcc638de73533bbf798f600d78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Oct 2015 22:33:03 +0200 Subject: [PATCH 58/72] utils: Remove Nixpkgs helpers. * guix/config.scm.in (%nixpkgs): Remove. * guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation, nixpkgs-derivation*): Remove. * test-env.in: Export 'NIXPKGS'. * tests/derivations.scm (%coreutils): Remove use of 'nixpkgs-derivation'. * tests/snix.scm (%nixpkgs-directory): New variable. Adjust users accordingly. --- guix/config.scm.in | 8 +------- guix/utils.scm | 38 -------------------------------------- test-env.in | 5 ++++- tests/derivations.scm | 3 +-- tests/snix.scm | 12 +++++++----- 5 files changed, 13 insertions(+), 53 deletions(-) diff --git a/guix/config.scm.in b/guix/config.scm.in index eaadae9618..764e466bc5 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +27,6 @@ %guix-register-program %system %libgcrypt - %nixpkgs %nix-instantiate %gzip %bzip2 @@ -73,11 +72,6 @@ (define %libgcrypt "@LIBGCRYPT@") -(define %nixpkgs - (if (string=? "@NIXPKGS@" "") - #f - "@NIXPKGS@")) - (define %nix-instantiate "@NIX_INSTANTIATE@") diff --git a/guix/utils.scm b/guix/utils.scm index b6df5d9cc9..1d4b2ff9b0 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -44,10 +44,6 @@ #:export (bytevector->base16-string base16-string->bytevector - %nixpkgs-directory - nixpkgs-derivation - nixpkgs-derivation* - compile-time-value fcntl-flock memoize @@ -314,40 +310,6 @@ a list of command-line arguments passed to the compression program." (unless (every (compose zero? cdr waitpid) pids) (error "compressed-output-port failure" pids)))))) - -;;; -;;; Nixpkgs. -;;; - -(define %nixpkgs-directory - (make-parameter - ;; Capture the build-time value of $NIXPKGS. - (or %nixpkgs - (and=> (getenv "NIXPKGS") - (lambda (val) - ;; Bail out when passed an empty string, otherwise - ;; `nix-instantiate' will sit there and attempt to read - ;; from its standard input. - (if (string=? val "") - #f - val)))))) - -(define* (nixpkgs-derivation attribute #:optional (system (%current-system))) - "Return the derivation path of ATTRIBUTE in Nixpkgs." - (let* ((p (open-pipe* OPEN_READ (or (getenv "NIX_INSTANTIATE") - %nix-instantiate) - "-A" attribute (%nixpkgs-directory) - "--argstr" "system" system)) - (l (read-line p)) - (s (close-pipe p))) - (and (zero? (status:exit-val s)) - (not (eof-object? l)) - l))) - -(define-syntax-rule (nixpkgs-derivation* attribute) - "Evaluate the given Nixpkgs derivation at compile-time." - (compile-time-value (nixpkgs-derivation attribute))) - ;;; ;;; Advisory file locking. diff --git a/test-env.in b/test-env.in index a7f506ec19..d6389a1097 100644 --- a/test-env.in +++ b/test-env.in @@ -84,11 +84,14 @@ then # Place for the substituter's cache. XDG_CACHE_HOME="$NIX_STATE_DIR/cache-$$" + # For the (guix import snix) tests. + NIXPKGS="@NIXPKGS@" + export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ NIX_LOCALSTATE_DIR NIX_LOG_DIR NIX_STATE_DIR NIX_DB_DIR \ NIX_ROOT_FINDER NIX_SETUID_HELPER GUIX_BINARY_SUBSTITUTE_URL \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ - NIX_CONF_DIR XDG_CACHE_HOME + NIX_CONF_DIR XDG_CACHE_HOME NIXPKGS # Launch the daemon without chroot support because is may be # unavailable, for instance if we're not running as root. diff --git a/tests/derivations.scm b/tests/derivations.scm index 21a832fabe..9fc96c71ae 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -476,8 +476,7 @@ (define %coreutils (false-if-exception (and (network-reachable?) - (or (package-derivation %store %bootstrap-coreutils&co) - (nixpkgs-derivation "coreutils"))))) + (package-derivation %store %bootstrap-coreutils&co)))) (test-skip (if %coreutils 0 1)) diff --git a/tests/snix.scm b/tests/snix.scm index 2318780d3d..a66b2c7b60 100644 --- a/tests/snix.scm +++ b/tests/snix.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,11 +18,13 @@ (define-module (test-snix) #:use-module (guix import snix) - #:use-module ((guix utils) #:select (%nixpkgs-directory)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64) #:use-module (ice-9 match)) +(define %nixpkgs-directory + (getenv "NIXPKGS")) + (define factorize-uri (@@ (guix import snix) factorize-uri)) @@ -43,14 +45,14 @@ ("http://example.com/2.8/foo-2.8.tgz" "2.8" -> ("http://example.com/" version "/foo-" version ".tgz"))))) -(test-skip (if (and (%nixpkgs-directory) - (file-exists? (string-append (%nixpkgs-directory) +(test-skip (if (and %nixpkgs-directory + (file-exists? (string-append %nixpkgs-directory "/default.nix"))) 0 1)) (test-assert "nixpkgs->guix-package" - (match (nixpkgs->guix-package (%nixpkgs-directory) "guile") + (match (nixpkgs->guix-package %nixpkgs-directory "guile") (('package ('name "guile") ('version (? string?)) From 72c62716befc0e428125ad4a0f784d2217d153bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Oct 2015 23:29:41 +0200 Subject: [PATCH 59/72] import: snix: Adjust names of license attributes. * guix/import/snix.scm (license-variable): Adjust names to current Nixpkgs. --- guix/import/snix.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/guix/import/snix.scm b/guix/import/snix.scm index adcea43c88..033b7165d3 100644 --- a/guix/import/snix.scm +++ b/guix/import/snix.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -323,12 +323,12 @@ attributes, or #f if NAME cannot be found." ;; licenses. These are listed in lib/licenses.nix. (match (and=> (find-attribute-by-name "shortName" license) attribute-value) - ("AGPL-3.0+" 'agpl3+) - ("GPL-2.0+" 'gpl2+) - ("GPL-3.0+" 'gpl3+) - ("LGPL-2.0+" 'lgpl2.0+) - ("LGPL-2.1+" 'lgpl2.1+) - ("LGPL-3.0+" 'lgpl3+) + ("agpl3Plus" 'agpl3+) + ("gpl2Plus" 'gpl2+) + ("gpl3Plus" 'gpl3+) + ("lgpl2Plus" 'lgpl2.0+) + ("lgpl21Plus" 'lgpl2.1+) + ("lgpl3Plus" 'lgpl3+) ((? string? x) x) (_ license))) (_ license))) From 38e16b49073dd9ea81c3320a84708c4b4d7c60e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Oct 2015 23:35:50 +0200 Subject: [PATCH 60/72] doc: Clarify how to run 'guix refresh -u'. * doc/guix.texi (Invoking guix refresh): Mention ./pre-inst-env. --- doc/guix.texi | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6a3765f56a..6da7281566 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4132,7 +4132,14 @@ The following options are supported: @item --update @itemx -u -Update distribution source files (package recipes) in place. +Update distribution source files (package recipes) in place. This is +usually run from a checkout of the Guix source tree (@pxref{Running +Guix Before It Is Installed}): + +@example +$ ./pre-inst-env guix refresh -s non-core +@end example + @xref{Defining Packages}, for more information on package definitions. @item --select=[@var{subset}] @@ -4157,7 +4164,7 @@ In addition, @command{guix refresh} can be passed one or more package names, as in this example: @example -guix refresh -u emacs idutils gcc-4.8.4 +$ ./pre-inst-env guix refresh -u emacs idutils gcc-4.8.4 @end example @noindent From cf4e7083ed1bc89b9585f0121ebb6c56c291d0ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 Oct 2015 23:45:38 +0200 Subject: [PATCH 61/72] publish: Fix file descriptor leak. A client closing the connection while reading from a /nar URL would leave an open file descriptor in the server. This patch fixes it. * guix/scripts/publish.scm (swallow-EPIPE): New macro. (http-write): Use it around 'write-file' call. --- guix/scripts/publish.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index e352090d2d..fb7b4218e0 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -256,6 +256,16 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." (response-headers response) eq?))) +(define-syntax-rule (swallow-EPIPE exp ...) + "Swallow EPIPE errors raised by EXP..." + (catch 'system-error + (lambda () + exp ...) + (lambda args + (if (= EPIPE (system-error-errno args)) + (values) + (apply throw args))))) + (define (http-write server client response body) "Write RESPONSE and BODY to CLIENT, possibly in a separate thread to avoid blocking." @@ -274,7 +284,8 @@ blocking." ;; way to avoid building the whole nar in memory, which could ;; quickly become a real problem. As a bonus, we even do ;; sendfile(2) directly from the store files to the socket. - (write-file (utf8->string body) port) + (swallow-EPIPE + (write-file (utf8->string body) port)) (close-port port) (values))))) (_ From 3cbf1204ef733881916c4667f05c7a7968bb658d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 5 Oct 2015 22:16:40 -0500 Subject: [PATCH 62/72] gnu: imagemagick: Hard-code delegate paths. If --with-frozenpaths is given, then configure will retain absolute paths discovered for delegate programs, otherwise they are discarded. * gnu/packages/imagemagick.scm (imagemagick)[arguments]: Add '--with-frozenpaths' to #:configure-flags. --- gnu/packages/imagemagick.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 8e176845e1..f154e19d35 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -49,7 +49,8 @@ (patches (list (search-patch "imagemagick-test-segv.patch"))))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases + `(#:configure-flags '("--with-frozenpaths") + #:phases (modify-phases %standard-phases (add-before 'build 'pre-build (lambda* (#:key outputs #:allow-other-keys) From dedaf7ac742f4edb28977d9fd4dc06b104f8f785 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 7 Oct 2015 08:52:41 +0200 Subject: [PATCH 63/72] gnu: ibus-libpinyin: Add GTK+ and Glib inputs. * gnu/packages/ibus.scm (ibus-libpinyin)[inputs]: Add gtk+. [native-inputs]: Add glib:bin. --- gnu/packages/ibus.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 97b65698bb..770d7ff067 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -143,12 +143,14 @@ may also simplify input method development.") ("bdb" ,bdb) ("sqlite" ,sqlite) ("python" ,python-2) - ("pyxdg" ,python2-pyxdg))) + ("pyxdg" ,python2-pyxdg) + ("gtk+" ,gtk+))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("autoconf" ,autoconf) ("automake" ,automake) + ("glib" ,glib "bin") ("libtool" ,libtool))) (synopsis "Chinese Pinyin and ZhuYin input methods for IBus") (description From f1a045e266ef0ac5e478b4f0346d548d58d8eaeb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 28 Sep 2015 15:22:49 +0200 Subject: [PATCH 64/72] gnu: Add r-htmltools. * gnu/packages/web.scm (r-htmltools): New variable. --- gnu/packages/web.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 896105e7e9..fb76015cea 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2935,3 +2935,22 @@ in systems and applications.") documents that can be converted to HTML files (e.g., R Markdown) under a given directory.") (license l:expat))) + +(define-public r-htmltools + (package + (name "r-htmltools") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (cran-uri "htmltools" version)) + (sha256 + (base32 + "1gp6f6388xy3cvnb08q08vraidjp740gfxlafdd19m2s04v5hncz")))) + (build-system r-build-system) + (propagated-inputs + `(("r-digest" ,r-digest))) + (home-page "http://cran.r-project.org/web/packages/htmltools") + (synopsis "R tools for HTML") + (description + "This package provides tools for HTML generation and output in R.") + (license l:expat))) From b1006576d7f233cf04ae149e8d089fe51203e0e8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 28 Sep 2015 15:23:10 +0200 Subject: [PATCH 65/72] gnu: Add r-htmlwidgets. * gnu/packages/web.scm (r-htmlwidgets): New variable. --- gnu/packages/web.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index fb76015cea..4d526fce0c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2954,3 +2954,26 @@ directory.") (description "This package provides tools for HTML generation and output in R.") (license l:expat))) + +(define-public r-htmlwidgets + (package + (name "r-htmlwidgets") + (version "0.5") + (source (origin + (method url-fetch) + (uri (cran-uri "htmlwidgets" version)) + (sha256 + (base32 + "1d583kk7g29r4sq0y1scri7fs48z6q17c051nyjywcvnpy4lvi8j")))) + (build-system r-build-system) + (propagated-inputs + `(("r-htmltools" ,r-htmltools) + ("r-jsonlite" ,r-jsonlite) + ("r-yaml" ,r-yaml))) + (home-page "https://github.com/ramnathv/htmlwidgets") + (synopsis "HTML Widgets for R") + (description + "HTML widgets is a framework for creating HTML widgets that render in +various contexts including the R console, R Markdown documents, and Shiny web +applications.") + (license l:expat))) From 543dbd9859060b12ad77b599f2c2d3bbf8b49310 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Oct 2015 10:44:46 +0300 Subject: [PATCH 66/72] gnu: enlightenment: Update to 0.19.12. * gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.12. --- gnu/packages/enlightenment.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index e2d0b387fc..0a91995a0a 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -270,14 +270,15 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.19.11") + (version "0.19.12") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "0b8m6062i62q31gp9nd4hd7sckwxfvc6dgyck3f9gjdhrwvcn764")))) + (base32 + "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 2e13698763585a34d2afdd052f85f4df6e5358d2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Oct 2015 16:43:40 +0300 Subject: [PATCH 67/72] gnu: mosh: Update to 1.2.5. * gnu/packages/ssh.scm (mosh): Update to 1.2.5. --- gnu/packages/ssh.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 61ab96adee..7a62d0bdee 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -279,14 +279,14 @@ in future and NTLM based authentication is most likey never be supported.") (define-public mosh (package (name "mosh") - (version "1.2.4") + (version "1.2.5") (source (origin (method url-fetch) - (uri (string-append "http://mosh.mit.edu/mosh-" + (uri (string-append "https://mosh.mit.edu/mosh-" version ".tar.gz")) (sha256 (base32 - "0inzfmqrab3n97m7rrmhd4xh3hjz0xva2sfl5m06w11668r0skg7")))) + "1qsb0y882yfgwnpy6f98pi5xqm6kykdsrxzvaal37hs7szjhky0s")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 751b7aad1e85152413ac244a6cb457f8cea9c265 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Oct 2015 12:16:45 +0300 Subject: [PATCH 68/72] gnu: gprolog: Remove armhf from supported architectures. * gnu/packages/gprolog.scm (gprolog)[supported-systems]: Remove armhf-linux from the list of supported systems. --- gnu/packages/gprolog.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gprolog.scm b/gnu/packages/gprolog.scm index 8c41bf4682..1d9b9943bc 100644 --- a/gnu/packages/gprolog.scm +++ b/gnu/packages/gprolog.scm @@ -18,10 +18,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gprolog) + #:use-module (guix download) #:use-module (guix licenses) #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (srfi srfi-1)) (define-public gprolog (package @@ -55,4 +56,6 @@ manner. It also features an interactive interpreter.") (license (list gpl2+ lgpl3+)) ;; See 'configure' for the list of supported architectures. - (supported-systems (delete "mips64el-linux" %supported-systems)))) + (supported-systems (fold delete + %supported-systems + '("armhf-linux" "mips64el-linux"))))) From d04efa0fff908de0f8822a27582b4b1c3dcae553 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 7 Oct 2015 14:44:59 +0300 Subject: [PATCH 69/72] gnu: camlp4: Remove extra input. * gnu/packages/ocaml.scm (camlp4)[inputs]: Removed duplicate "ocaml" entry from native-inputs. --- gnu/packages/ocaml.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index fc45805958..0302c85986 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -208,8 +208,7 @@ Git-friendly development workflow.") "0icdfzhsbgf89925gc8gl3fm8z2xzszzlib0v9dj5wyzkyv3a342")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) - (native-inputs `(("ocaml" ,ocaml) - ("which" ,which))) + (native-inputs `(("which" ,which))) (inputs `(("ocaml" ,ocaml))) (arguments '(#:tests? #f ;no documented test target From 7ab73c4addad7cf5358b988943871ea85192f692 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Oct 2015 22:17:12 -0400 Subject: [PATCH 70/72] gnu: openjpeg-2.x: Add fix for CVE-2015-6581. * gnu/packages/patches/openjpeg-CVE-2015-6581.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch. --- gnu-system.am | 1 + gnu/packages/image.scm | 6 ++- .../patches/openjpeg-CVE-2015-6581.patch | 47 +++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/openjpeg-CVE-2015-6581.patch diff --git a/gnu-system.am b/gnu-system.am index 577c6e8c07..35d2da4701 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -572,6 +572,7 @@ dist_patch_DATA = \ gnu/packages/patches/nvi-dbpagesize-binpower.patch \ gnu/packages/patches/nvi-db4.patch \ gnu/packages/patches/openexr-missing-samples.patch \ + gnu/packages/patches/openjpeg-CVE-2015-6581.patch \ gnu/packages/patches/openjpeg-use-after-free-fix.patch \ gnu/packages/patches/openssl-runpath.patch \ gnu/packages/patches/openssl-c-rehash.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 26f1be9a2f..23ad59ce9a 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -272,7 +272,8 @@ work.") version ".tar.gz")) (sha256 (base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj")) - (patches (list (search-patch "openjpeg-use-after-free-fix.patch"))))) + (patches (map search-patch '("openjpeg-use-after-free-fix.patch" + "openjpeg-CVE-2015-6581.patch"))))) (build-system cmake-build-system) (arguments ;; Trying to run `$ make check' results in a no rule fault. @@ -308,7 +309,8 @@ error-resilience, a Java-viewer for j2k-images, ...") version ".tar.gz")) (sha256 (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")) - (patches (list (search-patch "openjpeg-use-after-free-fix.patch"))))))) + (patches (map search-patch '("openjpeg-use-after-free-fix.patch" + "openjpeg-CVE-2015-6581.patch"))))))) (define-public openjpeg-1 (package (inherit openjpeg) diff --git a/gnu/packages/patches/openjpeg-CVE-2015-6581.patch b/gnu/packages/patches/openjpeg-CVE-2015-6581.patch new file mode 100644 index 0000000000..7ce03501f4 --- /dev/null +++ b/gnu/packages/patches/openjpeg-CVE-2015-6581.patch @@ -0,0 +1,47 @@ +From 0fa5a17c98c4b8f9ee2286f4f0a50cf52a5fccb0 Mon Sep 17 00:00:00 2001 +From: Matthieu Darbois +Date: Tue, 19 May 2015 21:57:27 +0000 +Subject: [PATCH] [trunk] Correct potential double free on malloc failure in + opj_j2k_copy_default_tcp_and_create_tcp (fixes issue 492) + +--- + src/lib/openjp2/j2k.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c +index 8c62a39..cbdd368 100644 +--- a/src/lib/openjp2/j2k.c ++++ b/src/lib/openjp2/j2k.c +@@ -7365,6 +7365,12 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 + l_tcp->cod = 0; + l_tcp->ppt = 0; + l_tcp->ppt_data = 00; ++ /* Remove memory not owned by this tile in case of early error return. */ ++ l_tcp->m_mct_decoding_matrix = 00; ++ l_tcp->m_nb_max_mct_records = 0; ++ l_tcp->m_mct_records = 00; ++ l_tcp->m_nb_max_mcc_records = 0; ++ l_tcp->m_mcc_records = 00; + /* Reconnect the tile-compo coding parameters pointer to the current tile coding parameters*/ + l_tcp->tccps = l_current_tccp; + +@@ -7402,6 +7408,8 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 + + ++l_src_mct_rec; + ++l_dest_mct_rec; ++ /* Update with each pass to free exactly what has been allocated on early return. */ ++ l_tcp->m_nb_max_mct_records += 1; + } + + /* Get the mcc_record of the dflt_tile_cp and copy them into the current tile cp*/ +@@ -7411,6 +7419,7 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 + return OPJ_FALSE; + } + memcpy(l_tcp->m_mcc_records,l_default_tcp->m_mcc_records,l_mcc_records_size); ++ l_tcp->m_nb_max_mcc_records = l_default_tcp->m_nb_max_mcc_records; + + /* Copy the mcc record data from dflt_tile_cp to the current tile*/ + l_src_mcc_rec = l_default_tcp->m_mcc_records; +-- +2.5.0 + From 2ab5e39d22dd9698c33a7a6ed8d5266f596f68e0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Oct 2015 22:37:17 -0400 Subject: [PATCH 71/72] gnu: libvpx: Set size limit to avoid CVE-2015-1258. * gnu/packages/video.scm (libvpx)[arguments]: Add "--size-limit" argument to configure. --- gnu/packages/video.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5ec225eb2f..45c10998f5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -777,6 +777,8 @@ projects while introducing many more.") (zero? (system* "./configure" "--enable-shared" "--as=yasm" + ;; Limit size to avoid CVE-2015-1258 + "--size-limit=16384x16384" (string-append "--prefix=" out))))) %standard-phases) #:tests? #f)) ; no check target From a606ed89d4e3737beec2f3392bedba61904778f4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Oct 2015 22:50:46 -0400 Subject: [PATCH 72/72] gnu: webkitgtk-2.4: Fix potential code execution vulnerability. * gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/webkit.scm (webkitgtk-2.4)[source]: Add patch. --- gnu-system.am | 1 + .../patches/webkitgtk-2.4-sql-init-string.patch | 17 +++++++++++++++++ gnu/packages/webkit.scm | 4 +++- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch diff --git a/gnu-system.am b/gnu-system.am index 35d2da4701..67879e9872 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -650,6 +650,7 @@ dist_patch_DATA = \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-fix-compile.patch \ + gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \ gnu/packages/patches/weex-vacopy.patch \ gnu/packages/patches/wicd-bitrate-none-fix.patch \ gnu/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch b/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch new file mode 100644 index 0000000000..671b5fb910 --- /dev/null +++ b/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch @@ -0,0 +1,17 @@ +Copied from Fedora. + +https://bugzilla.redhat.com/show_bug.cgi?id=1189303 +http://pkgs.fedoraproject.org/cgit/webkitgtk.git/commit/?id=e689e45d0cc2c50484e69d20371ba607af7326f3 + +diff -up webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp +--- webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string 2015-09-14 09:25:43.004200172 +0200 ++++ webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp 2015-09-14 09:25:57.852082368 +0200 +@@ -71,7 +71,7 @@ int SQLiteStatement::prepare() + // this lets SQLite avoid an extra string copy. + size_t lengthIncludingNullCharacter = query.length() + 1; + +- const char* tail; ++ const char* tail = nullptr; + int error = sqlite3_prepare_v2(m_database.sqlite3Handle(), query.data(), lengthIncludingNullCharacter, &m_statement, &tail); + + if (error != SQLITE_OK) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 6be1f91807..bb041b1935 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -141,7 +141,9 @@ HTML/CSS applications to full-fledged web browsers.") name "-" version ".tar.xz")) (sha256 (base32 - "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg")))) + "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg")) + (patches + (list (search-patch "webkitgtk-2.4-sql-init-string.patch"))))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests