diff options
57 files changed, 905 insertions, 321 deletions
@@ -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/doc/guix.texi b/doc/guix.texi index 4ee4fe1ffe..79877f156b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4154,7 +4154,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}] @@ -4179,7 +4186,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 diff --git a/gnu-system.am b/gnu-system.am index b219d73cb7..bf5eeaaf2f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -451,6 +451,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 \ @@ -573,6 +574,8 @@ 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 \ gnu/packages/patches/orpheus-cast-errors-and-includes.patch \ @@ -612,8 +615,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 \ gnu/packages/patches/ripperx-missing-file.patch \ @@ -648,11 +649,11 @@ 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/valgrind-enable-arm.patch \ 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/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, 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 <nikita@karetnikov.org> ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; @@ -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") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2d81f90a01..0e0a886cc0 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) @@ -673,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")) @@ -2709,6 +2712,66 @@ 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 <city.h>")) + (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") + ;; 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)))) + (define-public bio-locus (package (name "bio-locus") diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 47256a4dc7..2410647818 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -99,46 +99,40 @@ 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 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 (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) @@ -153,5 +147,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+))) 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))) 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 diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 0a7eaf1fc4..0a91995a0a 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))) @@ -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))) @@ -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))) @@ -270,14 +270,15 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.19.9") + (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 "1ajpyw1bfbmxpniw041vbvrs9wqgzyw9kccx72nnfiy2wxspjcr5")))) + (base32 + "098bdx9qmv1yqqwfydrzs7fvbnhsf3vaib9pmqsyg4ihgqrkrwjm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) 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) 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+))) 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 <david.hashe@dhashe.com> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; ;;; 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+))) 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) 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 <http://www.gnu.org/licenses/>. (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"))))) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 52522af446..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 <ludo@gnu.org> +;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,16 +37,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. @@ -60,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) @@ -77,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 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 <andreas@enge.fr> +;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> @@ -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 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 diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index cee7f146fa..23ad59ce9a 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -271,7 +271,9 @@ work.") (string-append "mirror://sourceforge/openjpeg.mirror/" name "-" version ".tar.gz")) (sha256 - (base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj")))) + (base32 "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj")) + (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. @@ -292,7 +294,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 +308,9 @@ error-resilience, a Java-viewer for j2k-images, ...") (string-append "mirror://sourceforge/openjpeg.mirror/" name "-" version ".tar.gz")) (sha256 - (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")))))) + (base32 "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z")) + (patches (map search-patch '("openjpeg-use-after-free-fix.patch" + "openjpeg-CVE-2015-6581.patch"))))))) (define-public openjpeg-1 (package (inherit openjpeg) @@ -457,17 +461,18 @@ 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")) + (patches (list (search-patch "freeimage-CVE-2015-0852.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete 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) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d2619335a3..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.1") + (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 - "140cqnk1hyhavfra572wwzwz7pddczc78j8anbxyciw35kh8z2hl")))) + "1xpx32k6bzxqg5y8lyaana97jjcli00iyqklh5fdhirfvjb9dimd")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) @@ -1159,21 +1159,20 @@ devices. It replaces 'iwconfig', which is deprecated.") (define-public powertop (package (name "powertop") - (version "2.5") + (version "2.7") (source (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 - "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b")))) + "1jkqqr3l1x98m7rgin1dgfzxqwj4vciw9lyyq1kl9bdswa818jwd")))) (build-system gnu-build-system) (inputs - ;; TODO: Add pciutils. `(("zlib" ,zlib) - ;; ("pciutils" ,pciutils) + ("pciutils" ,pciutils) ("ncurses" ,ncurses) ("libnl" ,libnl))) (native-inputs 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) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index e7ed75c77d..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")))) @@ -63,15 +63,11 @@ in Qt.") (origin (method url-fetch) (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")) + (string-append "http://downloads.lxqt.org/lxqt/" version "/" + name "-" version ".tar.xz")) (sha256 (base32 - "0mbl3qc0yfgfsndqrw8vg8k5irsy0pg2wrad8nwv0aphphd4n7rg")) + "0ljdzqavvy82qwwwnhg2bgbshl2ns0k2lcswxlx1cfc8rcdr9w5l")) (patches (map search-patch '("liblxqt-include.patch"))))) (build-system cmake-build-system) (arguments @@ -83,5 +79,99 @@ 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+))) + + +(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+))) + +(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+))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 45fda144be..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))) @@ -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=<type>, 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 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))) 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 diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8619f14f38..921ade1030 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.1") + (source (origin + (method url-fetch) + (uri (string-append "http://files.dthompson.us/shroud/shroud-" + version ".tar.gz")) + (sha256 + (base32 + "1y43yhgy2zbrk5bqj3qyx9rkcz2bma9sinlrg7dip3jqms9gq4lr")))) + (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+))) 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 ? + 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 <mayeut@users.noreply.github.com> +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 + 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 <mayeut@users.noreply.github.com> +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;i<l_tcp->m_nb_mcc_records;++i) { ++ for (i=0;i<l_tcp->m_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 + 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/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<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', - ], - }], -- # Some binutils 2.23 releases may or may not have new dtags enabled, -- # but they are all compatible with --disable-new-dtags, -- # because the new dynamic tags are not created by default. -- ['binutils_version>=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/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/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 <pierre at linuxfromscratch dot org> -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/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/python.scm b/gnu/packages/python.scm index 5dea76f0bc..9a6d39f791 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> +;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4953,6 +4954,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") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ce5ab656a5..ab390d37de 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -108,7 +108,23 @@ X11 (yet).") (sha256 (base32 "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) - (patches (list (search-patch "qt5-runpath.patch"))))) + (modules '((guix build utils))) + (snippet + '(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") + ;; 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))) @@ -158,8 +174,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 +189,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* @@ -191,17 +197,14 @@ 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 "-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" @@ -243,7 +246,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 +295,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" 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 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 <taylanbayirli@gmail.com> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com> ;;; ;;; 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)))) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index a4c75baed9..5cfbe6d554 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -30,16 +30,15 @@ (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")) + (patches (map search-patch '("valgrind-enable-arm.patch"))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 28185fe810..45c10998f5 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 @@ -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 @@ -791,7 +793,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 +801,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") @@ -812,7 +814,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,8 +822,9 @@ YouTube.com and a few more sites.") name "-" version ".tar.bz2")) (sha256 (base32 - "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp")))) + "0kb9znxk6610vi0fjhqxn4z5i98nvxlsz1f8dakj99rg42livdl4")))) (build-system gnu-build-system) + (arguments `(#:configure-flags '("--disable-bdjava"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("doxygen" ,doxygen) @@ -921,7 +924,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/" @@ -929,7 +932,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") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 896105e7e9..4d526fce0c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2935,3 +2935,45 @@ 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))) + +(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))) 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 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 diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 47dc0e2601..efef1eadc2 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" 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)) 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 <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; ;;; 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/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." 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 <ludo@gnu.org> +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; ;;; 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))) 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))))) (_ 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 @@ -316,40 +312,6 @@ a list of command-line arguments passed to the compression program." ;;; -;;; 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/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" +]) 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 <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; ;;; 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?)) |